diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md new file mode 100644 index 00000000000..733c8ac4cc2 --- /dev/null +++ b/.claude/CLAUDE.md @@ -0,0 +1,13 @@ +# LAMMPS Project Instructions (Claude Code entry point) + +@../.github/copilot-instructions.md + +The imported file above is the always-loaded core shared with GitHub Copilot. Its +"Task-Specific Guides" index lists the detailed guides in `.github/instructions/` and +`.github/dev-docs/`; read the matching guide BEFORE starting that kind of work. The +files in `.claude/rules/` load the path-scoped guides automatically when matching +source files are read. + +Machine- and user-specific facts (local build directory, git remotes, worktrees) live +in the untracked, gitignored `CLAUDE.local.md` at the repository root, which Claude +Code loads automatically when present. diff --git a/.claude/rules/documentation.md b/.claude/rules/documentation.md new file mode 100644 index 00000000000..d954d1325ad --- /dev/null +++ b/.claude/rules/documentation.md @@ -0,0 +1,8 @@ +--- +paths: + - "doc/**" +--- + +Working on documentation: read `.github/instructions/documentation.instructions.md` +now (versionadded/versionchanged policy, build/spelling mechanics, wording rules, +figure workflow). diff --git a/.claude/rules/force-style-tests.md b/.claude/rules/force-style-tests.md new file mode 100644 index 00000000000..5916544d641 --- /dev/null +++ b/.claude/rules/force-style-tests.md @@ -0,0 +1,8 @@ +--- +paths: + - "unittest/**" +--- + +Working on unit tests: read `.github/instructions/force-style-tests.instructions.md` +now (YAML force-style test mechanics, accelerator-suffix auto-testing, respa +tolerances, reference regeneration). diff --git a/.claude/rules/granular-tests.md b/.claude/rules/granular-tests.md new file mode 100644 index 00000000000..51c0bbbfbd0 --- /dev/null +++ b/.claude/rules/granular-tests.md @@ -0,0 +1,9 @@ +--- +paths: + - "unittest/granular/**" + - "src/GRANULAR/**" +--- + +Working on granular/DEM code or tests: read +`.github/instructions/granular-tests.instructions.md` now (test-suite architecture, +YAML regeneration, atom-map and physics-setup gotchas). diff --git a/.claude/rules/kokkos.md b/.claude/rules/kokkos.md new file mode 100644 index 00000000000..372cc9ac9b0 --- /dev/null +++ b/.claude/rules/kokkos.md @@ -0,0 +1,10 @@ +--- +paths: + - "src/KOKKOS/**" +--- + +Working on KOKKOS package files: read `.github/instructions/kokkos.instructions.md` +now (rules and policies). When porting a style to KOKKOS, also read +`.github/dev-docs/kokkos-porting-guide.md` (templates, lessons) and +`.github/dev-docs/kokkos-porting-backlog.md` (what remains; trust `ls src/KOKKOS/` +and `git log` over its tables). diff --git a/.gitattributes b/.gitattributes index 77eb7f93f31..2ea6a6b53ab 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,7 @@ .gitattributes export-ignore .gitignore export-ignore .github export-ignore +.claude export-ignore .lgtm.yml export-ignore SECURITY.md export-ignore CITATION.cff export-ignore diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 061ba3cac6e..620e631c5ec 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,1719 +1,220 @@ -# LAMMPS Copilot Instructions +# LAMMPS Instructions for AI Coding Agents -## Repository Overview +This file is the compact, always-loaded core read by GitHub Copilot (coding/cloud agent, +code review, chat) and, via an import from `.claude/CLAUDE.md`, by Claude Code. Detailed, +task-specific guides live in `.github/instructions/` (auto-attached by path patterns) and +`.github/dev-docs/` (read on demand); see the index at the end of this file. -**LAMMPS** (Large-scale Atomic/Molecular Massively Parallel Simulator) is a classical molecular dynamics simulation code designed for parallel computers. This is a large, mature C++ codebase (~600MB, ~4,000 C++ files in src/) maintained by an international team of developers lead by staff at Sandia National Laboratories as open-source software under GPL v2. +## Repository Overview -**Primary Languages:** C++17 (core), C, Fortran, Python (interfaces) -**Build Systems:** CMake (primary, modern), Make (traditional, still supported) -**Key Frameworks:** MPI (parallel execution), OpenMP (threading), Kokkos (performance portability) +**LAMMPS** (Large-scale Atomic/Molecular Massively Parallel Simulator) is a classical +molecular dynamics simulation code for parallel computers: a large, mature C++ codebase +(~600MB, ~4,000 C++ files in `src/`) maintained by an international team of developers led by +staff at Sandia National Laboratories, open-source under GPL v2. -## Build System & Workflow +**Primary languages:** C++17 (core), C, Fortran, Python (interfaces) +**Build systems:** CMake (primary), traditional Make (legacy, subset of packages) +**Key frameworks:** MPI (parallelization), OpenMP (threading), Kokkos (GPU/many-core) -### CMake Build (Recommended) +## Build System -**ALWAYS use CMake for new builds.** The traditional Make system is maintained and only supports a subset of packages. Thus CMake is the primary build system. +**Always use CMake for new builds; always build out-of-source.** The `CMakeLists.txt` +is in `cmake/`, NOT the repository root. -**Basic build sequence:** ```bash -# 1. Create build directory (REQUIRED - out-of-source builds only) -mkdir build - -# 2. Configure with CMake -cmake -S cmake -B build -C cmake/presets/basic.cmake - -# 3. Build +cmake -S cmake -B build -C cmake/presets/gcc.cmake -C cmake/presets/most.cmake \ + -D ENABLE_TESTING=on -D DOWNLOAD_POTENTIALS=off -G Ninja cmake --build build -j 4 - -# 4. The executable will be: build/lmp -``` - -**Important CMake details:** -- CMake configuration files are in `cmake/` directory (NOT at repo root) -- Use `-S cmake` to specify the source directory (this is NOT standard - most projects use `-S .`) -- Presets are in `cmake/presets/` - use `-C` to load them -- Common presets: `basic.cmake`, `gcc.cmake`, `most.cmake` -- Combine presets: `-C cmake/presets/gcc.cmake -C cmake/presets/most.cmake` -- Standard CMake options work: `-D BUILD_SHARED_LIBS=on`, `-D ENABLE_TESTING=on` - -**Typical CI build configuration (from workflows):** -```bash -cmake -S cmake -B build \ - -C cmake/presets/gcc.cmake \ - -C cmake/presets/most.cmake \ - -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \ - -D CMAKE_C_COMPILER_LAUNCHER=ccache \ - -D BUILD_SHARED_LIBS=off \ - -D DOWNLOAD_POTENTIALS=off \ - -D ENABLE_TESTING=on \ - -G Ninja -cmake --build build -``` - -**IMPORTANT:** Use `-D DOWNLOAD_POTENTIALS=off` by default to avoid network dependency issues in CI/restricted environments. Only omit this flag if you specifically need LAMMPS to download potential files during the build. - -**Build time:** Basic build: ~3-5 minutes, Full build with most packages: ~10-15 minutes - -### Traditional Make Build (Legacy, Still Supported) - -```bash -cd src -make serial # Serial build (no MPI) -make mpi # MPI parallel build -# Executable will be: lmp_serial or lmp_mpi -``` - -**Available Make targets in src/:** -- `make serial` or `make mpi` - basic builds -- Machine-specific makefiles in `src/MAKE/MACHINES/` -- Options in `src/MAKE/OPTIONS/` for different compiler/feature combinations - -### Package Management - -LAMMPS has 80+ optional packages. Packages are in `src/[PACKAGE-NAME]/` directories. - -**With CMake:** Use `-D PKG_[NAME]=on` (e.g., `-D PKG_MOLECULE=on`, `-D PKG_PYTHON=on`) - -**With Make:** Use `make yes-[package]` or `make no-[package]` before building; also -some presets exist: `make yes-basic` or `make-yes-most`; packages requiring extra libraries -or downloads are only supported by CMake. -```bash -cd src -make yes-basic # Enable MANYBODY, MOLECULE, KSPACE, and RIGID packages -make yes-openmp # Enable OPENMP package -make yes-misc # Enable MISC -make serial # Then build -``` - -**View package status:** `cd src && make pi` (shows which packages are installed) +# Executable: build/lmp +``` + +- Use `-S cmake` (NOT `-S .`); never run cmake or make in the repository root or `src/`. +- Presets are in `cmake/presets/` (`basic.cmake`, `gcc.cmake`, `most.cmake`, ...); they + can be combined with repeated `-C` options. +- Enable packages with `-D PKG_=on` (e.g. `-D PKG_MOLECULE=on`); LAMMPS has 80+ + optional packages in `src//` directories. +- Use `-D DOWNLOAD_POTENTIALS=off` to avoid network dependence in CI or restricted + environments. +- If MPI is not found, install your distribution's MPI development package or set + `-D MPI_CXX_COMPILER=mpicxx` explicitly. LAMMPS uses its bundled KISS FFT by + default; FFTW3 is optional, not required. +- Build times: basic preset ~3-5 minutes; most packages ~10-15 minutes. + +**Traditional Make (legacy):** `cd src && make serial` (or `make mpi`); the executables +are `lmp_serial` / `lmp_mpi`. Enable/disable packages first with `make yes-` / +`make no-` or preset bundles like `make yes-basic` (MANYBODY, MOLECULE, KSPACE, +RIGID); `make pi` shows package status. Packages needing external libraries or +downloads are CMake-only. + +**Switching build systems:** Make -> CMake requires `make -C src purge` first; +CMake -> Make requires `make -C src clean-all` first. CMake errors out if it detects +make-generated header files in `src/`. ## Testing & Validation -### Unit Tests (via CMake + CTest) - +**Style checks (run before every commit/PR):** ```bash -# Configure with testing enabled -cmake -S cmake -B build -C cmake/presets/gcc.cmake -C cmake/presets/most.cmake -D ENABLE_TESTING=on -G Ninja - -# Build -cmake --build build - -# Run all tests -cd build && ctest -V - -# Note: Tests require the executable to be built first +cd src && make check # all checks +cd src && make check-whitespace # most common CI failure +cd src && make fix-whitespace # auto-fix whitespace +cd src && make fix-permissions # auto-fix file permissions ``` +Further named targets: `make check-homepage` (verifies https://www.lammps.org URLs), +`make check-errordocs`, `make check-fmtlib`. -**Test organization** (in `unittest/`): -- `c-library/` - C library interface tests -- `commands/` - Input command tests -- `force-styles/` - Pair, bond, angle, kspace style tests -- `formats/` - File format tests -- `fortran/` - Fortran module tests -- `python/` - Python module tests -- `utils/` - Utility function tests - -### Regression Tests - -```bash -# Setup Python environment (REQUIRED) -python3 -m venv testenv -source testenv/bin/activate -pip install numpy pyyaml junit_xml - -# Run regression tests -python3 tools/regression-tests/run_tests.py \ - --lmp-bin=build/lmp \ - --config-file=tools/regression-tests/config_quick.yaml \ - --examples-top-level=examples -``` - -### Style/Coding Standard Checks - -**ALWAYS run these before submitting PRs:** -```bash -cd src -make check-whitespace # Check whitespace/formatting issues -make check-permissions # Check file permissions -make check-homepage # Verify homepage URLs -make check-errordocs # Check error documentation -make check-fmtlib # Check fmtlib formatting library -``` - -**To auto-fix issues:** +**Unit tests (CTest; requires `-D ENABLE_TESTING=on` and a completed build):** ```bash -make fix-whitespace -make fix-permissions +cd build && ctest -V # all tests +cd build && ctest -V -R # subset by regex ``` +Tests live in `unittest/` by category: `c-library/`, `commands/`, `force-styles/`, +`formats/`, `fortran/`, `python/`, `utils/`, `granular/`. -**All style checks:** +**Regression tests** (CI runs them after code review; local runs rarely needed): ```bash -cd src && make check -``` - -## GitHub Workflows / CI - -The repository uses GitHub Actions for CI with multiple workflows: - -**Pull Request Checks (run on all PRs to develop branch):** -1. **style-check.yml** - Runs coding standard checks (`make check-*` targets in src/) -2. **quick-regression.yml** - Builds with most packages, runs regression tests on modified code -3. **unittest-linux.yml** - Builds with LAMMPS_BIGBIG, runs unit tests via CTest - -**Additional Checks:** -- **codeql-analysis.yml** - Security scanning -- **check-vla.yml** - Checks for variable-length arrays (not allowed) -- **check-cpp23.yml** - C++23 compatibility check -- **compile-msvc.yml** - Windows MSVC compilation -- **full-regression.yml** - Complete regression suite (on push to develop) - -**Workflow dependencies:** -- Ubuntu latest with `ccache`, `ninja-build`, `libeigen3-dev`, `libcurl4-openssl-dev`, `python3-dev`, `mpi-default-bin`, `mpi-default-dev` -- Python packages: `numpy`, `pyyaml`, `junit_xml` -- Build typically uses Ninja generator for speed - -## Key Repository Structure - -``` -lammps/ -├── .github/ # GitHub workflows, templates, CodeQL config -│ ├── workflows/ # CI/CD workflow files (12 workflows) -│ ├── CONTRIBUTING.md -│ └── CODEOWNERS -├── cmake/ # CMake build system (USE -S cmake for CMake!) -│ ├── CMakeLists.txt # Main CMake file -│ ├── presets/ # CMake preset files -│ ├── Modules/ # CMake modules -│ └── packaging/ # Packaging scripts -├── src/ # Source code (~3,777 C++/H files) -│ ├── main.cpp # Main entry point -│ ├── lammps.cpp/h # Main LAMMPS class -│ ├── Makefile # Traditional make system -│ ├── MAKE/ # Make configurations -│ │ ├── Makefile.serial # Serial build -│ │ ├── Makefile.mpi # MPI build -│ │ ├── OPTIONS/ # Compiler/feature options -│ │ └── MACHINES/ # Machine-specific configs -│ ├── [PACKAGE]/ # 80+ optional package directories -│ │ ├── MOLECULE/ # Molecular systems -│ │ ├── KSPACE/ # Long-range electrostatics -│ │ ├── RIGID/ # Rigid body dynamics -│ │ ├── KOKKOS/ # Kokkos acceleration -│ │ └── ... -│ ├── Package.sh # Package management script -│ └── .clang-format # Code formatting rules -├── unittest/ # Unit test suite (CTest-based) -├── examples/ # Example input files -├── bench/ # Benchmark inputs -├── tools/ # Pre/post-processing tools -│ ├── coding_standard/ # Style checking scripts -│ ├── regression-tests/ # Regression test framework -│ └── ... -├── doc/ # Documentation source -├── lib/ # External libraries (colvars, kokkos, etc.) -├── python/ # Python interface -├── potentials/ # Potential files -└── README # Main readme (not .md!) -``` - -## Common Pitfalls & Important Notes - -### Build Issues - -1. **CMake source directory:** Use `-S cmake` NOT `-S .` (CMakeLists.txt is in cmake/, not root) - -2. **Out-of-source builds only:** ALWAYS create a separate build directory. Never build in source tree. - -3. **Switching between Make and CMake:** If you previously used `make` to build, you MUST run `make -C src purge` before using CMake. CMake will error if it detects make-generated header files. Similarly, run `make clean-all` in src/ before switching from CMake to Make. - -4. **Package dependencies:** Some packages require others. CMake will warn you; check console output. - -5. **MPI detection:** If MPI is not found, install `mpi-default-dev` or set `MPI_CXX_COMPILER=mpicxx` explicitly. - -6. **FFTW not required:** LAMMPS uses KISS FFT by default. FFTW3 is optional. - -### Code Style - -1. **All source must be ASCII:** Unicode characters are not allowed (security policy). - -2. **Whitespace matters:** Run `make check-whitespace` and `make fix-whitespace` before committing. - -3. **Use .clang-format:** Code should follow .clang-format rules in src/. - -4. **No VLAs:** Variable-length arrays are not allowed (checked by CI). - -5. **Documentation:** All new commands or features must be documented. This does *not* apply to - *internal* commands which can be recognized by their style name written in upper case. The - following applies only to publicly visible commands that have style names in lower case. - Put `.. versionadded:: TBD` or `.. versionchanged:: TBD` in front of paragraphs documenting - the new or changed functionality or in front of the "Description" headline for completely - new commands. The `.. versionadded:: TBD` directive should be used with new features or added - keywords. The `.. versionchanged:: TBD` directive should be used when the behavior of a - keyword changes. The `TBD` will be manually replaced with the release version string during - the release preparation. This does not apply when the change is only adding an accelerated - version of an existing style. Instead the corresponding code letter should be added to the - respective Commands_\*.rst file. Also the documentation should pass running "make check" - in the doc folder without any output indicating non-ASCII characters, missing entries, or - duplicate anchors. - -### Testing - -1. **Build before test:** CTest requires the executable to be built first. If tests fail to find executable, run `cmake --build build` first. - -2. **Python environment:** Regression tests require a virtual environment with numpy, pyyaml, junit_xml. - -3. **Test selection:** Unit tests are optional packages. Use `-D ENABLE_TESTING=on` with CMake. - -### File Permissions & Naming - -1. **Source files:** `.cpp` and `.h` files, no executable permission -2. **Scripts:** `.sh` and `.py` files should have executable permission -3. **README vs README.md:** Root README has no extension; subdirs may use .md +python3 -m venv testenv && source testenv/bin/activate +pip install numpy pyyaml junit_xml +python3 tools/regression-tests/run_tests.py --lmp-bin=build/lmp \ + --config-file=tools/regression-tests/config_quick.yaml --examples-top-level=examples +``` + +**Documentation build:** `cd doc && make html` must complete without new warnings; +`make spelling` must not report issues (see the documentation guide in the index below). + +## Continuous Integration + +GitHub Actions workflows in `.github/workflows/` (16 files). On every PR to `develop`: +`style-check.yml` (coding standards), `unittest-linux.yml` (CTest), and +`quick-regression.yml` (regression subset). Others: `unittest-macos/-arm64/-single/ +-kokkos`, `kokkos-regression.yaml`, `check-vla.yml` (no variable-length arrays), +`check-cpp23.yml`, `check-gnu-make.yml`, `compile-msvc.yml` (Windows), +`codeql-analysis.yml`, `coverity.yml`, `lammps-gui-flatpak.yml`, and +`full-regression.yml` (manual trigger only, via workflow_dispatch). + +**Debugging CI failures:** style-check -> run the matching `make check-*` target in +`src/` and the corresponding `make fix-*`; build failures -> check for `-S cmake`, +package dependencies, and VLA usage; unit tests -> rerun the single test with +`ctest -V -R `; regression tests -> verify the Python environment and whether +example inputs were modified. + +## Repository Structure + +``` +cmake/ CMake build system (main CMakeLists.txt, presets/, Modules/) +src/ core sources + 80+ package subdirectories (MOLECULE/, KSPACE/, + RIGID/, KOKKOS/, GRANULAR/, ...); Makefile + MAKE/ for legacy build +unittest/ CTest-based unit tests, by category +examples/ example input decks bench/ benchmark inputs +doc/ documentation sources (doc/src/*.rst, Sphinx) +lib/ bundled external libraries (kokkos, colvars, ...) +python/ Python module potentials/ potential files +tools/ pre/post-processing; tools/coding_standard/ = style-check scripts +``` + +The top-level `LAMMPS` class (`src/lammps.h`) owns pointers to all subsystems (`atom`, +`force`, `neighbor`, `comm`, `domain`, `modify`, `update`, `output`, `error`, `memory`). +Almost all physics is implemented as named "styles" inheriting from abstract base +classes (`Pair`, `Fix`, `Compute`, `Bond`, `Angle`, `Dihedral`, `Improper`, `Command`), +mapped to keywords via macros (`PairStyle`, `FixStyle`, ...) in the style headers. + +## Coding Standards + +- **C++17**; follow `.clang-format` in `src/`; keep code ASCII-only. +- **7-bit US-ASCII everywhere** (sources, docs, scripts); Unicode is forbidden + (security policy) and fails CI. +- **No variable-length arrays** (checked by CI); use `memory->create()` or + `std::vector`. +- **No alternative logical-operator tokens:** use `&&`, `||`, `!`, `^` -- never `and`, + `or`, `not`, `xor` (breaks MSVC). +- **Parenthesize each operand of chained `&&`/`||` conditionals** for readability. +- **String formatting with fmtlib** (`fmt::format()`), not `sprintf`. +- **Error handling:** `error->all()` when all MPI ranks hit the error, `error->one()` + for a single rank; `error->warning()` prints on every rank, so guard with + `comm->me == 0` where a single message is wanted. +- **User-facing text** (error messages, docs) must avoid computer-science jargon; + the audience is researchers, not software engineers. +- **RAII for C resources:** prefer `SafeFilePtr` (`src/safe_pointers.h`) over raw + `FILE *`/`fopen` when touching such code. +- **MPI stubs:** if a serial build misses an MPI symbol, add it to `src/STUBS/mpi.h` + instead of special-casing the caller. +- **Block comments:** inside `/* ... */`, an embedded `*/` (e.g. in a glob like + `gb_*/ga_*`) silently terminates the comment; reword or use `//` comments. +- **File permissions:** `.cpp`/`.h` must NOT be executable; `.sh`/`.py` scripts SHOULD + be (checked by `make check-permissions`). +- Root `README` has no extension; subdirectories may use `.md`. + +## Adding New Styles + +1. Place `style_name.cpp`/`.h` in `src/` or the appropriate package directory; use a + similar existing style as template (see https://docs.lammps.org/Modify_style.html). +2. Add new package files to `src/.gitignore`; add renamed/removed file names to + `src/Purge.list`. +3. Create/update the matching `doc/src/*.rst` file; new publicly visible commands and + keywords need `.. versionadded:: TBD` (see the documentation guide). +4. Internal styles (upper-case style names) need no documentation. ## Development Workflow -1. **Branch:** Work on feature branches, submit PRs to `develop` (NOT `master` or `release`) - -2. **Style check first:** Run `cd src && make check` before committing - -3. **Build locally:** Test with CMake using gcc.cmake + most.cmake presets to match CI - -4. **Test changes:** Run relevant unit tests if touching core code, regression tests if modifying examples - -5. **Watch CI:** All PR checks must pass. Review CI logs if failures occur. - -6. **Continuous release model:** The `develop` branch is always functional. All changes go through PRs with mandatory CI checks. - -## Quick Reference Commands - -```bash -# Standard development build and test cycle -mkdir build -cmake -S cmake -B build -C cmake/presets/gcc.cmake -C cmake/presets/most.cmake -D ENABLE_TESTING=on -D DOWNLOAD_POTENTIALS=off -cmake --build build -j 4 -cd src && make check # Style checks -cd ../build && ctest -V # Unit tests - -# Minimal build for quick testing -cmake -S cmake -B build -C cmake/presets/basic.cmake -cmake --build build -j 4 - -# Add a package -cmake -S cmake -B build -C cmake/presets/basic.cmake -D PKG_MOLECULE=on -cmake --build build -j 4 - -# Traditional make (if needed) -cd src -make serial # or 'make mpi' -./lmp_serial -in input_file - -# Clean everything -rm -rf build -cd src && make clean-all - -# Switch from Make to CMake (purge make-generated files) -cd src && make purge -cd .. && mkdir build && cmake -S cmake -B build -C cmake/presets/basic.cmake -``` +- Feature branches; PRs target `develop` (NOT `master` or `release`). The `develop` + branch is always kept functional (continuous release model). +- Run `cd src && make check` before committing; watch CI on the PR. +- The PR template contains a mandatory **AI Tools Usage** section whose default text + states no AI was used; when AI tools generated code, edit that section to disclose it + honestly. This section is the ONLY place for AI attribution: do NOT add + `Co-Authored-By:`, `Claude-Session:`, `Generated with ...`, or similar AI-attribution + trailer lines to commit messages or PR descriptions. This applies to Claude Code, + GitHub Copilot, and any other coding agent alike. ## Code Review -When performing a code review, apply the general instructions for contributions -to LAMMPS in https://docs.lammps.org/Modify_requirements.html - -When performing a code review, apply the programming style instructions -for LAMMPS in https://docs.lammps.org/Modify_style.html - -When performing a code review, check any changes to the documentation -(in the `doc/src/` folder) to be written in American English and with -plain ASCII characters. - -When performing a code review, ensure that the documentation for any new -commands or added keywords to existing commands contains a -`.. versionadded:: TBD` directive. For any modified commands or -keywords a `.. versionchanged:: TBD` directive should be included in the -documentation. Check if any examples use the new or modified commands -and check if they need updating. - -When reviewing C++ code, ensure that no alternative tokens are used for -logical operators. That is, use `&&` instead of `and`, `||` instead of -`or`, `!` instead of 'not', `^` instead of `xor` and so on. These -alternative tokens are only required for ASCII text in some non -US-English characters sets, but the LAMMPS sources code are *supposed* -be in US-English 7-bit ASCII. Using alternative tokens causes -compilation failures with some compilers by default, most prominently -Microsoft Visual C++. - -When new files are added to package directories in `src`, make sure -they are added to the `src/.gitignore` file, so that the copies in -`src` make by the traditional make build system are not accidentally -added to the git repository. - -Whe files are renamed or removed from package directories in `src`, -make sure the old file names are added the `src/Purge.list` file so -their copies from the traditional make build system are properly -removed with "make purge". - -## Documentation Changes - -When modifying documentation files in `doc/src/`: - -**Build and validate documentation:** -```bash -cd doc -make html # Build HTML, check for warnings -make pdf # Build PDF (requires pdflatex) -make spelling # Check spelling -make anchor_check # Check for duplicate anchors -make style_check # Verify style lists are complete -``` - -Ensure that building the documentation with "make html" and "make pdf" -can complete and does *NOT* produce any errors or warnings about sphinx -or docutils syntax issues or incorrect references. - -Also make certain that "make spelling" does not report in any spelling -issues; those need to be either remedied or exceptions (e.g. for code -examples or author names of cited references) should be added to the -file "doc/utils/sphinx-config/false-positives.txt". - -**Documentation conventions:** -- Use reStructuredText format (`.rst` files) -- Use American English spelling -- Use ASCII characters only -- Wrap code examples in `.. code-block::` with appropriate language (LAMMPS, bash, c++, python) -- Use `.. note::` for important remarks and `.. warning::` for critical warnings -- New commands require `.. versionadded:: TBD` -- Modified commands require `.. versionchanged:: TBD` - -## Debugging CI Failures - -When a CI check fails, diagnose using these steps: - -**1. Style check failures (`style-check.yml`):** -```bash -cd src -make check-whitespace # Most common - fix with: make fix-whitespace -make check-permissions # Fix with: make fix-permissions -make check-homepage # Verify https://www.lammps.org URLs -make check-errordocs # Check error documentation -make check-fmtlib # Verify fmtlib formatting -``` - -**2. Build failures:** -- Check CMake output for missing dependencies -- Ensure `-S cmake` (not `-S .`) is used -- Verify package dependencies are met -- Check for VLA (variable-length array) usage - not allowed - -**3. Unit test failures:** -- Run specific failing test: `cd build && ctest -V -R ` -- Check if test requires specific packages to be enabled -- Verify the executable was built before running tests - -**4. Regression test failures:** -- Ensure Python environment has numpy, pyyaml, junit_xml -- Check if example inputs were modified correctly - -## Short-Circuit Instructions - -**STOP and check these common mistakes:** - -1. **Wrong CMake source directory:** - - WRONG: `cmake -S . -B build` - - CORRECT: `cmake -S cmake -B build` - -2. **Building in source tree:** - - NEVER run cmake or make in the repository root - - ALWAYS create a separate `build/` directory - -3. **Mixed build systems:** - - If switching from Make to CMake: run `make -C src purge` first - - If switching from CMake to Make: run `make -C src clean-all` first - -4. **Unicode in source files:** - - All source code must be ASCII only - - Unicode characters will cause CI to fail - -5. **Missing whitespace fixes:** - - Always run `cd src && make fix-whitespace` before committing - -6. **Incorrect file permissions:** - - `.cpp` and `.h` files must NOT be executable - - `.sh` and `.py` scripts SHOULD be executable - -## Sample Prompts - -**Adding a new pair style:** -> "Create a new pair style called `pair_example` that implements [description]. Follow the pattern in `src/pair_lj_cut.cpp` and add documentation in `doc/src/pair_example.rst`." - -**Fixing a bug in a compute:** -> "Fix bug in `compute_temp.cpp` where [description]. Add a unit test in `unittest/` to prevent regression." - -**Adding a new package:** -> "Create a new package called MYPACKAGE with [features]. Include CMakeLists.txt entries, documentation, and example inputs." - -**Updating documentation:** -> "Update the documentation for `fix_nve.rst` to include the new `keyword` option. Use `.. versionchanged:: TBD` directive." - -**Debugging build failure:** -> "The CI build is failing with [error]. Diagnose and fix the issue." - -# Porting Pair Styles to KOKKOS - -Below is a structured plan and reference for porting some -pair styles to the KOKKOS package. It covers the required code changes, -documentation updates, and groups the work into Copilot-session-sized -batches ordered from simplest to most complex. - ---- - -## Background and Motivation - -The KOKKOS package provides GPU-accelerated (CUDA/HIP) and many-core CPU -(OpenMP/threads) variants of LAMMPS styles using Kokkos abstractions. -Porting a pair style to KOKKOS means: - -1. Creating `src/KOKKOS/pair__kokkos.h` and - `src/KOKKOS/pair__kokkos.cpp`. -2. Registering the new files in `src/KOKKOS/Install.sh`. -3. Making small changes to the **base class** header (adding `virtual` to - `allocate()` and adding `if (copymode) return;` to the destructor of the - base class if not already present). -4. Updating the RST documentation in `doc/src/pair_.rst`. -5. Updating `doc/src/Commands_pair.rst`. - ---- - -## Key Rules for KOKKOS Porting - -### 1. `if (copymode) return;` in the base-class destructor - -When a Kokkos pair style is copied for use on-device (via `copymode = 1`), -the copy's destructor must not free memory that belongs to the original object. -Every **base class** that a `_kokkos` style will inherit from must have: - -```cpp -PairFoo::~PairFoo() -{ - if (copymode) return; // MUST be the first line - // ... rest of destructor ... -} -``` - -If the base-class destructor already has this line, no change is needed. -Check with: - -```bash -grep -n "copymode" src//pair_.cpp -``` - -### 2. `virtual void allocate()` in the base-class header - -The KOKKOS style overrides `allocate()` to replace plain arrays with dual -views. The override only works correctly in C++ when the base-class -declaration is `virtual`. Change: - -```cpp -void allocate(); // old -virtual void allocate(); // required -``` - -Check with: - -```bash -grep -n "allocate" src//pair_.h -``` - -### 3. Per-atom view members: `typename AT::` not `DAT::` - -Every member that stores a per-atom view obtained from -`atomKK->k_.view()` **must** be declared with the -template-parameterized alias `typename AT::t_`, **never** with the -hardcoded alias `DAT::t_`. - -```cpp -// WRONG — kk/host instantiation fails with Kokkos ViewMapping assertion: -DAT::t_tagint_1d_randomread molecule; - -// CORRECT — adapts to DeviceType (LMPDeviceType or LMPHostType): -typename AT::t_tagint_1d_randomread molecule; -``` - -`AT` is `ArrayTypes`. `DAT` is `ArrayTypes`. -In GPU builds, the pair style is instantiated for *both* `LMPDeviceType` and -`LMPHostType`. Views with `DAT::` types live in GPU memory; assigning a -host-side `atomKK` view to them triggers a static assertion in Kokkos. - -**Safe to use `DAT::`:** dual views that the pair style allocates itself and -never assigns from an `atomKK` view: -`k_eatom`, `k_vatom`, `k_cutsq`, `k_cut_ljsq`, `k_cut_coulsq`. - -**Must use `typename AT::`:** all per-atom views set via -`atomKK->k_.view()`: -`x`, `c_x`, `f`, `type`, `q`, `molecule`, `radius`, etc. - -Quick audit command: -```bash -grep "DAT::t_" src/KOKKOS/pair__kokkos.h -``` -Every hit should be a dual-view (type contains `tdual` or `ttransform`), not -a plain per-atom view (type contains `t_`). - -### 4. `src/KOKKOS/Install.sh` entries - -Add two lines per new file: - -```sh -action pair__kokkos.cpp pair_.cpp # if base is in another package -action pair__kokkos.h pair_.h # idem -``` - -If the base class is in the **core** (`src/`), omit the second argument: - -```sh -action pair__kokkos.cpp -action pair__kokkos.h -``` - -### 5. Documentation changes - -**In `doc/src/pair_.rst`:** - -* Add `.. index:: pair_style /kk` near the top. -* Add `*/kk*` to the `Accelerator Variants:` line. - -**In `doc/src/Commands_pair.rst`:** - -* Add `k` to the accelerator letter string in the entry for this style - (letters: `g`=GPU, `i`=INTEL, `k`=KOKKOS, `o`=OPENMP, `t`=OPT). - ---- - -## Standard KOKKOS Template (pair_kokkos.h framework) - -Most simple pairwise styles (no three-body, no many-body embedding) fit the -`pair_kokkos.h` template. The KOKKOS class must implement: - -| Function | COUL_FLAG=0 | COUL_FLAG=1 | -|---|---|---| -| `compute_fpair` | required | required (VdW part) | -| `compute_evdwl` | required | required | -| `compute_fcoul` | return 0 | required | -| `compute_ecoul` | return 0 | required | - -The template automatically handles half/half-thread/full neighbor list -dispatch, reduction of forces, and energy/virial accumulation. - -See `src/KOKKOS/pair_born_kokkos.{h,cpp}` and -`src/KOKKOS/pair_lj_cut_kokkos.{h,cpp}` as canonical examples. - -### Typical header skeleton (COUL_FLAG=0) - -```cpp -#ifdef PAIR_CLASS -PairStyle(/kk, PairKokkos); -PairStyle(/kk/device,PairKokkos); -PairStyle(/kk/host, PairKokkos); -#else -#ifndef LMP_PAIR__KOKKOS_H -#define LMP_PAIR__KOKKOS_H -#include "pair_kokkos.h" -#include "pair_.h" -#include "neigh_list_kokkos.h" -namespace LAMMPS_NS { -template -class PairKokkos : public Pair { - public: - enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF}; - enum {COUL_FLAG=0}; - typedef DeviceType device_type; - typedef ArrayTypes AT; - PairKokkos(class LAMMPS *); - ~PairKokkos() override; - void compute(int, int) override; - void init_style() override; - double init_one(int, int) override; - - struct params_ { - KOKKOS_INLINE_FUNCTION params_() { /* zero all */ } - KOKKOS_INLINE_FUNCTION params_(int) { /* zero all */ } - KK_FLOAT cutsq, /* ... pair-specific params ... */; - }; - - protected: - template - KOKKOS_INLINE_FUNCTION - KK_FLOAT compute_fpair(...) const; - - template - KOKKOS_INLINE_FUNCTION - KK_FLOAT compute_evdwl(...) const; - - template - KOKKOS_INLINE_FUNCTION - KK_FLOAT compute_ecoul(...) const { return 0; } - - Kokkos::DualView**,Kokkos::LayoutRight,DeviceType> k_params; - typename Kokkos::DualView**,...>::t_dev_const_um params; - params_ m_params[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; - KK_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; - typename AT::t_kkfloat_1d_3_lr_randomread x; - typename AT::t_kkfloat_1d_3_lr c_x; - typename AT::t_kkacc_1d_3 f; - typename AT::t_int_1d_randomread type; - Kokkos::DualView k_cutsq; - typename Kokkos::DualView::t_dev d_cutsq; - typename AT::t_kkacc_1d d_eatom; - typename AT::t_kkacc_1d_6 d_vatom; - Kokkos::DualView k_eatom, k_vatom; - int neighflag, newton_pair; - int nlocal, nall, eflag, vflag; - friend struct PairComputeFunctorKokkos,FULL,true>; - friend struct PairComputeFunctorKokkos,FULL,false>; - friend struct PairComputeFunctorKokkos,HALF,true>; - friend struct PairComputeFunctorKokkos,HALF,false>; - friend struct PairComputeFunctorKokkos,HALFTHREAD,true>; - friend struct PairComputeFunctorKokkos,HALFTHREAD,false>; - friend EV_FLOAT pair_compute_neighlistKokkos, - FULL,CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); - friend EV_FLOAT pair_compute_neighlistKokkos, - HALF,CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); - friend EV_FLOAT pair_compute_neighlistKokkos, - HALFTHREAD,CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); - friend EV_FLOAT pair_computeKokkos, - CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); - friend void pair_virial_fdotr_computeKokkos>( - PairKokkos*); -}; -} -#endif -#endif -``` - -For `COUL_FLAG=1`, add `compute_fcoul` and `compute_ecoul`, add -`special_coul`, `qqrd2e`, `q` array, and change `CoulLongTable<0>` to -`CoulLongTable<1>` in the friend declarations. - -### Typical `.cpp` skeleton - -```cpp -template -PairKokkos::PairKokkos(LAMMPS *lmp) : Pair(lmp) -{ - respa_enable = 0; - kokkosable = 1; - atomKK = (AtomKokkos *) atom; - execution_space = ExecutionSpaceFromDevice::space; - datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; - datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; -} - -template -PairKokkos::~PairKokkos() -{ - if (copymode) return; - if (allocated) { - memoryKK->destroy_kokkos(k_eatom, eatom); - memoryKK->destroy_kokkos(k_vatom, vatom); - memoryKK->destroy_kokkos(k_cutsq, cutsq); - } -} - -template -void PairKokkos::compute(int eflag_in, int vflag_in) -{ - eflag = eflag_in; vflag = vflag_in; - if (neighflag == FULL) no_virial_fdotr_compute = 1; - ev_init(eflag,vflag,0); - if (eflag_atom) { /* reallocate k_eatom */ } - if (vflag_atom) { /* reallocate k_vatom */ } - atomKK->sync(execution_space,datamask_read); - k_cutsq.template sync(); - k_params.template sync(); - if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); - else atomKK->modified(execution_space,F_MASK); - x = atomKK->k_x.view(); - c_x = atomKK->k_x.view(); - f = atomKK->k_f.view(); - type = atomKK->k_type.view(); - nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; - newton_pair = force->newton_pair; - special_lj[0..3] = ...; - NeighListKokkos* k_list = ...; - ... - EV_FLOAT ev = pair_computeKokkos, - CoulLongTable>(this, k_list); - if (eflag_global) eng_vdwl += ev.evdwl; - if (vflag_global) { virial[0..5] += ev.v[0..5]; } - if (eflag_atom) { k_eatom.template modify(); k_eatom.sync_host(); } - if (vflag_atom) { k_vatom.template modify(); k_vatom.sync_host(); } - if (vflag_fdotr) pair_virial_fdotr_compute(this); - copymode = 0; -} - -template -void PairKokkos::allocate() -{ - Pair::allocate(); - int n = atom->ntypes; - memory->destroy(cutsq); - memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq"); - d_cutsq = k_cutsq.template view(); - k_params = Kokkos::DualView**,...>("Pair::params",n+1,n+1); - params = k_params.template view(); -} - -template -void PairKokkos::init_style() -{ - Pair::init_style(); - // Request full neighbor list - neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_GHOST); -} - -template -double PairKokkos::init_one(int i, int j) -{ - double cutone = Pair::init_one(i,j); - k_params.view_host()(i,j). = static_cast([i][j]); - /* ... fill all params fields ... */ - k_params.view_host()(j,i) = k_params.view_host()(i,j); - if (i < MAX_TYPES_STACKPARAMS+1 && j < MAX_TYPES_STACKPARAMS+1) - m_params[i][j] = m_params[j][i] = k_params.view_host()(i,j); - m_cutsq[j][i] = m_cutsq[i][j] = static_cast(cutone*cutone); - k_cutsq.view_host()(i,j) = k_cutsq.view_host()(j,i) = cutone*cutone; - k_cutsq.modify_host(); - k_params.modify_host(); - return cutone; -} - -// Explicit instantiation at the bottom of the .cpp file -namespace LAMMPS_NS { -template class PairKokkos; -#ifdef LMP_KOKKOS_GPU -template class PairKokkos; -#endif -} -``` - ---- - -## Candidate Pair Styles to Port - -52 pair styles are possible candidates for porting to KOKKOS. They are -grouped below by porting complexity, from easiest to hardest. - ---- - -## Group 1 — Simple Pairwise, No Coulomb (EXTRA-PAIR; 13 styles) - -**Status: COMPLETED** - -**Complexity:** Low. Use the `pair_kokkos.h` template with `COUL_FLAG=0`. -Implement `compute_fpair` and `compute_evdwl`; `compute_ecoul` returns 0. -Pattern to follow: `pair_born_kokkos` or `pair_beck_kokkos`. - -**Session size recommendation:** 4–6 styles per session. - -| Pair style | Package | Base header | Status | -|---|---|---|---| -| `mie/cut` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_mie_cut.h` | **done** | -| `nm/cut` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_nm_cut.h` | **done** | -| `gauss/cut` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_gauss_cut.h` | **done** | -| `harmonic/cut` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_harmonic_cut.h` | **done** | -| `cosine/squared` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_cosine_squared.h` | **done** | -| `lj/smooth` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_lj_smooth.h` | **done** | -| `lj/smooth/linear` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_lj_smooth_linear.h` | **done** | -| `morse/smooth/linear` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_morse_smooth_linear.h` | **done** | -| `ufm` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_ufm.h` | **done** | -| `wf/cut` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_wf_cut.h` | **done** | -| `born/gauss` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_born_gauss.h` | **done** | -| `lj/mdf` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_lj_mdf.h` | **done** | -| `lennard/mdf` | EXTRA-PAIR | `src/EXTRA-PAIR/pair_lennard_mdf.h` | **done** | - -**Required base-class changes:** -- Add `virtual void allocate();` in each header (if not already `virtual`). -- Add `if (copymode) return;` as first line of each destructor. - -**Documentation:** Add `.. index:: pair_style /kk` and add `*/kk*` -to `Accelerator Variants`. Add `k` to each entry in `Commands_pair.rst`. - ---- - -## Group 2 — Simple Pairwise, No Coulomb (continued; 5 styles) - -**Status: COMPLETED** - -**Complexity:** Low. Same as Group 1 but with more parameters per pair-type. - -| Pair style | Package | Notes | Status | -|---|---|---|---| -| `momb` | EXTRA-PAIR | London + Buckingham, extra exponent params | **done** | -| `buck/mdf` | EXTRA-PAIR | Buckingham with switching, see `pair_buck_kokkos` | **done** | -| `pedone` | EXTRA-PAIR | Morse-like with r^-6 correction, no Coulomb | **done** | -| `lj/pirani` | EXTRA-PAIR | Generalized LJ with Pirani potential, per-type m,n | **done** | -| `ylz` | ASPHERE | Orientation-dependent potential, requires custom kernel | **done** | - -**Note:** `ylz` is in the ASPHERE package but computes only short-range VdW -with fixed charge; it should use `COUL_FLAG=0`. - ---- - -## Group 3 — Pairwise with Short-Range Coulomb (Wolf/DSF/cut; 8 styles) - -**Status: COMPLETED** - -**Complexity:** Moderate. Use the `pair_kokkos.h` template with `COUL_FLAG=1`. -Add `compute_fcoul` and `compute_ecoul`. The Coulomb part uses no long-range -tables (Wolf damping, DSF cutoff, or plain cut). -Pattern to follow: `pair_lj_cut_coul_dsf_kokkos`. - -| Pair style | Package | Coulomb type | Status | -|---|---|---|---| -| `born/coul/wolf` | EXTRA-PAIR | Wolf damped | **done** | -| `lj/cut/coul/wolf` | EXTRA-PAIR | Wolf damped | **done** | -| `nm/cut/coul/cut` | EXTRA-PAIR | cut | **done** | -| `coul/diel` | EXTRA-PAIR | dielectric screening | **done** | -| `coul/shield` | INTERLAYER | exponential screening | **done** | -| `buck6d/coul/gauss/dsf` | MOFFF | Gaussian-damped DSF | **done** | -| `coul/cut/global` | EXTRA-PAIR | tiny wrapper of `coul/cut` | **done** | -| `lj/cut/sphere` | EXTRA-PAIR | radius from per-atom property; no Coulomb (COUL_FLAG=0) | **done** | - -**Notes:** -- `coul/diel`: stores scalar dielectric parameters (`a_eps`, `b_eps`, `eps_s`) as `KK_FLOAT` - members and copies them before each kernel launch. -- `coul/shield`: includes per-atom `molecule` view to skip same-layer pairs; the taper - function (Tap, dTap) is inlined using Horner's method with hardcoded coefficients. - **Important:** the `molecule` member must be declared `typename AT::t_tagint_1d_randomread` - (not `DAT::t_tagint_1d_randomread`), otherwise the `kk/host` instantiation fails to - compile in GPU builds. See *Lessons Learned* for the general rule. -- `coul/cut/global`: inherits `PairCoulCutKokkos` directly; only overrides - `coeff()` (enforces 2 args) and `extract()`. -- `lj/cut/sphere`: COUL_FLAG=0; the per-atom `radius` view (declared `typename AT:: - t_kkfloat_1d_randomread`) is synced; cutsq stores the maximum possible cutoff per - type pair; the actual per-atom cutoff and sigma are computed inside - `compute_fpair`/`compute_evdwl`. - ---- - -## Group 4 — Pairwise with Long-Range Coulomb (Ewald/PPPM; 4 styles) - -**Status: COMPLETED** - -**Complexity:** Moderate. `COUL_FLAG=1`, use `init_tables()` for Coulomb. -Pattern to follow: `pair_born_kokkos` extended with `pair_lj_cut_coul_long_kokkos`. - -| Pair style | Package | Notes | Status | -|---|---|---|---| -| `nm/cut/coul/long` | EXTRA-PAIR | NM with long-range Ewald | **done** | -| `lj/switch3/coulgauss/long` | YAFF | YAFF + Gaussian charge Ewald | **done** | -| `mm3/switch3/coulgauss/long` | YAFF | YAFF MM3 variant | **done** | -| `buck6d/coul/gauss/long` | MOFFF | MOFFF Buckingham + Ewald | **done** | - ---- - -## Group 5 — TIP4P Water Models (4 styles) - -**Complexity:** High. The TIP4P geometry correction (virtual oxygen site M) -requires special handling in the neighbor loop. Study the existing -`pair_lj_cut_tip4p_long_kokkos` carefully before attempting. - -| Pair style | Package | Notes | -|---|---|---| -| `tip4p/cut` | MOLECULE | TIP4P cut | -| `tip4p/long` | KSPACE | TIP4P long Coulomb | -| `lj/cut/tip4p/cut` | MOLECULE | LJ + TIP4P cut | -| `lj/cut/tip4p/long` | KSPACE | LJ + TIP4P long | - ---- - -## Group 6 — Granular, Colloidal, Lubrication (2 styles) - -**Complexity:** High. These involve contact mechanics (overlap detection, -friction history) or hydrodynamic lubrication requiring per-atom state. - -| Pair style | Package | Notes | -|---|---|---| -| `gran/hooke` | GRANULAR | frictionless Hertz; no history arrays needed | -| `gran/hertz/history` | GRANULAR | requires shear history Kokkos view | - ---- - -## Group 7 — MANYBODY Three-body (SW-like, Tersoff tables; 3 styles) - -**Complexity:** High. These use a short neighbor list in addition to the -regular neighbor list. Follow `pair_sw_kokkos` and `pair_tersoff_kokkos` -as patterns; the short-neigh build kernel and the three-body loop kernel -must be implemented manually (the `pair_kokkos.h` template does not support -three-body). - -| Pair style | Package | Notes | -|---|---|---| -| `sw/mod` | MANYBODY | SW variant; inherits from PairSW; follow `pair_sw_kokkos` | -| `nb3b/harmonic` | MANYBODY | three-body harmonic, independent from SW hierarchy | -| `tersoff/mod/c` | MANYBODY | Tersoff mod + carbon correction | - ---- - -## Group 8 — Moderate Many-Body / Geometry-Dependent (6 styles) - -**Complexity:** High. These require non-trivial per-atom or angle-dependent -loops that do not map onto the `pair_kokkos.h` template. - -| Pair style | Package | Notes | -|---|---|---| -| `atm` | MANYBODY | three-body Axilrod-Teller-Muto; triple loop | -| `local/density` | MANYBODY | local density embedding; two-pass loop | -| `gayberne` | ASPHERE | ellipsoid-ellipsoid; per-atom quaternions on device | -| `resquared` | ASPHERE | re-squared ellipsoid; similar to gayberne | -| `line/lj` | ASPHERE | line-segment LJ; per-atom shape/orientation | -| `tri/lj` | ASPHERE | triangle LJ; per-atom shape/orientation | - ---- - -## Group 9 — H-Bond, Dipole, Peridynamics (6 styles) - -**Complexity:** High. Angle-dependent (H-bond) or orientation-dependent -(dipole) or continuum mechanics (peri) interactions. - -| Pair style | Package | Notes | -|---|---|---| -| `hbond/dreiding/lj` | MOLECULE | angle-dependent H-bond; triple loop | -| `hbond/dreiding/morse` | MOLECULE | Morse variant of above | -| `hbond/dreiding/lj/angleoffset` | EXTRA-MOLECULE | angle-offset extension | -| `hbond/dreiding/morse/angleoffset` | EXTRA-MOLECULE | angle-offset extension | -| `lj/sf/dipole/sf` | DIPOLE | shifted-force dipole + LJ | -| `lj/expand/sphere` | EXTRA-PAIR | per-atom sphere radii required | - ---- - -## Documentation Checklist per Style - -For each pair style ported, update the following: - -1. **`src/KOKKOS/pair__kokkos.h`** — new file -2. **`src/KOKKOS/pair__kokkos.cpp`** — new file -3. **`src/KOKKOS/Install.sh`** — add `action` lines -4. **Base class `.h` in `src//pair_.h`**: - - Make `allocate()` virtual -5. **Base class `.cpp` in `src//pair_.cpp`**: - - Add `if (copymode) return;` as first line of destructor -6. **`doc/src/pair_.rst`**: - - Add `.. index:: pair_style /kk` near the top and so that they are ordered in groups by the base pair style and then for the same base style alphabetically according to the accelerator suffix. So `/kk` follows `/gpu` but comes before `/omp`. - - Add `*/kk*` to `Accelerator Variants:` - - Order the list of accelerator variants alphabetically -7. **`doc/src/Commands_pair.rst`**: - - Add letter `k` to the entry for this style - - When adding to existing letter use (ko) and *not* (o,k), that is order alphabetically and do not use a comma. - ---- - -## Build and Test Instructions - -### Build for testing - -```bash -mkdir -p build -cmake -S cmake -B build \ - -C cmake/presets/gcc.cmake \ - -C cmake/presets/most.cmake \ - -D PKG_KOKKOS=on \ - -D Kokkos_ENABLE_OPENMP=on \ - -D DOWNLOAD_POTENTIALS=off \ - -D ENABLE_TESTING=on \ - -G Ninja -cmake --build build -j 4 -``` - -### Style checks before committing - -```bash -cd src && make check-whitespace && make check-permissions -``` - -### Running unit tests - -```bash -cd build && ctest -V -R pair -``` - ---- - -## Summary of Common Mistakes to Avoid - -1. **Forgetting `if (copymode) return;`** — causes double-free crash on GPU. -2. **Forgetting `virtual void allocate()`** — silently calls the wrong allocate, - missing KK dual-view setup, leading to incorrect results or crashes. -3. **Wrong `CoulLongTable` template parameter** — use `<0>` when - `COUL_FLAG=0`, `<1>` when `COUL_FLAG=1`. -4. **Missing friend declarations** — `pair_compute*` helpers are templated - free functions; the class must declare them as friends. -5. **Not using `KK_FLOAT`** — all floating-point fields in `params_*` structs - must use `KK_FLOAT` (not `double`). -6. **Not adding `// NOLINTNEXTLINE` before each `KOKKOS_INLINE_FUNCTION`** — - required to suppress linter warnings in LAMMPS. -7. **Wrong Install.sh action format** — when base class is in another package - (e.g., EXTRA-PAIR), pass both filenames; when base is in `src/`, omit - second filename. -8. **Not rebuilding with `make purge` after switching build systems.** -9. **Using `DAT::t_` for per-atom views assigned from `atomKK`** — - every per-atom view assigned via `atomKK->k_.view()` - must be declared `typename AT::t_` (not `DAT::t_`). `AT` is - `ArrayTypes`, so the view type adapts to the template parameter. - `DAT` is hardcoded to `ArrayTypes`, which compiles fine for - the `kk/device` instantiation but triggers a Kokkos `ViewMapping` static - assertion when the class is instantiated for `LMPHostType` (the `kk/host` - variant required in GPU builds). Standard views that hold their own data - (e.g., `DAT::ttransform_kkacc_1d k_eatom`, `DAT::ttransform_kkfloat_2d - k_cutsq`) are correctly declared with `DAT::` because they are allocated - locally and are not assigned from an `atomKK->k_*.view()` call. - ---- - -## Lessons Learned (updated after Group 2) - -### Global scalar parameters in pair styles - -Some pair styles (e.g., `momb`) have global scalar parameters set by -`settings()` rather than per-pair parameters set by `pair_coeff`. These -scalars are stored as plain `double` members of the base class (e.g., -`sscale`, `dscale`). For the KOKKOS version, copy them to `KK_FLOAT` -members (e.g., `m_sscale`, `m_dscale`) in `compute()` before the kernel -launch. They can then be captured by the `KOKKOS_INLINE_FUNCTION` methods -through `this` (which is captured by the Kokkos functor). - -### MDF (Mei-Davenport-Fernando) tapering - -The `buck/mdf` style has a smooth taper applied when the inter-atomic -distance is in the range `[cut_inner, cut_outer]`. In the standard -`pair_kokkos.h` template, the `compute_fpair` function receives `rsq` and -must compute `r = sqrt(rsq)` itself. The tapering logic (computing `d`, -`tt`, `dt`) can be inlined directly in `compute_fpair` and `compute_evdwl` -using a conditional `if (rsq > cut_inner_sq)`. Store `cut_inner`, -`cut_inner_sq`, and the outer `cutsq` in the per-pair `params_*` struct so -the kernel can branch correctly. - -### Orientation-dependent pair styles (ylz, gayberne, etc.) - -The `ylz` style computes orientation-dependent forces and torques based on -per-atom quaternion data. It does not fit the `pair_kokkos.h` template -because: -1. It needs to read quaternion data from `AtomVecEllipsoidKokkos`. -2. It accumulates torques as well as forces. -3. The inner loop is not a simple `compute_fpair` scalar. - -For such styles a **custom kernel** is required, following the pattern of -`pair_lj_cut_dipole_cut_kokkos`: - -- Use `TagPairXXXKernel` tags. -- Override `compute()` to launch the appropriate template instantiation with - `Kokkos::parallel_for` or `Kokkos::parallel_reduce`. -- Accumulate torques with atomic operations via a view with - `Kokkos::MemoryTraits::value>`. -- Access the ellipsoid bonus data (quaternions) via - `avecKK->k_bonus.view()` where `avecKK` is a pointer to - `AtomVecEllipsoidKokkos` cast from `atom->style_match("ellipsoid")`. -- Use `MathExtraKokkos::quat_to_mat()` to convert quaternion to rotation - matrix on-device. -- Set `datamask_read` to include `TORQUE_MASK | ELLIPSOID_MASK`. -- Set `datamask_modify` to include `TORQUE_MASK`. -- Store the neighbor-list arrays explicitly (`d_neighbors`, `d_numneigh`, - `d_ilist`) rather than relying on the `pair_compute` helper. - -### lj/pirani: Kokkos::pow in device code - -The ILJ/Pirani potential uses `pow(rx, n(rx))` where `n(rx)` is itself a -function of the inter-atomic distance. `Kokkos::pow(base, exp)` is the -device-portable equivalent of `std::pow`. Using `std::pow` inside a -`KOKKOS_INLINE_FUNCTION` causes a compiler error on GPU targets. Always -prefer `Kokkos::` math functions in device kernels: -`Kokkos::sqrt`, `Kokkos::exp`, `Kokkos::pow`, `Kokkos::log`, -`Kokkos::sin`, `Kokkos::cos`, etc. - -### Force sign convention - -Be careful with force sign conventions. In the base CPU code, forces are -often accumulated as `f[i][0] += delx * fpair` where `fpair = F/r` and -`delx = xj - xi`. The KOKKOS kernel must use the same convention. For the -`ylz` style the force on atom `i` due to atom `j` is `-dU/dr * rhat` where -`rhat` points from `i` to `j` (i.e., `r12 = xj - xi`); the force on `j` -is the Newton-3 partner `-force_on_i`. - ---- - -## Lessons Learned (updated after Group 3, session May 2026) - -### Per-atom views: always use `typename AT::` not `DAT::` - -The most dangerous portability mistake for COUL_FLAG=1 styles (and any style -accessing extra per-atom arrays) is declaring a per-atom view with the -hardcoded `DAT::` type alias instead of the template-parameterized `AT::`: - -```cpp -// WRONG — compiles for kk/device but fails at kk/host instantiation: -DAT::t_tagint_1d_randomread molecule; - -// CORRECT — adapts to DeviceType, works for both kk/device and kk/host: -typename AT::t_tagint_1d_randomread molecule; -``` - -The rule is simple: any member that is assigned from -`atomKK->k_.view()` must be declared with `typename AT::`. -Views that manage their own data (dual views allocated in `allocate()`, e.g., -`k_eatom`, `k_vatom`, `k_cutsq`) are correctly declared with `DAT::` because -they do not hold per-atom data obtained from `atomKK`. - -This bug manifests as a Kokkos `ViewMapping` static assertion at compile time -when targeting GPU architectures (because GPU builds instantiate both -`PairKokkos` and `PairKokkos`). On CPU-only -builds both `LMPDeviceType` and `LMPHostType` share the same memory space, so -the bug is silent. - -The `pair_coul_shield_kokkos` style contains a `molecule` array (to skip -same-layer pairs) that was originally declared as `DAT::t_tagint_1d_randomread` -and was fixed to `typename AT::t_tagint_1d_randomread` in this session. - -**Checklist:** when writing any new KK pair style, audit every per-atom -array member with `grep "DAT::" pair__kokkos.h`. Only these are safe -as `DAT::`: - -- `DAT::ttransform_kkacc_1d k_eatom` -- `DAT::ttransform_kkacc_1d_6 k_vatom` -- `DAT::ttransform_kkfloat_2d k_cutsq` -- `DAT::tdual_kkfloat_2d k_cut_ljsq` / `k_cut_coulsq` - -Everything else that is set to `atomKK->k_.view()` must -use `typename AT::`. - -### `coul/shield`: per-molecule filtering via the `molecule` view - -`pair_coul_shield` skips interactions between atoms in the same layer (same -molecule id). In the KOKKOS kernel this is implemented with a per-atom -`molecule` view: - -```cpp -// in compute_fcoul / compute_ecoul: -if (molecule(i) == molecule(j)) return static_cast(0.0); -``` - -The view is synced in `compute()` before the kernel launch: - -```cpp -molecule = atomKK->k_molecule.view(); -``` - -Because the `molecule` view's type must match `DeviceType`'s memory space, -it must be declared `typename AT::t_tagint_1d_randomread`, not -`DAT::t_tagint_1d_randomread`. This is the concrete example that motivated -the general rule described above. - -### `coul/shield`: inline taper function - -The `coul/shield` potential uses a polynomial taper function to smooth the -force to zero at the cutoff. In the KOKKOS kernel, all math must be -device-portable. The taper and its derivative are computed via Horner's -method with hardcoded coefficients (exactly the same coefficients as the CPU -base class), called directly inside `compute_fcoul` and `compute_ecoul`. -No LAMMPS utility function is needed; the 8 polynomial coefficients are -embedded as literal constants in the kernel. - -### `coul/cut/global`: thin wrapper inheriting from `PairCoulCutKokkos` - -`pair_coul_cut_global_kokkos` does not need its own full implementation. -It is sufficient to: -1. Create a subclass `PairCoulCutGlobalKokkos` that inherits - from `PairCoulCutKokkos`. -2. Override `coeff()` to enforce exactly two arguments (as in the base CPU - class). -3. Override `extract()` to return the `epsilon` pointer. -4. Redirect the `PairStyle` macro entries to the new class. - -No new `compute_fpair`/`compute_fcoul` is needed; the parent handles all -kernel logic. - -### `lj/cut/sphere`: per-atom radius with a global `cutsq` ceiling - -`pair_lj_cut_sphere_kokkos` reads per-atom radii and computes per-pair -cutoffs on-the-fly inside `compute_fpair`/`compute_evdwl`. `cutsq` stores -the **maximum possible** squared cutoff per atom-type pair (set in -`init_one()`), so the neighbor list is built conservatively. Inside the -kernel, the actual cutoff for atoms `i`–`j` is -`(sigma_ij + radius[i] + radius[j])^2`, and pairs beyond that distance -return zero force regardless of the neighbor list entry. - -The `radius` per-atom view is declared `typename AT::t_kkfloat_1d_randomread -radius` (using `typename AT::`, not `DAT::`) and is synced in `compute()`: - -```cpp -radius = atomKK->k_radius.view(); -``` - -The same `typename AT::` rule applies here as to `molecule`. - ---- - -## Candidate Fix Styles to Port - -This section covers porting of **fix styles** from `src/` and the `EXTRA-FIX` package. -Unlike pair styles, fix styles implement a wide range of lifecycle hooks -(`initial_integrate`, `final_integrate`, `post_force`, `end_of_step`, etc.) and -have very different complexity profiles. The groups below are labeled **A through H** -and ordered from simplest to most complex (or least to most GPU-unfriendly). - -### Key differences from pair-style porting - -1. **No `pair_kokkos.h` template** — fix styles have no equivalent of the - pairwise-dispatch framework. Each fix implements one or more lifecycle methods - directly with `Kokkos::parallel_for` / `Kokkos::parallel_reduce`. - -2. **Fix lifecycle hooks** — identify which hooks need acceleration. Common - target hooks are `post_force`, `initial_integrate`, `final_integrate`, and - `end_of_step`. Hooks that run rarely (e.g., `write_restart`) stay on the - CPU and do not need porting. - -3. **`datamask_read` / `datamask_modify`** — every KOKKOS fix must declare - which per-atom arrays it reads and which it modifies, using the bitmask - constants from `atom.h` (e.g., `F_MASK`, `V_MASK`, `X_MASK`). - Override `get_compute_flag()` if needed. - -4. **`atomKK` sync/modified** — before a kernel reads a per-atom array, call - `atomKK->sync(flag)`. After writing, call - `atomKK->modified(flag)`. Use the same `typename AT::` rule - for per-atom view members (see Key Rule 3 in the pair-styles section). - -5. **KokkosBase mixin** — fixes that use per-atom stored data (those that - implement `grow_arrays`, `copy_arrays`, `pack_exchange`, `unpack_exchange`) - must also inherit from `KokkosBase` so the Kokkos atom-map machinery - correctly manages the dual views. See `fix_spring_self_kokkos` for the - pattern. - -6. **`Install.sh` entries** — same format as pair styles. When the base fix - lives in `src/`, omit the second argument; when it lives in an optional - package (e.g., EXTRA-FIX), pass both filenames: - - ```sh - # Base in src/: - action fix_lineforce_kokkos.cpp - action fix_lineforce_kokkos.h - - # Base in EXTRA-FIX: - action fix_drag_kokkos.cpp fix_drag.cpp - action fix_drag_kokkos.h fix_drag.h - ``` - -7. **Documentation** — update `doc/src/fix_.rst` (add `/kk` index entry - and `Accelerator Variants:` line) and `doc/src/Commands_fix.rst` (add letter - `k` to the accelerator string). - ---- - -## Group A — Trivial per-atom force/velocity loops (src/ and EXTRA-FIX) ✓ DONE - -**Complexity:** Very low. A single `Kokkos::parallel_for` over `[0, nlocal)` -reading `f[]` (or `v[]`) and writing back. No per-atom stored state, no global -reduction, no communication. Pattern: inherit from the base fix, override -`post_force()` (and `min_post_force()` if present) with a Kokkos functor. -Follow `fix_viscous_kokkos` as the primary template. - -| Fix style | Package | Operation | Notes | -|---|---|---|---| -| `nve/noforce` | `src/` | Advance positions: `x += dt*v` | No force reads; pattern: `fix_nve_kokkos` | -| `aveforce` | `src/` | Replace per-atom `f` with group-average force | Needs a global `Kokkos::parallel_reduce` + MPI allreduce before applying; similar to `fix_addforce_kokkos` | -| `viscous/sphere` | `EXTRA-FIX` | Viscous drag + angular drag (torque) | Reads `omega`, writes `torque`; follow `fix_viscous_kokkos` | -| `drag` | `EXTRA-FIX` | Drag force toward target point/line/plane | Simple per-atom `f` update | -| `oneway` | `EXTRA-FIX` | Zero velocity component when moving the wrong way | Simple per-atom `v` check + zero | - ---- - -## Group B — Wall styles extending FixWall (src/ and EXTRA-FIX) ✓ DONE - -**Complexity:** Low. All are subclasses of `FixWall` and need only -`precompute(int)` (precompute per-wall coefficients) and `wall_particle(int,int,double)` -(compute force/energy for one atom at given wall distance) to be ported. -Follow `fix_wall_lj93_kokkos` exactly. - -| Fix style | Package | Potential form | Notes | -|---|---|---|---| -| `wall/harmonic` | `src/` | Harmonic spring | Simplest: `F = k*(r0-r)` | -| `wall/lj126` | `src/` | LJ 12-6 | Follow `wall/lj93/kk` directly | -| `wall/lj1043` | `src/` | LJ 10-4-3 integrated | Slightly more complex `wall_particle` | -| `wall/morse` | `src/` | Morse potential | Two exponential terms; follow `wall/lj93/kk` | - -**Note:** `wall/reflect/stochastic` (EXTRA-FIX) inherits `FixWallReflect` (already ported -as `wall/reflect/kk`), adds a Marsaglia random-number generator for thermostatting. The -random-number generator cannot be called from device code without extra work (see Group F). - ---- - -## Group C — Sphere-body NVE/NVT/NPT integrators extending FixNH ✓ DONE - -**Complexity:** Low-to-moderate. `FixNHSphere` extends `FixNH` (already -ported as `fix_nh_kokkos`) by overriding `nve_v()`, `nve_x()`, and `nh_v_temp()` -to operate on both linear and angular velocity. The KOKKOS variants -`fix_nph_kokkos` / `fix_npt_kokkos` / `fix_nvt_kokkos` already exist; the sphere -variants merely add the angular DOF loops. Follow `fix_nve_sphere_kokkos` for the -angular loop pattern (or `fix_nve_asphere_kokkos` for the rigid-body variant). - -| Fix style | Package | Base class chain | Notes | -|---|---|---|---| -| `nh/sphere` | `src/` | `FixNHSphere` → `FixNH` → `Fix` | Adds `nve_v_sphere`, `nve_x_sphere`, `nh_v_temp_sphere` | -| `nph/sphere` | `src/` | `FixNPHSphere` → `FixNHSphere` | Thin wrapper; most work in `nh/sphere/kk` | -| `npt/sphere` | `src/` | `FixNPTSphere` → `FixNHSphere` | Same as above | -| `nvt/sphere` | `src/` | `FixNVTSphere` → `FixNHSphere` | Same as above | - -## compute temp/sphere ✓ DONE - -**Complexity:** Low. Mirrors `compute_temp_kokkos` but adds angular velocity -terms. Sphere particles always use `rmass` (no per-type mass path), so there -is no `RMASS` template parameter — only a `MODE` parameter (ALL vs ROTATE-only). -The `dof_compute()` and `init()` methods are kept CPU-side (called infrequently -and already optimised). Thin-wrapper constructors for the sphere NH fixes are -updated to create `temp/sphere/kk` instead of `temp/sphere`. - -| Compute style | Package | Notes | -|---|---|---| -| `temp/sphere/kk` | `src/KOKKOS/` | `compute_temp_sphere_kokkos.{h,cpp}` | - ---- - -## Group D — Per-atom stored-state fixes (grow_arrays + KokkosBase) - -**Complexity:** Moderate. These fixes maintain per-atom arrays that survive -atom migration (they implement `grow_arrays`, `copy_arrays`, `pack_exchange`, -`unpack_exchange`). The KOKKOS version must: - -1. Inherit from both the base fix and `KokkosBase`. -2. Replace CPU arrays with `Kokkos::DualView` members. -3. Override `grow_arrays` to resize dual views. -4. Override `pack_exchange_kokkos` / `unpack_exchange_kokkos`. - -Use `fix_spring_self_kokkos` as the primary template. - -| Fix style | Package | Per-atom data | Notes | -|---|---|---|---| -| `spring/rg` | `EXTRA-FIX` | Radius-of-gyration spring; needs global reduce | Moderate; follow `spring/self/kk` | -| `ti/spring` | `EXTRA-FIX` | Reference positions `xoriginal[nmax][3]` | Similar to `spring/self` | -| `addtorque/group` | `EXTRA-FIX` | Adds torque to group; needs COM reduce | Reads `x`, `torque`; pattern like `addforce/kk` | - ---- - -## Group E — Thermostat/barostat coupling with global statistics - -**Complexity:** Moderate. These fixes compute a global temperature or pressure, -then rescale velocities/forces. They call `Temperature->compute()` or -`Pressure->compute()` on the CPU, then launch a Kokkos kernel to rescale. -Pattern: `fix_temp_rescale_kokkos`, `fix_temp_berendsen_kokkos`. - -| Fix style | Package | Coupling type | Notes | -|---|---|---|---| -| `press/berendsen` | `src/` | Isotropic/anisotropic box rescaling | Temperature + pressure compute → box + velocity rescale | -| `press/langevin` | `EXTRA-FIX` | Stochastic pressure coupling | Similar to `press/berendsen` with random term | -| `temp/csvr` | `EXTRA-FIX` | Canonical sampling; velocity rescaling | Stochastic factor; needs host-side random then device rescale | -| `temp/csld` | `EXTRA-FIX` | Canonical sampling; Lowe-Denbigh-Andersen | Per-pair velocity reassignment; moderate complexity | -| `gjf` | `EXTRA-FIX` | Grønbech-Jensen/Farago Langevin integrator | Has per-atom `vhalf[nmax][3]`; inherits Langevin structure (`fix_langevin_kokkos` pattern) | - ---- - -## Group F — Moderate complexity: geometry/indenter/move/restraints - -**Complexity:** Moderate-to-high. These styles have variable run-time geometry, -tabulated data, or complex per-atom logic that requires careful structuring of -device kernels. - -| Fix style | Package | Operation | Notes | -|---|---|---|---| -| `indent` | `src/` | Force from sphere/cylinder/plane indenter | Runtime shape dispatch; evaluate distance from shape | -| `move` | `src/` | Prescribe atom trajectories (linear/wiggle/rotate/variable) | Four motion modes; complex per-atom state; `initial_integrate` | -| `heat` | `src/` | Add kinetic energy to two groups | Needs two-group velocity scale; similar to `temp/rescale` | -| `restrain` | `src/` | Harmonic restraints on bonds/angles/dihedrals | Needs per-restraint neighbor lookup; moderate loop | -| `deform/pressure` | `EXTRA-FIX` | Deformation with pressure control | Extends `fix_deform_kokkos` (ported); adds pressure coupling | - ---- - -## Documentation Checklist per Fix Style - -For each fix style ported, update the following: - -1. **`src/KOKKOS/fix__kokkos.h`** — new file; see structural notes below. -2. **`src/KOKKOS/fix__kokkos.cpp`** — new file. -3. **`src/KOKKOS/Install.sh`** — add `action` lines (omit second argument if base - is in `src/`, include both filenames if base is in an optional package). -4. **Base class `.cpp`** — add `if (copymode) return;` as first line of destructor - if not already present. -5. **`doc/src/fix_.rst`**: - - Add `.. index:: fix_style /kk` near the top. - - Add `*/kk*` to `Accelerator Variants:`. - - Order accelerator variants alphabetically. -6. **`doc/src/Commands_fix.rst`**: - - Add letter `k` to the accelerator string for this style. - - Use alphabetical order within the letters string (e.g., `ko` not `ok` or `o,k`). - -### Typical fix KOKKOS header skeleton - -```cpp -#ifdef FIX_CLASS -// clang-format off -FixStyle(/kk,FixKokkos); -FixStyle(/kk/device,FixKokkos); -FixStyle(/kk/host,FixKokkos); -// clang-format on -#else - -// clang-format off -#ifndef LMP_FIX__KOKKOS_H -#define LMP_FIX__KOKKOS_H - -#include "fix_.h" -#include "kokkos_type.h" - -namespace LAMMPS_NS { - -struct TagFix{}; - -template -class FixKokkos : public Fix { - public: - typedef DeviceType device_type; - typedef ArrayTypes AT; - - FixKokkos(class LAMMPS *, int, char **); - ~FixKokkos() override; - void post_force(int) override; - -// NOLINTNEXTLINE - KOKKOS_INLINE_FUNCTION - void operator()(TagFix, const int &) const; - - private: - typename AT::t_kkfloat_1d_3_lr x; - typename AT::t_kkacc_1d_3 f; - typename AT::t_int_1d_randomread mask; -}; - -} - -#endif -#endif -``` - -### `datamask_read` / `datamask_modify` convention - -Declare in the constructor body which per-atom arrays the fix touches: - -```cpp -FixKokkos::FixKokkos(LAMMPS *lmp, int narg, char **arg) - : Fix(lmp, narg, arg) -{ - kokkosable = 1; - atomKK = (AtomKokkos *) atom; - execution_space = ExecutionSpaceFromDevice::space; - - datamask_read = F_MASK | MASK_MASK; - datamask_modify = F_MASK; -} -``` - -### Syncing per-atom arrays before and after a kernel - -```cpp -void FixKokkos::post_force(int /*vflag*/) -{ - atomKK->sync(datamask_read); - - x = atomKK->k_x.view(); - f = atomKK->k_f.view(); - mask = atomKK->k_mask.view(); - int nlocal = atom->nlocal; - - Kokkos::parallel_for(Kokkos::RangePolicy>(0, nlocal), *this); - - atomKK->modified(datamask_modify); -} -``` - ---- - -## Lessons Learned from Fix Porting - -### Fix styles vs pair styles: key structural difference - -Pair styles always implement `compute(int eflag, int vflag)` and fit the -`pair_kokkos.h` dispatch template. Fix styles implement whichever lifecycle -hooks are relevant. Before porting, identify the set of hooks used: - -```bash -grep "void Fix[A-Z]" src//fix_.cpp | grep -v "^//" -``` - -Only those hooks need Kokkos kernels; others can call the base-class implementation. - -### Wall styles (FixWall subclasses): use the `wall_particle` override pattern - -All `FixWall` subclasses share a generic `post_force` loop in `FixWall::post_force`. -The KOKKOS port of `fix_wall_lj93_kokkos` replaces that loop with a Kokkos functor -and calls `wall_particle` inline. Every other `FixWall` subclass can follow the -same override, needing only a new `precompute` (compute per-wall coefficients) and -a new `wall_particle` (compute single-atom force from wall distance): - -```cpp -template -// NOLINTNEXTLINE -KOKKOS_INLINE_FUNCTION -void FixWallKokkos::wall_particle(int m, int which, double coord) const -{ - // compute fwall and ewall for atom at position coord from wall m -} -``` - -### Wall styles: `private:` must become `protected:` for coeff arrays - -The base-class coeff arrays (`coeff1[]`, `coeff2[]`, ..., `offset[]`) are often -declared `private:`. Because the KK subclass inherits from the base and reads -those arrays in `precompute()`, they must be changed to `protected:`. Always -check with: - -```bash -grep -n "private:\|coeff\|offset" src/fix_wall_.h -``` - -### Wall styles: `fix_wall_harmonic` has no per-wall DualViews - -`wall/harmonic` does not precompute coefficients (it computes `dr = cutoff - delta` -inline). The `precompute()` override is empty in the KK class. The base-class -`epsilon[]` and `cutoff[]` (protected in `FixWall`) are accessed directly as scalar -casts in the functor since they are small fixed arrays (6 elements) that remain on -the host. For consistency with other wall KK styles the DualView pattern is still -used for `k_vatom` but no coefficient DualViews are needed. - -### Wall styles: `fix_wall_lj1043` — avoid `powint` in device kernels - -`powint(x, -N)` is a **host-only** function from `math_special.h`. In the base-class -`wall_particle`, integer powers like `powint(delta + coeff4[m], -3)` must be replaced -in the device functor with explicit repeated multiplication: - -```cpp -KK_FLOAT dc4inv = 1.0 / (delta + d_coeff4(m)); -KK_FLOAT dc4inv3 = dc4inv * dc4inv * dc4inv; // replaces powint(..., -3) -KK_FLOAT dc4inv4 = dc4inv3 * dc4inv; // replaces powint(..., -4) -``` - -Store `coeff4[]` in its own DualView so the device kernel can read it. - -### Wall styles: `fix_wall_morse` — `exp` is available on device - -Morse potential uses `exp()`, which is available in CUDA/HIP device code as -`Kokkos::exp()`. Simply replace `exp(...)` with `Kokkos::exp(...)` in the -device functor. The parameters `alpha[]`, `sigma[]`, and `epsilon[]` are defined -in the `FixWall` base (`protected:`), so copy them to DualViews in `precompute`. - -### Wall styles: `post_force` wraps base and handles virial - -The KK `post_force` override only: -1. Reallocates `k_vatom` if `vflag_atom` is set. -2. Calls `FixWall::post_force(vflag)` — which calls the overridden - `wall_particle` (the KK version). -3. Syncs `k_vatom` back to host if needed. - -The virial accumulation inside `wall_particle` uses the `result[7..12]` array -and is flushed to `virial[0..5]` after `parallel_reduce` returns. - -### Sphere integrators: extending FixNHKokkos - -`FixNHKokkos` already exposes virtual `nve_v`, `nve_x`, `nh_v_temp` hooks. -The sphere variants only add angular velocity updates. The Kokkos port of -`FixNHSphereKokkos` should add a second functor that updates `omega` alongside -`v`, dispatched from the same `initial_integrate` / `final_integrate` call. - -### Sphere NH integrators: inherit from FixNHKokkos, not FixNHSphere - -The instinct is to inherit `FixNHSphereKokkos` from `FixNHSphere` (like -`FixWallLJ93Kokkos` inherits from `FixWallLJ93`). But for NH sphere, this is -wrong: `FixNHSphere::nve_v()` calls `FixNH::nve_v()` internally — the CPU -version — losing the Kokkos parallelism. - -**Correct approach:** inherit `FixNHSphereKokkos` from -`FixNHKokkos`. This brings in the Kokkos implementations of -`nve_v`, `nve_x`, `nh_v_temp`, and `nh_v_press`. Override just the three -sphere-specific methods: - -``` -nve_v() → call FixNHKokkos::nve_v(), then launch omega update kernel -nve_x() → call FixNHKokkos::nve_x(), then launch dipole update kernel (if needed) -nh_v_temp() → call FixNHKokkos::nh_v_temp(), then launch omega scaling kernel -``` - -The constructor logic from `FixNHSphere` (omega/radius flag checks, `inertia`, -`disc` keyword) is duplicated directly in `FixNHSphereKokkos`. - -### NH sphere: FixNH::omega[6] vs per-atom omega view - -`FixNH` (inherited via `FixNHKokkos`) has a `protected: double omega[6]` -member for the barostat degrees of freedom. Adding a per-atom Kokkos view -also named `omega` in `FixNHSphereKokkos` would shadow this. Use a distinct -name — `omega_kk` — for the per-atom Kokkos view to avoid confusion. - -### NH sphere: base class views remain valid after virtual-call chain - -When `FixNHSphereKokkos::nve_v()` calls `FixNHKokkos::nve_v()` -first, the base sets `this->mask` and `this->rmass` to the current device -views before its `parallel_for`. After it returns, these views are still -valid (they are reference-counted handles). The sphere omega kernel can -therefore reuse `this->mask` and `this->rmass` directly without resyncing, -and only needs to additionally sync `OMEGA_MASK`, `TORQUE_MASK`, and -`RADIUS_MASK`. - -### NH sphere: thin-wrapper constructors use temp/sphere/kk, not temp/sphere - -The non-KK thin wrappers (`nph/sphere`, `npt/sphere`, `nvt/sphere`) create -`temp/sphere` computes. The KK thin wrappers (`nph/sphere/kk` etc.) should -instead create `temp/sphere/kk` computes (once `compute_temp_sphere_kokkos` -exists) so that the temperature calculation also runs on the device. -Using `temp/sphere` would still give the correct temperature but would require -a host synchronisation on every thermostat step, defeating the purpose of the -KOKKOS port. Using `temp/kk` would give the *wrong* temperature (ignores -angular velocity). - -### NH sphere: DLM dipole integrator not supported in KK mode - -The DLM (Dullweber-Leimkuhler-Maclachlan) dipole integrator in -`FixNHSphere::nve_x()` requires multiple matrix-vector products -(`BuildRxMatrix`, `matvec`, `transpose_times3`, etc.). These are feasible on -device in principle but complex and rarely used. The KK port supports only -the simple dipole integrator (`dlm_flag == 0`); requesting `update dipole dlm` -raises an error. - - -### compute temp/sphere: sphere particles always use rmass, so no RMASS template - -`compute temp` has an `RMASS` template parameter to handle both -per-atom mass (`rmass`) and per-type mass (`mass[type[i]]`). -`compute temp/sphere` does NOT need this because `atom_style sphere` always -provides `rmass` — the per-type mass path is never taken. The KK variant -therefore uses a simpler `MODE` template parameter (0 = ROTATE-only, -1 = ALL, i.e. translational + rotational), with `rmass` always used. - -### compute temp/sphere: view name collision with FixNH::omega - -`FixNH` has a `protected: double omega[6]` member for barostat DOF. -`ComputeTempSphereKokkos` is a `Compute`, not a fix, so there is no -collision here — but for consistency and clarity, the per-atom Kokkos -omega view is named `omega_kk` in the compute too. - -### Per-atom storage: dual-view pattern from fix_spring_self_kokkos - -When a fix stores per-atom data that migrates with atoms (`grow_arrays` / -`pack_exchange` / `unpack_exchange`), replace the plain C arrays with -`Kokkos::DualView` members and inherit from `KokkosBase`. The -`pack_exchange_kokkos` override packs atoms directly from the device view -without falling back to host memory, preserving GPU locality. +When performing a code review, apply the general instructions for contributions to +LAMMPS in https://docs.lammps.org/Modify_requirements.html and the programming style +instructions in https://docs.lammps.org/Modify_style.html + +When performing a code review, check any changes to the documentation (in the +`doc/src/` folder) to be written in American English and with plain ASCII characters. + +When performing a code review, ensure that the documentation for any new commands or +added keywords to existing commands contains a `.. versionadded:: TBD` directive. For +any modified commands or keywords a `.. versionchanged:: TBD` directive should be +included in the documentation. This does not apply to internal commands (style names +written in upper case) or when the change only adds an accelerated variant of an +existing style (then add the code letter to the respective `Commands_*.rst` file +instead). Check if any examples use the new or modified commands and whether they +need updating. + +When reviewing C++ code, ensure that no alternative tokens are used for logical +operators (`&&` not `and`, `||` not `or`, `!` not `not`, `^` not `xor`); alternative +tokens cause compilation failures with some compilers, most prominently Microsoft +Visual C++. + +When new files are added to package directories in `src`, make sure they are added to +the `src/.gitignore` file, so that copies made in `src` by the traditional make build +are not accidentally committed. When files are renamed or removed in package +directories, make sure the old names are added to `src/Purge.list` so stale copies are +removed by `make purge`. + +## Task-Specific Guides + +Path-scoped instructions in `.github/instructions/` are attached automatically when +matching files are touched. The deep dives in `.github/dev-docs/` are NOT loaded +automatically: read them before starting the corresponding kind of work. + +| Working on ... | Read | +|---|---| +| `src/KOKKOS/` styles (rules, policies) | `.github/instructions/kokkos.instructions.md` (auto) | +| porting a style to KOKKOS | `.github/dev-docs/kokkos-porting-guide.md` + `kokkos-porting-backlog.md` | +| granular/DEM code or tests | `.github/instructions/granular-tests.instructions.md` (auto) | +| documentation (`doc/`) | `.github/instructions/documentation.instructions.md` (auto) | +| force-style YAML tests (`unittest/`) | `.github/instructions/force-style-tests.instructions.md` (auto) | +| rRESPA support in a fix | `.github/dev-docs/respa-integration.md` | +| finite-size particles, inertia/angmom | `.github/dev-docs/finite-size-particles.md` | +| new/changed styles: MPI, restart, buffers | `.github/dev-docs/style-implementation-notes.md` | +| refactor validation, benchmarks, debugging | `.github/dev-docs/testing-and-verification.md` | ## Trust These Instructions -These instructions are tested and validated. Only search for additional information if: -- A specific command fails with an error -- You need details about a specific package's requirements -- Instructions appear outdated based on error messages -- Working with advanced features not covered here (GPU, Kokkos backends, etc.) - -For package-specific documentation, build options, and advanced features, refer to https://docs.lammps.org +These instructions are tested and validated. Only search for additional information +if a specific command fails, a package has special requirements, or the instructions +appear outdated based on error messages. For package-specific documentation, build +options, and advanced features, refer to https://docs.lammps.org diff --git a/.github/dev-docs/finite-size-particles.md b/.github/dev-docs/finite-size-particles.md new file mode 100644 index 00000000000..b4b3e64851b --- /dev/null +++ b/.github/dev-docs/finite-size-particles.md @@ -0,0 +1,86 @@ +# Extended (Finite-Size) Particles and Inertia / Angular-Momentum Diagnostics + +Lessons from making `compute inertia`, `compute inertia/chunk`, `compute angmom/chunk`, +`compute omega/chunk`, and the `inertia()`/`angmom()`/`omega()` variable functions +account for finite-size particles instead of treating every atom as a point mass. + +## Where the shape data lives + +**The extended atom styles are CORE, not in a package.** `src/atom_vec_ellipsoid.{h,cpp}`, +`atom_vec_line`, `atom_vec_tri`, and `atom_vec_body` live directly in `src/`, so any core +file may `#include` them and resolve a particle's shape data via +`dynamic_cast(atom->style_match("ellipsoid"|"line"|"tri"|"body"))` plus the +per-atom index arrays `atom->ellipsoid/line/tri/body` (>= 0 means a shape is assigned). +No package guard is needed (e.g. `set.cpp` already does this). The body *styles* +(`body nparticle`, ...) are in the BODY package, but the atom-vec interface is core. + +## Per-particle spin inertia + +Use `MathExtra::inertia_*` (see `fix rigid`). Reference implementation is +`src/RIGID/fix_rigid.cpp` (`setup_bodies_static` for inertia, `setup_bodies_dynamic` +for angular momentum). Prefactors: sphere `SINERTIA = 2/5`, line `LINERTIA = 1/12`. +Helpers return the tensor as a 6-vector in **Voigt order `{Ixx,Iyy,Izz,Iyz,Ixz,Ixy}`**: + +- `inertia_ellipsoid(shape, quat, mass, ivec)` -- regular ellipsoid from semi-axes. +- `inertia_ellipsoid(idiag, quat, ivec)` -- rotate stored principal moments to the + space frame; used for **superellipsoids** (`bonus_super[].inertia`) and **body** + particles (`bonus[].inertia`), which both store mass-weighted principal moments + + quaternion. +- `inertia_line(length, theta, mass, ivec)`, `inertia_triangle(idiag, quat, mass, ivec)`. + +**Voigt-order vs output-column mismatch is an easy bug.** `compute inertia/chunk` and +the `inertia()` variable order columns `{Ixx,Iyy,Izz,Ixy,Iyz,Ixz}`, but `MathExtra` +returns `{Ixx,Iyy,Izz,Iyz,Ixz,Ixy}`. Map `col3+=ivec[5]` (Ixy), `col4+=ivec[3]` (Iyz), +`col5+=ivec[4]` (Ixz). Off-diagonals are 0 for axis-aligned shapes, so a wrong mapping +only shows up once a body is rotated -- test with a non-identity quaternion. + +## Dispatch order and storage traps + +- **Check shape indices BEFORE the sphere (radius) branch.** Ellipsoid, superellipsoid, + triangle, and body particles also carry a finite `atom->radius` (their bounding + radius), so a leading `radius[i] > 0` test silently mis-handles them as spheres. + Order the dispatch ellipsoid/line/tri/body first, `radius` last. +- **Superellipsoids use `bonus_super`, not `bonus`.** `AtomVecEllipsoid` allocates + exactly one of the two depending on `atom->superellipsoid_flag`; the regular `bonus` + pointer is null in a superellipsoid system, so dereferencing it crashes. Branch on + the flag. +- **Angular momentum: OMEGA-type vs ANGMOM-type.** Sphere and line particles carry an + angular velocity (`atom->omega`); their spin angular momentum is `I_spin * omega` + (sphere: all 3 components; line: z only). Ellipsoid, superellipsoid, triangle, and + body particles store their angular momentum directly in `atom->angmom` -- add it + as-is. Guard on the `atom->omega`/`atom->angmom` pointers (null for atom styles + lacking them). + +## Do NOT add finite-size terms to the shared Group::inertia / Group::angmom + +Those methods are also called by physics routines that remove bulk rotation from the +*translational* velocities -- `fix momentum` (angular), `velocity ... zero angular`, +`compute temp/rotate`, `fix addtorque/group`, `fix tfmc`. Those need the point-mass +(orbital) tensor/vector: they form `omega = I^-1 L` and subtract `omega x r` from `v`, +which is self-consistent only if both `I` and `L` are orbital. Adding spin to the +shared method (while `L` stays orbital) makes `omega` wrong and breaks them for +finite-size systems. Instead the diagnostics call the orbital method and then add an +**additive** finite-size term: `Group::inertia_extended()` / `Group::angmom_extended()` +(each with a region variant). The spin contribution is center-of-mass-independent, so +it is a clean additive term. Per-chunk computes inline the same per-particle +contribution. + +## Test setup for finite-size particles (`unittest/commands/`) + +Build tiny systems with `create_atoms ... single X Y Z units box` so the +inertia/angmom is analytic: + +- `set shape Sx Sy Sz` stores **semi-axes = 0.5 * the given diameters** and initializes + the quaternion to identity. +- `atom_style ellipsoid superellipsoid` + default blockiness `(2,2)` makes a + superellipsoid reduce exactly to an ellipsoid (same analytic result), exercising the + `bonus_super` path. The stored inertia is computed **at `set shape` time**, so set + the mass *before* the shape. +- `set ... omega Wx Wy Wz` (needs `omega_flag`, e.g. sphere) and `set ... angmom Lx Ly + Lz` (needs `angmom_flag`, e.g. ellipsoid) seed the spin terms. +- Body particles need a `read_data` file with a `Bodies` section (`atom_style body + nparticle 1 1`; one body, `ndouble = 6 + 3*nsub`, first 6 doubles are the inertia + tensor that `data_body` diagonalizes). A single body at the origin round-trips its + stored inertia tensor through `compute inertia`. +- Point-particle regressions (e.g. the `fourmol` chunk-compute tests) must stay + unchanged, which confirms finite-size handling is inert for point particles. diff --git a/.github/dev-docs/kokkos-porting-backlog.md b/.github/dev-docs/kokkos-porting-backlog.md new file mode 100644 index 00000000000..c0d75c9e818 --- /dev/null +++ b/.github/dev-docs/kokkos-porting-backlog.md @@ -0,0 +1,90 @@ +# KOKKOS Porting Backlog + +**STATUS TABLES GO STALE.** Trust `ls src/KOKKOS/` and `git log` over this file. +Last verified: 2026-07-06. + +History: pair Groups 1-4 (EXTRA-PAIR simple pairwise, Wolf/DSF/cut Coulomb, long-range +Coulomb; ~30 styles) and fix Groups A-C (trivial force loops, wall styles, NH-sphere +integrators, plus `compute temp/sphere`) were ported and merged onto `develop` in +May-June 2026. Nine fake (sync-to-host) fix ports were committed and deleted in the same +period ("remove fake KOKKOS ports" commit); see `git log` for details. + +Coverage snapshot at last verification: pair coverage essentially complete (~101 styles; +all common ones done); kspace = plain `pppm` only; regions = `block` + `sphere` only. + +## Open pair-style groups + +- **Group 5 -- TIP4P** (high complexity: virtual M-site handling in the neighbor loop): + `tip4p/cut`, `tip4p/long`, `lj/cut/tip4p/cut`, `lj/cut/tip4p/long`, plus kspace + `pppm/tip4p`. **Ported on branch `kokkos-tip4p`** (pushed to the lammps/lammps remote): + shared header-only base `PairTIP4PKokkos` plus + `PPPMTIP4PKokkos`. **PR not yet opened.** (Third-party TIP4P PRs #4971 and #4928 are + closed.) +- **Group 6 -- granular/colloidal:** `gran/hooke` (no history arrays), + `gran/hertz/history` (needs shear-history Kokkos views). +- **Group 7 -- MANYBODY three-body** (manual short-neighbor + three-body kernels; follow + `pair_sw_kokkos` / `pair_tersoff_kokkos`): `sw/mod`, `nb3b/harmonic`, `tersoff/mod/c`. +- **Group 8 -- many-body / geometry-dependent** (custom kernels; the ASPHERE ones need + per-atom quaternions on device): `atm` (triple loop), `local/density` (two-pass loop), + `gayberne`, `resquared`, `line/lj`, `tri/lj`. +- **Group 9 -- H-bond, dipole, per-atom sphere:** `hbond/dreiding/lj`, + `hbond/dreiding/morse`, `hbond/dreiding/lj/angleoffset`, + `hbond/dreiding/morse/angleoffset` (angle-dependent triple loops), `lj/sf/dipole/sf`, + `lj/expand/sphere`. + +## Fix/compute work in open PR #4989 (branch `more-kokkos-porting`, not yet merged) + +- Group D (per-atom stored state, KokkosBase): `fix spring/rg`, `ti/spring`, + `addtorque/group`. +- Group E (thermostat/barostat coupling): `fix gjf`, `press/berendsen`, + `press/langevin`, `temp/csvr`, `temp/csld`. +- Computes: `temp/partial`, `temp/profile`, `ke/atom`. + +## Group F triage + +- Real porting targets: `fix heat` (group-KE `parallel_reduce` + velocity-rescale + kernel), `fix indent` (per-atom force kernel; host-evaluate only the few variable + scalars per step and broadcast them into the kernel). +- LEAVE UNPORTED (full-ports-only policy; no device work to offer): `fix move` + (`xoriginal` is a plain `double **` CPU array; a real port means converting it to a + DualView + KokkosBase first), `fix restrain` (`atom->map()` ghost lookups host-side), + `fix deform/pressure` (box-deformation logic is host-side scalar work). + +## Priority order (metric: device residency; NPT/barostatting first) + +1. Land the open work: PR #4989, and open a PR for branch `kokkos-tip4p` (NPT of TIP4P + water is a flagship GPU use case; the per-step host pair+kspace fallback -- not the + barostat -- is the real bottleneck). +2. `fix heat/kk` and `fix indent/kk` (the Group F real targets). +3. `compute temp/region/kk` -- gated on region coverage (only `block` and `sphere` + regions are ported; port the needed `region_*_kokkos` first). +4. `fix box/relax/kk` (minimization-time barostat; lower frequency). +5. Pair Groups 6-9, case by case. + +Deferred (not on any branch): + +- `ewald/kk`: Ewald is O(N^3/2); GPU pays off for large systems, where `pppm/kk` is what + is actually used. Ewald's real role is a CPU validation reference for small test + cases. The kspace GPU target is the PPPM family (e.g. `pppm/disp/kk`). +- `compute stress/atom`, `pe/atom`, `centroid/stress/atom`: need framework work first + (see "per-atom virial/energy aggregation" in the porting guide); a host-aggregation + wrapper would be a fake port. + +## Do NOT port + +- **`fix npt/kk` and `nph/kk` are COMPLETE full ports.** `fix_npt_kokkos` / + `fix_nph_kokkos` create a `temp/kk` temperature and a `pressure` compute that *uses* + it; every integrator hook (`nh_v_press`, `nve_v`, `nve_x`, `nh_v_temp`) and `remap()` + (via `DomainKokkos::x2lamda`/`lamda2x`) runs as a device kernel, including the + triclinic path. Nothing remains to do on the Nose-Hoover barostat itself. +- **Do NOT port `compute pressure`.** It has `datamask_read = datamask_modify = + EMPTY_MASK`: no per-atom loop at all -- the scalar/vector is the temperature scalar + (already from `temp/kk`) plus the global `virial[6]` arrays (already reduced on-device + by the force styles). The `if (!pressure->kokkosable) atomKK->sync(...)` guard in + `fix_nh_kokkos` therefore syncs **nothing**. A `pressure/kk` wrapper would eliminate a + no-op and add zero GPU work. +- Any fix whose per-atom work cannot run on-device: `move`, `restrain`, + `deform/pressure` (see the Group F triage above), and anything coupling to an external + library (`colvars`). Leaving them unported is the correct outcome. +- `fix ilves/omp` -- per-cluster OpenMP threading was benchmarked and rejected (net + slowdown); the same reasoning argues against a KOKKOS thread-parallel variant. diff --git a/.github/dev-docs/kokkos-porting-guide.md b/.github/dev-docs/kokkos-porting-guide.md new file mode 100644 index 00000000000..88e17460446 --- /dev/null +++ b/.github/dev-docs/kokkos-porting-guide.md @@ -0,0 +1,620 @@ +# KOKKOS Porting Guide: Templates and Lessons + +How-to reference for porting LAMMPS pair, fix, and compute styles to the KOKKOS package: +template skeletons plus the accumulated lessons from past porting work, by theme. The +always-on rules (copymode guard, virtual allocate, `AT::` vs `DAT::`, datamask/sync, +full-ports-only, doc checklist) live in `.github/instructions/kokkos.instructions.md` and +are not repeated here; remaining work is in `.github/dev-docs/kokkos-porting-backlog.md`. + +## Porting a pair style + +Most simple pairwise styles (no three-body terms, no many-body embedding) fit the +`pair_kokkos.h` dispatch template. The KOKKOS class implements: + +| Function | COUL_FLAG=0 | COUL_FLAG=1 | +|---|---|---| +| `compute_fpair` | required | required (VdW part) | +| `compute_evdwl` | required | required | +| `compute_fcoul` | return 0 | required | +| `compute_ecoul` | return 0 | required | + +The template automatically handles half/half-thread/full neighbor-list dispatch, force +reduction, and energy/virial accumulation. Canonical examples: `pair_born_kokkos` and +`pair_lj_cut_kokkos` in `src/KOKKOS/`; for short-range Coulomb (Wolf/DSF/cut) follow +`pair_lj_cut_coul_dsf_kokkos`; for long-range tables `pair_lj_cut_coul_long_kokkos` +(uses `init_tables()`). + +### Header skeleton (COUL_FLAG=0) + +```cpp +#ifdef PAIR_CLASS +PairStyle(/kk, PairKokkos); +PairStyle(/kk/device,PairKokkos); +PairStyle(/kk/host, PairKokkos); +#else +#ifndef LMP_PAIR__KOKKOS_H +#define LMP_PAIR__KOKKOS_H +#include "pair_kokkos.h" +#include "pair_.h" +#include "neigh_list_kokkos.h" +namespace LAMMPS_NS { +template +class PairKokkos : public Pair { + public: + enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF}; + enum {COUL_FLAG=0}; + typedef DeviceType device_type; + typedef ArrayTypes AT; + PairKokkos(class LAMMPS *); + ~PairKokkos() override; + void compute(int, int) override; + void init_style() override; + double init_one(int, int) override; + + struct params_ { + KOKKOS_INLINE_FUNCTION params_() { /* zero all */ } + KOKKOS_INLINE_FUNCTION params_(int) { /* zero all */ } + KK_FLOAT cutsq, /* ... pair-specific params ... */; + }; + + protected: + template + KOKKOS_INLINE_FUNCTION + KK_FLOAT compute_fpair(...) const; + + template + KOKKOS_INLINE_FUNCTION + KK_FLOAT compute_evdwl(...) const; + + template + KOKKOS_INLINE_FUNCTION + KK_FLOAT compute_ecoul(...) const { return 0; } + + Kokkos::DualView**,Kokkos::LayoutRight,DeviceType> k_params; + typename Kokkos::DualView**,...>::t_dev_const_um params; + params_ m_params[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; + KK_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; + typename AT::t_kkfloat_1d_3_lr_randomread x; + typename AT::t_kkfloat_1d_3_lr c_x; + typename AT::t_kkacc_1d_3 f; + typename AT::t_int_1d_randomread type; + Kokkos::DualView k_cutsq; + typename Kokkos::DualView::t_dev d_cutsq; + typename AT::t_kkacc_1d d_eatom; + typename AT::t_kkacc_1d_6 d_vatom; + Kokkos::DualView k_eatom, k_vatom; + int neighflag, newton_pair; + int nlocal, nall, eflag, vflag; + friend struct PairComputeFunctorKokkos,FULL,true>; + friend struct PairComputeFunctorKokkos,FULL,false>; + friend struct PairComputeFunctorKokkos,HALF,true>; + friend struct PairComputeFunctorKokkos,HALF,false>; + friend struct PairComputeFunctorKokkos,HALFTHREAD,true>; + friend struct PairComputeFunctorKokkos,HALFTHREAD,false>; + friend EV_FLOAT pair_compute_neighlistKokkos, + FULL,CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); + friend EV_FLOAT pair_compute_neighlistKokkos, + HALF,CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); + friend EV_FLOAT pair_compute_neighlistKokkos, + HALFTHREAD,CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); + friend EV_FLOAT pair_computeKokkos, + CoulLongTable<0>>(PairKokkos*,NeighListKokkos*); + friend void pair_virial_fdotr_computeKokkos>( + PairKokkos*); +}; +} +#endif +#endif +``` + +For `COUL_FLAG=1`, add `compute_fcoul` and `compute_ecoul`, add `special_coul`, `qqrd2e`, +and the `q` array, and change `CoulLongTable<0>` to `CoulLongTable<1>` in the friend +declarations. + +### .cpp skeleton + +```cpp +template +PairKokkos::PairKokkos(LAMMPS *lmp) : Pair(lmp) +{ + respa_enable = 0; + kokkosable = 1; + atomKK = (AtomKokkos *) atom; + execution_space = ExecutionSpaceFromDevice::space; + datamask_read = X_MASK | F_MASK | TYPE_MASK | ENERGY_MASK | VIRIAL_MASK; + datamask_modify = F_MASK | ENERGY_MASK | VIRIAL_MASK; +} + +template +PairKokkos::~PairKokkos() +{ + if (copymode) return; + if (allocated) { + memoryKK->destroy_kokkos(k_eatom, eatom); + memoryKK->destroy_kokkos(k_vatom, vatom); + memoryKK->destroy_kokkos(k_cutsq, cutsq); + } +} + +template +void PairKokkos::compute(int eflag_in, int vflag_in) +{ + eflag = eflag_in; vflag = vflag_in; + if (neighflag == FULL) no_virial_fdotr_compute = 1; + ev_init(eflag,vflag,0); + if (eflag_atom) { /* reallocate k_eatom */ } + if (vflag_atom) { /* reallocate k_vatom */ } + atomKK->sync(execution_space,datamask_read); + k_cutsq.template sync(); + k_params.template sync(); + if (eflag || vflag) atomKK->modified(execution_space,datamask_modify); + else atomKK->modified(execution_space,F_MASK); + x = atomKK->k_x.view(); + c_x = atomKK->k_x.view(); + f = atomKK->k_f.view(); + type = atomKK->k_type.view(); + nlocal = atom->nlocal; nall = atom->nlocal + atom->nghost; + newton_pair = force->newton_pair; + special_lj[0..3] = ...; + NeighListKokkos* k_list = ...; + ... + EV_FLOAT ev = pair_computeKokkos, + CoulLongTable>(this, k_list); + if (eflag_global) eng_vdwl += ev.evdwl; + if (vflag_global) { virial[0..5] += ev.v[0..5]; } + if (eflag_atom) { k_eatom.template modify(); k_eatom.sync_host(); } + if (vflag_atom) { k_vatom.template modify(); k_vatom.sync_host(); } + if (vflag_fdotr) pair_virial_fdotr_compute(this); + copymode = 0; +} + +template +void PairKokkos::allocate() +{ + Pair::allocate(); + int n = atom->ntypes; + memory->destroy(cutsq); + memoryKK->create_kokkos(k_cutsq,cutsq,n+1,n+1,"pair:cutsq"); + d_cutsq = k_cutsq.template view(); + k_params = Kokkos::DualView**,...>("Pair::params",n+1,n+1); + params = k_params.template view(); +} + +template +void PairKokkos::init_style() +{ + Pair::init_style(); + // Request full neighbor list + neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_GHOST); +} + +template +double PairKokkos::init_one(int i, int j) +{ + double cutone = Pair::init_one(i,j); + k_params.view_host()(i,j). = static_cast([i][j]); + /* ... fill all params fields ... */ + k_params.view_host()(j,i) = k_params.view_host()(i,j); + if (i < MAX_TYPES_STACKPARAMS+1 && j < MAX_TYPES_STACKPARAMS+1) + m_params[i][j] = m_params[j][i] = k_params.view_host()(i,j); + m_cutsq[j][i] = m_cutsq[i][j] = static_cast(cutone*cutone); + k_cutsq.view_host()(i,j) = k_cutsq.view_host()(j,i) = cutone*cutone; + k_cutsq.modify_host(); + k_params.modify_host(); + return cutone; +} + +// Explicit instantiation at the bottom of the .cpp file +namespace LAMMPS_NS { +template class PairKokkos; +#ifdef LMP_KOKKOS_GPU +template class PairKokkos; +#endif +} +``` + +## Porting a fix style + +Key structural differences from pair-style porting: + +1. **No dispatch template.** There is no fix equivalent of `pair_kokkos.h`; each fix + implements its lifecycle hooks directly with `Kokkos::parallel_for` / + `Kokkos::parallel_reduce`. Primary template for a simple per-atom force loop: + `fix_viscous_kokkos`. +2. **Port only the hooks that matter.** Identify the hooks the base fix implements + (`grep "void Fix[A-Z]" src//fix_.cpp`); common targets are `post_force`, + `initial_integrate`, `final_integrate`, `end_of_step`. Hooks that run rarely + (e.g. `write_restart`) stay on the CPU via the base-class implementation. + +### Fix header skeleton + +```cpp +#ifdef FIX_CLASS +// clang-format off +FixStyle(/kk,FixKokkos); +FixStyle(/kk/device,FixKokkos); +FixStyle(/kk/host,FixKokkos); +// clang-format on +#else + +// clang-format off +#ifndef LMP_FIX__KOKKOS_H +#define LMP_FIX__KOKKOS_H + +#include "fix_.h" +#include "kokkos_type.h" + +namespace LAMMPS_NS { + +struct TagFix{}; + +template +class FixKokkos : public Fix { + public: + typedef DeviceType device_type; + typedef ArrayTypes AT; + + FixKokkos(class LAMMPS *, int, char **); + ~FixKokkos() override; + void post_force(int) override; + +// NOLINTNEXTLINE + KOKKOS_INLINE_FUNCTION + void operator()(TagFix, const int &) const; + + private: + typename AT::t_kkfloat_1d_3_lr x; + typename AT::t_kkacc_1d_3 f; + typename AT::t_int_1d_randomread mask; +}; + +} + +#endif +#endif +``` + +### Hook pattern + +The constructor sets `kokkosable`, `atomKK`, `execution_space`, and the datamasks as in +the pair-style skeleton above; each ported hook follows the sync/views/kernel/modified sequence: + +```cpp +void FixKokkos::post_force(int /*vflag*/) +{ + atomKK->sync(datamask_read); + x = atomKK->k_x.view(); + f = atomKK->k_f.view(); + mask = atomKK->k_mask.view(); + int nlocal = atom->nlocal; + Kokkos::parallel_for(Kokkos::RangePolicy>(0, nlocal), *this); + atomKK->modified(datamask_modify); +} +``` + +## Lessons: global scalars, reductions, and the host/device split + +- **Global scalar parameters** set by `settings()` (not per-pair coefficients) are plain + `double` base members. Copy them to `KK_FLOAT` members in `compute()` before the + kernel launch; kernels read them through `this` (the functor copy). +- **Plain int/flag base members are read on device for free** -- captured by value with + the functor object (like `groupbit`). Only **pointer** members (`boxlo`, `prd`, ...) + must be copied into device-friendly scalar arrays (`m_boxlo[3]`, ...); host pointers + cannot be dereferenced on device. +- **Thermostats/barostats: global scalar on the host, per-atom work on the device.** + Global reductions (`group->ke()`/`vcm()`/`mass()`, a Compute's `compute_scalar()`, a + `RanMars` draw) stay on the host -- but source the kinetic energy from a *kokkosable* + temperature compute (`temp/kk`) so the reduction runs on the GPU and only one scalar + comes back. The per-atom rescale MUST be a device kernel; delegating it to the CPU + base class is the fake-port trap. +- **Group-average force fixes** (the `aveforce` pattern) need a device + `parallel_reduce` plus an MPI allreduce before the per-atom apply kernel. + +## Lessons: tapering and switching functions + +- MDF-style tapers (`buck/mdf` and relatives): `compute_fpair` receives `rsq` and takes + `r = sqrt(rsq)` itself; inline the taper behind `if (rsq > cut_inner_sq)` and store + `cut_inner`, `cut_inner_sq`, and the outer `cutsq` in the per-pair `params_*` struct. +- Polynomial tapers (`coul/shield`): inline the taper and its derivative via Horner's + method with the same hardcoded coefficients as the CPU base, directly inside + `compute_fcoul`/`compute_ecoul`. No LAMMPS utility function is needed on device. + +## Lessons: custom kernels for orientation-dependent styles + +Styles that read per-atom quaternions and accumulate torques (`ylz`, `gayberne`, ...) do +not fit the `pair_kokkos.h` template. Write a custom kernel following +`pair_lj_cut_dipole_cut_kokkos`: + +- Use `TagPairXXXKernel` tags; override + `compute()` to launch the right instantiation with `Kokkos::parallel_for/reduce`. +- Accumulate torques atomically via a view with `Kokkos::MemoryTraits::value>`. +- Access ellipsoid bonus data (quaternions) via `avecKK->k_bonus.view()`, + where `avecKK` is an `AtomVecEllipsoidKokkos*` cast from + `atom->style_match("ellipsoid")`; convert with `MathExtraKokkos::quat_to_mat()`. +- Include `TORQUE_MASK | ELLIPSOID_MASK` in `datamask_read`, `TORQUE_MASK` in `datamask_modify`. +- Store the neighbor-list arrays explicitly (`d_neighbors`, `d_numneigh`, `d_ilist`) + instead of relying on the `pair_compute` helper. +- **Force sign convention:** the base CPU code accumulates `f[i][0] += delx * fpair` + with `fpair = F/r` and `delx = xj - xi`; the KOKKOS kernel must match exactly. For + `ylz` the force on `i` due to `j` is `-dU/dr * rhat` with `rhat` pointing from `i` to + `j`; the force on `j` is the Newton-3 partner `-force_on_i`. +- **Device math subtlety:** for exponents that are themselves functions of distance + (`lj/pirani`: `pow(rx, n(rx))`), `Kokkos::pow(base, exp)` is the device-portable form. + +## Lessons: per-atom data beyond x/v/f + +- **Molecule-id filtering** (`coul/shield` skips same-layer pairs): declare a per-atom + `molecule` view (`typename AT::t_tagint_1d_randomread`), assign it from + `atomKK->k_molecule.view()` in `compute()`, and test + `if (molecule(i) == molecule(j)) return 0;` in the kernel. (This view was the case + that motivated the AT-not-DAT rule.) +- **Per-atom radius with a global cutoff ceiling** (`lj/cut/sphere`): `cutsq` stores the + *maximum possible* squared cutoff per type pair (set in `init_one()`) so the neighbor + list is conservative; the kernel computes the actual cutoff `(sigma_ij + radius[i] + + radius[j])^2` on the fly and returns zero force beyond it. Same `typename AT::` rule. + +## Lessons: thin-wrapper styles + +A global-coefficient variant (`coul/cut/global`) needs no kernels of its own: subclass +the ported parent (`PairCoulCutGlobalKokkos : PairCoulCutKokkos`), +override only `coeff()` (argument-count enforcement) and `extract()`, and point the +`PairStyle` macro entries at the new class; the parent handles all kernel logic. + +## Lessons: wall styles (FixWall subclasses) + +All `FixWall` subclasses share the generic `FixWall::post_force` loop. The KOKKOS port +(`fix_wall_lj93_kokkos` is the template) replaces that loop with a Kokkos functor; each +subclass then needs only `precompute(int)` (per-wall coefficients) and `wall_particle(int +m, int which, double coord)` (single-atom force/energy at a given wall distance). + +- **`private:` must become `protected:`** for the base coefficient arrays (`coeff1[]`, + ..., `offset[]`) that the KK `precompute()` reads. +- **No coefficients, no DualViews:** `wall/harmonic` computes `dr = cutoff - delta` + inline, so its `precompute()` is empty; the small fixed base arrays (`epsilon[]`, + `cutoff[]`, 6 elements) are read as scalar casts in the functor. Only `k_vatom` keeps + the DualView pattern. +- **`powint()` replacement** (`wall/lj1043`): store the needed coefficient array in its + own DualView and expand integer powers by hand in the functor: + + ```cpp + KK_FLOAT dc4inv = 1.0 / (delta + d_coeff4(m)); + KK_FLOAT dc4inv3 = dc4inv * dc4inv * dc4inv; // replaces powint(..., -3) + KK_FLOAT dc4inv4 = dc4inv3 * dc4inv; // replaces powint(..., -4) + ``` + +- `exp()` becomes `Kokkos::exp()` (`wall/morse`); copy the protected base parameters + (`alpha[]`, `sigma[]`, `epsilon[]`) into DualViews in `precompute`. +- The KK `post_force` override only (1) reallocates `k_vatom` if `vflag_atom`, (2) calls + the base `post_force(vflag)` -- which virtual-dispatches into the KK `wall_particle` + -- and (3) syncs `k_vatom` back to host. Virial accumulation in `wall_particle` uses + the `result[7..12]` reduction slots, flushed to `virial[0..5]` after `parallel_reduce`. + +## Lessons: integrator hierarchies (the NH-sphere pattern) + +- **Inherit from the KOKKOS mid-class, not the CPU mid-class.** The instinct is + `FixNHSphereKokkos : FixNHSphere` (as the wall styles do), but `FixNHSphere::nve_v()` + calls the CPU `FixNH::nve_v()` internally, losing all Kokkos parallelism. Correct: + `FixNHSphereKokkos : FixNHKokkos` (brings in the device + `nve_v`, `nve_x`, `nh_v_temp`, `nh_v_press`); override just the sphere-specific + methods to call the base version then launch the omega-update kernel, and duplicate + the `FixNHSphere` constructor logic (omega/radius checks, `inertia`, `disc`). +- **Name collisions:** `FixNH` has `protected: double omega[6]` (barostat DOFs); name + the per-atom angular-velocity view `omega_kk`. +- **Base views stay valid across the virtual-call chain:** after `FixNHKokkos::nve_v()` + returns, `this->mask` / `this->rmass` still hold the current device views (reference- + counted handles); the omega kernel reuses them, syncing only OMEGA/TORQUE/RADIUS masks. +- **Thin wrappers must create the kk helper:** `nvt/sphere/kk` and siblings create + `temp/sphere/kk` -- not `temp/sphere` (correct but forces a host sync every thermostat + step) and not `temp/kk` (wrong temperature: ignores angular velocity). +- **DLM dipole integrator unsupported on device** (matrix-product chain, rarely used): + support only `dlm_flag == 0` and raise an error for `update dipole dlm`. +- `compute temp/sphere`: sphere particles always provide `rmass`, so the `RMASS` + template parameter of `compute temp` is unnecessary -- use a `MODE` parameter + (ROTATE-only vs ALL) instead. `dof_compute()` and `init()` stay CPU-side (infrequent). + +## Lessons: temperature-compute port pattern + +Template for porting any `compute temp/*` (mirrors `compute_temp_kokkos`): a +`parallel_reduce` into the 6-component `s_CTEMP` struct, templated on `RMASS`, the +style's flags folded into the per-atom terms. +- **A biased temperature (`tempbias = 1`) MUST implement the device bias methods.** + `Compute::remove_bias_all_kk()` / `restore_bias_all_kk()` are empty stubs in the base; + with `kokkosable = 1` and no override, a KK thermostat silently skips bias removal -- + wrong results, no error. Implement both as device kernels, plus host-facing + `remove_bias_all` / `restore_bias_all` that call the `_kk` version then + `atomKK->sync(Host, V_MASK)`, and override `reapply_bias_all` (used by `velocity ... + bias yes`) when the CPU base overrides it. Pattern: `compute_temp_deform_kokkos`. +- Store the bias in a device view (`typename AT::t_kkfloat_1d_3 vbiasall`, shadowing the + base `double **` member, which stays null); `maxbias = 0` in the ctor, regrow when + `atom->nmax > maxbias`. +- The base destructor needs `if (copymode) return;` -- the compute is copied as a Kokkos + functor and the copy's destruction chains into the base destructor. +- `dof_compute()` stays on the host (cheap, infrequent). + +Binned/profile temperatures (per-bin streaming velocity subtraction) additionally: + +- Flip the base `private:` members the KK class needs to `protected:`. +- Keep the per-bin reduction's MPI round-trip ON THE HOST, by design: a scatter kernel + does `atomic_add` into a device accumulator, copy out to the base array, run the + *identical* host `MPI_Allreduce` + divide, and copy the averages back to a device + view. The host reduce is what keeps CPU/KK bit-identical; the bin count is small, so + the round-trip is cheap, once per `compute_scalar`. +- Assign per-atom bins on device for orthogonal boxes; fall back to the host + `bin_assign()` (needs lambda-space coordinates) for triclinic. Diagnostic outputs + (`compute_array`) may sync to host and delegate to the base. + +Validation: run a thermostatted MD driven by the compute and require bit-identical CPU +vs `-sf kk` trajectories (exercises the scalar, bias remove/restore, and vector paths). + +## Lessons: per-atom-output computes + +Template for a per-atom vector-output compute whose result comes purely from per-atom +data (`ke/atom`; pattern: `compute_coord_atom_kokkos`): + +- Keep the base `double *` output pointer (make the base member `protected`) and add + `DAT::ttransform_kkfloat_1d k_` plus `typename AT::t_kkfloat_1d d_`; the + `ttransform_` view auto-converts host double <-> device `KK_FLOAT`, so it also works + in single/mixed-precision builds. Grow with `memoryKK->destroy_kokkos/create_kokkos + (k_, , nmax, ...)`; set `vector_atom` (or `array_atom`). +- After the kernel: `k_.modify(); k_.sync_host();` so host + consumers (dumps, `compute reduce`, ...) see current data. `copymode` guards in both + destructors; `destroy_kokkos` nulls the pointer, making the base `memory->destroy` a + safe no-op. Scalars the kernel needs (e.g. `mvv2e`) are plain members set in + `compute_peratom()`. + +## Lessons: barostat-fix port pattern + +`press/berendsen/kk` is the cleanest template for a "global scalar on host, per-atom +work on device" barostat/thermostat fix: + +- **The internal `temp` compute is auto-promoted to `temp/kk` by the suffix machinery** + (`Modify::add_compute` defaults to `trysuffix = 1`), so under `-sf kk` the KK fix does + not recreate it. The fake port's one real flaw was NOT ensuring a kk temperature (a + non-kk `temp` reads `atom->v` on the host every `end_of_step`); the explicit-suffix + hole without `-sf kk` is closed by the A+C mitigation in the instructions file. +- **`compute pressure` stays non-kk and that is correct** (see the do-NOT-port list in + the backlog: `EMPTY_MASK`, no per-atom data). +- **`remap()` becomes device-resident for free via virtual dispatch:** `domain` is a + `DomainKokkos` instance under the KOKKOS package, so the base `domain->x2lamda(nlocal)` + / `lamda2x(nlocal)` already run on device (each syncs `X` itself). Override `remap()` + only to swap the `dilate partial` host loop for the device group variant + `x2lamda(nlocal, groupbit)`; make the base `remap()` virtual (a one-line base change). +- **`end_of_step()` mirrors the base but guards the temperature call:** + `if (temperature->kokkosable) temperature->compute_scalar();` else the explicit + sync/modified dance (handles `fix_modify temp` with a non-kk compute). When the fix + owns no per-atom kernel, `datamask_read = datamask_modify = EMPTY_MASK`, no destructor. + +`press/langevin/kk` adds the stochastic-piston and triclinic-flip variations: + +- **No temperature compute at all:** the Gronbech-Jensen/Farago barostat uses `NkT/V` + for the kinetic pressure term and creates its pressure compute as `pressure NULL + virial`. Do NOT add `F_MASK` to `datamask_read`; the fix reads no per-atom forces. +- **The 6 piston DOFs and random forces stay on the host** (at most 6 Gaussians on rank + 0 + `MPI_Bcast`); `initial_integrate`, `post_force`, and `end_of_step` touch only + scalars plus the global pressure tensor and are NOT overridden -- only `remap()` and + `pre_exchange()` are. +- **Copy the triclinic tilt logic verbatim from the base** (including its + `p_flag[3]->xy` / `[5]->yz` index mapping) so CPU and KK stay identical -- do not + "fix" base-class quirks inside a port. +- **`pre_exchange()` (box flips) mirrors `fix_nh_kokkos`:** `domainKK->image_flip()` + + `remap_all()` + `x2lamda()` on device, `atomKK->sync(Host, ALL_MASK)` only around the + intrinsically host-side `irregular->migrate_atoms()`, then `lamda2x()`. Register the + hook in `setmask()` only when tilt flips can occur; it fires rarely. Cache `domainKK` + in the constructor. + +## Lessons: random numbers on device + +Device RNG uses `Kokkos::Random_XorShift64_Pool`, with `RandPoolWrap` / +`RandWrap` (`src/KOKKOS/rand_pool_wrap_kokkos.h`, wraps `RanMars` in the pool API) as a +deterministic debug substitute under `#ifndef LMP_KOKKOS_DEBUG_RNG` / `#else` guards +(mirror `gjf`'s constructor/destructor guards): + +```cpp +rand_type rand_gen = rand_pool.get_state(); +KK_FLOAT r = rand_gen.normal(); // Gaussian deviate +rand_pool.free_state(rand_gen); +``` + +Choose the strategy by how many draws are needed: + +- **A single global factor -> host RNG, bit-identical** (`temp/csvr`): draw the rescale + factor on rank 0 with the base-class code (`resamplekin`, a few `RanMars` calls), + `MPI_Bcast`, then apply `v *= lamda` in a device kernel. CPU vs `-sf kk` stays + bit-for-bit; BIAS works via the device bias methods. No device pool needed. +- **Per-atom draws -> device pool, statistical validation only** (`temp/csld`, `gjf`): + each atom draws Gaussians on device; the trajectory cannot match the CPU RNG stream, + so validate that the temperature converges to the target instead. Gotchas: if the base + constructor consumed the seed into a local variable, re-parse it in the KK + member-initializer list (`utils::inumeric(FLERR, arg[N], false, lmp) + comm->me`). A + per-step scratch view (csld's `vhold`) needs no `KokkosBase`/`pack_exchange`; per-atom + state that migrates with atoms (gjf's half-step velocity `lv`) does. +- **Bias paths that mix saved and fresh velocities** may not map onto + `remove_bias_all_kk` over `atom->v`; if so, `error->all` on the BIAS option rather + than silently computing the wrong thing (csld errors out; csvr supports BIAS). + +## Lessons: per-atom virial/energy aggregation needs framework work first + +`compute stress/atom`, `pe/atom`, and `centroid/stress/atom` are NOT clean full ports and +were deliberately left unported: + +- They sum per-atom `vatom`/`eatom` from all seven force-style hierarchies, whose base + classes expose only host `double **`; the device dual views (`k_vatom`/`d_vatom`) live + inside each KOKKOS subclass with no uniform accessor. +- They reverse-comm the per-atom result (ghost to owner); no KOKKOS compute does device + reverse-comm today (needs `KokkosBase` + `pack/unpack_reverse_comm_kokkos` + + `CommKokkos` support). +- Payoff is marginal anyway: KOKKOS force styles call `k_vatom.sync_host()` + unconditionally when per-atom virial is requested, so the data reaches the host every + step regardless. + +If revisited, do the framework work first (uniform device per-atom-virial accessor, +device compute reverse-comm, lazy `vatom` host-sync); do NOT ship a host-aggregation +wrapper (a fake port). + +## Known limitation: 48 KB team-scratch cap (pair pace/kk) + +`pace/kk` and `pace/extrapolation/kk` abort on GPU at high coordination numbers. The +ComputeNeigh kernel requests team scratch of +`team_size (32 on GPU) * maxneigh * sizeof(int)`; Kokkos caps level-0 team scratch at +`sharedMemPerBlock` -- the 48 KB default on every NVIDIA architecture (Kokkos never opts +into the larger per-block dynamic shared memory), so the ceiling (roughly maxneigh 381) +is architecture-independent: a newer NVIDIA GPU does not help. HIP checks the 64 KB LDS +on RDNA (roughly maxneigh 509), so AMD tolerates somewhat more. Symptoms: CUDA +"Requested too much scratch memory on level 0"; HIP "could not find a valid team size". +Unsolved; tracked as issue #5063. Gotchas that defeated two fix attempts: + +- `TeamPolicy::team_size_max()` THROWS "could not find a valid team size" instead of + returning 0 when nothing fits -- you cannot defensively probe an over-budget PerTeam + policy; the first probe aborts. +- `TeamPolicy::scratch_size_max(0)` does not subtract the kernel's own static shared + memory, so shrinking team_size to that byte budget still overshoots. +- Candidate designs: request scratch as `PerThread(maxneigh*sizeof(int))` (one thread + always fits, so team_size_max cannot throw), or drop the shared `inside[]` cache for + a global `natoms x maxneigh` View, removing the team-size coupling entirely. + +Separate GPU restriction (do not conflate with the scratch cap): the `recursive` +evaluator keyword has no device port -- `pair pace/kk` on the GPU requires the `product` +keyword (a controlled `error->all`, independent of maxneigh). + +## Debugging GPU-only test failures + +Unit-test failures that appear only on a HIP/CUDA build (host backend != device backend) +but pass on Serial/OpenMP-only builds are almost always device/host data-movement bugs, +not physics; the kk math usually matches the CPU base byte-for-byte. Method: reproduce +standalone with CPU `lmp` (no suffix) vs `lmp -k on g 1 -sf kk`, dump `id x y z fx fy fz` +with `dump_modify ... sort id format float %20.12g`, and trace per step (`dump every 1` +over a short run). A step-0 match with growth over steps localizes the bug to the run +loop / integrator data movement. Mirror the force-style test driver exactly: it does +`init_lammps` (`run 0`) THEN `run_lammps` (`fix nve; run 4`), and uses `pair_modify +compute no` + `boundary p p f` (slab) to isolate kspace -- a single run or one-shot will +not reproduce a two-run state bug. + +Three GPU-only data-movement bug classes seen (and fixed) in this codebase: + +- A `/kk/host` variant calling `commKK->forward_comm_device(...)` directly: + the `LMPHostType` instantiation becomes an undefined symbol in `liblammps.so` (breaks + dlopen for Python/plugins). Fix: explicit host instantiation in `comm_kokkos.cpp` + under `#ifdef LMP_KOKKOS_GPU`. +- A device-execution-space fix whose host-delegating callbacks do + `atomKK->modified(Host, mask)` collides with ModifyKokkos's outer + `modified(Device, mask)`: DualView "concurrent modification" abort. Fix: reconcile + with `atomKK->sync(execution_space, mask)` after each host modify. +- VerletKokkos's GPU-aware overlap force merge zeroed the host force buffer only when + `pair_compute_flag` was set; with `pair_modify compute no` + host bonded styles + + device kspace, stale host force was re-added every step (linear force blow-up). Fix: + zero it unless the pair style itself runs on host. + +Harness tips: `TEST_ARGS=-v` is the first move on any silent-abort or "Only one stdout +capturer can exist at a time" failure -- the drivers echo each captured section as it +completes, so the last echoed line pinpoints where the throw escaped. A style with no +`/kk` variant that cannot run under VerletKokkos needs `skip_tests: kokkos_gpu` in YAML. + +## KOKKOS test build + +```bash +cmake -S cmake -B build -C cmake/presets/gcc.cmake -C cmake/presets/most.cmake \ + -D PKG_KOKKOS=on -D Kokkos_ENABLE_OPENMP=on \ + -D DOWNLOAD_POTENTIALS=off -D ENABLE_TESTING=on -G Ninja +cmake --build build -j 4 +cd build && ctest -V -R pair +``` diff --git a/.github/dev-docs/respa-integration.md b/.github/dev-docs/respa-integration.md new file mode 100644 index 00000000000..7e750870106 --- /dev/null +++ b/.github/dev-docs/respa-integration.md @@ -0,0 +1,61 @@ +# rRESPA Integration in Constraint/Force Fixes + +Constraint fixes (`shake`, `rattle`, `ilves`) and forcing fixes that participate in +the inner-force update must support `run_style respa`. The pattern is the same in all +of them; `fix_shake.cpp` is the canonical reference. Steps to add respa support: + +## Header changes + +- Forward-declare `class FixRespa;`. +- Add `void post_force_respa(int, int, int) override;` (and any other per-level hooks). +- Add private state: `int respa; int nlevels_respa; int *loop_respa; double *step_respa; + class FixRespa *fix_respa; double dtf_inner;`. + +## Source changes + +- `#include "fix_respa.h"` and `#include "respa.h"`. +- Initialize the new members (especially `respa = 0`, `fix_respa = nullptr`) in the + constructor. +- Add `mask |= POST_FORCE_RESPA;` in `setmask()`. +- In `init()`, detect respa with `utils::strmatch(update->integrate_style, "^respa")`; + cache `Respa*` (for `nlevels`, `loop[]`, `step[]`) and `FixRespa*` + (`modify->get_fix_by_style("^RESPA")` for `f_level[i][jlevel]`). +- In `setup()`, branch on `respa`: use `dtv = step_respa[0]`, set + `dtf_inner = 0.5 * step_respa[0] * force->ftm2v` for the one-shot constraint + projection, loop over levels calling `respa_ptr->copy_flevel_f(ilevel)`, your + `post_force_respa(vflag, ilevel, loop_respa[ilevel]-1)`, then + `respa_ptr->copy_f_flevel(ilevel)`. Restore + `dtf_inner = step_respa[0] * force->ftm2v` for normal stepping. +- In `reset_dt()`, branch on `integrate_style` so the inner-timestep variables stay + consistent on a `timestep` reset. +- In your `unconstrained_update_respa(ilevel)`, set + `dtfsq = dtf_inner * step_respa[ilevel]` and fold the inner-level contributions: + `xshake = x + dtv*v + dtfsq/m*f + sum_{jf_level[i][j]`. + +## Friend access to FixRespa::f_level + +That array is `private` in `src/fix_respa.h`. To read it from a new fix, add +`friend class FixYours;` alongside the existing `friend class FixShake;` / +`friend class FixRattle;` / `friend class FixIlves;` lines. + +## Virial accumulation across respa levels (subtle, important) + +Do NOT call `ev_init()` in `post_force_respa` -- it zeros the per-atom virial, +destroying the contribution accumulated at previously visited levels. The correct +sequence (mirroring `FixShake::post_force_respa`): + +1. Call `v_init(vflag)` *once*, at the innermost level on its final loop iteration. +2. Set `evflag = 1` only on each level's final loop iteration + (`iloop == loop_respa[ilevel]-1`); set `evflag = 0` otherwise so intermediate + iterations do not accumulate virial. + +The framework relies on this exact discipline; getting it wrong shows up as stress +mismatches of order unity against the reference YAML even though forces and energies +match. + +## Testing + +The `unittest/force-styles/test_fix_timestep.cpp` driver exercises both verlet and +respa code paths for every YAML reference (respa with a `100 * epsilon` tolerance +multiplier); see `.github/instructions/force-style-tests.instructions.md`. diff --git a/.github/dev-docs/style-implementation-notes.md b/.github/dev-docs/style-implementation-notes.md new file mode 100644 index 00000000000..de76a6ef51f --- /dev/null +++ b/.github/dev-docs/style-implementation-notes.md @@ -0,0 +1,103 @@ +# Style Implementation Notes (MPI, restart, buffers, parsing) + +Hard-won implementation lessons for writing and modifying LAMMPS styles. Read this +before writing a new pair/bond/fix/compute style or debugging parallel/restart +misbehavior in one. + +## MPI parallelism patterns + +**`newton on` vs `newton off` for bond/angle topology.** Under `newton on` (default), +each bond/angle is stored at only one of its participating atoms (typically the one +with the lowest local index). That means a rank may see only *part* of a cluster +whose atoms span multiple ranks -- the other half of the cluster may live entirely in +topology arrays on other ranks. Under `newton off`, every bond is stored at both +endpoints, so each rank sees all bonds touching its local atoms, but each bond must be +processed exactly once to avoid double counting. + +**Per-atom accumulators in bond styles: reverse_comm is a newton-ON construct.** +For a bond (or angle/dihedral) style that builds per-atom accumulators by summing over +its topology: under `newton bond off`, a boundary-straddling bond appears in BOTH +ranks' bond lists and is computed twice, each rank handling its own local endpoint -- +so each local atom's accumulator completes locally under an `if (i < nlocal)` guard +and needs only `forward_comm` to publish the finalized value to ghosts. No +`reverse_comm`. Folding ghost partial sums onto owners via `reverse_comm` is needed +only under `newton bond on` (canonical example: `BondBPMZero::calculate_manybody` +guards `comm->reverse_comm(this)` with `if (newton_bond)` but always calls +`comm->forward_comm(this)`). + +**Determinism across rank counts.** LAMMPS trajectories are deterministic across MPI +rank counts (modulo ~1e-12 summation-order roundoff). A large, immediate 1-vs-N +divergence almost always means decomposition-dependent random numbers in the setup +(`velocity create` without `loop geom`, `create_atoms ... random`, stochastic fixes), +NOT a force/communication bug. Reproduce from an identical start (data/restart file, +or `velocity create ... loop geom`) before suspecting the style's forward/reverse comm. + +**Warnings print on all ranks.** `error->warning()` writes to `lmp->screen`, which +defaults to stdout on EVERY rank; only the `log.lammps` file is rank-0-only. Do not +"fix" per-rank warnings on the assumption they are suppressed -- guard with +`comm->me == 0` only when a single message is actually wanted. + +## Restart and atom-migration mechanics in fixes + +**`restart_peratom` and the `Atom::RESTART` callback are independent; gate BOTH.** +`atom->add_callback(Atom::RESTART)` registers the fix in `atom->extra_restart[]`, +whose entries are packed UNCONDITIONALLY on `write_restart` -- the callback, not the +flag, drives writing. `restart_peratom` only feeds the read-back matching list used +to re-attach saved data. A fix that must write no per-atom restart data has to leave +`restart_peratom = 0` AND skip the callback (plus the matching `delete_callback` in +the destructor); registering the callback with `restart_peratom = 0` writes data the +reader cannot re-assign -> silently corrupt restarts (read fails with err0016). + +**A fix packing per-atom exchange data must set `maxexchange`.** The migration buffer +slack is `sum(fix->maxexchange) + BUFEXTRA` (1024 doubles); anything packed in +`pack_exchange()` beyond the declared `maxexchange` rides on that fixed cushion and +overflows the heap once a fix packs more than ~1024 doubles/atom. Fixed upper bound +-> set `maxexchange` in the constructor; runtime-growing size -> set +`maxexchange_dynamic = 1` and update `maxexchange` as it grows (canonical example: +`fix_neigh_history` with `maxpartner`). + +## Argument parsing and validity guards + +**`ArgInfo` parses `[i][j]` only for prefixed references** (`c_ f_ v_ d_ i_ c2_ d2_`). +A bare keyword like `history[1][2]` falls through with `dim = 0` and unparsed indices. +For bare-keyword brackets: `ValueTokenizer(arg, "[]")` (consecutive separators +collapse), then convert with `utils::inumeric(FLERR, tok, false, lmp)` -- NOT +`next_int()`, which throws a non-LAMMPS exception (uncaught abort) on overflow. Note +`utils::strmatch` supports `^ $ . * + ? [] ranges \s \S \w \W \d \D \i \f` and literal +`\[ \]`, but NOT groups `(...)`, branches `a|b`, or inverted classes `[^...]`. + +**Periodic-output computes must self-guard timestep validity (err0007).** A `Fix` +advertises `peratom_freq`/`global_freq` and consumers validate at init; a `Compute` +has no freq member, so a compute whose output is only valid on certain steps must +check `update->ntimestep` inside its compute method and +`error->all(..., utils::errorurl(7))` (precedent: `compute_chunk_atom.cpp`). The only +no-error alternative is the always-available pattern (recompute on demand). + +**Box/ntypes-dependent guards belong in `settings()`, not the constructor.** The pair +constructor runs on BOTH the `pair_style` command path and the `read_restart` path; +only the former calls `settings()` afterward. A `domain->box_exist` check (or any +`atom->ntypes`-derived sizing) in the constructor spuriously trips or under-allocates +during restarts and under `hybrid/overlay` (where the constructor commonly runs before +`create_box`, so `ntypes == 0` -> under-sized `map`, zero comm sizes, heap corruption). +Convention: fixed `comm_forward`/`comm_reverse` constants in the constructor; ntypes- +dependent checks and sizing in `settings()`/`coeff()`. + +## Small conventions + +- `src/pointers.h` includes and re-exports ``, ``, ``, and + ``; virtually every class derives from `Pointers`, so do not add redundant + includes for these -- only for headers it does not export (``, ``, + ``, ...). +- The `Memory` class does NO usage accounting; per-style `memory_usage()` is a rough + estimate covering large (per-atom) allocations only. Using `new[]` instead of + `memory->create()` for small arrays does not "lose accounting" -- there is none. + +## Recorded performance decisions + +- **`fix ilves/omp` (per-cluster OpenMP threading) was implemented, benchmarked, and + rejected twice** (2026): the constraint solver is only ~6% of step time even in the + all-bonds best case, per-cluster work is too fine-grained for OpenMP dispatch + overhead, and the net effect was a slowdown. Do not re-propose it (same reasoning + applies to SHAKE/RATTLE-style per-cluster threading). Promising directions instead: + single-rank cluster ownership in MPI mode; intra-cluster threading of the band + Cholesky for the one-giant-cluster case -- benchmark first. diff --git a/.github/dev-docs/testing-and-verification.md b/.github/dev-docs/testing-and-verification.md new file mode 100644 index 00000000000..56548167ad7 --- /dev/null +++ b/.github/dev-docs/testing-and-verification.md @@ -0,0 +1,74 @@ +# Testing and Verification Methodology + +How to validate LAMMPS changes beyond the standard unit/regression suites: choosing +the right gate for refactors vs re-implementations, force verification, benchmark +construction, and memory-checking conventions. + +## Choose the right correctness gate + +**Behavior-preserving refactor -> bit-identical gate.** When restructuring code that +must not change behavior (style consolidation, template refactors), gate on +byte-identical thermo output: small decks per style x {serial, 4 ranks} x {newton +on/off} x accelerator suffixes, thermo every step for ~50 steps; extract the thermo +table (`awk '/^ Step/{f=1} /^Loop time/{f=0} f'`) and `cmp` against a baseline built +from the pre-change commit. Gotchas: + +- Keep floating-point summation ORDER identical: when caching in-place accumulation in + a local, seed the local with the current array value (`fxtmp = f[i][0]; ...; + f[i][0] = fxtmp;`) -- zero-seeding plus `+=` at the end regroups the summation and + changes ulps whenever the array is pre-accumulated (hybrid sub-styles). + Template-int parameters (`if (FLAG)` on `template `) fold at compile time + and stay bit-identical. +- WARNING lines can land inside the thermo table and embed FLERR line numbers that + shift with the source; strip them before comparing. +- `-sf X` silently falls back to the base style when no `/X` variant exists; once a + port adds the variant, those runs legitimately change -- exclude them from the + byte-compare and validate numerically instead. +- GPU mixed precision: expect ~1e-5 relative deviation vs CPU; compare against an + established style's gpu-vs-cpu deviation as the reference scale. +- A test program that segfaults AFTER `[ PASSED ]` is destroying globals in undefined + order at exit (for Kokkos: `lammps_kokkos_finalize()` never called). + +**Re-implementation with an analytic spec -> gate on the spec.** When new code has an +independent closed-form oracle (analytic model results), the specification is the +pass/fail gate; a bit-comparison against the legacy implementation is only a +diagnostic to localize behavior changes. A new-vs-legacy discrepancy where the new +code matches the closed form is a legacy bug to report, not a regression -- do not +tune to hide it. Add a permanent regression test for every bug found. + +## Force verification with fix numdiff + +To check that forces equal -grad(E), use `fix ID all numdiff Nevery delta` +(EXTRA-FIX): it finite-differences the per-atom PE into `f_ID[1..3]` while saving and +restoring the analytic forces. Needs `atom_modify map array` (granular/atomic styles +have no map by default). Idiom: `variable ferr atom sqrt((f_nd[1]-fx)^2+...)` + +`compute maxerr all reduce max v_ferr`, `run 0`. A conservative force gives err +~1e-7 (delta^2); a non-conservative one is orders of magnitude larger. Always include +the stock style as a positive control in the same geometry and an equilibrium +configuration as a negative control. + +**Equilibrium configurations hide cutoff-coordination bugs.** In cutoff-coordination +many-body potentials (AIREBO/REBO family), the coordination force is proportional to +the cutoff-function derivative, which is zero unless a neighbor distance falls inside +the transition region (rcmin..rcmax). At equilibrium, bonds sit inside rcmin and +non-bonds beyond rcmax, so such bugs are invisible. Expose them by straining the +system (`change_box all z scale 1.2 remap`) or using fractional-coordination clusters. + +## Benchmark construction + +Grow a benchmark from a small example by inserting a `replicate Nx Ny Nz` command +rather than hand-building geometry. Watch for vacuum regions: replication tiles the +vacuum too, giving some MPI ranks little work. Use the `processors` keyword to align +the decomposition with the material and/or a `balance` command -- or better, prefer a +solid periodic block with no vacuum for clean performance comparisons. + +## Valgrind suppressions + +Suppressions live in `tools/valgrind/*.supp` (globbed and concatenated into the build +directory at CMake configure time). Author them GENERICALLY: anchor each on one +stable high-level frame (e.g. `fun:PMPI_Init`) and wildcard the rest with `...` -- +narrow stacks break on the next MPICH/libfabric/Python update. A suppression block +needs at least one concrete `fun:`/`obj:` frame (an all-`...` stack is a fatal syntax +error). Validate against an existing binary with `valgrind --suppressions=...` and +confirm the finding moves into the "suppressed" count; the small masking risk is an +accepted trade-off. diff --git a/.github/instructions/documentation.instructions.md b/.github/instructions/documentation.instructions.md new file mode 100644 index 00000000000..8890f8fff38 --- /dev/null +++ b/.github/instructions/documentation.instructions.md @@ -0,0 +1,71 @@ +--- +applyTo: "doc/**" +--- + +# LAMMPS Documentation Guidelines + +## Language and format + +- reStructuredText (`.rst`) in `doc/src/`; American English spelling; 7-bit ASCII only. +- Wrap code examples in `.. code-block::` with the appropriate language + (`LAMMPS`, `bash`, `c++`, `python`); use `.. note::` for important remarks and + `.. warning::` for critical warnings. +- Avoid computer-science jargon and ambiguous abbreviations in user-facing text; the + audience is researchers. Never abbreviate to "FP" (ambiguous between false positive, + file pointer, and floating-point) -- spell the term out. +- Always write "KOKKOS package" (all uppercase), never "Kokkos library" or "KOKKOS + library" -- even where the library is technically meant. Single exception: the build + documentation (`Build_extras` KOKKOS section) that explicitly discusses the bundled, + downloaded, or external Kokkos *library*. + +## versionadded / versionchanged policy + +- New publicly visible commands, styles, and added keywords require + `.. versionadded:: TBD`; changed behavior of existing commands/keywords requires + `.. versionchanged:: TBD`. `TBD` is replaced with the release version string during + release preparation. +- Place the directive in front of the paragraphs documenting the new or changed + functionality, or following the "Description" headline for completely new commands. +- The directives are standalone markers with an EMPTY body: explanatory prose goes in + the *following* normal paragraph at column 0, NOT indented under the directive. + Do not "fix" existing directives by indenting the following paragraph. +- This does NOT apply to internal styles (upper-case style names, which need no + documentation) or to merely adding an accelerated variant of an existing style. + For accelerator variants, add the code letter (`g`/`i`/`k`/`o`/`t`) to the + respective `Commands_.rst` page instead -- in alphabetical order with no + commas (`ko`, not `o,k`) -- and add the `/suffix` index entry plus an + `Accelerator Variants:` line to the per-style `.rst` page. +- Restrictions and accelerator-variant notes belong in the per-style `.rst` file. + +## Building and validating + +```bash +cd doc +make html # must complete without sphinx/docutils warnings or bad references +make pdf # requires pdflatex; must also complete cleanly +make spelling # must report no issues +make anchor_check # duplicate anchors +make style_check # style lists complete +make check # anchor/style/package/char/role checks in one target +``` + +- Spelling exceptions (author surnames, acronyms, code fragments) go into + `doc/utils/sphinx-config/false_positives.txt` (note: underscores in the file name). +- `make spelling` resolves the word list relative to the SOURCE dir by first copying + `false_positives.txt` into `doc/src/`. A bare `sphinx-build -b spelling` without + that copy uses NO word list and flags everything -- always go through the Makefile. +- The doc build runs sphinx with parallel reading (`-j`); the spelling target keeps a + dedicated `doctrees-spelling` cache directory. If sphinx claims "configuration has + changed" on every run, suspect a config value mutated at `builder-inited` time + (handled in `conf.py.in`; keep new config values immutable). + +## Figures and diagrams + +- Editable SVG sources for generated figures live in `doc/src/SVG/`; they rasterize to + `doc/src/JPG/*.png`. The re-render command is recorded in each SVG's header comment + (Inkscape with `--export-area-drawing` and transparent background). +- Inkscape does not support the `feDropShadow` filter shorthand -- build drop shadows + from primitives (`feGaussianBlur` + `feOffset` + `feFlood` + `feComposite` + + `feMerge`), and avoid `--` inside XML comments. +- Verify figures are ASCII-clean (`grep -P '[^\x00-\x7F]'`) and well-formed + (`xmllint --noout`) before committing. diff --git a/.github/instructions/force-style-tests.instructions.md b/.github/instructions/force-style-tests.instructions.md new file mode 100644 index 00000000000..12a4fbb8500 --- /dev/null +++ b/.github/instructions/force-style-tests.instructions.md @@ -0,0 +1,43 @@ +--- +applyTo: "unittest/**" +--- + +# LAMMPS Unit-Test Conventions (force-style YAML tests and friends) + +Unit tests are CTest-based; build with `-D ENABLE_TESTING=on`, run with +`cd build && ctest -V [-R ]`. Tests are organized by category under +`unittest/` (`force-styles/`, `commands/`, `formats/`, `c-library/`, `fortran/`, +`python/`, `utils/`, `granular/` -- the latter has its own instructions file). + +## YAML-driven force-style tests (`unittest/force-styles/`) + +- Each test driver (`test_pair_style`, `test_bond_style`, `test_angle_style`, + `test_fix_timestep`, ...) loads a `.yaml` reference file and compares thermo, + forces, energies, and stresses against it with `epsilon`-scaled tolerances. +- The drivers automatically exercise EVERY accelerator-suffix variant of a style + (`/omp`, `/intel`, `/gpu`, `/kk`) that is compiled into the test executable, from + the single base-style YAML reference. Adding an accelerated variant needs NO new + YAML file -- just run the existing reference with that package enabled. +- Regenerate or update reference data with the driver's command-line flags + (`-g ` generate, `-u` update in place, `-s` print per-quantity error + statistics for tuning `epsilon`). Prefer `-u` so the file history stays clean. + +## rRESPA coverage in fix tests + +- `test_fix_timestep` exercises BOTH the verlet and respa code paths for every YAML + reference; the respa path automatically applies a `100 * epsilon` tolerance + multiplier. +- If a fix genuinely cannot support `run_style respa`, add it to the exclusion regex + in `test_fix_timestep.cpp` -- but the strongly preferred fix is to make the fix + respa-compatible; see `.github/dev-docs/respa-integration.md` for the standard + pattern (including the subtle virial-accumulation discipline). +- Respa-related stress mismatches of order unity against the reference YAML, with + matching forces and energies, almost always mean `ev_init()` was called in + `post_force_respa()` (it must not be; see the respa guide). + +## Adding tests for new styles + +- Copy the YAML of a closely related style, adjust the input setup, regenerate the + reference data with `-g`/`-u`, then re-run CMake so new files register with CTest. +- Verify new force styles against numerical differentiation (`fix numdiff`) where + possible; see `.github/dev-docs/testing-and-verification.md`. diff --git a/.github/instructions/granular-tests.instructions.md b/.github/instructions/granular-tests.instructions.md new file mode 100644 index 00000000000..aa7e1100a87 --- /dev/null +++ b/.github/instructions/granular-tests.instructions.md @@ -0,0 +1,86 @@ +--- +applyTo: "unittest/granular/**,src/GRANULAR/**" +--- + +# Granular / DEM Test Suite (`unittest/granular/`) + +YAML-driven regression + analytic tests for DEM/granular models. Eleven programs +`test_dem_01`..`test_dem_11` (43 tests): DEM-01..06 mirror the MFiX-DEM VVUQ cases; +DEM-07..11 add rolling resistance, cohesion (JKR/DMT pull-off), two-sphere and +spinning-sphere collisions, bulk angle-of-repose/rigid clumps, and elastic Hertzian +normal impact (benchmark sets from Mohajeri 2024, Saomoto 2023, and Chung & Ooi 2011). +Documented in `doc/src/Developer_unittest.rst` ("Tests for granular (DEM) models"). + +## Architecture + +All driver logic lives in `test_dem_common.cpp` (compiled into the `granular_tests` +library); each `test_dem_0N.cpp` holds only the `newton_on`/`newton_off` GoogleTest +fixtures. The whole system is built *from the YAML* (not a fixed input template): a +`variables` block becomes `${var}` index variables, `pre_commands` build the geometry, +`pair_style`/`pair_coeff` set the contact model, `post_commands` add fixes, and +`run_segments` advances the trajectory capturing per-atom `pos/vel/torque/omega/angmom` +after each segment. Closed-form checks are opt-in via `analytic_enable/_model/_tol/ +_segment` and implemented in `test_analytic_models.cpp`. The harness shares +`yaml_reader.h`, `yaml_writer.{h,cpp}`, and `error_stats.{h,cpp}` with +`unittest/force-styles/` via `../` includes; `test_config*` and `test_main*` are +granular-specific forks. For chaotic bulk tests (e.g. angle of repose) whose per-atom +trajectory is not bit-reproducible across newton on/off or platforms, set +`analytic_only: yes`: the generator records no per-atom blocks and only the analytic +observable is checked (DEM-10 pairs this with a short deterministic settling regression +plus a rigid-clump case so the bit-for-bit path stays covered). + +## Adding a YAML reference + +Copy a similar `dem0N-*.yaml`, edit variables/commands, then regenerate the reference +data **in place** with `TEST_ARGS=-u ctest -R DEM0N:variant` (or `test_dem_0N file.yaml +-u`). Re-run CMake so the new test registers; the driver `-s` flag prints per-quantity +error statistics for tuning `epsilon`. + +## Adding a test program + +Thin-copy `test_dem_0N.cpp` (only the suite name changes), add an `add_executable`/ +`register_dem_tests` pair to `CMakeLists.txt`, add `dem0N-*.yaml` files; if needed add +a named model to `test_analytic_models.cpp` (read params from `variables`, read masses +and radii from the live `atom` arrays, assert relative error with `EXPECT_LE`). + +## Gotchas / lessons + +- **Never regenerate to a `dem0N-*.yaml` sibling** (e.g. `-g new.yaml` in `tests/`): + the `CONFIGURE_DEPENDS` glob registers it as a phantom/stale test until the next + reconfigure. Use `-u` (in place); idempotent apart from the date line. +- Granular/atomic systems have **no atom map** by default -> the reference generator + iterates local atoms by `tag[i]`, never `atom->map(tag)` (segfaults). `EXPECT_*` + index by tag. +- Per-quantity flag guards (`torque_flag`/`omega_flag`/`angmom_flag`) auto-select + fields: spheres carry `omega` (no `angmom`); ellipsoid/superellipsoid carry `angmom` + (no `omega`). +- The libyaml reader accepts only scalar values (incl. block literals) -- all + multi-value fields are newline/space-split block scalars; per-atom blocks use + `segment tag x y z` rows. +- Analytic tolerances are loose (1e-3..5e-2): soft-sphere DEM only *approaches* the + hard-sphere/instantaneous-contact ideal. Use `coeff_restitution` when the analytic + model needs a known restitution `e`. Free-fall is exact (velocity-Verlet integrates + constant acceleration exactly, ~1e-15). +- Physics setup: start a particle resting on a wall at the gravity-equilibrium overlap + (`z0 = r - mg/kn`) so the normal force is steady at `mg` (DEM-04). The gross-sliding + oblique-impact closed form needs a grazing angle (`vx_in > (7/2)mu(1+e)vz_in`) + (DEM-05). The modular `pair_style granular` tangential `linear_history` needs + nonzero tangential damping or it rings undamped around the no-slip state; + `gran/hooke/history` (dampflag 1) settles on its own. +- The historic `fix wall/gran hooke/history` energy-injection-at-grazing bug is fixed + (develop commit `8285aa04b2`, `contact_radius_flag = 0` for the classic tangential + model in `gran_sub_mod_tangential.cpp`). Grazing/gross-sliding oblique tests run + cleanly to ~76 deg (DEM-05); the 76-deg `dem05-hookehistory-grazing` + `energy_dissipation` test locks the fix in. Do NOT reintroduce the old "keep + oblique tests <=45 deg" restriction. +- DEM-06 exercises the production fix `viscous/nonlinear` (Schiller-Naumann drag) in + `src/GRANULAR/`; it reduces to Stokes drag (`6 pi mu r v`) at low Reynolds number. +- DEM-10/11 setup: `fix pour` needs the insertion region wider than one diameter AND + `volfrac*vol/vol_one >= 1` (else "insertion count per timestep is 0"); a perfect + lattice is mechanically stable and won't form a repose angle, so a real heap needs a + seeded pour. Rigid clumps use `atom_style hybrid sphere molecular` + `fix + rigid/small molecule` and need `thermo_style custom step atoms` to dodge a spurious + negative-DOF temperature error. The Hertz peak-impact check (`hertz_normal_impact`) + asserts the convention-independent energy balance + `1/2 mu_red V^2 = 2/5 P_max alpha_max` (the 2/5 is the delta^1.5 signature); time a + `run_segments` boundary to land at peak compression (relative normal velocity ~0). diff --git a/.github/instructions/kokkos.instructions.md b/.github/instructions/kokkos.instructions.md new file mode 100644 index 00000000000..8778cfcc970 --- /dev/null +++ b/.github/instructions/kokkos.instructions.md @@ -0,0 +1,145 @@ +--- +applyTo: "src/KOKKOS/**" +--- + +# KOKKOS Package Rules (always-on) + +These rules apply to every change under `src/KOKKOS/` and are the canonical single copy: +review code against them directly. How-to templates and lessons live in the deep-dive docs +listed at the end; build and test commands live in `.github/copilot-instructions.md`. + +## Key rules + +1. **`if (copymode) return;` must be the FIRST line of every base-class destructor** that a + `_kokkos` style inherits from. A KOKKOS style object is copied by value for device + execution (`copymode = 1`); without the guard, the copy's destructor frees memory owned + by the original (double free / GPU crash). Check with + `grep -n copymode src//.cpp`. + +2. **Declare `virtual void allocate()` in the base-class header.** The KOKKOS subclass + overrides `allocate()` to replace plain arrays with dual views; without `virtual`, the + base version is silently called and the dual-view setup never happens (wrong results or + crashes). + +3. **Per-atom views assigned from `atomKK->k_.view()` must be declared + `typename AT::t_`, never `DAT::t_`.** `AT` is `ArrayTypes` and + adapts to the template parameter; `DAT` is hardcoded to `ArrayTypes`. + GPU builds instantiate the style for BOTH `LMPDeviceType` and `LMPHostType` (the + `kk/host` variant); a `DAT::` per-atom view then hits a Kokkos `ViewMapping` static + assertion at compile time. On CPU-only builds both types share one memory space, so the + bug is silent there and only surfaces when someone builds for GPU. `DAT::` is only safe + for dual views the style allocates itself and never assigns from `atomKK` (e.g. + `k_eatom`, `k_vatom`, `k_cutsq`, `k_cut_ljsq`, `k_cut_coulsq`). Audit with + `grep "DAT::" src/KOKKOS/ + + +0.2 + +0.5 + +1 + +2 + +5 + +10 + +20 + +performance (Matom-step/s) + +ideal scaling + + + + + + + + + + + + + + + + + + +1 +2 +4 +8 +16 +32 +64 +128 + +0 + +25 + +50 + +75 + +100 + +parallel efficiency (%) + + + + + + + + + + + + + + + + + + +1 +2 +4 +8 +16 +32 +64 +128 +number of MPI tasks + + +256000 atoms + +32000 atoms + diff --git a/doc/src/SVG/speed-vs-settings.svg b/doc/src/SVG/speed-vs-settings.svg new file mode 100644 index 00000000000..c21fcae3df7 --- /dev/null +++ b/doc/src/SVG/speed-vs-settings.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + +0 + +50 + +100 + +150 + +200 + +250 + +settings item (numbered list in the text) +performance (katom-step/s) + +reference: 2 (-O2 -g) + +184 +1 + +231 +2 + +236 +3 + +240 +4 + +267 +5 + +273 +6 + +181 +7 + +162 +8 + +20 +9 + + +compiler optimization (1-4) + +code/settings (5-6) + +model accuracy (7-9) + diff --git a/doc/src/SVG/speed-vs-size.svg b/doc/src/SVG/speed-vs-size.svg new file mode 100644 index 00000000000..e81f09d3d1e --- /dev/null +++ b/doc/src/SVG/speed-vs-size.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + +0 + +50 + +100 + +150 + +200 + +250 + +number of atoms +performance (katom-step/s) + +229 + +220 +32k + +232 + +222 +64k + +231 + +217 +128k + +226 + +221 +256k + +230 + +221 +864k + + + +AMD Ryzen Threadripper PRO 9985WX (2025) + +AMD Ryzen 7 7840HS (2023) + +Intel Xeon E5-2650 v4 (2016) + diff --git a/doc/src/Speed_measure.rst b/doc/src/Speed_measure.rst index 2fe838cb22e..5c29472df70 100644 --- a/doc/src/Speed_measure.rst +++ b/doc/src/Speed_measure.rst @@ -116,6 +116,12 @@ larger through replication in the three dimensions by settings variables "x", "y", "z" to values other than 1 from the command line with the "-var" flag. Example: +.. only:: html + + .. image:: JPG/speed-vs-size.png + :width: 60% + :align: right + - 32000 atoms: 228.8 katom-step/s - 64000 atoms: 231.6 katom-step/s - 128000 atoms: 231.1 katom-step/s @@ -141,6 +147,14 @@ DDR4-2400 memory channels) leads to a lower performance of approximately cases, when looking at multiple runs, the katom-step/s property fluctuates by approximately 1% around the average. +.. only:: latex + + .. image:: JPG/speed-vs-size.png + :width: 75% + :align: center + +------ + From here on we are looking at the performance for the 256000 atom system only and change several settings incrementally: @@ -162,6 +176,15 @@ slowdown (to about half the speed). Finally, using regular Ewald summation causes a massive slowdown due to the bad algorithmic scaling with system size. +.. image:: JPG/speed-vs-settings.png + :width: 75% + :align: center + +.. trick to add a little space +.. only:: html + + .. image:: JPG/empty.png + Examples comparing parallel performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -203,6 +226,18 @@ to the communication overhead: - 64 MPI tasks: 7.477 Matom-step/s, :math:`P_{eff} = 42\%` - 128 MPI tasks: 8.069 Matom-step/s, :math:`P_{eff} = 23\%` +.. figure:: JPG/speed-parallel-scaling.png + :figwidth: 70% + :align: center + + Parallel scaling of the two data sets above on the AMD Ryzen + Threadripper PRO 9985WX: absolute performance compared to ideal + linear scaling (top, double-logarithmic scale) and the corresponding + parallel efficiency (bottom). The smaller system drops off earlier + because its number of work units per MPI task is smaller relative to + the communication overhead; the 128-task data points use + hyper-threading (the CPU has 64 physical cores). + Measuring performance of your input deck ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/utils/fixup_table.py b/doc/utils/fixup_table.py new file mode 100755 index 00000000000..e27f6b9eaee --- /dev/null +++ b/doc/utils/fixup_table.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +""" +Reformat reStructuredText tables to ensure consistent column widths and correct syntax. +""" + +import sys +import argparse + +def reformat_rst_table(file_path): + with open(file_path, "r") as f: + lines = f.readlines() + + new_lines = [] + i = 0 + while i < len(lines): + line = lines[i] + if line.strip().startswith("+--"): + # Start of a table, collect all table lines + table_lines = [] + while i < len(lines) and (lines[i].strip().startswith("+--") or "|" in lines[i]): + table_lines.append(lines[i]) + i += 1 + + # Process table + rows = [] + for t_line in table_lines: + if "|" in t_line: + cells = [cell.strip() for cell in t_line.split("|") if cell.strip()] + if cells: + rows.append(cells) + + if not rows: + new_lines.extend(table_lines) + continue + + num_cols = max(len(row) for row in rows) + col_widths = [0] * num_cols + for row in rows: + for j, cell in enumerate(row): + if j < num_cols: + col_widths[j] = max(col_widths[j], len(cell)) + + separator = "+" + "+".join(["-" * (w + 2) for w in col_widths]) + "+" + new_lines.append(separator + "\n") + for row in rows: + row_str = "|" + "|".join([f" {cell:<{col_widths[j]}} " for j, cell in enumerate(row)]) + "|" + new_lines.append(row_str + "\n") + new_lines.append(separator + "\n") + else: + new_lines.append(line) + i += 1 + + with open(file_path, "w") as f: + f.writelines(new_lines) + +def main(): + parser = argparse.ArgumentParser(description="Reformat RST tables.") + parser.add_argument("files", nargs="+", help="RST files to reformat") + args = parser.parse_args() + + for file_path in args.files: + print(f"Reformatting table in {file_path}...") + reformat_rst_table(file_path) + +if __name__ == "__main__": + main() diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index bbc9daadeed..32671ef9482 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2966,6 +2966,7 @@ nz Nz nzlo obabo +observables ochre ocl octahedra diff --git a/examples/plugins/CMakeLists.txt b/examples/plugins/CMakeLists.txt index dc1cedc46d4..3ebb9f09d01 100644 --- a/examples/plugins/CMakeLists.txt +++ b/examples/plugins/CMakeLists.txt @@ -78,25 +78,50 @@ endif() ########################## # building the plugins +# When this folder is included in a LAMMPS build with a STATIC LAMMPS library, +# linking that library into a plugin embeds a complete copy of LAMMPS into the +# plugin .so file. On ELF platforms (Linux, BSDs) the dynamic linker then +# binds the plugin's references to global variables to the copies exported by +# the loading executable, so the plugin's constructor and destructor passes +# run a second time on the executable's global objects: their memory is freed +# twice at program exit and the process aborts. Linking through the +# COMPILE_ONLY generator expression (requires CMake 3.27) imports only the +# compile-time settings of the LAMMPS target and leaves the LAMMPS symbols in +# the plugin undefined, so they are resolved from the loading binary when the +# plugin is loaded, exactly as in a standalone plugin build. This does not +# apply to Windows: a .dll cannot have undefined symbols and there is no +# symbol interposition, so the full library must be (and safely can be) +# linked in. +if(LAMMPS_DIR AND (NOT BUILD_SHARED_LIBS) AND (NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))) + if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.27) + set(LAMMPS_LINK_TARGET "$") + else() + message(FATAL_ERROR "Building plugins inside a static LAMMPS library build " + "requires CMake 3.27 or later or setting BUILD_SHARED_LIBS=on") + endif() +else() + set(LAMMPS_LINK_TARGET lammps) +endif() + add_library(morse2plugin MODULE morse2plugin.cpp pair_morse2.cpp pair_morse2_omp.cpp) target_include_directories(morse2plugin PRIVATE "${LAMMPS_HEADER_DIR}/OPENMP") -target_link_libraries(morse2plugin PRIVATE lammps) +target_link_libraries(morse2plugin PRIVATE ${LAMMPS_LINK_TARGET}) add_library(nve2plugin MODULE nve2plugin.cpp fix_nve2.cpp) -target_link_libraries(nve2plugin PRIVATE lammps) +target_link_libraries(nve2plugin PRIVATE ${LAMMPS_LINK_TARGET}) add_library(helloplugin MODULE helloplugin.cpp) -target_link_libraries(helloplugin PRIVATE lammps) +target_link_libraries(helloplugin PRIVATE ${LAMMPS_LINK_TARGET}) add_library(zero2plugin MODULE zero2plugin.cpp pair_zero2.cpp bond_zero2.cpp angle_zero2.cpp dihedral_zero2.cpp improper_zero2.cpp) -target_link_libraries(zero2plugin PRIVATE lammps) +target_link_libraries(zero2plugin PRIVATE ${LAMMPS_LINK_TARGET}) add_library(kspaceplugin MODULE kspaceplugin.cpp kspace_zero2.cpp) -target_link_libraries(kspaceplugin PRIVATE lammps) +target_link_libraries(kspaceplugin PRIVATE ${LAMMPS_LINK_TARGET}) add_library(runminplugin MODULE runminplugin.cpp min_cg2.cpp verlet2.cpp) -target_link_libraries(runminplugin PRIVATE lammps) +target_link_libraries(runminplugin PRIVATE ${LAMMPS_LINK_TARGET}) set_target_properties(morse2plugin nve2plugin helloplugin zero2plugin kspaceplugin runminplugin PROPERTIES PREFIX "" SUFFIX ".so") diff --git a/lib/molfile/molfile_plugin.h b/lib/molfile/molfile_plugin.h index a417b82e96e..e49c2a1f788 100644 --- a/lib/molfile/molfile_plugin.h +++ b/lib/molfile/molfile_plugin.h @@ -15,6 +15,8 @@ * ***************************************************************************/ +// NOLINTBEGIN + /** @file * API for C extensions to define a way to load structure, coordinate, * trajectory, and volumetric data files @@ -987,3 +989,5 @@ typedef struct { } molfile_plugin_t; #endif + +// NOLINTEND diff --git a/lib/molfile/vmdplugin.h b/lib/molfile/vmdplugin.h index 9336d3e24fc..acf0a0404f6 100644 --- a/lib/molfile/vmdplugin.h +++ b/lib/molfile/vmdplugin.h @@ -15,6 +15,8 @@ * ***************************************************************************/ +// NOLINTBEGIN + /** @file * This header must be included by every VMD plugin library. It defines the * API for every plugin so that VMD can organize the plugins it finds. @@ -189,3 +191,5 @@ VMDPLUGIN_EXTERN int VMDPLUGIN_register_tcl(void *, void *tcl_interp, VMDPLUGIN_EXTERN int VMDPLUGIN_fini(void); #endif /* VMD_PLUGIN_H */ + +// NOLINTEND diff --git a/src/AMOEBA/amoeba_file.cpp b/src/AMOEBA/amoeba_file.cpp index b059e5b395b..63489866074 100644 --- a/src/AMOEBA/amoeba_file.cpp +++ b/src/AMOEBA/amoeba_file.cpp @@ -199,6 +199,8 @@ void PairAmoeba::read_prmfile(char *filename) // append to line if next line starts with a number if (utils::is_double(utils::strfind(trimmed, R"(^\S+)"))) { + if (strlen(line) + trimmed.size() + 2 > MAXLINE) + error->one(FLERR, "Force field file {} line {} is too long", filename, nline); strcat(line, " "); strcat(line, trimmed.c_str()); has_next = false; diff --git a/src/AMOEBA/amoeba_utils.cpp b/src/AMOEBA/amoeba_utils.cpp index 8fb839b6932..bb795eacc3a 100644 --- a/src/AMOEBA/amoeba_utils.cpp +++ b/src/AMOEBA/amoeba_utils.cpp @@ -97,9 +97,9 @@ void PairAmoeba::kmpole() if (angleneigh[j] < smallest) { smallest = angleneigh[j]; k = j; + angleneigh[k] = angleneigh[m]; + angleneigh[m] = smallest; } - angleneigh[k] = angleneigh[m]; - angleneigh[m] = smallest; } } diff --git a/src/APIP/atom_vec_apip.cpp b/src/APIP/atom_vec_apip.cpp index 3e7436ed016..16d4934c493 100644 --- a/src/APIP/atom_vec_apip.cpp +++ b/src/APIP/atom_vec_apip.cpp @@ -21,7 +21,10 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomVecApip::AtomVecApip(LAMMPS *lmp) : AtomVec(lmp) +AtomVecApip::AtomVecApip(LAMMPS *lmp) : + AtomVec(lmp), apip_lambda(nullptr), apip_lambda_input(nullptr), apip_lambda_const(nullptr), + apip_lambda_input_ta(nullptr), apip_e_fast(nullptr), apip_e_precise(nullptr), + apip_f_const_lambda(nullptr), apip_f_dyn_lambda(nullptr), apip_lambda_required(nullptr) { molecular = Atom::ATOMIC; mass_type = PER_TYPE; diff --git a/src/APIP/fix_lambda_apip.cpp b/src/APIP/fix_lambda_apip.cpp index e68e75c33bb..141576eb8d6 100644 --- a/src/APIP/fix_lambda_apip.cpp +++ b/src/APIP/fix_lambda_apip.cpp @@ -114,6 +114,7 @@ FixLambdaAPIP::FixLambdaAPIP(LAMMPS *lmp, int narg, char **arg) : dump_history_flag = true; } else if (strcmp(arg[iarg], "group_fast") == 0) { // read name of group + delete[] group_name_simple; group_name_simple = utils::strdup(arg[iarg + 1]); int tmp = group->find(group_name_simple); if (tmp == -1) error->all(FLERR, "fix lambda: group {} does not exist", group_name_simple); @@ -121,6 +122,7 @@ FixLambdaAPIP::FixLambdaAPIP(LAMMPS *lmp, int narg, char **arg) : iarg++; } else if (strcmp(arg[iarg], "group_precise") == 0) { // read name of group + delete[] group_name_complex; group_name_complex = utils::strdup(arg[iarg + 1]); int tmp = group->find(group_name_complex); if (tmp == -1) error->all(FLERR, "fix lambda: group {} does not exist", group_name_complex); @@ -128,6 +130,7 @@ FixLambdaAPIP::FixLambdaAPIP(LAMMPS *lmp, int narg, char **arg) : iarg++; } else if (strcmp(arg[iarg], "group_ignore_lambda_input") == 0) { // read name of group + delete[] group_name_ignore_lambda_input; group_name_ignore_lambda_input = utils::strdup(arg[iarg + 1]); int tmp = group->find(group_name_ignore_lambda_input); if (tmp == -1) diff --git a/src/APIP/fix_lambda_la_csp_apip.cpp b/src/APIP/fix_lambda_la_csp_apip.cpp index 132f3b3bc97..c2d4ce59dd9 100644 --- a/src/APIP/fix_lambda_la_csp_apip.cpp +++ b/src/APIP/fix_lambda_la_csp_apip.cpp @@ -457,7 +457,8 @@ void FixLambdaLACSPAPIP::pre_force_dyn_pairs() pairs_value[n_pairs] = delx * delx + dely * dely + delz * delz; pairs_j[n_pairs] = jj; pairs_k[n_pairs] = kk; - pairs_index[n_pairs++] = n_pairs; + pairs_index[n_pairs] = n_pairs; + n_pairs++; } } diff --git a/src/APIP/pair_eam_apip.cpp b/src/APIP/pair_eam_apip.cpp index e7dfa946ba2..ccf2dd71ac5 100644 --- a/src/APIP/pair_eam_apip.cpp +++ b/src/APIP/pair_eam_apip.cpp @@ -47,6 +47,8 @@ PairEAMAPIP::PairEAMAPIP(LAMMPS *lmp) : Pair(lmp) fp = nullptr; numforce = nullptr; type2frho = nullptr; + type2rhor = nullptr; + type2z2r = nullptr; nfuncfl = 0; funcfl = nullptr; @@ -59,6 +61,8 @@ PairEAMAPIP::PairEAMAPIP(LAMMPS *lmp) : Pair(lmp) z2r = nullptr; scale = nullptr; + nrho = nr = nfrho = nrhor = nz2r = 0; + dr = rdr = drho = rdrho = 0.0; rhomax = rhomin = 0.0; frho_spline = nullptr; @@ -71,6 +75,8 @@ PairEAMAPIP::PairEAMAPIP(LAMMPS *lmp) : Pair(lmp) lambda_thermostat = true; lambda_la = true; + cutforcesq = 0.0; + cutmax = 0.0; } /* ---------------------------------------------------------------------- diff --git a/src/ASPHERE/compute_temp_asphere.cpp b/src/ASPHERE/compute_temp_asphere.cpp index d55ab5dc341..68e784059c0 100644 --- a/src/ASPHERE/compute_temp_asphere.cpp +++ b/src/ASPHERE/compute_temp_asphere.cpp @@ -58,6 +58,7 @@ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg],"bias") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/asphere bias", error); tempbias = 1; + delete[] id_bias; id_bias = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"dof") == 0) { diff --git a/src/ASPHERE/pair_line_lj.cpp b/src/ASPHERE/pair_line_lj.cpp index 8df7892ba83..f9ffa621343 100644 --- a/src/ASPHERE/pair_line_lj.cpp +++ b/src/ASPHERE/pair_line_lj.cpp @@ -306,6 +306,17 @@ void PairLineLJ::compute(int eflag, int vflag) } } + // for interactions involving a discretized line, fpair/delx/dely + // hold values of the last sub-particle pair inside the sub cutoff + // (or stale data if there was none); the sub-particle forces were + // applied at the atom centers and the virial is obtained via + // fdotr, so only tally the accumulated energy for those + + if ((line[i] >= 0) || (line[j] >= 0)) { + fpair = 0.0; + delx = dely = delz = 0.0; + } + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); } } diff --git a/src/ASPHERE/pair_tri_lj.cpp b/src/ASPHERE/pair_tri_lj.cpp index e8fdb7b88d2..cb9c678a784 100644 --- a/src/ASPHERE/pair_tri_lj.cpp +++ b/src/ASPHERE/pair_tri_lj.cpp @@ -378,6 +378,17 @@ void PairTriLJ::compute(int eflag, int vflag) } } + // for interactions involving a discretized triangle, fpair/delx/ + // dely/delz hold values of the last sub-particle pair inside the + // sub cutoff (or stale data if there was none); the sub-particle + // forces were applied at the atom centers and the virial is + // obtained via fdotr, so only tally the accumulated energy + + if ((tri[i] >= 0) || (tri[j] >= 0)) { + fpair = 0.0; + delx = dely = delz = 0.0; + } + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); } } diff --git a/src/BOCS/compute_pressure_bocs.cpp b/src/BOCS/compute_pressure_bocs.cpp index ff582f94baa..e95b222a067 100644 --- a/src/BOCS/compute_pressure_bocs.cpp +++ b/src/BOCS/compute_pressure_bocs.cpp @@ -56,6 +56,13 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : p_match_flag = 0; phi_coeff = nullptr; + // no pressure correction is applied until fix bocs provides one via send_cg_info() + + p_basis_type = -1; + N_basis = 0; + N_mol = 0; + vavg = 0.0; + // store temperature ID used by pressure computation // ensure it is valid for temperature computation @@ -109,11 +116,16 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : "Compute pressure/bocs requires temperature ID to include kinetic energy"); vector = new double[size_vector]; + dimension = domain->dimension; + boltz = force->boltz; + nktv2p = force->nktv2p; + inv_volume = 0.0; nvirial = 0; vptr = nullptr; splines = nullptr; spline_length = 0; + temperature = nullptr; } /* ---------------------------------------------------------------------- */ diff --git a/src/BOCS/pair_ldd.cpp b/src/BOCS/pair_ldd.cpp index ee6970aaea3..4a65a02879b 100644 --- a/src/BOCS/pair_ldd.cpp +++ b/src/BOCS/pair_ldd.cpp @@ -513,10 +513,17 @@ void PairLdd::coeff_ldd(int si, int sj, int narg, char **arg) if (bkInd) ErrorDoubleKeyword(KEY_LDD_IND); bkInd = true; if (iarg + 3 >= narg) ErrorNumKeywordArgs(KEY_LDD_IND, "wtype r0 rc"); + const double r0 = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + const double rc = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + // all indicator variants divide by rc (and some by rc - r0) when setting + // up their coefficients, so these values must be validated before init_coeffs() + if ((rc <= 0.0) || (r0 < 0.0) || (r0 >= rc)) + error->all(FLERR, + "ldd species pair {} {}: indicator cutoff rc ({}) must be positive and the " + "inner radius r0 ({}) must be non-negative and smaller than rc", + elements[si], elements[sj], rc, r0); Inds[si][sj] = new_indicator(arg[iarg + 1]); - Inds[si][sj]->init_coeffs(utils::numeric(FLERR, arg[iarg + 2], false, lmp), - utils::numeric(FLERR, arg[iarg + 3], false, lmp), - domain->dimension); + Inds[si][sj]->init_coeffs(r0, rc, domain->dimension); iarg += 4; } else if (strcmp(arg[iarg], KEY_LDD_SELF) == 0) { if (bkSelf) ErrorDoubleKeyword(KEY_LDD_SELF); @@ -567,9 +574,6 @@ void PairLdd::coeff_ldd(int si, int sj, int narg, char **arg) if (!bkSelf) error->all(FLERR, "ldd species pair {} {}: missing required keyword {}", elements[si], elements[sj], KEY_LDD_SELF); - if (Inds[si][sj]->r0 >= Inds[si][sj]->rc) - error->all(FLERR, "ldd species pair {} {}: r0 ({}) must be less than rc ({})", elements[si], - elements[sj], Inds[si][sj]->r0, Inds[si][sj]->rc); if (bSelf) { if (si == sj) diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 987863141ff..cd5e6338c78 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -357,6 +357,8 @@ void FixWallBodyPolyhedron::post_force(int /*vflag*/) dy = -del2; wall_pos = whi; } + } else { + error->one(FLERR, "Unknown wall style in fix wall/body/polyhedron"); } rsq = dx*dx + dy*dy + dz*dz; diff --git a/src/BPM/bond_bpm_rotational.cpp b/src/BPM/bond_bpm_rotational.cpp index db18b050b71..3179d338f6d 100644 --- a/src/BPM/bond_bpm_rotational.cpp +++ b/src/BPM/bond_bpm_rotational.cpp @@ -1172,9 +1172,11 @@ double BondBPMRotational::single(int type, double rsq, int i, int j, double &ffo } double ri_norm = 0.0; - double ri[3], rf[3], bondstore[7]; + double ri[3] = {0.0, 0.0, 0.0}, rf[3], bondstore[7]; + int found = 0; for (int n = 0; n < atom->num_bond[i]; n++) { if (atom->bond_atom[i][n] == atom->tag[j]) { + found = 1; ri_norm = fix_bond_history->get_atom_value(i, n, 0); ri[0] = fix_bond_history->get_atom_value(i, n, 1) * ri_norm; ri[1] = fix_bond_history->get_atom_value(i, n, 2) * ri_norm; @@ -1186,6 +1188,9 @@ double BondBPMRotational::single(int type, double rsq, int i, int j, double &ffo } } } + if (!found) + error->one(FLERR, "Bond between atoms {} and {} not found in bond history", + atom->tag[i], atom->tag[j]); double **x = atom->x; MathExtra::sub3(x[j], x[i], rf); diff --git a/src/BPM/bond_bpm_spring.cpp b/src/BPM/bond_bpm_spring.cpp index 101150c10cd..1fed1857fe2 100644 --- a/src/BPM/bond_bpm_spring.cpp +++ b/src/BPM/bond_bpm_spring.cpp @@ -535,10 +535,17 @@ double BondBPMSpring::single(int type, double rsq, int i, int j, double &fforce) { if (type <= 0) return 0.0; - double r0; + double r0 = 0.0; + int found = 0; for (int n = 0; n < atom->num_bond[i]; n++) { - if (atom->bond_atom[i][n] == atom->tag[j]) r0 = fix_bond_history->get_atom_value(i, n, 0); + if (atom->bond_atom[i][n] == atom->tag[j]) { + r0 = fix_bond_history->get_atom_value(i, n, 0); + found = 1; + } } + if (!found) + error->one(FLERR, "Bond between atoms {} and {} not found in bond history", + atom->tag[i], atom->tag[j]); double r = sqrt(rsq); double rinv = 1.0 / r; diff --git a/src/CG-DNA/pair_oxdna_hbond.cpp b/src/CG-DNA/pair_oxdna_hbond.cpp index c97fbe0b57f..6aace63d22f 100644 --- a/src/CG-DNA/pair_oxdna_hbond.cpp +++ b/src/CG-DNA/pair_oxdna_hbond.cpp @@ -1259,6 +1259,7 @@ void PairOxdnaHbond::write_restart_settings(FILE *fp) fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); fwrite(&tail_flag,sizeof(int),1,fp); + fwrite(&seqdepflag,sizeof(int),1,fp); } /* ---------------------------------------------------------------------- @@ -1272,10 +1273,12 @@ void PairOxdnaHbond::read_restart_settings(FILE *fp) utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&tail_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&seqdepflag,sizeof(int),1,fp,nullptr,error); } MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); MPI_Bcast(&tail_flag,1,MPI_INT,0,world); + MPI_Bcast(&seqdepflag,1,MPI_INT,0,world); } /* ---------------------------------------------------------------------- */ diff --git a/src/CG-DNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp index 8d6941156cc..bfda4653e34 100644 --- a/src/CG-DNA/pair_oxdna_stk.cpp +++ b/src/CG-DNA/pair_oxdna_stk.cpp @@ -1298,6 +1298,7 @@ void PairOxdnaStk::write_restart_settings(FILE *fp) fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); fwrite(&tail_flag,sizeof(int),1,fp); + fwrite(&seqdepflag,sizeof(int),1,fp); } /* ---------------------------------------------------------------------- @@ -1311,10 +1312,12 @@ void PairOxdnaStk::read_restart_settings(FILE *fp) utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&tail_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&seqdepflag,sizeof(int),1,fp,nullptr,error); } MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); MPI_Bcast(&tail_flag,1,MPI_INT,0,world); + MPI_Bcast(&seqdepflag,1,MPI_INT,0,world); } /* ---------------------------------------------------------------------- */ diff --git a/src/CG-DNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp index a6a8b64fe91..e0efc0b9567 100644 --- a/src/CG-DNA/pair_oxrna2_stk.cpp +++ b/src/CG-DNA/pair_oxrna2_stk.cpp @@ -1403,6 +1403,7 @@ void PairOxrna2Stk::write_restart_settings(FILE *fp) fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); fwrite(&tail_flag,sizeof(int),1,fp); + fwrite(&seqdepflag,sizeof(int),1,fp); } /* ---------------------------------------------------------------------- @@ -1416,10 +1417,12 @@ void PairOxrna2Stk::read_restart_settings(FILE *fp) utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&tail_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&seqdepflag,sizeof(int),1,fp,nullptr,error); } MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); MPI_Bcast(&tail_flag,1,MPI_INT,0,world); + MPI_Bcast(&seqdepflag,1,MPI_INT,0,world); } /* ---------------------------------------------------------------------- */ diff --git a/src/COLLOID/pair_colloid.cpp b/src/COLLOID/pair_colloid.cpp index 343694b0390..829b3aa7256 100644 --- a/src/COLLOID/pair_colloid.cpp +++ b/src/COLLOID/pair_colloid.cpp @@ -189,6 +189,9 @@ void PairColloid::compute(int eflag, int vflag) if (r <= K[1]) error->one(FLERR,"Overlapping large/large in pair colloid"); break; + + default: + error->one(FLERR,"Unknown colloid interaction form"); } if (eflag) evdwl *= factor_lj; diff --git a/src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp index d4366e9ab7a..2a5162c1c99 100644 --- a/src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp +++ b/src/DIELECTRIC/pair_lj_cut_coul_debye_dielectric.cpp @@ -160,7 +160,7 @@ void PairLJCutCoulDebyeDielectric::compute(int eflag, int vflag) epot[i] += epot_i; if (eflag) { - if (rsq < cut_coulsq[itype][jtype]) { + if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { ecoul = factor_coul * qqrd2e * qtmp * q[j] * 0.5 * (etmp + eps[j]) * rinv * screening; } else ecoul = 0.0; diff --git a/src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp index 42ae82844c0..f49f59aeb00 100644 --- a/src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp +++ b/src/DIELECTRIC/pair_lj_cut_coul_long_dielectric.cpp @@ -196,7 +196,7 @@ void PairLJCutCoulLongDielectric::compute(int eflag, int vflag) epot[i] += epot_i; if (eflag) { - if (rsq < cut_coulsq) { + if (rsq < cut_coulsq && rsq > EPSILON) { if (!ncoultablebits || rsq <= tabinnersq) ecoul = prefactor * 0.5 * (etmp + eps[j]) * erfc; else { diff --git a/src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp b/src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp index 84a2c920202..0a3b132d5f0 100644 --- a/src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp +++ b/src/DIELECTRIC/pair_lj_cut_coul_msm_dielectric.cpp @@ -189,7 +189,7 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) } } } else - forcecoul = 0.0; + efield_i = forcecoul = 0.0; if (rsq < cut_ljsq[itype][jtype]) { r6inv = r2inv * r2inv * r2inv; @@ -231,7 +231,7 @@ void PairLJCutCoulMSMDielectric::compute(int eflag, int vflag) } if (eflag) { - if (rsq < cut_coulsq) { + if (rsq < cut_coulsq && rsq > EPSILON) { if (!ncoultablebits || rsq <= tabinnersq) ecoul = prefactor * 0.5 * (etmp + eps[j]) * egamma; else { diff --git a/src/DIFFRACTION/compute_saed.cpp b/src/DIFFRACTION/compute_saed.cpp index b73375fcb28..c84f4c146f0 100644 --- a/src/DIFFRACTION/compute_saed.cpp +++ b/src/DIFFRACTION/compute_saed.cpp @@ -52,6 +52,7 @@ static const char cite_compute_saed_c[] = ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), ztype(nullptr), store_tmp(nullptr) { + nlocalgroup = 0; if (lmp->citeme) lmp->citeme->add(cite_compute_saed_c); int ntypes = atom->ntypes; diff --git a/src/DIFFRACTION/compute_xrd.cpp b/src/DIFFRACTION/compute_xrd.cpp index a2e03a95f20..18fb8a25866 100644 --- a/src/DIFFRACTION/compute_xrd.cpp +++ b/src/DIFFRACTION/compute_xrd.cpp @@ -53,6 +53,7 @@ static const char cite_compute_xrd_c[] = ComputeXRD::ComputeXRD(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), ztype(nullptr), store_tmp(nullptr) { + nlocalgroup = 0; if (lmp->citeme) lmp->citeme->add(cite_compute_xrd_c); int ntypes = atom->ntypes; diff --git a/src/DIPOLE/pair_lj_long_dipole_long.cpp b/src/DIPOLE/pair_lj_long_dipole_long.cpp index 7799f3d5121..86094209a0d 100644 --- a/src/DIPOLE/pair_lj_long_dipole_long.cpp +++ b/src/DIPOLE/pair_lj_long_dipole_long.cpp @@ -427,7 +427,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) double rsq, r2inv, force_coul, force_lj; double g2 = g_ewald*g_ewald, g6 = g2*g2*g2, g8 = g6*g2; double B0, B1, B2, B3, G0, G1, G2, mudi, mudj, muij; - double mui[3], muj[3], xi[3], d[3]; + double mui[3], muj[3] = {0.0, 0.0, 0.0}, xi[3], d[3]; double C1 = 2.0 * g_ewald / MY_PIS; double C2 = 2.0 * g2 * C1; diff --git a/src/DPD-MESO/pair_edpd.cpp b/src/DPD-MESO/pair_edpd.cpp index fc152e01bf3..2df3bea181f 100644 --- a/src/DPD-MESO/pair_edpd.cpp +++ b/src/DPD-MESO/pair_edpd.cpp @@ -191,13 +191,13 @@ void PairEDPD::compute(int eflag, int vflag) f[i][2] += delz*fpair; // heat transfer - double dQc,dQd,dQr; + double dQc = 0.0, dQd = 0.0, dQr = 0.0; if (r < cutT[itype][jtype]) { double wrT = 1.0 - r/cutT[itype][jtype]; wrT = MAX(0.0,MIN(1.0,wrT)); wrT = pow(wrT, 0.5*powerT[itype][jtype]); double randnumT = randomT->gaussian(); - randnumT = MAX(-5.0,MIN(randnum,5.0)); + randnumT = MAX(-5.0,MIN(randnumT,5.0)); double kappaT = kappa[itype][jtype]; if (kappa_flag) { diff --git a/src/DPD-REACT/pair_exp6_rx.cpp b/src/DPD-REACT/pair_exp6_rx.cpp index ba953b65425..3b51504c35e 100644 --- a/src/DPD-REACT/pair_exp6_rx.cpp +++ b/src/DPD-REACT/pair_exp6_rx.cpp @@ -656,6 +656,25 @@ void PairExp6rx::coeff(int narg, char **arg) isite2 = isp; } + // verify that a species named as site1 or site2 has an entry in the exp6 parameter file. + // otherwise the mixing weights would later be computed from unset parameters. + + if (!isOneFluidApprox(isite1)) { + int iparam; + for (iparam = 0; iparam < nparams; ++iparam) + if (params[iparam].ispecies == isite1) break; + if (iparam == nparams) + error->all(FLERR, "Site1 species {} has no exp6 parameters in file {}", site1, arg[2]); + } + + if (!isOneFluidApprox(isite2)) { + int iparam; + for (iparam = 0; iparam < nparams; ++iparam) + if (params[iparam].ispecies == isite2) break; + if (iparam == nparams) + error->all(FLERR, "Site2 species {} has no exp6 parameters in file {}", site2, arg[2]); + } + for (int iparam = 0; iparam < nparams; ++iparam) { switch (params[iparam].potentialType) { case PotentialType::exp6: diff --git a/src/DPD-REACT/pair_multi_lucy_rx.cpp b/src/DPD-REACT/pair_multi_lucy_rx.cpp index 92fece7f550..515cb7e3773 100644 --- a/src/DPD-REACT/pair_multi_lucy_rx.cpp +++ b/src/DPD-REACT/pair_multi_lucy_rx.cpp @@ -40,6 +40,12 @@ #include using namespace LAMMPS_NS; + +#ifdef DBL_EPSILON + #define MY_EPSILON (10.0*DBL_EPSILON) +#else + #define MY_EPSILON (10.0*2.220446049250313e-16) +#endif using MathConst::MY_PI; enum{ NONE, RLINEAR, RSQ }; @@ -920,6 +926,8 @@ void PairMultiLucyRX::getMixingWeights(int id, double &mixWtSite1old, double &mi nTotal += atom->dvector[ispecies][id]; nTotalOld += atom->dvector[ispecies+nspecies][id]; } + if (nTotal < MY_EPSILON || nTotalOld < MY_EPSILON) + error->all(FLERR,"The number of molecules in CG particle is less than 10*DBL_EPSILON."); if (isOneFluid(isite1) == false) { nMoleculesOld1 = atom->dvector[isite1+nspecies][id]; diff --git a/src/EFF/pair_eff_cut.cpp b/src/EFF/pair_eff_cut.cpp index 34ae0dac474..9ee21e98dad 100644 --- a/src/EFF/pair_eff_cut.cpp +++ b/src/EFF/pair_eff_cut.cpp @@ -997,6 +997,15 @@ void PairEffCut::write_restart_settings(FILE *fp) fwrite(&cut_global,sizeof(double),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); + fwrite(&limit_eradius_flag,sizeof(int),1,fp); + fwrite(&pressure_with_evirials_flag,sizeof(int),1,fp); + fwrite(&ecp_found,sizeof(int),1,fp); + fwrite(ecp_type,sizeof(int),100,fp); + fwrite(PAULI_CORE_A,sizeof(double),100,fp); + fwrite(PAULI_CORE_B,sizeof(double),100,fp); + fwrite(PAULI_CORE_C,sizeof(double),100,fp); + fwrite(PAULI_CORE_D,sizeof(double),100,fp); + fwrite(PAULI_CORE_E,sizeof(double),100,fp); } /* ---------------------------------------------------------------------- @@ -1009,10 +1018,38 @@ void PairEffCut::read_restart_settings(FILE *fp) utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&limit_eradius_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&pressure_with_evirials_flag,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&ecp_found,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,ecp_type,sizeof(int),100,fp,nullptr,error); + utils::sfread(FLERR,PAULI_CORE_A,sizeof(double),100,fp,nullptr,error); + utils::sfread(FLERR,PAULI_CORE_B,sizeof(double),100,fp,nullptr,error); + utils::sfread(FLERR,PAULI_CORE_C,sizeof(double),100,fp,nullptr,error); + utils::sfread(FLERR,PAULI_CORE_D,sizeof(double),100,fp,nullptr,error); + utils::sfread(FLERR,PAULI_CORE_E,sizeof(double),100,fp,nullptr,error); } MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + MPI_Bcast(&limit_eradius_flag,1,MPI_INT,0,world); + MPI_Bcast(&pressure_with_evirials_flag,1,MPI_INT,0,world); + MPI_Bcast(&ecp_found,1,MPI_INT,0,world); + MPI_Bcast(ecp_type,100,MPI_INT,0,world); + MPI_Bcast(PAULI_CORE_A,100,MPI_DOUBLE,0,world); + MPI_Bcast(PAULI_CORE_B,100,MPI_DOUBLE,0,world); + MPI_Bcast(PAULI_CORE_C,100,MPI_DOUBLE,0,world); + MPI_Bcast(PAULI_CORE_D,100,MPI_DOUBLE,0,world); + MPI_Bcast(PAULI_CORE_E,100,MPI_DOUBLE,0,world); + + // h2e and hhmss2e are derived from the unit system, same as in settings() + + if (force->qqr2e==332.06371) { // i.e. Real units chosen + h2e = 627.509; // hartree->kcal/mol + hhmss2e = 175.72044219620075; // hartree->kcal/mol * (Bohr->Angstrom)^2 + } else if (force->qqr2e==1.0) { // electron units + h2e = 1.0; + hhmss2e = 1.0; + } else error->all(FLERR,"Check your units"); } /* ---------------------------------------------------------------------- diff --git a/src/EXTRA-COMPUTE/compute_ackland_atom.cpp b/src/EXTRA-COMPUTE/compute_ackland_atom.cpp index f527bd8a848..52b6bbf2f81 100644 --- a/src/EXTRA-COMPUTE/compute_ackland_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_ackland_atom.cpp @@ -180,16 +180,18 @@ void ComputeAcklandAtom::compute_peratom() } } - // Select 6 nearest neighbors + // Select up to 6 nearest neighbors + // undercoordinated atoms (n < 6) use all their neighbors - select2(6,n,distsq,nearest); + const int nsel = MIN(6,n); + select2(nsel,n,distsq,nearest); // Mean squared separation double r0_sq = 0.; - for (j = 0; j < 6; j++) + for (j = 0; j < nsel; j++) r0_sq += distsq[j]; - r0_sq /= 6.; + if (nsel > 0) r0_sq /= nsel; // n0 near neighbors with: distsq<1.45*r0_sq // n1 near neighbors with: distsq<1.55*r0_sq diff --git a/src/EXTRA-COMPUTE/compute_adf.cpp b/src/EXTRA-COMPUTE/compute_adf.cpp index 1fc8c305f2c..9575838e42a 100644 --- a/src/EXTRA-COMPUTE/compute_adf.cpp +++ b/src/EXTRA-COMPUTE/compute_adf.cpp @@ -311,6 +311,9 @@ void ComputeADF::init() deltax = 2.0 / nbin; deltaxinv = 1.0/deltax; x0 = -1.0; + + } else { + error->all(FLERR, "Unknown ordinate style in compute adf"); } for (int i = 0; i < nbin; i++) diff --git a/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp b/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp index 72a628c37c7..b3b6bd97ff2 100644 --- a/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp @@ -38,7 +38,7 @@ using MathConst::MY_PI; /* ---------------------------------------------------------------------- */ ComputeAveSphereAtom::ComputeAveSphereAtom(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), result(nullptr) + Compute(lmp, narg, arg), list(nullptr), result(nullptr) { if (narg < 3 || narg > 5) error->all(FLERR, "Illegal compute ave/sphere/atom command"); @@ -62,6 +62,8 @@ ComputeAveSphereAtom::ComputeAveSphereAtom(LAMMPS *lmp, int narg, char **arg) : comm_forward = 3; nmax = 0; + cutsq = 0.0; + volume = 0.0; } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_controller.cpp b/src/EXTRA-FIX/fix_controller.cpp index be5c43eefc7..62d8641aea4 100644 --- a/src/EXTRA-FIX/fix_controller.cpp +++ b/src/EXTRA-FIX/fix_controller.cpp @@ -107,6 +107,10 @@ FixController::FixController(LAMMPS *lmp, int narg, char **arg) : control = input->variable->compute_equal(ivariable); firsttime = 1; + + // so compute_vector() returns zeros until the first end_of_step() + + err = olderr = sumerr = deltaerr = 0.0; } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index 180db9481d1..c6016c271e4 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -458,7 +458,8 @@ void FixEfieldTIP4P::post_force(int vflag) } if (i == iO) { - if (estyle == ATOM) fsum[0] += efield[0][3]; + domain->unmap(xM, image[iO], unwrap); + if (estyle == ATOM) fsum[0] += efield[iO][3]; fsum[1] += fx; fsum[2] += fy; fsum[3] += fz; @@ -504,7 +505,8 @@ void FixEfieldTIP4P::post_force(int vflag) // tally global force - if (estyle == ATOM) fsum[0] += efield[0][3]; + domain->unmap(x[iH1], image[iH1], unwrap); + if (estyle == ATOM) fsum[0] += efield[iH1][3]; fsum[1] += fx; fsum[2] += fy; fsum[3] += fz; @@ -550,7 +552,8 @@ void FixEfieldTIP4P::post_force(int vflag) // tally global force - if (estyle == ATOM) fsum[0] += efield[0][3]; + domain->unmap(x[iH2], image[iH2], unwrap); + if (estyle == ATOM) fsum[0] += efield[iH2][3]; fsum[1] += fx; fsum[2] += fy; fsum[3] += fz; @@ -598,7 +601,7 @@ void FixEfieldTIP4P::post_force(int vflag) f[i][2] += fz; fsum[3] += fz; - if (estyle == ATOM) fsum[0] += efield[0][3]; + if (estyle == ATOM) fsum[0] += efield[i][3]; } } } diff --git a/src/EXTRA-MOLECULE/angle_gaussian.cpp b/src/EXTRA-MOLECULE/angle_gaussian.cpp index c87f1aeb01b..bb86996bd86 100644 --- a/src/EXTRA-MOLECULE/angle_gaussian.cpp +++ b/src/EXTRA-MOLECULE/angle_gaussian.cpp @@ -284,6 +284,12 @@ void AngleGaussian::read_restart(FILE *fp) MPI_Bcast(&angle_temperature[1], atom->nangletypes, MPI_DOUBLE, 0, world); MPI_Bcast(&nterms[1], atom->nangletypes, MPI_INT, 0, world); + if ((nterms_max < 0) || (nterms_max > 4096)) + error->all(FLERR, "Invalid number of terms in restart file"); + for (int i = 1; i <= atom->nangletypes; i++) + if ((nterms[i] < 0) || (nterms[i] > 4096)) + error->all(FLERR, "Invalid number of terms in restart file"); + // allocate for (int i = 1; i <= atom->nangletypes; i++) { alpha[i] = new double[nterms[i]]; diff --git a/src/EXTRA-MOLECULE/bond_gaussian.cpp b/src/EXTRA-MOLECULE/bond_gaussian.cpp index ceb20c14874..10abdc6bc4d 100644 --- a/src/EXTRA-MOLECULE/bond_gaussian.cpp +++ b/src/EXTRA-MOLECULE/bond_gaussian.cpp @@ -232,6 +232,10 @@ void BondGaussian::read_restart(FILE *fp) MPI_Bcast(&bond_temperature[1], atom->nbondtypes, MPI_DOUBLE, 0, world); MPI_Bcast(&nterms[1], atom->nbondtypes, MPI_INT, 0, world); + for (int i = 1; i <= atom->nbondtypes; i++) + if ((nterms[i] < 0) || (nterms[i] > 4096)) + error->all(FLERR, "Invalid number of terms in restart file"); + // allocate for (int i = 1; i <= atom->nbondtypes; i++) { alpha[i] = new double[nterms[i]]; diff --git a/src/EXTRA-MOLECULE/dihedral_fourier.cpp b/src/EXTRA-MOLECULE/dihedral_fourier.cpp index 1df5fe2c3b8..bcf37f9e2b0 100644 --- a/src/EXTRA-MOLECULE/dihedral_fourier.cpp +++ b/src/EXTRA-MOLECULE/dihedral_fourier.cpp @@ -367,6 +367,12 @@ void DihedralFourier::read_restart(FILE *fp) MPI_Bcast(&nterms_max,1,MPI_INT,0,world); MPI_Bcast(&nterms[1],atom->ndihedraltypes,MPI_INT,0,world); + if ((nterms_max < 0) || (nterms_max > 4096)) + error->all(FLERR,"Invalid number of terms in restart file"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + if ((nterms[i] < 0) || (nterms[i] > 4096)) + error->all(FLERR,"Invalid number of terms in restart file"); + // allocate for (int i = 1; i <= atom->ndihedraltypes; i++) { k[i] = new double[nterms[i]]; diff --git a/src/EXTRA-MOLECULE/dihedral_nharmonic.cpp b/src/EXTRA-MOLECULE/dihedral_nharmonic.cpp index f83c44a2ba0..3e5aed8bbab 100644 --- a/src/EXTRA-MOLECULE/dihedral_nharmonic.cpp +++ b/src/EXTRA-MOLECULE/dihedral_nharmonic.cpp @@ -317,6 +317,12 @@ void DihedralNHarmonic::read_restart(FILE *fp) MPI_Bcast(&nterms_max,1,MPI_INT,0,world); MPI_Bcast(&nterms[1],atom->ndihedraltypes,MPI_INT,0,world); + if ((nterms_max < 0) || (nterms_max > 4096)) + error->all(FLERR,"Invalid number of terms in restart file"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + if ((nterms[i] < 0) || (nterms[i] > 4096)) + error->all(FLERR,"Invalid number of terms in restart file"); + // allocate for (int i = 1; i <= atom->ndihedraltypes; i++) a[i] = new double [nterms[i]]; diff --git a/src/EXTRA-MOLECULE/dihedral_spherical.cpp b/src/EXTRA-MOLECULE/dihedral_spherical.cpp index eee97455110..7d055192d49 100644 --- a/src/EXTRA-MOLECULE/dihedral_spherical.cpp +++ b/src/EXTRA-MOLECULE/dihedral_spherical.cpp @@ -742,6 +742,12 @@ void DihedralSpherical::read_restart(FILE *fp) MPI_Bcast(&nterms_max, 1, MPI_INT, 0, world); MPI_Bcast(&nterms[1], atom->ndihedraltypes, MPI_INT, 0, world); + if ((nterms_max < 0) || (nterms_max > 4096)) + error->all(FLERR, "Invalid number of terms in restart file"); + for (int i = 1; i <= atom->ndihedraltypes; i++) + if ((nterms[i] < 0) || (nterms[i] > 4096)) + error->all(FLERR, "Invalid number of terms in restart file"); + // allocate for (int i = 1; i <= atom->ndihedraltypes; i++) { Ccoeff[i] = new double[nterms[i]]; diff --git a/src/EXTRA-PAIR/pair_gauss.cpp b/src/EXTRA-PAIR/pair_gauss.cpp index 48203f2c8ec..ba2d702409f 100644 --- a/src/EXTRA-PAIR/pair_gauss.cpp +++ b/src/EXTRA-PAIR/pair_gauss.cpp @@ -216,6 +216,14 @@ void PairGauss::coeff(int narg, char **arg) double PairGauss::init_one(int i, int j) { if (setflag[i][j] == 0) { + // mixing determines the width of the mixed gaussian from the widths of the + // i,i and j,j gaussians, which is not possible when either b is 0.0 + + if ((b[i][i] == 0.0) || (b[j][j] == 0.0)) + error->all(FLERR, Error::NOLASTLINE, + "Cannot mix pair gauss coefficients for atom types {} and {} when b is 0.0; " + "must use a pair_coeff command to set them explicitly", i, j); + double sign_bi = (b[i][i] >= 0.0) ? 1.0 : -1.0; double sign_bj = (b[j][j] >= 0.0) ? 1.0 : -1.0; double si = sqrt(0.5 / fabs(b[i][i])); diff --git a/src/EXTRA-PAIR/pair_lj_pirani.cpp b/src/EXTRA-PAIR/pair_lj_pirani.cpp index 544c3b1b5ce..1e7c11eec27 100644 --- a/src/EXTRA-PAIR/pair_lj_pirani.cpp +++ b/src/EXTRA-PAIR/pair_lj_pirani.cpp @@ -39,7 +39,9 @@ using MathSpecial::square; /* ---------------------------------------------------------------------- */ -PairLJPirani::PairLJPirani(LAMMPS *lmp) : Pair(lmp), cut_respa(nullptr) +PairLJPirani::PairLJPirani(LAMMPS *lmp) : + Pair(lmp), cut_global(0.0), cut(nullptr), alpha(nullptr), beta(nullptr), gamma(nullptr), + rm(nullptr), epsilon(nullptr), offset(nullptr), cut_respa(nullptr) { respa_enable = 1; born_matrix_enable = 0; diff --git a/src/GRANSURF/fix_surface.cpp b/src/GRANSURF/fix_surface.cpp index da13844968e..83e2046f6a1 100644 --- a/src/GRANSURF/fix_surface.cpp +++ b/src/GRANSURF/fix_surface.cpp @@ -181,7 +181,7 @@ void FixSurface::corner_connection3d(const double *inorm, const double *jnorm, i ------------------------------------------------------------------------- */ void FixSurface::extract_from_molecule(char *molID, - std::map, int> *hash, + std::map, int> &hash, int &npoints, int &maxpoints, Point *&points, int &nlines, Line *&lines, int &ntris, Tri *&tris) { @@ -227,36 +227,36 @@ void FixSurface::extract_from_molecule(char *molID, // only lines in the same molecule are connected auto key = std::make_tuple(epts[i][0], epts[i][1], 0.0, molline[i]); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = epts[i][0]; points[npoints].x[1] = epts[i][1]; points[npoints].x[2] = 0.0; lines[iline].p1 = npoints; npoints++; } else - lines[iline].p1 = (*hash)[key]; + lines[iline].p1 = hash[key]; key = std::make_tuple(epts[i][2], epts[i][3], 0.0, molline[i]); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = epts[i][2]; points[npoints].x[1] = epts[i][3]; points[npoints].x[2] = 0.0; lines[iline].p2 = npoints; npoints++; } else - lines[iline].p2 = (*hash)[key]; + lines[iline].p2 = hash[key]; iline++; } @@ -274,52 +274,52 @@ void FixSurface::extract_from_molecule(char *molID, // only tris in the same molecule are connected auto key = std::make_tuple(cpts[i][0], cpts[i][1], cpts[i][2], moltri[i]); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = cpts[i][0]; points[npoints].x[1] = cpts[i][1]; points[npoints].x[2] = cpts[i][2]; tris[itri].p1 = npoints; npoints++; } else - tris[itri].p1 = (*hash)[key]; + tris[itri].p1 = hash[key]; key = std::make_tuple(cpts[i][3], cpts[i][4], cpts[i][5], moltri[i]); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = cpts[i][3]; points[npoints].x[1] = cpts[i][4]; points[npoints].x[2] = cpts[i][5]; tris[itri].p2 = npoints; npoints++; } else - tris[itri].p2 = (*hash)[key]; + tris[itri].p2 = hash[key]; key = std::make_tuple(cpts[i][6], cpts[i][7], cpts[i][8], moltri[i]); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = cpts[i][6]; points[npoints].x[1] = cpts[i][7]; points[npoints].x[2] = cpts[i][8]; tris[itri].p3 = npoints; npoints++; } else - tris[itri].p3 = (*hash)[key]; + tris[itri].p3 = hash[key]; itri++; } @@ -334,7 +334,7 @@ void FixSurface::extract_from_molecule(char *molID, ------------------------------------------------------------------------- */ void FixSurface::extract_from_stlfile(char *filename, int stype, int smol, - std::map, int> *hash, + std::map, int> &hash, int &npoints, int &maxpoints, Point *&points, int &ntris, Tri *&tris) { @@ -367,49 +367,49 @@ void FixSurface::extract_from_stlfile(char *filename, int stype, int smol, // only tris in the same molecule are connected auto key = std::make_tuple(stltris[itri_new][0], stltris[itri_new][1], stltris[itri_new][2], smol); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = stltris[itri_new][0]; points[npoints].x[1] = stltris[itri_new][1]; points[npoints].x[2] = stltris[itri_new][2]; tris[itri].p1 = npoints; npoints++; } else - tris[itri].p1 = (*hash)[key]; + tris[itri].p1 = hash[key]; key = std::make_tuple(stltris[itri_new][3], stltris[itri_new][4], stltris[itri_new][5], smol); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = stltris[itri_new][3]; points[npoints].x[1] = stltris[itri_new][4]; points[npoints].x[2] = stltris[itri_new][5]; tris[itri].p2 = npoints; npoints++; } else - tris[itri].p2 = (*hash)[key]; + tris[itri].p2 = hash[key]; key = std::make_tuple(stltris[itri_new][6], stltris[itri_new][7], stltris[itri_new][8], smol); - if (hash->find(key) == hash->end()) { + if (hash.find(key) == hash.end()) { if (npoints == maxpoints) { maxpoints += DELTA; points = (Point *) memory->srealloc(points, maxpoints * sizeof(Point), "surface:points"); } - (*hash)[key] = npoints; + hash[key] = npoints; points[npoints].x[0] = stltris[itri_new][6]; points[npoints].x[1] = stltris[itri_new][7]; points[npoints].x[2] = stltris[itri_new][8]; tris[itri].p3 = npoints; npoints++; } else - tris[itri].p3 = (*hash)[key]; + tris[itri].p3 = hash[key]; } } diff --git a/src/GRANSURF/fix_surface.h b/src/GRANSURF/fix_surface.h index d5393d3e8e0..770768c974e 100644 --- a/src/GRANSURF/fix_surface.h +++ b/src/GRANSURF/fix_surface.h @@ -154,10 +154,10 @@ class FixSurface : public Fix { // methods common to both global and local surfs - void extract_from_molecule(char *, std::map, int> *, + void extract_from_molecule(char *, std::map, int> &, int &, int &, Point *&, int &, Line *&, int &, Tri *&); void extract_from_stlfile(char *, int, int, - std::map, int> *, int &, int &, + std::map, int> &, int &, int &, Point *&, int &, Tri *&); void connectivity2d_global(int, int, Line *, Connect2d *&, int **&, int **&); diff --git a/src/GRANSURF/fix_surface_global.cpp b/src/GRANSURF/fix_surface_global.cpp index 232350e7801..d38d12f7de9 100644 --- a/src/GRANSURF/fix_surface_global.cpp +++ b/src/GRANSURF/fix_surface_global.cpp @@ -63,7 +63,8 @@ enum{LINEAR,WIGGLE,ROTATE,TRANSROT,VARIABLE}; enum{INTERNAL = 0,EXTERNAL,UNCONNECTED}; enum{NSQ, BIN}; -static constexpr double FLATTHRESH = 0.00015230484360876085; // = 1.0-cos(MY_PI/180.0); = 1 degree +// = 1.0-cos(MY_PI/180.0); = 1 degree +static constexpr double FLATTHRESH = 0.00015230484360876085; static constexpr int DELTAMODEL = 4; static constexpr int DELTAMOTION = 4; static constexpr int MAXSURFTYPE = 1024; // limit for # of surf types @@ -110,19 +111,19 @@ FixSurfaceGlobal::FixSurfaceGlobal(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix surface/global input", error); if (strcmp(arg[iarg+1],"mol") == 0) { if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix surface/global input mol", error); - extract_from_molecule(arg[iarg+2],&hash,npoints,maxpoints,points,nlines,lines,ntris,tris); + extract_from_molecule(arg[iarg+2],hash,npoints,maxpoints,points,nlines,lines,ntris,tris); iarg += 3; } else if (strcmp(arg[iarg+1],"stl") == 0) { if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix surface/global input stl", error); int stype = utils::inumeric(FLERR,arg[iarg+2],false,lmp); int smol = utils::inumeric(FLERR,arg[iarg+3],false,lmp); - extract_from_stlfile(arg[iarg+4],stype,(tagint) smol,&hash,npoints,maxpoints,points,ntris,tris); + extract_from_stlfile(arg[iarg+4],stype,(tagint) smol,hash,npoints,maxpoints,points,ntris,tris); iarg += 5; } else error->all(FLERR, iarg+1, "Unknown fix surface/global input keyword: {}", arg[iarg+1]); } else break; - ninput++; } + hash.clear(); // free memory if (ninput == 0) error->all(FLERR, 2, "Fix surface/global command requires using the input keyword"); @@ -144,7 +145,7 @@ FixSurfaceGlobal::FixSurfaceGlobal(LAMMPS *lmp, int narg, char **arg) : if (nmodel == maxmodel) { maxmodel += DELTAMODEL; modeltypes = (ModelTypes *) - memory->srealloc(models,maxmodel*sizeof(ModelTypes),"surf/global:modeltypes"); + memory->srealloc(modeltypes,maxmodel*sizeof(ModelTypes),"surf/global:modeltypes"); models = (Granular_NS::GranularModel **) memory->srealloc(models,maxmodel*sizeof(Granular_NS::GranularModel *), "surf/global:models"); @@ -273,6 +274,7 @@ FixSurfaceGlobal::FixSurfaceGlobal(LAMMPS *lmp, int narg, char **arg) : iarg += 2; } else if (strcmp(arg[iarg],"temperature") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix surface/global temperature", error); + delete[] tstr; if (utils::strmatch(arg[iarg+1], "^v_")) { tstr = utils::strdup(arg[iarg+1] + 2); } else { @@ -433,8 +435,8 @@ FixSurfaceGlobal::~FixSurfaceGlobal() for (int i = 0; i < nmodel; i++) delete models[i]; memory->sfree(models); - for (int i = 1; i <= atom->ntypes; i++) delete [] types2model[i]; - delete [] types2model; + for (int i = 1; i <= atom->ntypes; i++) delete[] types2model[i]; + delete[] types2model; memory->destroy(neigh_p1); memory->destroy(neigh_p2); @@ -486,22 +488,22 @@ FixSurfaceGlobal::~FixSurfaceGlobal() for (int i = 0; i < nmotion; i++) { if (motions[i].mstyle == VARIABLE) { - delete [] motions[i].xvarstr; - delete [] motions[i].yvarstr; - delete [] motions[i].zvarstr; - delete [] motions[i].vxvarstr; - delete [] motions[i].vyvarstr; - delete [] motions[i].vzvarstr; + delete[] motions[i].xvarstr; + delete[] motions[i].yvarstr; + delete[] motions[i].zvarstr; + delete[] motions[i].vxvarstr; + delete[] motions[i].vyvarstr; + delete[] motions[i].vzvarstr; } } memory->sfree(motions); - delete [] mol2motion; + delete[] mol2motion; delete list; delete listhistory; - delete [] zeroes; - delete [] tstr; + delete[] zeroes; + delete[] tstr; delete nb; delete ns; @@ -755,7 +757,7 @@ void FixSurfaceGlobal::init() jmotion = mol2motion[jmol]; if (imotion != jmotion) ecount++; } - for (j = 0; j < nc1; j++) { + for (j = 0; j < nc2; j++) { jtri = connect3d[itri].neigh_c2[j]; if (jtri < itri) continue; jmol = tris[jtri].mol; @@ -870,19 +872,10 @@ void FixSurfaceGlobal::initial_integrate(int /*vflag*/) void FixSurfaceGlobal::pre_neighbor() { - int i,j,j2,k,n,nn,dnum,dnumbytes; + int i,j,j2,k,n; double xtmp,ytmp,ztmp,delx,dely,delz; double radi,rsq,radsum,cutsq; int *neighptr; - double *valueptr; - - int *npartner; - tagint **partner; - double **valuepartner; - int **firstflag; - double **firstvalue; - MyPage *ipage_atom; - MyPage *dpage_atom; double **x = atom->x; double *radius = atom->radius; @@ -902,15 +895,6 @@ void FixSurfaceGlobal::pre_neighbor() if (use_history) { fix_history->otherlist = list; fix_history->nlocal_neigh = nlocal; - npartner = fix_history->get_npartner(); // # of touching partners of each atom - partner = fix_history->get_partner(); // global atom IDs for the partners - valuepartner = fix_history->get_valuepartner(); // values for the partners - ipage_atom = fix_history->get_ipage_atom(); // pages of partner atom IDs - dpage_atom = fix_history->get_dpage_atom(); // pages of partner values - firstflag = fix_history->firstflag; // ptr to each atom's neighbor flag - firstvalue = fix_history->firstvalue; // ptr to each atom's values - dnum = fix_history->get_dnum(); - dnumbytes = dnum * sizeof(double); } // store current point positions for future neighbor trigger check @@ -926,10 +910,6 @@ void FixSurfaceGlobal::pre_neighbor() int inum = 0; ipage->reset(); - if (use_history) { - ipage_atom->reset(); - dpage_atom->reset(); - } if (neigh_style == BIN) { if (nb == nullptr) { @@ -1049,10 +1029,6 @@ void FixSurfaceGlobal::pre_neighbor() for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - if (use_history) { - nn = 0; - valueptr = dpage_atom->vget(); - } xtmp = x[i][0]; ytmp = x[i][1]; @@ -1118,10 +1094,6 @@ void FixSurfaceGlobal::pre_neighbor() for (i = 0; i < nlocal; i++) { n = 0; neighptr = ipage->vget(); - if (use_history) { - nn = 0; - valueptr = dpage_atom->vget(); - } xtmp = x[i][0]; ytmp = x[i][1]; @@ -1187,7 +1159,7 @@ void FixSurfaceGlobal::post_force(int /*vflag*/) int itype, jtype, external_flag, priority; double xtmp, ytmp, ztmp, radi, delx, dely, delz, meff; int *ilist, *jlist, *numneigh, **firstneigh; - int *touch, **firstflag, touch_flag; + int *touch, **firstflag; double rsq, rsq_com, rmag, radsum, max_overlap, dot; double x_min_image[3], norm[3], dr[3], contact[3], ds[3], xc[3], vc[3], omegac[3]; double *forces, *torquesi, *history, *allhistory, **firsthistory; @@ -1415,7 +1387,7 @@ void FixSurfaceGlobal::post_force(int /*vflag*/) std::sort(contact_surfs.begin(), contact_surfs.end(), FixSurface::contact_presort); contacts_map.clear(); - for (auto n = 0; n < contact_surfs.size(); n++) + for (std::size_t n = 0; n < contact_surfs.size(); n++) contacts_map[contact_surfs[n].index] = n; // Initial walk to assign consistent sides of surfaces @@ -1427,11 +1399,11 @@ void FixSurfaceGlobal::post_force(int /*vflag*/) // Given corrected surface norms, resort contacts std::sort(contact_surfs.begin(), contact_surfs.end(), FixSurface::contact_sort); - for (auto n = 0; n < contact_surfs.size(); n++) + for (std::size_t n = 0; n < contact_surfs.size(); n++) contacts_map[contact_surfs[n].index] = n; processed_contacts.clear(); - for (auto n = 0; n < contact_surfs.size(); n++) { + for (std::size_t n = 0; n < contact_surfs.size(); n++) { j = contact_surfs[n].index; if (processed_contacts.find(j) != processed_contacts.end()) continue; @@ -1453,7 +1425,7 @@ void FixSurfaceGlobal::post_force(int /*vflag*/) // Calculate overlap-weighted average normal vector MathExtra::zero3(dr); - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { m = composite_surfs[it]; if (contact_surfs[m].overlap < EPSILON) continue; MathExtra::scaleadd3(contact_surfs[m].overlap * contact_surfs[m].weight_contribution, contact_surfs[m].dr_force, dr, dr); @@ -1497,12 +1469,12 @@ void FixSurfaceGlobal::post_force(int /*vflag*/) } // guaranteed in contact, but need to calculate intermediate variables - touch_flag = model->check_contact(); + model->check_contact(); if (use_history) { // Check if another flat contact has a stored history if (touch[jj] != 1) { - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { m = composite_surfs[it]; jjtmp = contact_surfs[m].neigh_index; if (touch[jjtmp] == 1) @@ -1521,7 +1493,7 @@ void FixSurfaceGlobal::post_force(int /*vflag*/) // can be arbitrary if not all connected flat surfaces are mutually flat // e.g. a hair pin turn where surfs on either end of the 'U' are not flat if (use_history) { - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { m = composite_surfs[it]; jjtmp = contact_surfs[m].neigh_index; if (jj != jjtmp) { @@ -1559,7 +1531,7 @@ int FixSurfaceGlobal::modify_param(int narg, char **arg) for (int i = 1; i <= maxsurfmol; i++) smols[i] = 0; auto fields = Tokenizer(arg[1], ",").as_vector(); - for (int ifield = 0; ifield < fields.size(); ifield++) { + for (std::size_t ifield = 0; ifield < fields.size(); ifield++) { utils::bounds(FLERR, fields[ifield], 1, maxsurfmol, lo, hi, error); for (int i = lo; i <= hi; i++) smols[i] = 1; } @@ -1643,7 +1615,7 @@ int FixSurfaceGlobal::modify_param(int narg, char **arg) next_reneighbor = -1; } - delete [] smols; + delete[] smols; return 3; } @@ -1747,7 +1719,7 @@ int FixSurfaceGlobal::modify_param(int narg, char **arg) utils::logmesg(lmp,"Fix_modify move:\n"); utils::logmesg(lmp," turned on motion for {} surfs\n", count); - delete [] smols; + delete[] smols; return 2 + styleargs; } @@ -2547,6 +2519,9 @@ void FixSurfaceGlobal::connectivity3d_complete() else if (tris[i].p2 == tris[j].p2) jpsecond = 2; else if (tris[i].p2 == tris[j].p3) jpsecond = 3; + if ((jpfirst < 0) || (jpsecond < 0)) + error->one(FLERR, Error::NOLASTLINE, "Inconsistent surface connectivity"); + MathExtra::sub3(points[tris[i].p2].x,points[tris[i].p1].x,iedge); edge_connection3d(tris[i].norm,tris[j].norm,iedge,jpfirst,jpsecond,flatthresh, connect3d[i].fflag_e1[m],connect3d[i].ewhich_e1[m], @@ -2565,6 +2540,9 @@ void FixSurfaceGlobal::connectivity3d_complete() else if (tris[i].p3 == tris[j].p2) jpsecond = 2; else if (tris[i].p3 == tris[j].p3) jpsecond = 3; + if ((jpfirst < 0) || (jpsecond < 0)) + error->one(FLERR, Error::NOLASTLINE, "Inconsistent surface connectivity"); + MathExtra::sub3(points[tris[i].p3].x,points[tris[i].p2].x,iedge); edge_connection3d(tris[i].norm,tris[j].norm,iedge,jpfirst,jpsecond,flatthresh, connect3d[i].fflag_e2[m],connect3d[i].ewhich_e2[m], @@ -2583,6 +2561,9 @@ void FixSurfaceGlobal::connectivity3d_complete() else if (tris[i].p1 == tris[j].p2) jpsecond = 2; else if (tris[i].p1 == tris[j].p3) jpsecond = 3; + if ((jpfirst < 0) || (jpsecond < 0)) + error->one(FLERR, Error::NOLASTLINE, "Inconsistent surface connectivity"); + MathExtra::sub3(points[tris[i].p1].x,points[tris[i].p3].x,iedge); edge_connection3d(tris[i].norm,tris[j].norm,iedge,jpfirst,jpsecond,flatthresh, connect3d[i].fflag_e3[m],connect3d[i].ewhich_e3[m], @@ -3506,7 +3487,7 @@ void FixSurfaceGlobal::prewalk_connections2d() int j = contact_surfs[0].index; to_walk[j] = contact_surfs[0].nside; - int k, n, m, nsidej, nsidek, nconnect, nc; + int k, n, m, nsidej, nsidek, nconnect; std::tuple element; while (!to_walk.empty()) { auto it = to_walk.begin(); @@ -3548,7 +3529,7 @@ void FixSurfaceGlobal::prewalk_connections2d() // Check if there is another disconnected surf if (to_walk.empty()) { - for (nc = 0; nc < contact_surfs.size(); nc++) { + for (std::size_t nc = 0; nc < contact_surfs.size(); nc++) { j = contact_surfs[nc].index; if (walked.find(j) == walked.end()) to_walk[j] = contact_surfs[nc].nside; @@ -3567,7 +3548,7 @@ void FixSurfaceGlobal::prewalk_connections3d() int j = contact_surfs[0].index; to_walk[j] = contact_surfs[0].nside; - int k, n, m, nsidej, nsidek, nconnect, nc, ntotal; + int k, n, m, nsidej, nsidek, nc, nconnect, ntotal; std::tuple element; while (!to_walk.empty()) { auto it = to_walk.begin(); @@ -3647,7 +3628,7 @@ void FixSurfaceGlobal::prewalk_connections3d() // Check if there is another disconnected surf if (to_walk.empty()) { - for (nc = 0; nc < contact_surfs.size(); nc++) { + for (nc = 0; nc < (int)contact_surfs.size(); nc++) { j = contact_surfs[nc].index; if (walked.find(j) == walked.end()) to_walk[j] = contact_surfs[nc].nside; @@ -3667,9 +3648,8 @@ void FixSurfaceGlobal::walk_connections2d(std::vector &composite_surfs, std std::set to_add; // Find next closest surface - int j, n; - for (n = 0; n < contact_surfs.size(); n++) { - j = contact_surfs[n].index; + for (std::size_t n = 0; n < contact_surfs.size(); n++) { + auto j = contact_surfs[n].index; if (processed_contacts.find(j) == processed_contacts.end()) { to_walk.insert(j); @@ -3677,7 +3657,7 @@ void FixSurfaceGlobal::walk_connections2d(std::vector &composite_surfs, std } } - int k, m, jflag, aflag, fflag, nconnect, nc, contact_at_joint; + int j, k, m, n, jflag, aflag, fflag, nconnect, nc, contact_at_joint; while (!to_walk.empty()) { auto it = to_walk.begin(); j = *it; @@ -3754,9 +3734,8 @@ void FixSurfaceGlobal::walk_connections3d(std::vector &composite_surfs, std std::set to_add; // Find next closest surface - int j, n; - for (n = 0; n < contact_surfs.size(); n++) { - j = contact_surfs[n].index; + for (std::size_t n = 0; n < contact_surfs.size(); n++) { + auto j = contact_surfs[n].index; if (processed_contacts.find(j) == processed_contacts.end()) { to_walk.insert(j); @@ -3767,10 +3746,10 @@ void FixSurfaceGlobal::walk_connections3d(std::vector &composite_surfs, std int k, m, jflag, aflag, fflag, which, nconnect, nc, ntotal, contact_at_joint; while (!to_walk.empty()) { auto it = to_walk.begin(); - j = *it; + auto j = *it; to_walk.erase(it); - n = contacts_map[j]; + auto n = contacts_map[j]; processed_contacts.insert(j); composite_surfs.push_back(n); jflag = contact_surfs[n].flag; @@ -3907,7 +3886,7 @@ double FixSurfaceGlobal::calculate_2d_forces(std::vector &composite_surfs) double max_overlap = -BIG; double max_overlap_ext = -BIG; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; @@ -3936,7 +3915,7 @@ double FixSurfaceGlobal::calculate_2d_forces(std::vector &composite_surfs) // Calculate constraints on force norm int i, ck, pt, ptk, caflag; double max_dot; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; flag = contact_surfs[n].flag; @@ -3959,7 +3938,7 @@ double FixSurfaceGlobal::calculate_2d_forces(std::vector &composite_surfs) max_dot = -2; ck = -1; - for (i = 0; i < contact_surfs[n].cindex.size(); i++) { + for (i = 0; i < (int) contact_surfs[n].cindex.size(); i++) { k = contact_surfs[n].cindex[i]; m = contacts_map[k]; dot = MathExtra::dot3(jnorm, contact_surfs[m].surf_norm); @@ -4028,7 +4007,7 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) int uc_flag = 0; // Find if surface is hidden and/or whether it's unconnected - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; @@ -4060,12 +4039,13 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) // Find primary constraint for all corner/edge connections int which1, which2; double max_dot1, max_dot2; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; flag = contact_surfs[n].flag; MathExtra::copy3(contact_surfs[n].surf_norm, jnorm); + which1 = which2 = -1; if (flag == -4) { which1 = 0; which2 = 2; @@ -4080,7 +4060,7 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) // If multiple constraints (e.g. a T), find which is closest aligned max_dot1 = max_dot2 = -2.0; contact_surfs[n].ck1 = contact_surfs[n].ck2 = -1; - for (i = 0; i < contact_surfs[n].cindex.size(); i++) { + for (i = 0; i < (int) contact_surfs[n].cindex.size(); i++) { k = contact_surfs[n].cindex[i]; m = contacts_map[k]; dot = MathExtra::dot3(jnorm, contact_surfs[m].surf_norm); @@ -4110,7 +4090,7 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) double w_connect = 1.0; if (uc_flag) { double max_dist_uc = 0.0; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; flag = contact_surfs[n].flag; @@ -4178,12 +4158,12 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) // per-surf calculations // ----------------------------------- - int pt, pt1, pt2, external1, external2, edge1_uc, edge2_uc; + int pt, pt1, pt2, external1, external2; double w_in_plane, dot1a, dot2a, dot1xp, dot2xp, dot1ip, dot2ip, w1_in_plane, w2_in_plane, w1, w2, wtmp; double line1[3], line2[3], dr_in_plane[3]; double dr1[3], dr2[3], fn1[3], fn2[3], fntot[3], normave[3]; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; @@ -4293,8 +4273,6 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) MathExtra::zero3(fntot); w1_in_plane = 1.0; w2_in_plane = 1.0; - edge1_uc = 0; - edge2_uc = 0; // default, use dr w/o component along edge dot = MathExtra::dot3(dr, line1); @@ -4330,7 +4308,6 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) if (dist < rmag) w1_in_plane = MAX(0.0, MIN(1.0, dist / (rmag * (1.0 - w_connect)))); } - edge1_uc = 1; } // ---------- Edge 2 ---------- @@ -4355,7 +4332,6 @@ double FixSurfaceGlobal::calculate_3d_forces(std::vector &composite_surfs) if (dist < rmag) w2_in_plane = MAX(0.0, MIN(1.0, dist / (rmag * (1.0 - w_connect)))); } - edge2_uc = 1; } // ---------- Interpolation ---------- diff --git a/src/GRANSURF/fix_surface_local.cpp b/src/GRANSURF/fix_surface_local.cpp index 7b14d5a7723..5ae4aa3c127 100644 --- a/src/GRANSURF/fix_surface_local.cpp +++ b/src/GRANSURF/fix_surface_local.cpp @@ -49,8 +49,8 @@ static constexpr int DELTA_RVOUS = 1024; // must be >= 8 enum { INTERNAL = 0, EXTERNAL, UNCONNECTED }; -static constexpr double FLATTHRESH = - 0.00015230484360876085; // = 1.0-cos(MY_PI/180.0); = 1 degree +// = 1.0-cos(MY_PI/180.0); = 1 degree +static constexpr double FLATTHRESH = 0.00015230484360876085; static constexpr int RVOUS = 1; // 0 for irregular, 1 for all2all enum { MOLTEMPLATE, STLFILE }; @@ -156,7 +156,7 @@ FixSurfaceLocal::FixSurfaceLocal(LAMMPS *lmp, int narg, char **arg) : // initializations atom2connect = nullptr; - grow_arrays(atom->nmax); + FixSurfaceLocal::grow_arrays(atom->nmax); atom->add_callback(0); atom->add_callback(2); @@ -300,8 +300,7 @@ void FixSurfaceLocal::post_constructor() lines = nullptr; tris = nullptr; - std::map, int> *hash = - new std::map, int>(); + std::map, int> hash; for (int i = 0; i < ninput; i++) { int mode = input_modes[i]; @@ -325,8 +324,7 @@ void FixSurfaceLocal::post_constructor() extract_from_stlfile(sourceID, stype, smol, hash, npoints, maxpoints, points, ntris, tris); } } - - delete hash; + hash.clear(); // free memory memory->sfree(input_modes); for (int i = 0; i < ninput; i++) delete[] input_sources[i]; @@ -1700,10 +1698,10 @@ double FixSurfaceLocal::memory_usage() if (dimension == 2) { bytes = nmax_connect * sizeof(Connect2d); - bytes = nmax_connect * sizeof(Pool2d); + bytes += nmax_connect * sizeof(Pool2d); } else { bytes = nmax_connect * sizeof(Connect3d); - bytes = nmax_connect * sizeof(Pool3d); + bytes += nmax_connect * sizeof(Pool3d); } bytes += atom->nmax * sizeof(int); // atom2connect vector @@ -1875,7 +1873,7 @@ void FixSurfaceLocal::connectivity2d_local() char *buf; int nreturn = comm->rendezvous(RVOUS, ncount, (char *) inbuf, sizeof(InRvous), 0, proclist, point_match, 0, buf, sizeof(OutRvous), (void *) this); - auto outbuf = (OutRvous *) buf; + auto *outbuf = (OutRvous *) buf; memory->destroy(proclist); memory->sfree(inbuf); @@ -2021,7 +2019,7 @@ void FixSurfaceLocal::connectivity2d_local() void FixSurfaceLocal::connectivity3d_local() { - int k, m, n; + int m, n; avec_tri = (AtomVecTri *) atom->style_match("tri"); @@ -2174,7 +2172,7 @@ void FixSurfaceLocal::connectivity3d_local() char *buf; int nreturn = comm->rendezvous(RVOUS, ncount, (char *) inbuf, sizeof(InRvous), 0, proclist, point_match, 0, buf, sizeof(OutRvous), (void *) this); - auto outbuf = (OutRvous *) buf; + auto *outbuf = (OutRvous *) buf; memory->destroy(proclist); memory->sfree(inbuf); @@ -2570,7 +2568,7 @@ int FixSurfaceLocal::point_match(int n, char *inbuf, int &rflag, int *&proclist, { // access class data for epssq and bin count - auto fslptr = (FixSurfaceLocal *) ptr; + auto *fslptr = (FixSurfaceLocal *) ptr; Memory *memory = fslptr->memory; Comm *comm = fslptr->comm; @@ -2595,7 +2593,7 @@ int FixSurfaceLocal::point_match(int n, char *inbuf, int &rflag, int *&proclist, for (int i = 0; i < nmine; i++) num[i] = 0; for (int i = 0; i < nmine; i++) first[i] = -1; - auto in = (InRvous *) inbuf; + auto *in = (InRvous *) inbuf; int ibin, whichbin; @@ -3598,11 +3596,13 @@ void FixSurfaceLocal::connectivity3d_complete() else if (same_point(cpts[iconnect][1], cpts[jconnect][2])) jpsecond = 3; + if ((jpfirst < 0) || (jpsecond < 0)) + error->one(FLERR, Error::NOLASTLINE, "Inconsistent surface connectivity"); + MathExtra::sub3(cpts[iconnect][1], cpts[iconnect][0], iedge); - edge_connection3d(normals[iconnect], normals[jconnect], iedge, jpfirst, jpsecond, - flatthresh, connect3d[iconnect].fflag_e1[m], - connect3d[iconnect].ewhich_e1[m], connect3d[iconnect].nside_e1[m], - connect3d[iconnect].aflag_e1[m]); + edge_connection3d(normals[iconnect], normals[jconnect], iedge, jpfirst, jpsecond, flatthresh, + connect3d[iconnect].fflag_e1[m], connect3d[iconnect].ewhich_e1[m], + connect3d[iconnect].nside_e1[m], connect3d[iconnect].aflag_e1[m]); } for (int m = 0; m < connect3d[iconnect].ne2; m++) { @@ -3626,11 +3626,13 @@ void FixSurfaceLocal::connectivity3d_complete() else if (same_point(cpts[iconnect][2], cpts[jconnect][2])) jpsecond = 3; + if ((jpfirst < 0) || (jpsecond < 0)) + error->one(FLERR, Error::NOLASTLINE, "Inconsistent surface connectivity"); + MathExtra::sub3(cpts[iconnect][2], cpts[iconnect][1], iedge); - edge_connection3d(normals[iconnect], normals[jconnect], iedge, jpfirst, jpsecond, - flatthresh, connect3d[iconnect].fflag_e2[m], - connect3d[iconnect].ewhich_e2[m], connect3d[iconnect].nside_e2[m], - connect3d[iconnect].aflag_e2[m]); + edge_connection3d(normals[iconnect], normals[jconnect], iedge, jpfirst, jpsecond, flatthresh, + connect3d[iconnect].fflag_e2[m], connect3d[iconnect].ewhich_e2[m], + connect3d[iconnect].nside_e2[m], connect3d[iconnect].aflag_e2[m]); } for (int m = 0; m < connect3d[iconnect].ne3; m++) { @@ -3654,11 +3656,13 @@ void FixSurfaceLocal::connectivity3d_complete() else if (same_point(cpts[iconnect][0], cpts[jconnect][2])) jpsecond = 3; + if ((jpfirst < 0) || (jpsecond < 0)) + error->one(FLERR, Error::NOLASTLINE, "Inconsistent surface connectivity"); + MathExtra::sub3(cpts[iconnect][0], cpts[iconnect][2], iedge); - edge_connection3d(normals[iconnect], normals[jconnect], iedge, jpfirst, jpsecond, - flatthresh, connect3d[iconnect].fflag_e3[m], - connect3d[iconnect].ewhich_e3[m], connect3d[iconnect].nside_e3[m], - connect3d[iconnect].aflag_e3[m]); + edge_connection3d(normals[iconnect], normals[jconnect], iedge, jpfirst, jpsecond, flatthresh, + connect3d[iconnect].fflag_e3[m], connect3d[iconnect].ewhich_e3[m], + connect3d[iconnect].nside_e3[m], connect3d[iconnect].aflag_e3[m]); } } diff --git a/src/GRANSURF/pair_surf_granular.cpp b/src/GRANSURF/pair_surf_granular.cpp index bf3a467bfc0..e442b84ca8c 100644 --- a/src/GRANSURF/pair_surf_granular.cpp +++ b/src/GRANSURF/pair_surf_granular.cpp @@ -51,9 +51,6 @@ using namespace MathExtra; using namespace SurfExtra; enum { NONE, LINE, TRI }; -enum { NONFLAT, FLAT }; -enum { CONCAVE, CONVEX }; -enum { SAME_SIDE, OPPOSITE_SIDE }; enum { INTERNAL = 0, EXTERNAL, UNCONNECTED }; static constexpr double EPSILON = 1e-12; @@ -61,10 +58,10 @@ static constexpr double BIG = 1.0e20; static inline int FLIPSIDE(int nside) { - if (nside == OPPOSITE_SIDE) - return SAME_SIDE; + if (nside == FixSurface::OPPOSITE_SIDE) + return FixSurface::SAME_SIDE; else - return OPPOSITE_SIDE; + return FixSurface::OPPOSITE_SIDE; } /* ---------------------------------------------------------------------- */ @@ -91,7 +88,7 @@ PairSurfGranular::~PairSurfGranular() void PairSurfGranular::compute(int eflag, int vflag) { - int a, m; + int m; int inum, jnum, itype, jtype; int jflag, external_flag, priority; double xtmp, ytmp, ztmp, radi, delx, dely, delz; @@ -108,7 +105,6 @@ void PairSurfGranular::compute(int eflag, int vflag) int *touch, **firsttouch; double *history, *allhistory, **firsthistory; - bool touchflag = false; const bool history_update = update->setupflag == 0; class GranularModel *model; @@ -131,7 +127,7 @@ void PairSurfGranular::compute(int eflag, int vflag) if (fix_rigid) { int tmp; int *body = (int *) fix_rigid->extract("body", tmp); - double *mass_body = (double *) fix_rigid->extract("masstotal", tmp); + auto *mass_body = (double *) fix_rigid->extract("masstotal", tmp); if (atom->nmax > nmax) { memory->destroy(mass_rigid); nmax = atom->nmax; @@ -259,7 +255,8 @@ void PairSurfGranular::compute(int eflag, int vflag) corner = corners[tri[j]]; jflag = SurfExtra::overlap_sphere_tri(x[i], radi, &corner[0], &corner[3], &corner[6], &corner[9], contact, dr, rsq); - } + } else + jflag = 0; // should not happen but set to make static code analysis happy // unset non-touching neighbors @@ -293,9 +290,9 @@ void PairSurfGranular::compute(int eflag, int vflag) // Store which side is in contact relative to normal vector if (dot >= 0) - nsidej = SAME_SIDE; + nsidej = FixSurface::SAME_SIDE; else - nsidej = OPPOSITE_SIDE; + nsidej = FixSurface::OPPOSITE_SIDE; rmag = sqrt(rsq); MathExtra::scale3(1.0 / rmag, dr, dr); @@ -314,6 +311,10 @@ void PairSurfGranular::compute(int eflag, int vflag) mycontact.overlap = radi - rmag; mycontact.weight_contribution = 1.0; mycontact.convex_index = -1; + mycontact.ck1 = -1; + mycontact.ck2 = -1; + mycontact.caflag1 = -1; + mycontact.caflag2 = -1; mycontact.rsq_com = rsq_com; mycontact.priority = priority; @@ -330,7 +331,7 @@ void PairSurfGranular::compute(int eflag, int vflag) std::sort(contact_surfs.begin(), contact_surfs.end(), FixSurface::contact_presort); contacts_map.clear(); - for (auto n = 0; n < contact_surfs.size(); n++) contacts_map[contact_surfs[n].index] = n; + for (std::size_t n = 0; n < contact_surfs.size(); n++) contacts_map[contact_surfs[n].index] = n; // Initial walk to assign consistent sides of surfaces // Not guaranteed to work for v. complex geometries (e.g. Mobius) @@ -344,10 +345,10 @@ void PairSurfGranular::compute(int eflag, int vflag) // Given corrected surface norms, resort contacts std::sort(contact_surfs.begin(), contact_surfs.end(), FixSurface::contact_sort); - for (auto n = 0; n < contact_surfs.size(); n++) contacts_map[contact_surfs[n].index] = n; + for (std::size_t n = 0; n < contact_surfs.size(); n++) contacts_map[contact_surfs[n].index] = n; processed_contacts.clear(); - for (auto n = 0; n < contact_surfs.size(); n++) { + for (std::size_t n = 0; n < contact_surfs.size(); n++) { int j = contact_surfs[n].index; if (processed_contacts.find(j) != processed_contacts.end()) continue; @@ -368,7 +369,7 @@ void PairSurfGranular::compute(int eflag, int vflag) // Calculate overlap-weighted average normal vector MathExtra::zero3(dr); - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { m = composite_surfs[it]; if (contact_surfs[m].overlap < EPSILON) continue; MathExtra::scaleadd3(contact_surfs[m].overlap * contact_surfs[m].weight_contribution, @@ -430,12 +431,12 @@ void PairSurfGranular::compute(int eflag, int vflag) } // guaranteed in contact, but need to calculate intermediate variables - touchflag = model->check_contact(); + model->check_contact(); if (use_history) { // Check if another flat contact has a stored history if (touch[jj] != 1) { - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { m = composite_surfs[it]; jjtmp = contact_surfs[m].neigh_index; if (touch[jjtmp] == 1) jj = jjtmp; @@ -453,7 +454,7 @@ void PairSurfGranular::compute(int eflag, int vflag) // can be arbitrary if not all connected flat surfaces are mutually flat // e.g. a hair pin turn where surfs on either end of the 'U' are not flat if (use_history) { - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { m = composite_surfs[it]; jjtmp = contact_surfs[m].neigh_index; if (jj != jjtmp) { @@ -863,7 +864,7 @@ void PairSurfGranular::prewalk_connections2d() n = contacts_map[j]; - if (nsidej == OPPOSITE_SIDE) MathExtra::negate3(contact_surfs[n].surf_norm); + if (nsidej == FixSurface::OPPOSITE_SIDE) MathExtra::negate3(contact_surfs[n].surf_norm); for (int nconnect = 0; nconnect < (connect2d[jconnect].np1 + connect2d[jconnect].np2); nconnect++) { @@ -885,7 +886,7 @@ void PairSurfGranular::prewalk_connections2d() if (walked.find(k) == walked.end() && to_walk.find(k) == to_walk.end()) { // which side is associated with the initial closest surf m = contacts_map[k]; - if (nsidej == OPPOSITE_SIDE) nsidek = FLIPSIDE(nsidek); + if (nsidej == FixSurface::OPPOSITE_SIDE) nsidek = FLIPSIDE(nsidek); contact_surfs[m].nside = nsidek; to_walk[k] = nsidek; @@ -926,7 +927,7 @@ void PairSurfGranular::prewalk_connections3d() n = contacts_map[j]; - if (nsidej == OPPOSITE_SIDE) MathExtra::negate3(contact_surfs[n].surf_norm); + if (nsidej == FixSurface::OPPOSITE_SIDE) MathExtra::negate3(contact_surfs[n].surf_norm); // Loop through edge-connected surfs ntotal = connect3d[jconnect].ne1 + connect3d[jconnect].ne2 + connect3d[jconnect].ne3; @@ -955,7 +956,7 @@ void PairSurfGranular::prewalk_connections3d() if (walked.find(k) == walked.end() && to_walk.find(k) == to_walk.end()) { // which side is associated with the initial closest surf m = contacts_map[k]; - if (nsidej == OPPOSITE_SIDE) nsidek = FLIPSIDE(nsidek); + if (nsidej == FixSurface::OPPOSITE_SIDE) nsidek = FLIPSIDE(nsidek); contact_surfs[m].nside = nsidek; to_walk[k] = nsidek; } @@ -989,7 +990,7 @@ void PairSurfGranular::prewalk_connections3d() if (walked.find(k) == walked.end() && to_walk.find(k) == to_walk.end()) { // which side is associated with the initial closest surf m = contacts_map[k]; - if (nsidej == OPPOSITE_SIDE) nsidek = FLIPSIDE(nsidek); + if (nsidej == FixSurface::OPPOSITE_SIDE) nsidek = FLIPSIDE(nsidek); contact_surfs[m].nside = nsidek; to_walk[k] = nsidek; } @@ -997,7 +998,7 @@ void PairSurfGranular::prewalk_connections3d() // Check if there is another disconnected surf if (to_walk.empty()) { - for (auto nc = 0; nc < contact_surfs.size(); nc++) { + for (std::size_t nc = 0; nc < contact_surfs.size(); nc++) { j = contact_surfs[nc].index; if (walked.find(j) == walked.end()) to_walk[j] = contact_surfs[nc].nside; } @@ -1016,9 +1017,8 @@ void PairSurfGranular::walk_connections2d(std::vector &composite_surfs, std::set to_add; // Find next closest surface - int j, n; - for (n = 0; n < contact_surfs.size(); n++) { - j = contact_surfs[n].index; + for (std::size_t n = 0; n < contact_surfs.size(); n++) { + auto j = contact_surfs[n].index; if (processed_contacts.find(j) == processed_contacts.end()) { to_walk.insert(j); @@ -1027,7 +1027,7 @@ void PairSurfGranular::walk_connections2d(std::vector &composite_surfs, } tagint ktag; - int k, m, jconnect, jflag, aflag, fflag, nconnect, nc, contact_at_joint; + int j, k, m, n, jconnect, jflag, aflag, fflag, nconnect, nc, contact_at_joint; while (!to_walk.empty()) { auto it = to_walk.begin(); j = *it; @@ -1061,19 +1061,19 @@ void PairSurfGranular::walk_connections2d(std::vector &composite_surfs, m = contacts_map[k]; - if (contact_surfs[n].nside == OPPOSITE_SIDE) { - if (aflag == CONVEX) - aflag = CONCAVE; + if (contact_surfs[n].nside == FixSurface::OPPOSITE_SIDE) { + if (aflag == FixSurface::CONVEX) + aflag = FixSurface::CONCAVE; else - aflag = CONVEX; + aflag = FixSurface::CONVEX; } - if (fflag == FLAT) { + if (fflag == FixSurface::FLAT) { // flat, same-type: walk if (contact_surfs[n].type == contact_surfs[m].type && processed_contacts.find(k) == processed_contacts.end()) to_add.insert(k); - } else if (aflag == CONVEX) { + } else if (aflag == FixSurface::CONVEX) { // must overlap w/in epsilon or higher priority to hide (can't walk around a composite surf to hide) if (contact_surfs[n].overlap > contact_surfs[m].overlap - EPSILON) contact_surfs[m].convex_index = j; @@ -1106,8 +1106,8 @@ void PairSurfGranular::walk_connections3d(std::vector &composite_surfs, std::set to_add; // Find next closest surface - for (int n = 0; n < contact_surfs.size(); n++) { - int j = contact_surfs[n].index; + for (std::size_t n = 0; n < contact_surfs.size(); n++) { + auto j = contact_surfs[n].index; if (processed_contacts.find(j) == processed_contacts.end()) { to_walk.insert(j); @@ -1164,19 +1164,19 @@ void PairSurfGranular::walk_connections3d(std::vector &composite_surfs, int m = contacts_map[k]; - if (contact_surfs[n].nside == OPPOSITE_SIDE) { - if (aflag == CONVEX) - aflag = CONCAVE; + if (contact_surfs[n].nside == FixSurface::OPPOSITE_SIDE) { + if (aflag == FixSurface::CONVEX) + aflag = FixSurface::CONCAVE; else - aflag = CONVEX; + aflag = FixSurface::CONVEX; } - if (fflag == FLAT) { + if (fflag == FixSurface::FLAT) { // flat, same-type: walk if (contact_surfs[n].type == contact_surfs[m].type && processed_contacts.find(k) == processed_contacts.end()) to_add.insert(k); - } else if (aflag == CONVEX) { + } else if (aflag == FixSurface::CONVEX) { // must overlap w/in epsilon or higher priority to hide (can't walk around a composite surf to hide) if (contact_surfs[n].overlap > contact_surfs[m].overlap - EPSILON) contact_surfs[m].convex_index = j; @@ -1216,7 +1216,7 @@ void PairSurfGranular::walk_connections3d(std::vector &composite_surfs, m = contacts_map[k]; - if (fflag == FLAT) { + if (fflag == FixSurface::FLAT) { // flat, same-type: walk if (contact_surfs[n].type == contact_surfs[m].type && processed_contacts.find(k) == processed_contacts.end()) @@ -1256,7 +1256,7 @@ double PairSurfGranular::calculate_2d_forces(std::vector &composite_surfs) double max_overlap = -BIG; double max_overlap_ext = -BIG; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; @@ -1286,7 +1286,7 @@ double PairSurfGranular::calculate_2d_forces(std::vector &composite_surfs) int i, ck, pt, caflag; double max_dot; double *pt_x, *ptk_x; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; flag = contact_surfs[n].flag; @@ -1309,7 +1309,7 @@ double PairSurfGranular::calculate_2d_forces(std::vector &composite_surfs) max_dot = -2; ck = -1; - for (i = 0; i < contact_surfs[n].cindex.size(); i++) { + for (i = 0; i < (int) contact_surfs[n].cindex.size(); i++) { k = contact_surfs[n].cindex[i]; m = contacts_map[k]; dot = MathExtra::dot3(jnorm, contact_surfs[m].surf_norm); @@ -1322,7 +1322,7 @@ double PairSurfGranular::calculate_2d_forces(std::vector &composite_surfs) } if (ck != -1) { - if (caflag == CONCAVE) { + if (caflag == FixSurface::CONCAVE) { MathExtra::copy3(jnorm, contact_surfs[n].dr_force); } else { // See if dr has component pointing into other (k) line @@ -1379,7 +1379,7 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) int uc_flag = 0; // Find if surface is hidden and/or whether it's unconnected - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; @@ -1407,12 +1407,13 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) // Find primary constraint for all corner/edge connections int which1, which2; double max_dot1, max_dot2; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; flag = contact_surfs[n].flag; MathExtra::copy3(contact_surfs[n].surf_norm, jnorm); + which1 = which2 = -1; if (flag == -4) { which1 = 0; which2 = 2; @@ -1427,7 +1428,7 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) // If multiple constraints (e.g. a T), find which is closest aligned max_dot1 = max_dot2 = -2.0; contact_surfs[n].ck1 = contact_surfs[n].ck2 = -1; - for (i = 0; i < contact_surfs[n].cindex.size(); i++) { + for (i = 0; i < (int) contact_surfs[n].cindex.size(); i++) { k = contact_surfs[n].cindex[i]; m = contacts_map[k]; dot = MathExtra::dot3(jnorm, contact_surfs[m].surf_norm); @@ -1459,7 +1460,7 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) double max_dist_uc = 0.0; double min_dist_c = BIG; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; flag = contact_surfs[n].flag; @@ -1550,14 +1551,14 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) // per-surf calculations // ----------------------------------- - int pt, pt1, pt2, external1, external2, edge1_uc, edge2_uc; + int pt, pt1, pt2, external1, external2; double w_in_plane, dot1a, dot2a, dot1xp, dot2xp, dot1ip, dot2ip, w1_in_plane, w2_in_plane, w1, w2, wtmp; double line1[3], line2[3], dr_in_plane[3]; double dr1[3], dr2[3], fn1[3], fn2[3], fntot[3], normave[3]; double *pt_x, *pt1_x, *pt2_x; - for (auto it = 0; it < composite_surfs.size(); it++) { + for (std::size_t it = 0; it < composite_surfs.size(); it++) { n = composite_surfs[it]; j = contact_surfs[n].index; @@ -1672,8 +1673,6 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) MathExtra::zero3(fntot); w1_in_plane = 1.0; w2_in_plane = 1.0; - edge1_uc = 0; - edge2_uc = 0; // default, use dr w/o component along edge dot = MathExtra::dot3(dr, line1); @@ -1696,7 +1695,8 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) MathExtra::copy3(contact_surfs[m].surf_norm, knorm); calculate_3d_edge_force(contact_surfs[n].caflag1, jnorm, knorm, dr1, fn1); - if (contact_surfs[n].caflag1 != CONCAVE && contact_surfs[m].convex_index != -1) { + if (contact_surfs[n].caflag1 != FixSurface::CONCAVE && + contact_surfs[m].convex_index != -1) { MathExtra::add3(jnorm, knorm, normave); MathExtra::norm3(normave); dot1xp = MathExtra::dot3(dr1, normave); @@ -1708,7 +1708,6 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) dist = rmag * MathExtra::dot3(jnorm, dr); if (dist < rmag) w1_in_plane = MAX(0.0, MIN(1.0, dist / (rmag * (1.0 - w_connect)))); } - edge1_uc = 1; } // ---------- Edge 2 ---------- @@ -1720,7 +1719,8 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) MathExtra::copy3(contact_surfs[m].surf_norm, knorm); calculate_3d_edge_force(contact_surfs[n].caflag2, jnorm, knorm, dr2, fn2); - if (contact_surfs[n].caflag2 != CONCAVE && contact_surfs[m].convex_index != -1) { + if (contact_surfs[n].caflag2 != FixSurface::CONCAVE && + contact_surfs[m].convex_index != -1) { MathExtra::add3(jnorm, knorm, normave); MathExtra::norm3(normave); dot2xp = MathExtra::dot3(dr2, normave); @@ -1732,7 +1732,6 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) dist = rmag * MathExtra::dot3(jnorm, dr); if (dist < rmag) w2_in_plane = MAX(0.0, MIN(1.0, dist / (rmag * (1.0 - w_connect)))); } - edge2_uc = 1; } // ---------- Interpolation ---------- @@ -1807,7 +1806,7 @@ double PairSurfGranular::calculate_3d_forces(std::vector &composite_surfs) void PairSurfGranular::calculate_3d_edge_force(int aflag, double jnorm[3], double knorm[3], double drperp[3], double fn[3]) { - if (aflag == CONCAVE) { + if (aflag == FixSurface::CONCAVE) { MathExtra::copy3(jnorm, fn); } else { // cannot point beyond knorm diff --git a/src/GRANULAR/fix_granular_mdr.cpp b/src/GRANULAR/fix_granular_mdr.cpp index 91a1bdba92b..248eb102fff 100644 --- a/src/GRANULAR/fix_granular_mdr.cpp +++ b/src/GRANULAR/fix_granular_mdr.cpp @@ -148,13 +148,12 @@ void FixGranularMDR::setup_pre_force(int /*vflag*/) "MDR model currently only supports fix wall/gran/region, not fix wall/gran"); fix = dynamic_cast(ifix); - if (fix && fix->model->normal_model->name != "mdr") + norm_model2 = fix ? dynamic_cast(fix->model->normal_model) : nullptr; + if (!norm_model2) error->all(FLERR, Error::NOLASTLINE, "Fix wall/gran/region must use an MDR normal model when using an MDR pair model"); - norm_model2 = dynamic_cast(fix->model->normal_model); - - if (norm_model && norm_model2 && fabs(norm_model->get_emod() - norm_model2->get_emod()) > EPSILON) + if (fabs(norm_model->get_emod() - norm_model2->get_emod()) > EPSILON) error->all( FLERR, Error::NOLASTLINE, "Young's modulus in pair style, {}, does not agree with value {} in fix gran/wall/region", @@ -181,7 +180,9 @@ void FixGranularMDR::setup_pre_force(int /*vflag*/) norm_model->get_damp(), norm_model2->get_damp()); } - fix_history = dynamic_cast(modify->get_fix_by_id("NEIGH_HISTORY_GRANULAR")); + // take the neighbor history fix directly from the pair style; it registers + // the fix under an id with an instance number appended + fix_history = pair->get_fix_history(); if (!fix_history) error->all(FLERR, Error::NOLASTLINE, "Cannot find fix storing granular history"); pre_force(0); diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index 6a1e160b9de..2206aadc991 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -969,6 +969,7 @@ void FixPour::options(int narg, char **arg) if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "pour diam one", error); dstyle = ONE; radius_one = 0.5 * utils::numeric(FLERR, arg[iarg + 2], false, lmp); + if (radius_one <= 0.0) error->all(FLERR, "Illegal fix pour radius: {}", radius_one); radius_max = radius_one; iarg += 3; } else if (strcmp(arg[iarg + 1], "range") == 0) { @@ -977,6 +978,7 @@ void FixPour::options(int narg, char **arg) radius_lo = 0.5 * utils::numeric(FLERR, arg[iarg + 2], false, lmp); radius_hi = 0.5 * utils::numeric(FLERR, arg[iarg + 3], false, lmp); if (radius_lo > radius_hi) error->all(FLERR, "Illegal fix pour radii: {} exceeds {}", radius_lo, radius_hi); + if (radius_lo <= 0.0) error->all(FLERR, "Illegal fix pour radius: {}", radius_lo); radius_max = radius_hi; iarg += 4; } else if (strcmp(arg[iarg + 1], "poly") == 0) { diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 4a130f4f09d..bab3889de43 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -370,6 +370,8 @@ void GranularModel::read_restart(FILE *fp) if (comm->me == 0) utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&num_char, 1, MPI_INT, 0, world); + if ((num_char < 0) || (num_char > 65536)) + error->all(FLERR, "Invalid granular model name in restart file"); std::string model_name(num_char, ' '); if (comm->me == 0) diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp index e6f2190151b..76e4430e9f6 100644 --- a/src/GRANULAR/pair_gran_hooke_history.cpp +++ b/src/GRANULAR/pair_gran_hooke_history.cpp @@ -591,6 +591,7 @@ void PairGranHookeHistory::write_restart_settings(FILE *fp) fwrite(&gammat, sizeof(double), 1, fp); fwrite(&xmu, sizeof(double), 1, fp); fwrite(&dampflag, sizeof(int), 1, fp); + fwrite(&limit_damping, sizeof(int), 1, fp); } /* ---------------------------------------------------------------------- @@ -606,6 +607,7 @@ void PairGranHookeHistory::read_restart_settings(FILE *fp) utils::sfread(FLERR, &gammat, sizeof(double), 1, fp, nullptr, error); utils::sfread(FLERR, &xmu, sizeof(double), 1, fp, nullptr, error); utils::sfread(FLERR, &dampflag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &limit_damping, sizeof(int), 1, fp, nullptr, error); } MPI_Bcast(&kn, 1, MPI_DOUBLE, 0, world); MPI_Bcast(&kt, 1, MPI_DOUBLE, 0, world); @@ -613,6 +615,7 @@ void PairGranHookeHistory::read_restart_settings(FILE *fp) MPI_Bcast(&gammat, 1, MPI_DOUBLE, 0, world); MPI_Bcast(&xmu, 1, MPI_DOUBLE, 0, world); MPI_Bcast(&dampflag, 1, MPI_INT, 0, world); + MPI_Bcast(&limit_damping, 1, MPI_INT, 0, world); } /* ---------------------------------------------------------------------- */ diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 5b65d8edfe6..32e13cad3f6 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -52,9 +52,11 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp), fix_rigid(nullptr) finitecutflag = 1; single_extra = 12; + extra_svector = 0; svector = new double[single_extra]; neighprev = 0; + freeze_group_bit = 0; nmax = 0; mass_rigid = nullptr; @@ -82,7 +84,10 @@ PairGranular::PairGranular(LAMMPS *lmp) : Pair(lmp), fix_rigid(nullptr) id_dummy = utils::strdup(std::string("NEIGH_HISTORY_GRANULAR_DUMMY") + std::to_string(instance_me)); id_history = utils::strdup(std::string("NEIGH_HISTORY_GRANULAR") + std::to_string(instance_me)); + cutoff_global = -1.0; fix_history = nullptr; + models_list = nullptr; + nmodels = maxmodels = 0; fix_dummy = dynamic_cast(modify->add_fix(fmt::format("{} all DUMMY", id_dummy))); } @@ -682,6 +687,8 @@ void PairGranular::read_restart(FILE *fp) if (me == 0) utils::sfread(FLERR,&nmodels,sizeof(int),1,fp,nullptr,error); MPI_Bcast(&nmodels,1,MPI_INT,0,world); + if ((nmodels < 0) || (nmodels > maxmodels)) + error->all(FLERR,"Invalid number of granular models in restart file"); for (i = 0; i < nmodels; i++) { delete models_list[i]; @@ -746,7 +753,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, model->history_update = 0; // Don't update history // If history is needed - double *history,*allhistory; + double *history = nullptr, *allhistory = nullptr; int jnum = list->numneigh[i]; int *jlist = list->firstneigh[i]; if (use_history) { diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 65ed6603d2f..84a231a8377 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -46,6 +46,7 @@ class PairGranular : public Pair { double memory_usage() override; void transfer_history(double *, double *, int, int) override; [[nodiscard]] int get_size_history() const { return size_history; } + [[nodiscard]] class FixNeighHistory *get_fix_history() const { return fix_history; } // granular models class Granular_NS::GranularModel** models_list; diff --git a/src/GRAPHICS/dump_image.cpp b/src/GRAPHICS/dump_image.cpp index 1fa15698074..71448bce5ea 100644 --- a/src/GRAPHICS/dump_image.cpp +++ b/src/GRAPHICS/dump_image.cpp @@ -115,13 +115,13 @@ savedLights reset_lighting(Image *image, double ambient, double key, double fill void restore_lighting(const savedLights &saved, Image *image) { image->ambientColor[0] = image->ambientColor[1] = image->ambientColor[2] = - std::clamp(0.0, 1.0, saved.ambient); + std::clamp(saved.ambient, 0.0, 1.0); image->keyLightColor[0] = image->keyLightColor[1] = image->keyLightColor[2] = - std::clamp(0.0, 1.0, saved.key); + std::clamp(saved.key, 0.0, 1.0); image->fillLightColor[0] = image->fillLightColor[1] = image->fillLightColor[2] = - std::clamp(0.0, 1.0, saved.fill); + std::clamp(saved.fill, 0.0, 1.0); image->backLightColor[0] = image->backLightColor[1] = image->backLightColor[2] = - std::clamp(0.0, 1.0, saved.back); + std::clamp(saved.back, 0.0, 1.0); } } // namespace @@ -1716,7 +1716,7 @@ void DumpImage::create_image() xmid[1] = x[atom2][1] - 0.5*dely; xmid[2] = x[atom2][2] - 0.5*delz; if (bcolor == ATOM) - image->draw_cylinder(xmid,x[atom2],color2,diameter,3,aopacity[type[atom1]]); + image->draw_cylinder(xmid,x[atom2],color2,diameter,3,aopacity[type[atom2]]); else image->draw_cylinder(xmid,x[atom2],color,diameter,3,bopacity[btype]); } else image->draw_cylinder(x[atom1],x[atom2],color,diameter,3,bopacity[btype]); diff --git a/src/GRAPHICS/fix_graphics_labels.cpp b/src/GRAPHICS/fix_graphics_labels.cpp index 9088756d57b..af78578cfb3 100644 --- a/src/GRAPHICS/fix_graphics_labels.cpp +++ b/src/GRAPHICS/fix_graphics_labels.cpp @@ -242,6 +242,12 @@ unsigned char *read_image(FILE *fp, int &width, int &height, const std::string & width = (int) header.width[0] + ((int) header.width[1]) * 256; height = (int) header.height[0] + ((int) header.height[1]) * 256; + // reject huge images where the buffer size computation would overflow an int + if ((bigint) 3 * width * height > (bigint) MAXSMALLINT) { + info = "TGA image dimensions too large"; + return nullptr; + } + bool right2left = (header.imagedescriptor & 0x10) ? true : false; bool fromtop = (header.imagedescriptor & 0x20) ? true : false; diff --git a/src/KOKKOS/compute_temp_deform_kokkos.h b/src/KOKKOS/compute_temp_deform_kokkos.h index 49d00a53d95..ec88e72ebc3 100644 --- a/src/KOKKOS/compute_temp_deform_kokkos.h +++ b/src/KOKKOS/compute_temp_deform_kokkos.h @@ -86,7 +86,8 @@ class ComputeTempDeformKokkos: public ComputeTempDeform { class DomainKokkos *domainKK; - Few h_rate, h_ratelo, d_grad_u; + Few h_rate, d_grad_u; + Few h_ratelo; Few d_xref; // stores xmid[3], ylo, zlo }; diff --git a/src/KOKKOS/fix_reaxff_bonds_kokkos.cpp b/src/KOKKOS/fix_reaxff_bonds_kokkos.cpp index 69ea970b611..ef0abb1fa22 100644 --- a/src/KOKKOS/fix_reaxff_bonds_kokkos.cpp +++ b/src/KOKKOS/fix_reaxff_bonds_kokkos.cpp @@ -36,6 +36,7 @@ FixReaxFFBondsKokkos::FixReaxFFBondsKokkos(LAMMPS *lmp, int narg, char **arg) : kokkosable = 1; atomKK = (AtomKokkos *) atom; + nbuf = 0; datamask_read = EMPTY_MASK; datamask_modify = EMPTY_MASK; } diff --git a/src/KOKKOS/fix_wall_gran_old.cpp b/src/KOKKOS/fix_wall_gran_old.cpp index f832a80d11c..1356ebbd1d3 100644 --- a/src/KOKKOS/fix_wall_gran_old.cpp +++ b/src/KOKKOS/fix_wall_gran_old.cpp @@ -1253,6 +1253,7 @@ void FixWallGranOld::granular(double rsq, double dx, double dy, double dz, Fncrit = fabs(Fne + 2*F_pulloff); } else if (normal_model == DMT) { + coh = normal_coeffs[3]; F_pulloff = 4*MY_PI*coh*Reff; Fncrit = fabs(Fne + 2*F_pulloff); } diff --git a/src/KOKKOS/fix_wall_region_kokkos.cpp b/src/KOKKOS/fix_wall_region_kokkos.cpp index dffd0c1e643..870697af9a6 100644 --- a/src/KOKKOS/fix_wall_region_kokkos.cpp +++ b/src/KOKKOS/fix_wall_region_kokkos.cpp @@ -55,6 +55,21 @@ FixWallRegionKokkos::~FixWallRegionKokkos() /* ---------------------------------------------------------------------- */ +template +void FixWallRegionKokkos::init() +{ + FixWallRegion::init(); + + // without this check a region w/o KOKKOS support was silently ignored: + // no wall forces and undefined energy/virial contributions + + if (!dynamic_cast*>(region) && + !dynamic_cast*>(region)) + error->all(FLERR,"Fix wall/region/kk requires region style block/kk or sphere/kk"); +} + +/* ---------------------------------------------------------------------- */ + template void FixWallRegionKokkos::post_force(int vflag) { diff --git a/src/KOKKOS/fix_wall_region_kokkos.h b/src/KOKKOS/fix_wall_region_kokkos.h index 584a0615be5..9786a8bee4e 100644 --- a/src/KOKKOS/fix_wall_region_kokkos.h +++ b/src/KOKKOS/fix_wall_region_kokkos.h @@ -40,6 +40,7 @@ class FixWallRegionKokkos : public FixWallRegion { FixWallRegionKokkos(class LAMMPS *, int, char **); ~FixWallRegionKokkos() override; + void init() override; void post_force(int) override; template diff --git a/src/KOKKOS/memory_kokkos.h b/src/KOKKOS/memory_kokkos.h index fad2aba98cd..bf8567f81bd 100644 --- a/src/KOKKOS/memory_kokkos.h +++ b/src/KOKKOS/memory_kokkos.h @@ -80,7 +80,7 @@ TYPE grow_kokkos(TYPE &data, typename TYPE::value_type *&array, int n1, const ch ------------------------------------------------------------------------- */ template -void destroy_kokkos(TYPE data, typename TYPE::value_type* &array) +void destroy_kokkos(TYPE &data, typename TYPE::value_type* &array) { if (array == nullptr) return; data = TYPE(); @@ -269,7 +269,7 @@ TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, ------------------------------------------------------------------------- */ template -void destroy_kokkos(TYPE data, typename TYPE::value_type** &array) +void destroy_kokkos(TYPE &data, typename TYPE::value_type** &array) { static_assert(std::is_same_v, "A Kokkos view must have LayoutRight to alias with legacy data structures"); @@ -402,7 +402,7 @@ TYPE grow_kokkos(TYPE &data, typename TYPE::value_type ***&array, ------------------------------------------------------------------------- */ template -void destroy_kokkos(TYPE data, typename TYPE::value_type*** &array) +void destroy_kokkos(TYPE &data, typename TYPE::value_type*** &array) { static_assert(std::is_same_v, "A Kokkos view must have LayoutRight to alias with legacy data structures"); diff --git a/src/KOKKOS/mliap_so3_kokkos.cpp b/src/KOKKOS/mliap_so3_kokkos.cpp index e0290be03ef..8c5eb4f141e 100644 --- a/src/KOKKOS/mliap_so3_kokkos.cpp +++ b/src/KOKKOS/mliap_so3_kokkos.cpp @@ -679,22 +679,22 @@ void MLIAP_SO3Kokkos::spectrum(int nlocal, DAT::tdual_int_1d numneig bigint totali; - totali = totaln * m_Nmax * (m_lmax + 1); - if ( totali > (int)m_sbes_array.extent(0)) { + totali = (bigint) totaln * m_Nmax * (m_lmax + 1); + if ( totali > (bigint)m_sbes_array.extent(0)) { memoryKK->realloc_kokkos(m_sbes_array, "MLIAP_SO3Kokkos:m_sbes_array", totali); memoryKK->realloc_kokkos(m_sbes_darray, "MLIAP_SO3Kokkos:m_sbes_darray", totali); alloc_arrays += 2.0 * totali * sizeof(double); } - totali = totaln * m_nmax * (m_lmax + 1); - if ( totali > (int)m_rip_array.extent(0)) { + totali = (bigint) totaln * m_nmax * (m_lmax + 1); + if ( totali > (bigint)m_rip_array.extent(0)) { memoryKK->realloc_kokkos(m_rip_array, "MLIAP_SO3Kokkos:m_rip_array", totali); memoryKK->realloc_kokkos(m_rip_darray, "MLIAP_SO3Kokkos:m_rip_darray", totali); alloc_arrays += 2.0 * totali * sizeof(double); } - totali = totaln * ncoefs * 3; - if ( totali > (int)k_dplist_r.extent(0)) { + totali = (bigint) totaln * ncoefs * 3; + if ( totali > (bigint)k_dplist_r.extent(0)) { memoryKK->realloc_kokkos(k_dplist_r, "MLIAP_SO3Kokkos:m_dplist_r", (int)totaln, ncoefs, 3); alloc_arrays += 2.0 * totali * sizeof(double); } @@ -812,8 +812,8 @@ void MLIAP_SO3Kokkos::spectrum_dxdr(int nlocal, DAT::tdual_int_1d nu } } - totali = totaln * m_Nmax * (m_lmax + 1); - if ( totali > (int)m_sbes_array.extent(0)) { + totali = (bigint) totaln * m_Nmax * (m_lmax + 1); + if ( totali > (bigint)m_sbes_array.extent(0)) { memoryKK->create_kokkos(m_sbes_array, totali, "MLIAP_SO3Kokkos:m_sbes_array"); memoryKK->create_kokkos(m_sbes_darray, totali, "MLIAP_SO3Kokkos:m_sbes_darray"); @@ -896,7 +896,7 @@ void MLIAP_SO3Kokkos::operator() (const MLIAP_SO3Kokkos: compute_uarray_recursive(x, y, z, r, twolmax, ulist_r, ulist_i, m_idxu_block, m_rootpq); double sfac_weight = compute_sfac(r, t_rcut)*double(weight); - bigint gindex = (ipair - 1) * findex; + bigint gindex = (bigint) (ipair - 1) * findex; for (int n = 0; n < t_nmax; n++) { int i = 0; for (int l = 0; l < t_lmax + 1; l++) { diff --git a/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp b/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp index e7eab07b2d6..2ba9e1f79e8 100644 --- a/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp +++ b/src/KOKKOS/pair_dpd_fdt_energy_kokkos.cpp @@ -295,27 +295,27 @@ void PairDPDfdtEnergyKokkos::compute(int eflag_in, int vflag_in) } else { if (neighflag == HALF) { if (newton_pair) { - if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); - else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else { - if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); - else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } else if (neighflag == HALFTHREAD) { if (newton_pair) { - if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); - else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else { - if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); - else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } else if (neighflag == FULL) { if (newton_pair) { - if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); - else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } else { - if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); - else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); + if (evflag) Kokkos::parallel_reduce(Kokkos::RangePolicy >(0,inum),*this,ev); + else Kokkos::parallel_for(Kokkos::RangePolicy >(0,inum),*this); } } } diff --git a/src/KOKKOS/pair_exp6_rx_kokkos.cpp b/src/KOKKOS/pair_exp6_rx_kokkos.cpp index d179d353582..a72c0a47be5 100644 --- a/src/KOKKOS/pair_exp6_rx_kokkos.cpp +++ b/src/KOKKOS/pair_exp6_rx_kokkos.cpp @@ -1999,7 +1999,7 @@ void partition_range( const int begin, const int end, int &thread_begin, int &th #ifndef LMP_KOKKOS_GPU template template -void PairExp6rxKokkos::getMixingWeightsVect(const int np_total, int errorFlag, +void PairExp6rxKokkos::getMixingWeightsVect(const int np_total, int &errorFlag, ArrayT &epsilon1, ArrayT &alpha1, ArrayT &rm1, ArrayT &mixWtSite1, ArrayT &epsilon2, ArrayT &alpha2, ArrayT &rm2, ArrayT &mixWtSite2, ArrayT &epsilon1_old, ArrayT &alpha1_old, ArrayT &rm1_old, ArrayT &mixWtSite1old, ArrayT &epsilon2_old, ArrayT &alpha2_old, ArrayT &rm2_old, ArrayT &mixWtSite2old) const { ArrayT epsilon = PairExp6ParamDataVect.epsilon ; diff --git a/src/KOKKOS/pair_exp6_rx_kokkos.h b/src/KOKKOS/pair_exp6_rx_kokkos.h index bc047c9f954..d7bb9905c43 100644 --- a/src/KOKKOS/pair_exp6_rx_kokkos.h +++ b/src/KOKKOS/pair_exp6_rx_kokkos.h @@ -198,7 +198,7 @@ class PairExp6rxKokkos : public PairExp6rx { void getMixingWeights(int, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &, KK_FLOAT &) const; template - void getMixingWeightsVect(const int, int, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &) const; + void getMixingWeightsVect(const int, int &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &, ArrayT &) const; // NOLINTNEXTLINE KOKKOS_INLINE_FUNCTION diff --git a/src/KOKKOS/pair_hybrid_scaled_kokkos.cpp b/src/KOKKOS/pair_hybrid_scaled_kokkos.cpp index 42f94cb57a5..15bdce989f0 100644 --- a/src/KOKKOS/pair_hybrid_scaled_kokkos.cpp +++ b/src/KOKKOS/pair_hybrid_scaled_kokkos.cpp @@ -745,10 +745,14 @@ void PairHybridScaledKokkos::read_restart(FILE *fp) char *tmp; if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 0) || (n > 4096)) + error->all(FLERR, "Invalid number of scale variables in restart file"); scalevars.resize(n); for (auto &scale : scalevars) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) + error->all(FLERR, "Invalid variable name length in restart file"); tmp = new char[n]; if (me == 0) utils::sfread(FLERR, tmp, sizeof(char), n, fp, nullptr, error); MPI_Bcast(tmp, n, MPI_CHAR, 0, world); diff --git a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp index cadb5500d59..3d244fc4e6f 100644 --- a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp +++ b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp @@ -595,6 +595,8 @@ void PairMultiLucyRXKokkos::getMixingWeights(int id, KK_FLOAT &mixWt nTotal += dvector(ispecies,id); nTotalOld += dvector(ispecies+nspecies,id); } + if (nTotal < MY_EPSILON || nTotalOld < MY_EPSILON) + Kokkos::abort("The number of molecules in CG particle is less than 10*DBL_EPSILON."); if (isOneFluid(isite1) == false) { nMoleculesOld1 = dvector(isite1+nspecies,id); diff --git a/src/KOKKOS/pair_table_rx_kokkos.cpp b/src/KOKKOS/pair_table_rx_kokkos.cpp index 3082304e38a..131f70b8f03 100644 --- a/src/KOKKOS/pair_table_rx_kokkos.cpp +++ b/src/KOKKOS/pair_table_rx_kokkos.cpp @@ -80,6 +80,8 @@ void getMixingWeights( assert(ispecies+nspecies < (int)dvector.extent(0)); nTotalOld += dvector(ispecies+nspecies,id); } + if (nTotal < MY_EPSILON || nTotalOld < MY_EPSILON) + Kokkos::abort("The number of molecules in CG particle is less than 10*DBL_EPSILON."); assert(isite1 >= 0); assert(isite1 < nspecies); diff --git a/src/KOKKOS/pair_uf3_kokkos.cpp b/src/KOKKOS/pair_uf3_kokkos.cpp index 707b53e93f5..b217f8348ee 100644 --- a/src/KOKKOS/pair_uf3_kokkos.cpp +++ b/src/KOKKOS/pair_uf3_kokkos.cpp @@ -76,7 +76,7 @@ template PairUF3Kokkos::~PairUF3Kokkos() template template -void PairUF3Kokkos::destroy_3d(TYPE data, typename TYPE::value_type*** &array) +void PairUF3Kokkos::destroy_3d(TYPE &data, typename TYPE::value_type*** &array) { if (array == nullptr) return; data = TYPE(); @@ -89,7 +89,7 @@ void PairUF3Kokkos::destroy_3d(TYPE data, typename TYPE::value_type* template template -void PairUF3Kokkos::destroy_4d(TYPE data, typename TYPE::value_type**** &array) +void PairUF3Kokkos::destroy_4d(TYPE &data, typename TYPE::value_type**** &array) { if (array == nullptr) return; data = TYPE(); diff --git a/src/KOKKOS/pair_uf3_kokkos.h b/src/KOKKOS/pair_uf3_kokkos.h index 17b6f406f10..1af7cc6c7f2 100644 --- a/src/KOKKOS/pair_uf3_kokkos.h +++ b/src/KOKKOS/pair_uf3_kokkos.h @@ -83,8 +83,8 @@ template class PairUF3Kokkos : public PairUF3 { DAT::ttransform_kkfloat_4d k_min_cut_3b; typename AT::t_kkfloat_3d d_cut_3b; typename AT::t_kkfloat_4d d_min_cut_3b; - template void destroy_3d(TYPE data, typename TYPE::value_type*** &array); - template void destroy_4d(TYPE data, typename TYPE::value_type**** &array); + template void destroy_3d(TYPE &data, typename TYPE::value_type*** &array); + template void destroy_4d(TYPE &data, typename TYPE::value_type**** &array); Kokkos::View /*d_cutsq,*/ d_cut_3b_list; //Kokkos::View d_cut_3b; diff --git a/src/KOKKOS/pair_vashishta_kokkos.cpp b/src/KOKKOS/pair_vashishta_kokkos.cpp index 4a64ac0287e..47d63868418 100644 --- a/src/KOKKOS/pair_vashishta_kokkos.cpp +++ b/src/KOKKOS/pair_vashishta_kokkos.cpp @@ -916,7 +916,10 @@ void PairVashishtaKokkos::ev_tally3_atom(EV_FLOAT & /*ev*/, const in { KK_FLOAT epairthird,v[6]; - const int VFLAG = vflag_either; + // only tally per-atom virial data here: the caller computes valid fj/fk data + // only when vflag_atom is set, so vflag_either would be too broad + + const int VFLAG = vflag_atom; if (eflag_atom) { epairthird = THIRD * (evdwl + ecoul); diff --git a/src/KOKKOS/region_block_kokkos.h b/src/KOKKOS/region_block_kokkos.h index 7009b6ce31e..24285e2448f 100644 --- a/src/KOKKOS/region_block_kokkos.h +++ b/src/KOKKOS/region_block_kokkos.h @@ -235,6 +235,10 @@ class RegBlockKokkos : public RegBlock, public KokkosBase { mindist = dist; } } + + // no contact possible if all faces are open + + if (mindist == MAXDOUBLEINT) return 0; } add_contact(0, x, xp, yp, zp); diff --git a/src/KOKKOS/remap_kokkos.cpp b/src/KOKKOS/remap_kokkos.cpp index 1b75e8d2fd0..346e40123ab 100644 --- a/src/KOKKOS/remap_kokkos.cpp +++ b/src/KOKKOS/remap_kokkos.cpp @@ -395,13 +395,15 @@ struct remap_plan_3d_kokkos* RemapKokkos::remap_3d_creat plan->packplan = (struct pack_plan_3d *) malloc(nsend*sizeof(struct pack_plan_3d)); - if (plan->usenonblocking) + if (plan->usenonblocking) { plan->isend_reqs = (MPI_Request *) malloc(nsend*sizeof(MPI_Request)); - plan->send_bufloc = (int *) malloc(nsend*sizeof(int)); - if (plan->send_bufloc == nullptr) return nullptr; + } + plan->send_bufloc = (int *) malloc(nsend*sizeof(int)); if (plan->send_offset == nullptr || plan->send_size == nullptr || - plan->send_proc == nullptr || plan->packplan == nullptr) return nullptr; + plan->send_proc == nullptr || plan->packplan == nullptr || + (plan->usenonblocking && (plan->isend_reqs == nullptr)) || + (plan->send_bufloc == nullptr)) return nullptr; } if (nrecv) { diff --git a/src/KOKKOS/sna_kokkos_impl.h b/src/KOKKOS/sna_kokkos_impl.h index ef85c4f3650..b63871950c3 100644 --- a/src/KOKKOS/sna_kokkos_impl.h +++ b/src/KOKKOS/sna_kokkos_impl.h @@ -2229,14 +2229,14 @@ real_type SNAKokkos::compute_s constexpr real_type zero = static_cast(0.0); constexpr real_type onehalf = static_cast(0.5); if (switch_flag == 0) sfac_outer = one; - if (switch_flag == 1) { + else if (switch_flag == 1) { if (r <= rmin0) sfac_outer = one; else if (r > rcut) return zero; else { real_type rcutfac = static_cast(MY_PI) / (rcut - rmin0); sfac_outer = onehalf * (cos((r - rmin0) * rcutfac) + one); } - } + } else sfac_outer = zero; // switch_flag is always 0 or 1 if (switch_inner_flag == 0) return sfac_outer; if (switch_inner_flag == 1) { @@ -2263,14 +2263,14 @@ real_type SNAKokkos::compute_d constexpr real_type zero = static_cast(0.0); constexpr real_type onehalf = static_cast(0.5); if (switch_flag == 0) dsfac_outer = zero; - if (switch_flag == 1) { + else if (switch_flag == 1) { if (r <= rmin0) dsfac_outer = zero; else if (r > rcut) return zero; else { real_type rcutfac = static_cast(MY_PI) / (rcut - rmin0); dsfac_outer = -onehalf * sin((r - rmin0) * rcutfac) * rcutfac; } - } + } else dsfac_outer = zero; // switch_flag is always 0 or 1 if (switch_inner_flag == 0) return dsfac_outer; if (switch_inner_flag == 1) { @@ -2281,14 +2281,14 @@ real_type SNAKokkos::compute_d // calculate sfac_outer if (switch_flag == 0) sfac_outer = one; - if (switch_flag == 1) { + else if (switch_flag == 1) { if (r <= rmin0) sfac_outer = one; else if (r > rcut) sfac_outer = zero; else { real_type rcutfac = static_cast(MY_PI) / (rcut - rmin0); sfac_outer = onehalf * (cos((r - rmin0) * rcutfac) + one); } - } + } else sfac_outer = zero; // switch_flag is always 0 or 1 // calculate sfac_inner diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 9f8278983aa..13e84a0ff94 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -305,7 +305,7 @@ void PPPMDisp::init() int *ptr = pair ? (int *) pair->extract("ewald_order",tmp) : nullptr; double *p_cutoff = pair ? (double *) pair->extract("cut_coul",tmp) : nullptr; double *p_cutoff_lj = pair ? (double *) pair->extract("cut_vdwl",tmp) : nullptr; - if (!(ptr||p_cutoff||p_cutoff_lj)) + if (!ptr || !p_cutoff || !p_cutoff_lj) error->all(FLERR,"KSpace style is incompatible with Pair style"); cutoff = *p_cutoff; cutoff_lj = *p_cutoff_lj; diff --git a/src/KSPACE/pppm_disp_tip4p.cpp b/src/KSPACE/pppm_disp_tip4p.cpp index 0541669bbc5..f1f21946105 100644 --- a/src/KSPACE/pppm_disp_tip4p.cpp +++ b/src/KSPACE/pppm_disp_tip4p.cpp @@ -525,8 +525,13 @@ void PPPMDispTIP4P::slabcorr(int /*eflag*/) double dipole_r2 = 0.0; if (eflag_atom || fabs(qsum) > SMALL) { - for (int i = 0; i < nlocal; i++) - dipole_r2 += q[i]*x[i][2]*x[i][2]; + for (int i = 0; i < nlocal; i++) { + if (type[i] == typeO) { + find_M(i,iH1,iH2,xM); + xi = xM; + } else xi = x[i]; + dipole_r2 += q[i]*xi[2]*xi[2]; + } // sum local contributions @@ -543,29 +548,42 @@ void PPPMDispTIP4P::slabcorr(int /*eflag*/) if (eflag_global) energy_1 += qscale * e_slabcorr; - // per-atom energy + // per-atom energy. for O atoms evaluate at the M site and redistribute + // (1-alpha) : alpha/2 : alpha/2 onto O, H1, H2 like fieldforce_c_peratom() if (eflag_atom) { double efact = qscale * MY_2PI/volume; - for (int i = 0; i < nlocal; i++) - eatom[i] += efact * q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + - qsum*x[i][2]*x[i][2]) - qsum*zprd_slab*zprd_slab/12.0); + for (int i = 0; i < nlocal; i++) { + if (type[i] == typeO) { + find_M(i,iH1,iH2,xM); + const double e_pa = efact * q[i]*(xM[2]*dipole_all - 0.5*(dipole_r2 + + qsum*xM[2]*xM[2]) - qsum*zprd_slab*zprd_slab/12.0); + eatom[i] += e_pa*(1 - alpha); + eatom[iH1] += e_pa*alpha*0.5; + eatom[iH2] += e_pa*alpha*0.5; + } else { + eatom[i] += efact * q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + + qsum*x[i][2]*x[i][2]) - qsum*zprd_slab*zprd_slab/12.0); + } + } } - // add on force corrections + // add on force corrections. the force on the M site charge is + // evaluated at the M site and redistributed onto O, H1, H2 double ffact = qscale * (-4.0*MY_PI/volume); double **f = atom->f; for (int i = 0; i < nlocal; i++) { - double fzi_corr = ffact * q[i]*(dipole_all - qsum*x[i][2]); if (type[i] == typeO) { find_M(i,iH1,iH2,xM); + const double fzi_corr = ffact * q[i]*(dipole_all - qsum*xM[2]); f[i][2] += fzi_corr*(1 - alpha); f[iH1][2] += 0.5*alpha*fzi_corr; f[iH2][2] += 0.5*alpha*fzi_corr; + } else { + f[i][2] += ffact * q[i]*(dipole_all - qsum*x[i][2]); } - else f[i][2] += fzi_corr; } } diff --git a/src/KSPACE/pppm_tip4p.cpp b/src/KSPACE/pppm_tip4p.cpp index fff4abc2226..5777658b403 100644 --- a/src/KSPACE/pppm_tip4p.cpp +++ b/src/KSPACE/pppm_tip4p.cpp @@ -513,8 +513,13 @@ void PPPMTIP4P::slabcorr() double dipole_r2 = 0.0; if (eflag_atom || fabs(qsum) > SMALL) { - for (int i = 0; i < nlocal; i++) - dipole_r2 += q[i]*x[i][2]*x[i][2]; + for (int i = 0; i < nlocal; i++) { + if (type[i] == typeO) { + find_M(i,iH1,iH2,xM); + xi = xM; + } else xi = x[i]; + dipole_r2 += q[i]*xi[2]*xi[2]; + } // sum local contributions @@ -529,31 +534,44 @@ void PPPMTIP4P::slabcorr() qsum*dipole_r2 - qsum*qsum*zprd_slab*zprd_slab/12.0)/volume; const double qscale = force->qqrd2e * scale; - if (eflag_global) energy_1 += qscale * e_slabcorr; + if (eflag_global) energy += qscale * e_slabcorr; - // per-atom energy + // per-atom energy. for O atoms evaluate at the M site and redistribute + // (1-alpha) : alpha/2 : alpha/2 onto O, H1, H2 like fieldforce_peratom() if (eflag_atom) { double efact = qscale * MY_2PI/volume; - for (int i = 0; i < nlocal; i++) - eatom[i] += efact * q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + - qsum*x[i][2]*x[i][2]) - qsum*zprd_slab*zprd_slab/12.0); + for (int i = 0; i < nlocal; i++) { + if (type[i] == typeO) { + find_M(i,iH1,iH2,xM); + const double e_pa = efact * q[i]*(xM[2]*dipole_all - 0.5*(dipole_r2 + + qsum*xM[2]*xM[2]) - qsum*zprd_slab*zprd_slab/12.0); + eatom[i] += e_pa*(1 - alpha); + eatom[iH1] += e_pa*alpha*0.5; + eatom[iH2] += e_pa*alpha*0.5; + } else { + eatom[i] += efact * q[i]*(x[i][2]*dipole_all - 0.5*(dipole_r2 + + qsum*x[i][2]*x[i][2]) - qsum*zprd_slab*zprd_slab/12.0); + } + } } - // add on force corrections + // add on force corrections. the force on the M site charge is + // evaluated at the M site and redistributed onto O, H1, H2 double ffact = qscale * (-4.0*MY_PI/volume); double **f = atom->f; for (int i = 0; i < nlocal; i++) { - double fzi_corr = ffact * q[i]*(dipole_all - qsum*x[i][2]); if (type[i] == typeO) { find_M(i,iH1,iH2,xM); + const double fzi_corr = ffact * q[i]*(dipole_all - qsum*xM[2]); f[i][2] += fzi_corr*(1 - alpha); f[iH1][2] += 0.5*alpha*fzi_corr; f[iH2][2] += 0.5*alpha*fzi_corr; + } else { + f[i][2] += ffact * q[i]*(dipole_all - qsum*x[i][2]); } - else f[i][2] += fzi_corr; } } diff --git a/src/LEPTON/angle_lepton.cpp b/src/LEPTON/angle_lepton.cpp index 30efa821e8a..99071076570 100644 --- a/src/LEPTON/angle_lepton.cpp +++ b/src/LEPTON/angle_lepton.cpp @@ -358,12 +358,16 @@ void AngleLepton::read_restart(FILE *fp) } MPI_Bcast(&num, 1, MPI_INT, 0, world); MPI_Bcast(&maxlen, 1, MPI_INT, 0, world); + if ((num < 0) || (num > 65536) || (maxlen < 0) || (maxlen > 65536)) + error->all(FLERR, "Invalid expression data in restart file"); char *buf = new char[maxlen]; for (int i = 0; i < num; ++i) { if (comm->me == 0) { utils::sfread(FLERR, &len, sizeof(int), 1, fp, nullptr, error); + if ((len < 1) || (len > maxlen)) + error->one(FLERR, "Invalid expression length in restart file"); utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); diff --git a/src/LEPTON/bond_lepton.cpp b/src/LEPTON/bond_lepton.cpp index 89090a7ba0c..4c8b5599671 100644 --- a/src/LEPTON/bond_lepton.cpp +++ b/src/LEPTON/bond_lepton.cpp @@ -309,12 +309,16 @@ void BondLepton::read_restart(FILE *fp) } MPI_Bcast(&num, 1, MPI_INT, 0, world); MPI_Bcast(&maxlen, 1, MPI_INT, 0, world); + if ((num < 0) || (num > 65536) || (maxlen < 0) || (maxlen > 65536)) + error->all(FLERR, "Invalid expression data in restart file"); char *buf = new char[maxlen]; for (int i = 0; i < num; ++i) { if (comm->me == 0) { utils::sfread(FLERR, &len, sizeof(int), 1, fp, nullptr, error); + if ((len < 1) || (len > maxlen)) + error->one(FLERR, "Invalid expression length in restart file"); utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); diff --git a/src/LEPTON/dihedral_lepton.cpp b/src/LEPTON/dihedral_lepton.cpp index 6c345358296..cc74bf49c7f 100644 --- a/src/LEPTON/dihedral_lepton.cpp +++ b/src/LEPTON/dihedral_lepton.cpp @@ -452,12 +452,16 @@ void DihedralLepton::read_restart(FILE *fp) } MPI_Bcast(&num, 1, MPI_INT, 0, world); MPI_Bcast(&maxlen, 1, MPI_INT, 0, world); + if ((num < 0) || (num > 65536) || (maxlen < 0) || (maxlen > 65536)) + error->all(FLERR, "Invalid expression data in restart file"); char *buf = new char[maxlen]; for (int i = 0; i < num; ++i) { if (comm->me == 0) { utils::sfread(FLERR, &len, sizeof(int), 1, fp, nullptr, error); + if ((len < 1) || (len > maxlen)) + error->one(FLERR, "Invalid expression length in restart file"); utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); diff --git a/src/LEPTON/pair_lepton.cpp b/src/LEPTON/pair_lepton.cpp index 82aa08a5928..fa59dd4ecea 100644 --- a/src/LEPTON/pair_lepton.cpp +++ b/src/LEPTON/pair_lepton.cpp @@ -370,12 +370,16 @@ void PairLepton::read_restart(FILE *fp) } MPI_Bcast(&num, 1, MPI_INT, 0, world); MPI_Bcast(&maxlen, 1, MPI_INT, 0, world); + if ((num < 0) || (num > 65536) || (maxlen < 0) || (maxlen > 65536)) + error->all(FLERR, "Invalid expression data in restart file"); char *buf = new char[maxlen]; for (int i = 0; i < num; ++i) { if (me == 0) { utils::sfread(FLERR, &len, sizeof(int), 1, fp, nullptr, error); + if ((len < 1) || (len > maxlen)) + error->one(FLERR, "Invalid expression length in restart file"); utils::sfread(FLERR, buf, sizeof(char), len, fp, nullptr, error); } MPI_Bcast(buf, maxlen, MPI_CHAR, 0, world); diff --git a/src/MACHDYN/fix_smd_setvel.cpp b/src/MACHDYN/fix_smd_setvel.cpp index 7351edd0f9f..b39b8c737d8 100644 --- a/src/MACHDYN/fix_smd_setvel.cpp +++ b/src/MACHDYN/fix_smd_setvel.cpp @@ -57,6 +57,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : extvector = 1; if (strstr(arg[3], "v_") == arg[3]) { + delete[] xstr; xstr = utils::strdup(&arg[3][2]); } else if (strcmp(arg[3], "NULL") == 0) { xstyle = NONE; @@ -65,6 +66,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : xstyle = CONSTANT; } if (strstr(arg[4], "v_") == arg[4]) { + delete[] ystr; ystr = utils::strdup(&arg[4][2]); } else if (strcmp(arg[4], "NULL") == 0) { ystyle = NONE; @@ -73,6 +75,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : ystyle = CONSTANT; } if (strstr(arg[5], "v_") == arg[5]) { + delete[] zstr; zstr = utils::strdup(&arg[5][2]); } else if (strcmp(arg[5], "NULL") == 0) { zstyle = NONE; @@ -89,6 +92,7 @@ FixSMDSetVel::FixSMDSetVel(LAMMPS *lmp, int narg, char **arg) : if (iarg + 2 > narg) error->all(FLERR, "Illegal fix setvelocity command"); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix setvelocity does not exist", arg[iarg + 1]); + delete[] idregion; idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else diff --git a/src/MANIFOLD/manifold_thylakoid_shared.cpp b/src/MANIFOLD/manifold_thylakoid_shared.cpp index 6d2f8004bd6..fd1331a8f07 100644 --- a/src/MANIFOLD/manifold_thylakoid_shared.cpp +++ b/src/MANIFOLD/manifold_thylakoid_shared.cpp @@ -21,7 +21,7 @@ using namespace user_manifold; thyla_part::thyla_part( int type, double *args, double xlo, double ylo, double zlo, double xhi, double yhi, double zhi ) - : type(type), xlo(xlo), xhi(xhi), + : type(type), err_flag(0), xlo(xlo), xhi(xhi), ylo(ylo), yhi(yhi), zlo(zlo), zhi(zhi) { switch(type) { @@ -83,7 +83,12 @@ thyla_part::thyla_part( int type, double *args, double xlo, double ylo, double z params[6] = args[6]; break; default: + // only the types above are used by the internal callers; + // flag the error and do not read the never-assigned parameters err_flag = -1; + for (int i = 0; i < 7; ++i) params[i] = 0.0; + x0 = y0 = z0 = 0.0; + return; } x0 = (type == THYLA_TYPE_SPHERE) ? params[1] : params[3]; y0 = (type == THYLA_TYPE_SPHERE) ? params[2] : params[4]; diff --git a/src/MANYBODY/fix_qeq_comb.cpp b/src/MANYBODY/fix_qeq_comb.cpp index 308a6e17db3..d68b803e31b 100644 --- a/src/MANYBODY/fix_qeq_comb.cpp +++ b/src/MANYBODY/fix_qeq_comb.cpp @@ -42,7 +42,7 @@ static constexpr double QSUMSMALL = 0.00001; /* ---------------------------------------------------------------------- */ FixQEQComb::FixQEQComb(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - fp(nullptr), comb(nullptr), comb3(nullptr), qf(nullptr), q1(nullptr), q2(nullptr) + comb(nullptr), comb3(nullptr), qf(nullptr), q1(nullptr), q2(nullptr) { if (narg < 5) error->all(FLERR,"Illegal fix qeq/comb command"); @@ -95,7 +95,6 @@ FixQEQComb::FixQEQComb(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), FixQEQComb::~FixQEQComb() { - if (me == 0 && fp) fclose(fp); memory->destroy(qf); memory->destroy(q1); memory->destroy(q2); diff --git a/src/MANYBODY/fix_qeq_comb.h b/src/MANYBODY/fix_qeq_comb.h index ed17587988a..374d4870003 100644 --- a/src/MANYBODY/fix_qeq_comb.h +++ b/src/MANYBODY/fix_qeq_comb.h @@ -21,6 +21,7 @@ FixStyle(qeq/comb,FixQEQComb); #define LMP_FIX_QEQ_COMB_H #include "fix.h" +#include "safe_pointers.h" namespace LAMMPS_NS { @@ -44,7 +45,7 @@ class FixQEQComb : public Fix { double precision; int ilevel_respa; bigint ngroup; - FILE *fp; + SafeFilePtr fp; class PairComb *comb; class PairComb3 *comb3; diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index deaa846d286..7a7770803bb 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -3133,39 +3133,31 @@ double PairAIREBO::gSpline(double costh, double Nij, int typei, if (costh < gCdom[0]) costh = gCdom[0]; if (costh > gCdom[4]) costh = gCdom[4]; if (Nij >= NCmax) { - for (i = 0; i < 4; i++) { - if (costh >= gCdom[i] && costh <= gCdom[i+1]) { - for (j = 0; j < 6; j++) coeffs[j] = gC2[i][j]; - } - } + // the clamped costh always falls into one of the intervals; the scan + // stops at the matching interval and defaults to the last one otherwise + for (i = 0; i < 3; i++) + if (costh < gCdom[i+1]) break; + for (j = 0; j < 6; j++) coeffs[j] = gC2[i][j]; g2 = Sp5th(costh,coeffs,&dg2); g = g2; *dgdc = dg2; *dgdN = 0.0; } if (Nij <= NCmin) { - for (i = 0; i < 4; i++) { - if (costh >= gCdom[i] && costh <= gCdom[i+1]) { - for (j = 0; j < 6; j++) coeffs[j] = gC1[i][j]; - } - } + for (i = 0; i < 3; i++) + if (costh < gCdom[i+1]) break; + for (j = 0; j < 6; j++) coeffs[j] = gC1[i][j]; g1 = Sp5th(costh,coeffs,&dg1); g = g1; *dgdc = dg1; *dgdN = 0.0; } if (Nij > NCmin && Nij < NCmax) { - for (i = 0; i < 4; i++) { - if (costh >= gCdom[i] && costh <= gCdom[i+1]) { - for (j = 0; j < 6; j++) coeffs[j] = gC1[i][j]; - } - } + for (i = 0; i < 3; i++) + if (costh < gCdom[i+1]) break; + for (j = 0; j < 6; j++) coeffs[j] = gC1[i][j]; g1 = Sp5th(costh,coeffs,&dg1); - for (i = 0; i < 4; i++) { - if (costh >= gCdom[i] && costh <= gCdom[i+1]) { - for (j = 0; j < 6; j++) coeffs[j] = gC2[i][j]; - } - } + for (j = 0; j < 6; j++) coeffs[j] = gC2[i][j]; g2 = Sp5th(costh,coeffs,&dg2); cut = Sp(Nij,NCmin,NCmax,dS); g = g2+cut*(g1-g2); @@ -3179,11 +3171,9 @@ double PairAIREBO::gSpline(double costh, double Nij, int typei, if (typei == 1) { if (costh < gHdom[0]) costh = gHdom[0]; if (costh > gHdom[3]) costh = gHdom[3]; - for (i = 0; i < 3; i++) { - if (costh >= gHdom[i] && costh <= gHdom[i+1]) { - for (j = 0; j < 6; j++) coeffs[j] = gH[i][j]; - } - } + for (i = 0; i < 2; i++) + if (costh < gHdom[i+1]) break; + for (j = 0; j < 6; j++) coeffs[j] = gH[i][j]; g = Sp5th(costh,coeffs,&dg1); *dgdN = 0.0; *dgdc = dg1; diff --git a/src/MANYBODY/pair_bop.cpp b/src/MANYBODY/pair_bop.cpp index 830c36d890e..4760524f55f 100644 --- a/src/MANYBODY/pair_bop.cpp +++ b/src/MANYBODY/pair_bop.cpp @@ -724,6 +724,7 @@ double PairBOP::SigmaBo(int itmp, int jtmp) memory_sg(nb_t); initial_sg(nb_t); + n_ji = -1; for (loop = 0; loop < nlistj; loop++) { temp_loop = BOP_index[j] + loop; nei_loop = neigh_index[temp_loop]; @@ -733,6 +734,7 @@ double PairBOP::SigmaBo(int itmp, int jtmp) break; } } + if (n_ji < 0) error->one(FLERR,"BOP neighbor list is inconsistent"); dis_ij[0] = pl_ij.dis[0]; dis_ij[1] = pl_ij.dis[1]; @@ -793,6 +795,7 @@ double PairBOP::SigmaBo(int itmp, int jtmp) nfound = 0; pass_jk = 0; + n_ki = -1; for (loop = 0; loop < nlistk; loop++) { temp_loop = BOP_index[k] + loop; nei_loop = neigh_index[temp_loop]; @@ -809,6 +812,7 @@ double PairBOP::SigmaBo(int itmp, int jtmp) if (nfound == 2) break; } } + if (n_ki < 0) error->one(FLERR,"BOP neighbor list is inconsistent"); nb_ik = nb_t; bt_sg[nb_ik].i = i; @@ -818,6 +822,7 @@ double PairBOP::SigmaBo(int itmp, int jtmp) memory_sg(nb_t); initial_sg(nb_t); if (pass_jk) { + temp_jk = n_jk = -1; for (loop = 0; loop < nlistj; loop++) { temp_loop = BOP_index[j] + loop; nei_loop = neigh_index[temp_loop]; @@ -828,6 +833,7 @@ double PairBOP::SigmaBo(int itmp, int jtmp) break; } } + if ((temp_jk < 0) || (n_jk < 0)) error->one(FLERR,"BOP neighbor list is inconsistent"); nb_jk = nb_t; bt_sg[nb_jk].i = j; bt_sg[nb_jk].j = k; @@ -1246,6 +1252,7 @@ double PairBOP::PiBo(int itmp, int jtmp) memory_pi(nb_t); initial_pi(nb_t); + n_ji = -1; for (loop = 0; loop < nlistj; loop++) { temp_loop = BOP_index[j] + loop; nei_loop = neigh_index[temp_loop]; @@ -1255,6 +1262,7 @@ double PairBOP::PiBo(int itmp, int jtmp) break; } } + if (n_ji < 0) error->one(FLERR,"BOP neighbor list is inconsistent"); dis_ij[0] = pl_ij.dis[0]; dis_ij[1] = pl_ij.dis[1]; diff --git a/src/MANYBODY/pair_comb3.cpp b/src/MANYBODY/pair_comb3.cpp index ee72f231dcb..4023cb5456f 100644 --- a/src/MANYBODY/pair_comb3.cpp +++ b/src/MANYBODY/pair_comb3.cpp @@ -610,6 +610,13 @@ void PairComb3::read_file(char *file) ) error->one(FLERR,"Illegal COMB3 parameter"); + // element group indices from the potential file must be 1, 2, or 3 + + if ((params[nparams].ielementgp < 1) || (params[nparams].ielementgp > 3) || + (params[nparams].jelementgp < 1) || (params[nparams].jelementgp > 3) || + (params[nparams].kelementgp < 1) || (params[nparams].kelementgp > 3)) + error->one(FLERR,"Invalid element group index in COMB3 potential file"); + nparams++; } } @@ -1603,7 +1610,7 @@ void PairComb3::force_zeta(Param *parami, Param *paramj, double rsq, double r,att_eng,att_force,bij; // att_eng is -cbj double boij, dbij1, dbij2, dbij3, dbij4, dbij5; double boji, dbji1, dbji2, dbji3, dbji4, dbji5; - double pradx, prady; + double pradx = 0.0, prady = 0.0; r = sqrt(rsq); if (r > parami->bigr + parami->bigd) return; diff --git a/src/MANYBODY/pair_local_density.cpp b/src/MANYBODY/pair_local_density.cpp index f0968d095b9..411f357bd1b 100644 --- a/src/MANYBODY/pair_local_density.cpp +++ b/src/MANYBODY/pair_local_density.cpp @@ -483,7 +483,9 @@ double PairLocalDensity::single(int /* i */, int /* j */, int itype, int jtype, } for (k = 0; k < nLD; k++) { - if (a[k][itype]) index = 1; + // this LD potential contributes nothing for this pair of atom types + if (!a[k][itype] && !a[k][jtype]) continue; + index = 1; if (a[k][jtype]) index = 2; if (LD[k][index] <= rho_min[k]) { diff --git a/src/MC/fix_gemc_mcmoves.cpp b/src/MC/fix_gemc_mcmoves.cpp index dc56555c434..c456330a1eb 100644 --- a/src/MC/fix_gemc_mcmoves.cpp +++ b/src/MC/fix_gemc_mcmoves.cpp @@ -292,6 +292,7 @@ void FixGEMC::attempt_atomic_exchange_full() MPI_Bcast(&coord, 3, MPI_DOUBLE, 0, world); if (triclinic_flag) { + domain->x2lamda(coord, lamda); if (lamda[0] >= sublo[0] && lamda[0] < subhi[0] && lamda[1] >= sublo[1] && lamda[1] < subhi[1] && lamda[2] >= sublo[2] && lamda[2] < subhi[2]) proc_flag = 1; diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp index 9f36d2c5dc1..73f5eb7fc7c 100644 --- a/src/MC/pair_dsmc.cpp +++ b/src/MC/pair_dsmc.cpp @@ -368,6 +368,10 @@ void PairDSMC::write_restart_settings(FILE *fp) fwrite(&cut_global,sizeof(double),1,fp); fwrite(&max_cell_size,sizeof(double),1,fp); fwrite(&seed,sizeof(int),1,fp); + fwrite(&weighting,sizeof(double),1,fp); + fwrite(&T_ref,sizeof(double),1,fp); + fwrite(&recompute_vsigmamax_stride,sizeof(int),1,fp); + fwrite(&vsigmamax_samples,sizeof(int),1,fp); fwrite(&offset_flag,sizeof(int),1,fp); fwrite(&mix_flag,sizeof(int),1,fp); } @@ -382,6 +386,10 @@ void PairDSMC::read_restart_settings(FILE *fp) utils::sfread(FLERR,&cut_global,sizeof(double),1,fp,nullptr,error); utils::sfread(FLERR,&max_cell_size,sizeof(double),1,fp,nullptr,error); utils::sfread(FLERR,&seed,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&weighting,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&T_ref,sizeof(double),1,fp,nullptr,error); + utils::sfread(FLERR,&recompute_vsigmamax_stride,sizeof(int),1,fp,nullptr,error); + utils::sfread(FLERR,&vsigmamax_samples,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&offset_flag,sizeof(int),1,fp,nullptr,error); utils::sfread(FLERR,&mix_flag,sizeof(int),1,fp,nullptr,error); } @@ -389,9 +397,15 @@ void PairDSMC::read_restart_settings(FILE *fp) MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world); MPI_Bcast(&max_cell_size,1,MPI_DOUBLE,0,world); MPI_Bcast(&seed,1,MPI_INT,0,world); + MPI_Bcast(&weighting,1,MPI_DOUBLE,0,world); + MPI_Bcast(&T_ref,1,MPI_DOUBLE,0,world); + MPI_Bcast(&recompute_vsigmamax_stride,1,MPI_INT,0,world); + MPI_Bcast(&vsigmamax_samples,1,MPI_INT,0,world); MPI_Bcast(&offset_flag,1,MPI_INT,0,world); MPI_Bcast(&mix_flag,1,MPI_INT,0,world); + kT_ref = force->boltz*T_ref; + // initialize Marsaglia RNG with processor-unique seed // same seed that pair_style command initially specified diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index f5fc2bc4443..d61787d997b 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -598,6 +598,8 @@ void FixMDIQM::post_force(int vflag) volume = domain->xprd * domain->yprd; else if (domain->dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; + else + error->all(FLERR, "Unsupported dimension in fix mdi/qm"); for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; } } diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index a4fdadde152..4e662ffc0c6 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -832,6 +832,8 @@ void FixMDIQMMM::pre_force(int vflag) volume = domain->xprd * domain->yprd; else if (domain->dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; + else + error->all(FLERR, "Unsupported dimension in fix mdi/qmmm"); for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; } @@ -1007,6 +1009,8 @@ void FixMDIQMMM::post_force_direct(int vflag) volume = domain->xprd * domain->yprd; else if (domain->dimension == 3) volume = domain->xprd * domain->yprd * domain->zprd; + else + error->all(FLERR, "Unsupported dimension in fix mdi/qmmm"); for (int i = 0; i < 6; i++) virial[i] = qm_virial_symmetric[i] * volume / nprocs; } } diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 45de50d967b..309431963ea 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -61,6 +61,7 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) iarg += 2; } else if (strcmp(arg[iarg], "extra") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); + memory->sfree(extra_arg); extra_arg = arg[iarg + 1]; // do variable substitution in multiple word extra_arg @@ -77,12 +78,13 @@ MDIPlugin::MDIPlugin(LAMMPS *_lmp, int narg, char **arg) : Pointers(_lmp) iarg += 2; } else if (strcmp(arg[iarg], "command") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal mdi plugin command"); + memory->sfree(lammps_command); lammps_command = arg[iarg + 1]; // do variable substitution in multiple word lammps_command int ncopy = strlen(lammps_command) + 1; - char *copy = (char *) memory->smalloc(ncopy,"mdi_plugin:work"); + char *copy = (char *) memory->smalloc(ncopy,"mdi_plugin:copy"); strncpy(copy, lammps_command, ncopy); char *work = (char *) memory->smalloc(ncopy,"mdi_plugin:work"); int nwork = ncopy; diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 297ec60d934..5e2ed2a868f 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -469,6 +469,11 @@ void PairMEAM::read_global_meam_file(const std::string &globalfile) if (!isone(t0[index])) error->one(FLERR, 4, "Unsupported parameter in MEAM library file: t0 != 1"); + // rho0 determines the background reference density which divides the + // embedding energy, so it must be positive + if (rozero[index] <= 0.0) + error->one(FLERR, 4, "Invalid parameter in MEAM library file: rho0 must be > 0"); + // z given is ignored: if this is mismatched, we definitely won't do what the user said -> fatal error if (z[index] != MEAM::get_Zij(lat[index])) error->one(FLERR, 4, "Mismatched parameter in MEAM library file: z != lat"); @@ -615,6 +620,13 @@ void PairMEAM::read_user_meam_file(const std::string &userfile, int uidx) } } + // rho0 determines the background reference density which divides the + // embedding energy, so it must remain positive + + if ((which == 2) && (value <= 0.0)) + error->all(FLERR, uidx, "Error in MEAM parameter file {}:{}: rho0 must be > 0", userfile, + lineno); + // pass single setting to MEAM package int errorflag = 0; diff --git a/src/MISC/fix_imd.cpp b/src/MISC/fix_imd.cpp index bbe24af929c..4c0b56484c3 100644 --- a/src/MISC/fix_imd.cpp +++ b/src/MISC/fix_imd.cpp @@ -550,7 +550,12 @@ FixIMD::FixIMD(LAMMPS *lmp, int narg, char **arg) : } bigint n = group->count(igroup); - if (n > MAXSMALLINT) error->all(FLERR,"Too many atoms for fix imd"); + + // the message buffer holds up to 3 groups of 3 floats per atom plus + // headers and its length must fit into a signed 32-bit integer + + if (3*3*4*n + 5*IMDHEADERSIZE + 60 > MAXSMALLINT) + error->all(FLERR,"Too many atoms for fix imd"); num_coords = static_cast (n); // Define MPI dtype for passing x/v/f data @@ -1141,6 +1146,8 @@ void FixIMD::handle_step_v2() { break; case IMD_MDCOMM: { + if ((length < 0) || (length > num_coords)) + error->one(FLERR, "Invalid IMD forces message length: {}", length); auto *imd_tags = new int32[length]; auto *imd_fdat = new float[3*length]; imd_recv_mdcomm(clientsock, length, imd_tags, imd_fdat); @@ -1467,6 +1474,8 @@ void FixIMD::handle_client_input_v3() { break; case IMD_MDCOMM: { + if ((length < 0) || (length > num_coords)) + error->one(FLERR, "Invalid IMD forces message length: {}", length); auto *imd_tags = new int32[length]; auto *imd_fdat = new float[3*length]; imd_recv_mdcomm(clientsock, length, imd_tags, imd_fdat); diff --git a/src/MISC/fix_ipi.cpp b/src/MISC/fix_ipi.cpp index eab729e5675..dc5f39d2bea 100644 --- a/src/MISC/fix_ipi.cpp +++ b/src/MISC/fix_ipi.cpp @@ -117,6 +117,8 @@ static void open_socket(int &sockfd, int inet, int port, char *host, Error *erro // fills up details of the socket address memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sun_family = AF_UNIX; + if (strlen(host) + 10 > sizeof(serv_addr.sun_path)) + error->one(FLERR, "Fix ipi host name is too long for a UNIX socket name"); strcpy(serv_addr.sun_path, "/tmp/ipi_"); strcpy(serv_addr.sun_path + 9, host); @@ -163,10 +165,10 @@ static void readbuffer(int sockfd, char *data, int len, Error *error) while (nr > 0 && n < len) { nr = read(sockfd, &data[n], len - n); - n += nr; + if (nr > 0) n += nr; } - if (n == 0) error->one(FLERR, "Error reading from socket: broken connection"); + if ((nr < 0) || (n <= 0)) error->one(FLERR, "Error reading from socket: broken connection"); } /* ---------------------------------------------------------------------- */ @@ -311,6 +313,8 @@ void FixIPI::initial_integrate(int /*vflag*/) readbuffer(ipisock, (char*) cellh, 9*8, error); readbuffer(ipisock, (char*) cellih, 9*8, error); readbuffer(ipisock, (char*) &nat, 4, error); + if ((nat <= 0) || ((bigint) nat > 10*atom->natoms)) + error->one(FLERR, "Fix ipi received an invalid number of atoms from the server"); // allocate buffer, but only do this once. if (bsize==0) { diff --git a/src/MISC/pair_agni.cpp b/src/MISC/pair_agni.cpp index 4c99e72dede..790bdf67279 100644 --- a/src/MISC/pair_agni.cpp +++ b/src/MISC/pair_agni.cpp @@ -281,6 +281,7 @@ void PairAGNI::read_file(char *filename) fp_counter = 0; wantdata = -1; + curparam = -1; // read potential file if (comm->me == 0) { @@ -294,6 +295,14 @@ void PairAGNI::read_file(char *filename) if (wantdata == -1) { std::string tag = values.next_string(); + // these tags describe the current interaction section and + // require that n_elements and interaction were seen before + + if (((curparam < 0) || !params) && + ((tag == "eta") || (tag == "gwidth") || (tag == "Rc") || (tag == "n_train") || + (tag == "sigma") || (tag == "b") || (tag == "endVar"))) + error->all(FLERR,"Invalid AGNI potential file"); + if (tag == "n_elements") { nparams = values.next_int(); diff --git a/src/MISC/pair_tracker.cpp b/src/MISC/pair_tracker.cpp index c2b1dc2c1db..7670c33e29d 100644 --- a/src/MISC/pair_tracker.cpp +++ b/src/MISC/pair_tracker.cpp @@ -593,6 +593,7 @@ void PairTracker::read_restart_settings(FILE *fp) int n; if (comm->me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid fix ID length in restart file"); id_fix_store_local = new char[n]; if (comm->me == 0) utils::sfread(FLERR, id_fix_store_local, sizeof(char), n, fp, nullptr, error); @@ -601,6 +602,8 @@ void PairTracker::read_restart_settings(FILE *fp) if (comm->me == 0) utils::sfread(FLERR, &nvalues_restart, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nvalues_restart, 1, MPI_INT, 0, world); + if ((nvalues_restart < 0) || (nvalues_restart > 4096)) + error->all(FLERR, "Invalid number of values in restart file"); saved_choices.clear(); delete[] pack_choice; diff --git a/src/ML-HDNNP/pair_hdnnp.cpp b/src/ML-HDNNP/pair_hdnnp.cpp index 7065ae80ebb..d5c086b6155 100644 --- a/src/ML-HDNNP/pair_hdnnp.cpp +++ b/src/ML-HDNNP/pair_hdnnp.cpp @@ -64,6 +64,17 @@ PairHDNNP::PairHDNNP(LAMMPS *lmp) : Pair(lmp) 0; // TODO: Check possible values. value != 0 indicates support for unit conversion. reinitflag = 0; // 1 if compatible with fix adapt and alike + showew = false; + resetew = false; + showewsum = 0; + maxew = 0; + numExtrapolationWarningsTotal = 0; + numExtrapolationWarningsSummary = 0; + cflength = 0.0; + cfenergy = 0.0; + maxCutoffRadius = 0.0; + directory = nullptr; + interface = new nnp::InterfaceLammps(); } diff --git a/src/ML-IAP/mliap_data.cpp b/src/ML-IAP/mliap_data.cpp index 1ca57e27457..5830309b529 100644 --- a/src/ML-IAP/mliap_data.cpp +++ b/src/ML-IAP/mliap_data.cpp @@ -50,13 +50,12 @@ MLIAPData::MLIAPData(LAMMPS *lmp, int gradgradflag_in, int *map_in, class MLIAPM ndims_virial = 6; yoffset = nparams * nelements; zoffset = 2 * yoffset; - natoms = atom->natoms; - // must check before assigning bigint expression to regular int - if (1 + ndims_force * natoms + ndims_virial > MAXSMALLINT) + if (1 + ndims_force * atom->natoms + ndims_virial > MAXSMALLINT) error->all(FLERR, "Too many atoms for MLIAP package"); + natoms = atom->natoms; size_array_rows = 1 + ndims_force * natoms + ndims_virial; size_array_cols = nparams * nelements + 1; size_gradforce = ndims_force * nparams * nelements; diff --git a/src/ML-RANN/pair_rann.cpp b/src/ML-RANN/pair_rann.cpp index c588539b7e8..4eee7f9510d 100644 --- a/src/ML-RANN/pair_rann.cpp +++ b/src/ML-RANN/pair_rann.cpp @@ -362,10 +362,12 @@ void PairRANN::read_file(char *filename) fp = utils::open_potential(filename,lmp,nullptr); if (fp == nullptr) {error->one(FLERR,"Cannot open RANN potential file");} ptr=fgets(linetemp,longline,fp); + if (ptr == nullptr) error->one(FLERR,"Unexpected end of RANN potential file"); linenum++; strtemp=utils::trim_comment(linetemp); while (strtemp.empty()) { ptr=fgets(linetemp,longline,fp); + if (ptr == nullptr) error->one(FLERR,"Unexpected end of RANN potential file"); strtemp=utils::trim_comment(linetemp); linenum++; } @@ -385,6 +387,7 @@ void PairRANN::read_file(char *filename) strtemp=utils::trim_comment(linetemp); while (strtemp.empty()) { ptr=fgets(linetemp,longline,fp); + if (ptr == nullptr) error->one(FLERR,"Unexpected end of RANN potential file"); strtemp=utils::trim_comment(linetemp); linenum++; } @@ -411,6 +414,7 @@ void PairRANN::read_file(char *filename) strtemp=utils::trim_comment(linetemp); while (strtemp.empty()) { ptr=fgets(linetemp,longline,fp); + if (ptr == nullptr) break; strtemp=utils::trim_comment(linetemp); linenum++; } diff --git a/src/ML-RUNNER/pair_runner.cpp b/src/ML-RUNNER/pair_runner.cpp index 6a516c01f07..a94e05eb7e5 100644 --- a/src/ML-RUNNER/pair_runner.cpp +++ b/src/ML-RUNNER/pair_runner.cpp @@ -127,9 +127,9 @@ enum { int PairRuNNer::instances = 0; PairRuNNer::PairRuNNer(LAMMPS *lmp) : - Pair(lmp), map(nullptr), atomic_charge(nullptr), hirshfeld_volume(nullptr), - electronegativity(nullptr), lagrange_charges(nullptr), de_dq(nullptr), screening_de_dq(nullptr), - committee_storage(nullptr) + Pair(lmp), directory(nullptr), map(nullptr), atomic_charge(nullptr), + hirshfeld_volume(nullptr), electronegativity(nullptr), lagrange_charges(nullptr), + de_dq(nullptr), screening_de_dq(nullptr), committee_storage(nullptr) { // Sanity check: Prevent multiple instances due to static Fortran interface if (instances > 0) { error->all(FLERR, "Only one pair runner instance can be active at a time"); } @@ -167,6 +167,23 @@ PairRuNNer::PairRuNNer(LAMMPS *lmp) : // variable for output using pair compute nextra = 0; pvector = nullptr; + nnp_generation = 0; + num_committee_members = 0; + + // settings() and the RuNNer potential files assign these before use; + // mirror the settings() defaults so they never carry indeterminate values + + cflength = cfenergy = 1.0; + luse_prev_q = false; + lwrite_f_comm = lwrite_q_comm = false; + lcheck_extrap = false; + max_extrap = 0; + lshow_ew = false; + sum_ew_freq = reset_ew_freq = 0; + cutoff = 0.0; + total_charge = 0.0; + lhirshfeld_vdw = false; + ltwo_body = false; if (atom->natoms > MAXSMALLINT / 4) error->all(FLERR, "Too many total atoms"); } @@ -424,7 +441,7 @@ void PairRuNNer::compute(int eflag, int vflag) // It is completely reallocated if the global // number of atoms changed. Otherwise, only the ordering // of atoms is updated. - runner_interface_reinitialize_electrostatics(&natoms, &xyz_global[0], z_global.data()); + runner_interface_reinitialize_electrostatics(&natoms, xyz_global.data(), z_global.data()); } if (nnp_generation == 3) { @@ -448,7 +465,7 @@ void PairRuNNer::compute(int eflag, int vflag) if (rank == 0) { // Calculate long-range electrostatics on root using the global structure. runner_interface_evaluate_electrostatics_3g_part_1( - &natoms, &xyz_global[0], &total_charge, lattice, &lperiodic, &q_global[0], + &natoms, xyz_global.data(), &total_charge, lattice, &lperiodic, q_global.data(), &runner_elec_energy, elec_force_global.data(), de_dq_global.data(), runner_elec_d_energy_d_strain); } @@ -712,7 +729,7 @@ void PairRuNNer::compute(int eflag, int vflag) for (i = 0; i < num_committee_members; i++) pvector[i] = committee_energy[i] / cfenergy; // Charges if charge atom style is used - if (q != NULL) { + if (q != nullptr) { // The q array does not seem to get reset to zero every timestep by LAMMPS memset(q, 0, nmax * (sizeof *q)); for (ii = 0; ii < nall; ii++) { @@ -727,7 +744,7 @@ void PairRuNNer::compute(int eflag, int vflag) // Virial is -1.0 * d_energy_d_strain if (vflag_global) { - memset(virial, 0, 9 * (sizeof *virial)); + memset(virial, 0, 6 * (sizeof *virial)); for (i = 0; i < num_committee_members; i++) { virial[0] -= committee_d_energy_d_strain[0 + 9 * i] / cfenergy / num_committee_members; virial[1] -= committee_d_energy_d_strain[4 + 9 * i] / cfenergy / num_committee_members; @@ -1053,7 +1070,7 @@ double PairRuNNer::init_one(int /*i*/, int /*j*/) communication between local and ghost atoms ------------------------------------------------------------------------- */ -int PairRuNNer::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) +int PairRuNNer::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) { int i, j, m = 0; @@ -1213,8 +1230,9 @@ void PairRuNNer::unpack_reverse_comm(int n, int *list, double *buf) } } -void PairRuNNer::pack_structure(int rank, int size, int natoms, int inum, int *ilist, tagint *tag, - double **x, int *runner_types, double *xyz_global, int *z_global) +void PairRuNNer::pack_structure(int /*rank*/, int /*size*/, int natoms, int inum, int *ilist, + tagint *tag, double **x, int *runner_types, double *xyz_global, + int *z_global) { int i, ii; int start; @@ -1261,7 +1279,7 @@ void PairRuNNer::pack_structure(int rank, int size, int natoms, int inum, int *i MPI_Reduce(z_local.data(), z_global, natoms, MPI_INT, MPI_SUM, 0, world); } -void PairRuNNer::pack_atomic_property(int rank, int size, int natoms, int inum, int *ilist, +void PairRuNNer::pack_atomic_property(int /*rank*/, int /*size*/, int natoms, int inum, int *ilist, tagint *tag, double *local_property, double *global_property) { int i, ii; @@ -1286,7 +1304,7 @@ void PairRuNNer::pack_atomic_property(int rank, int size, int natoms, int inum, MPI_Reduce(local_property_sorted.data(), global_property, natoms, MPI_DOUBLE, MPI_SUM, 0, world); } -void PairRuNNer::unpack_local_atomic_properties(int rank, int size, int natoms, int inum, +void PairRuNNer::unpack_local_atomic_properties(int /*rank*/, int /*size*/, int natoms, int inum, int *ilist, tagint *tag, int nprop, double *global_properties, double *local_properties) { diff --git a/src/ML-SNAP/compute_gaussian_grid_local.cpp b/src/ML-SNAP/compute_gaussian_grid_local.cpp index e9683bf531f..420dd4897f7 100644 --- a/src/ML-SNAP/compute_gaussian_grid_local.cpp +++ b/src/ML-SNAP/compute_gaussian_grid_local.cpp @@ -57,8 +57,11 @@ ComputeGaussianGridLocal::ComputeGaussianGridLocal(LAMMPS *lmp, int narg, char * rcutfac = utils::numeric(FLERR, arg[3], false, lmp); for (int i = 0; i < ntypes; i++) radelem[i + 1] = utils::numeric(FLERR, arg[4 + i], false, lmp); - for (int i = 0; i < ntypes; i++) + for (int i = 0; i < ntypes; i++) { sigmaelem[i + 1] = utils::numeric(FLERR, arg[ntypes + 4 + i], false, lmp); + if (sigmaelem[i + 1] <= 0.0) + error->all(FLERR, ntypes + 4 + i, "Gaussian width for type {} must be > 0", i + 1); + } // construct cutsq double cut; diff --git a/src/MOFFF/angle_cosine_buck6d.cpp b/src/MOFFF/angle_cosine_buck6d.cpp index 0d8464e14a2..d7942ac6036 100644 --- a/src/MOFFF/angle_cosine_buck6d.cpp +++ b/src/MOFFF/angle_cosine_buck6d.cpp @@ -164,7 +164,7 @@ void AngleCosineBuck6d::compute(int eflag, int vflag) forcebuck6d = forcebuck6d*sme + ebuck6d*smf; ebuck6d *= sme; } - } else forcebuck6d = 0.0; + } else forcebuck6d = r32inv = 0.0; // add forces of additional LJ interaction diff --git a/src/MOLECULE/improper_cvff.cpp b/src/MOLECULE/improper_cvff.cpp index 42b90143fef..1073e89b4f5 100644 --- a/src/MOLECULE/improper_cvff.cpp +++ b/src/MOLECULE/improper_cvff.cpp @@ -288,6 +288,8 @@ void ImproperCvff::coeff(int narg, char **arg) double k_one = utils::numeric(FLERR, arg[1], false, lmp); int sign_one = utils::inumeric(FLERR, arg[2], false, lmp); int multiplicity_one = utils::inumeric(FLERR, arg[3], false, lmp); + if ((multiplicity_one < 0) || (multiplicity_one > 6)) + error->all(FLERR, "Improper cvff multiplicity {} must be between 0 and 6", multiplicity_one); int count = 0; for (int i = ilo; i <= ihi; i++) { diff --git a/src/MOLFILE/dump_molfile.cpp b/src/MOLFILE/dump_molfile.cpp index 9b3d0f78b09..e2e607394c8 100644 --- a/src/MOLFILE/dump_molfile.cpp +++ b/src/MOLFILE/dump_molfile.cpp @@ -32,7 +32,7 @@ #include "molfile_interface.h" using namespace LAMMPS_NS; -typedef MolfileInterface MFI; +using MFI = MolfileInterface; // syntax: // dump molfile [] @@ -182,7 +182,7 @@ void DumpMolfile::write() cell[0] = domain->xprd; cell[1] = domain->yprd; cell[2] = domain->zprd; - cell[3] = cell[4] = cell[5] = 90.0f; + cell[3] = cell[4] = cell[5] = 90.0F; } // nme = # of dump lines this proc will contribute to dump @@ -234,7 +234,8 @@ void DumpMolfile::write() pack(ids); sort(); - int tmp,nlines; + int nlines; + int tmp = 0; if (me == 0) { MPI_Status status; diff --git a/src/MOLFILE/dump_molfile.h b/src/MOLFILE/dump_molfile.h index c52b51753a9..80560e6a158 100644 --- a/src/MOLFILE/dump_molfile.h +++ b/src/MOLFILE/dump_molfile.h @@ -31,6 +31,7 @@ class DumpMolfile : public Dump { DumpMolfile(LAMMPS *, int, char **); ~DumpMolfile() override; void write() override; + double memory_usage() override; protected: class MolfileInterface *mf; //< handles low-level I/O @@ -51,7 +52,6 @@ class DumpMolfile : public Dump { void write_header(bigint) override {}; void pack(tagint *) override; void write_data(int, double *) override; - double memory_usage() override; void openfile() override; }; diff --git a/src/MOLFILE/molfile_interface.cpp b/src/MOLFILE/molfile_interface.cpp index ea6d2f4cec2..00ca6bca785 100644 --- a/src/MOLFILE/molfile_interface.cpp +++ b/src/MOLFILE/molfile_interface.cpp @@ -36,6 +36,7 @@ #define DEBUG 0 extern "C" { + // NOLINTBEGIN typedef int (*initfunc)(); typedef int (*regfunc)(void *, vmdplugin_register_cb); typedef int (*finifunc)(); @@ -57,6 +58,7 @@ extern "C" { } return 0; } + // NOLINTEND /* periodic table of elements for translation of ordinal to atom type */ static const char *pte_label[] = { @@ -76,25 +78,25 @@ extern "C" { /* corresponding table of masses. */ static const float pte_mass[] = { - /* X */ 0.00000f, 1.00794f, 4.00260f, 6.941f, 9.012182f, 10.811f, - /* C */ 12.0107f, 14.0067f, 15.9994f, 18.9984032f, 20.1797f, - /* Na */ 22.989770f, 24.3050f, 26.981538f, 28.0855f, 30.973761f, - /* S */ 32.065f, 35.453f, 39.948f, 39.0983f, 40.078f, 44.955910f, - /* Ti */ 47.867f, 50.9415f, 51.9961f, 54.938049f, 55.845f, 58.9332f, - /* Ni */ 58.6934f, 63.546f, 65.409f, 69.723f, 72.64f, 74.92160f, - /* Se */ 78.96f, 79.904f, 83.798f, 85.4678f, 87.62f, 88.90585f, - /* Zr */ 91.224f, 92.90638f, 95.94f, 98.0f, 101.07f, 102.90550f, - /* Pd */ 106.42f, 107.8682f, 112.411f, 114.818f, 118.710f, 121.760f, - /* Te */ 127.60f, 126.90447f, 131.293f, 132.90545f, 137.327f, - /* La */ 138.9055f, 140.116f, 140.90765f, 144.24f, 145.0f, 150.36f, - /* Eu */ 151.964f, 157.25f, 158.92534f, 162.500f, 164.93032f, - /* Er */ 167.259f, 168.93421f, 173.04f, 174.967f, 178.49f, 180.9479f, - /* W */ 183.84f, 186.207f, 190.23f, 192.217f, 195.078f, 196.96655f, - /* Hg */ 200.59f, 204.3833f, 207.2f, 208.98038f, 209.0f, 210.0f, 222.0f, - /* Fr */ 223.0f, 226.0f, 227.0f, 232.0381f, 231.03588f, 238.02891f, - /* Np */ 237.0f, 244.0f, 243.0f, 247.0f, 247.0f, 251.0f, 252.0f, 257.0f, - /* Md */ 258.0f, 259.0f, 262.0f, 261.0f, 262.0f, 266.0f, 264.0f, 269.0f, - /* Mt */ 268.0f, 271.0f, 272.0f + /* X */ 0.00000F, 1.00794F, 4.00260F, 6.941F, 9.012182F, 10.811F, + /* C */ 12.0107F, 14.0067F, 15.9994F, 18.9984032F, 20.1797F, + /* Na */ 22.989770F, 24.3050F, 26.981538F, 28.0855F, 30.973761F, + /* S */ 32.065F, 35.453F, 39.948F, 39.0983F, 40.078F, 44.955910F, + /* Ti */ 47.867F, 50.9415F, 51.9961F, 54.938049F, 55.845F, 58.9332F, + /* Ni */ 58.6934F, 63.546F, 65.409F, 69.723F, 72.64F, 74.92160F, + /* Se */ 78.96F, 79.904F, 83.798F, 85.4678F, 87.62F, 88.90585F, + /* Zr */ 91.224F, 92.90638F, 95.94F, 98.0F, 101.07F, 102.90550F, + /* Pd */ 106.42F, 107.8682F, 112.411F, 114.818F, 118.710F, 121.760F, + /* Te */ 127.60F, 126.90447F, 131.293F, 132.90545F, 137.327F, + /* La */ 138.9055F, 140.116F, 140.90765F, 144.24F, 145.0F, 150.36F, + /* Eu */ 151.964F, 157.25F, 158.92534F, 162.500F, 164.93032F, + /* Er */ 167.259F, 168.93421F, 173.04F, 174.967F, 178.49F, 180.9479F, + /* W */ 183.84F, 186.207F, 190.23F, 192.217F, 195.078F, 196.96655F, + /* Hg */ 200.59F, 204.3833F, 207.2F, 208.98038F, 209.0F, 210.0F, 222.0F, + /* Fr */ 223.0F, 226.0F, 227.0F, 232.0381F, 231.03588F, 238.02891F, + /* Np */ 237.0F, 244.0F, 243.0F, 247.0F, 247.0F, 251.0F, 252.0F, 257.0F, + /* Md */ 258.0F, 259.0F, 262.0F, 261.0F, 262.0F, 266.0F, 264.0F, 269.0F, + /* Mt */ 268.0F, 271.0F, 272.0F }; /* @@ -108,25 +110,25 @@ extern "C" { * Rmin/2 parameters for (SOD, POT, CLA, CAL, MG, CES) by default. */ static const float pte_vdw_radius[] = { - /* X */ 1.5f, 1.2f, 1.4f, 1.82f, 2.0f, 2.0f, - /* C */ 1.7f, 1.55f, 1.52f, 1.47f, 1.54f, - /* Na */ 1.36f, 1.18f, 2.0f, 2.1f, 1.8f, - /* S */ 1.8f, 2.27f, 1.88f, 1.76f, 1.37f, 2.0f, - /* Ti */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Ni */ 1.63f, 1.4f, 1.39f, 1.07f, 2.0f, 1.85f, - /* Se */ 1.9f, 1.85f, 2.02f, 2.0f, 2.0f, 2.0f, - /* Zr */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Pd */ 1.63f, 1.72f, 1.58f, 1.93f, 2.17f, 2.0f, - /* Te */ 2.06f, 1.98f, 2.16f, 2.1f, 2.0f, - /* La */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Eu */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Er */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* W */ 2.0f, 2.0f, 2.0f, 2.0f, 1.72f, 1.66f, - /* Hg */ 1.55f, 1.96f, 2.02f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Fr */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 1.86f, - /* Np */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Md */ 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, - /* Mt */ 2.0f, 2.0f, 2.0f + /* X */ 1.5F, 1.2F, 1.4F, 1.82F, 2.0F, 2.0F, + /* C */ 1.7F, 1.55F, 1.52F, 1.47F, 1.54F, + /* Na */ 1.36F, 1.18F, 2.0F, 2.1F, 1.8F, + /* S */ 1.8F, 2.27F, 1.88F, 1.76F, 1.37F, 2.0F, + /* Ti */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Ni */ 1.63F, 1.4F, 1.39F, 1.07F, 2.0F, 1.85F, + /* Se */ 1.9F, 1.85F, 2.02F, 2.0F, 2.0F, 2.0F, + /* Zr */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Pd */ 1.63F, 1.72F, 1.58F, 1.93F, 2.17F, 2.0F, + /* Te */ 2.06F, 1.98F, 2.16F, 2.1F, 2.0F, + /* La */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Eu */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Er */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* W */ 2.0F, 2.0F, 2.0F, 2.0F, 1.72F, 1.66F, + /* Hg */ 1.55F, 1.96F, 2.02F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Fr */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 1.86F, + /* Np */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Md */ 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, 2.0F, + /* Mt */ 2.0F, 2.0F, 2.0F }; /* lookup functions */ @@ -508,12 +510,12 @@ int MolfileInterface::timestep(float *coords, float *vels, t->beta = cell[4]; t->gamma = cell[5]; } else { - t->A = 0.0f; - t->B = 0.0f; - t->C = 0.0f; - t->alpha = 90.0f; - t->beta = 90.0f; - t->gamma = 90.0f; + t->A = 0.0F; + t->B = 0.0F; + t->C = 0.0F; + t->alpha = 90.0F; + t->beta = 90.0F; + t->gamma = 90.0F; } if (simtime) @@ -530,12 +532,12 @@ int MolfileInterface::timestep(float *coords, float *vels, } else { t->coords = coords; t->velocities = vels; - t->A = 0.0f; - t->B = 0.0f; - t->C = 0.0f; - t->alpha = 90.0f; - t->beta = 90.0f; - t->gamma = 90.0f; + t->A = 0.0F; + t->B = 0.0F; + t->C = 0.0F; + t->alpha = 90.0F; + t->beta = 90.0F; + t->gamma = 90.0F; t->physical_time = 0.0; rv = p->read_next_timestep(_ptr, _natoms, t); if (cell != nullptr) { @@ -571,7 +573,7 @@ int MolfileInterface::timestep(float *coords, float *vels, // single precision floating point props static float read_float_property(molfile_atom_t &a, const int propid) { - float prop = 0.0f; + float prop = 0.0F; int iprop = 0; PROPUPDATE(MolfileInterface::P_OCCP,occupancy,prop); PROPUPDATE(MolfileInterface::P_BFAC,bfactor,prop); diff --git a/src/MOLFILE/reader_molfile.cpp b/src/MOLFILE/reader_molfile.cpp index 81f2fa3d105..d374daae59f 100644 --- a/src/MOLFILE/reader_molfile.cpp +++ b/src/MOLFILE/reader_molfile.cpp @@ -26,8 +26,8 @@ #include using namespace LAMMPS_NS; -typedef MolfileInterface MFI; using namespace MathConst; +using MFI = MolfileInterface; static constexpr double SMALL = 1.0e-6; @@ -194,10 +194,10 @@ bigint ReaderMolfile::read_header(double box[3][3], int &boxinfo, int &triclinic // heuristics to determine if we have boxinfo (first if) // and whether we have an orthogonal box (second if) - if (!is_smalldiff(cell[0]*cell[1]*cell[2], 0.0f)) { + if (!is_smalldiff(cell[0]*cell[1]*cell[2], 0.0F)) { boxinfo = 1; - if (is_smalldiff(cell[3],90.0f) && is_smalldiff(cell[4],90.0f) && - is_smalldiff(cell[5],90.0f)) { + if (is_smalldiff(cell[3],90.0F) && is_smalldiff(cell[4],90.0F) && + is_smalldiff(cell[5],90.0F)) { triclinic = 0; diff --git a/src/OPENMP/compute_ackland_atom_omp.cpp b/src/OPENMP/compute_ackland_atom_omp.cpp index 27b62c5e15b..4ca5126b8f6 100644 --- a/src/OPENMP/compute_ackland_atom_omp.cpp +++ b/src/OPENMP/compute_ackland_atom_omp.cpp @@ -121,15 +121,17 @@ void ComputeAcklandAtomOMP::compute_peratom() } } - // Select 6 nearest neighbors + // Select up to 6 nearest neighbors + // undercoordinated atoms (n < 6) use all their neighbors - select2(6, n, t_distsq, t_nearest); + const int nsel = MIN(6, n); + select2(nsel, n, t_distsq, t_nearest); // Mean squared separation double r0_sq = 0.; - for (int j = 0; j < 6; j++) r0_sq += t_distsq[j]; - r0_sq /= 6.; + for (int j = 0; j < nsel; j++) r0_sq += t_distsq[j]; + if (nsel > 0) r0_sq /= nsel; // n0 near neighbors with: distsq<1.45*r0_sq // n1 near neighbors with: distsq<1.55*r0_sq diff --git a/src/OPENMP/fix_rigid_nh_omp.cpp b/src/OPENMP/fix_rigid_nh_omp.cpp index c9317b9800e..dbc026478e7 100644 --- a/src/OPENMP/fix_rigid_nh_omp.cpp +++ b/src/OPENMP/fix_rigid_nh_omp.cpp @@ -780,11 +780,11 @@ void FixRigidNHOMP::set_xv_thr() double theta_body,theta; double ione[3],exone[3],eyone[3],ezone[3],p[3][3]; - AtomVecEllipsoid::Bonus *ebonus; + AtomVecEllipsoid::Bonus *ebonus = nullptr; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; - AtomVecLine::Bonus *lbonus; + AtomVecLine::Bonus *lbonus = nullptr; if (avec_line) lbonus = avec_line->bonus; - AtomVecTri::Bonus *tbonus; + AtomVecTri::Bonus *tbonus = nullptr; if (avec_tri) tbonus = avec_tri->bonus; double **omega_one = atom->omega; double **angmom_one = atom->angmom; @@ -970,9 +970,9 @@ void FixRigidNHOMP::set_v_thr() double *shape,*quatatom,*inertiaatom; double ione[3],exone[3],eyone[3],ezone[3]; - AtomVecEllipsoid::Bonus *ebonus; + AtomVecEllipsoid::Bonus *ebonus = nullptr; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; - AtomVecTri::Bonus *tbonus; + AtomVecTri::Bonus *tbonus = nullptr; if (avec_tri) tbonus = avec_tri->bonus; double **omega_one = atom->omega; double **angmom_one = atom->angmom; diff --git a/src/OPENMP/fix_rigid_omp.cpp b/src/OPENMP/fix_rigid_omp.cpp index e1ffb32bead..d88c7794aad 100644 --- a/src/OPENMP/fix_rigid_omp.cpp +++ b/src/OPENMP/fix_rigid_omp.cpp @@ -699,9 +699,9 @@ void FixRigidOMP::set_v_thr() double *shape,*quatatom,*inertiaatom; double ione[3],exone[3],eyone[3],ezone[3]; - AtomVecEllipsoid::Bonus *ebonus; + AtomVecEllipsoid::Bonus *ebonus = nullptr; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; - AtomVecTri::Bonus *tbonus; + AtomVecTri::Bonus *tbonus = nullptr; if (avec_tri) tbonus = avec_tri->bonus; double **omega_one = atom->omega; double **angmom_one = atom->angmom; diff --git a/src/OPENMP/fix_rigid_small_omp.cpp b/src/OPENMP/fix_rigid_small_omp.cpp index d4f3fee2fe3..4b8ca1e2e19 100644 --- a/src/OPENMP/fix_rigid_small_omp.cpp +++ b/src/OPENMP/fix_rigid_small_omp.cpp @@ -441,11 +441,11 @@ void FixRigidSmallOMP::set_xv_thr() double theta_body,theta; double *shape,*quatatom,*inertiaatom; - AtomVecEllipsoid::Bonus *ebonus; + AtomVecEllipsoid::Bonus *ebonus = nullptr; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; - AtomVecLine::Bonus *lbonus; + AtomVecLine::Bonus *lbonus = nullptr; if (avec_line) lbonus = avec_line->bonus; - AtomVecTri::Bonus *tbonus; + AtomVecTri::Bonus *tbonus = nullptr; if (avec_tri) tbonus = avec_tri->bonus; double **omega = atom->omega; double **angmom = atom->angmom; @@ -627,9 +627,9 @@ void FixRigidSmallOMP::set_v_thr() double ione[3],exone[3],eyone[3],ezone[3]; double *shape,*quatatom,*inertiaatom; - AtomVecEllipsoid::Bonus *ebonus; + AtomVecEllipsoid::Bonus *ebonus = nullptr; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; - AtomVecTri::Bonus *tbonus; + AtomVecTri::Bonus *tbonus = nullptr; if (avec_tri) tbonus = avec_tri->bonus; double **omega = atom->omega; double **angmom = atom->angmom; diff --git a/src/OPENMP/pair_colloid_omp.cpp b/src/OPENMP/pair_colloid_omp.cpp index b6ec22dd515..568ba4fbf86 100644 --- a/src/OPENMP/pair_colloid_omp.cpp +++ b/src/OPENMP/pair_colloid_omp.cpp @@ -198,6 +198,9 @@ void PairColloidOMP::eval(int iifrom, int iito, ThrData * const thr) (2.0*K[0]*(K[7]+K[8])-log(K[8]/K[7])) - offset[itype][jtype]; if (r <= K[1]) error->one(FLERR,"Overlapping large/large in pair colloid"); break; + + default: + error->one(FLERR,"Unknown colloid interaction form"); } if (EFLAG) evdwl *= factor_lj; diff --git a/src/OPENMP/pair_lj_cut_coul_debye_dielectric_omp.cpp b/src/OPENMP/pair_lj_cut_coul_debye_dielectric_omp.cpp index eaf3611494a..dd0200b74e0 100644 --- a/src/OPENMP/pair_lj_cut_coul_debye_dielectric_omp.cpp +++ b/src/OPENMP/pair_lj_cut_coul_debye_dielectric_omp.cpp @@ -188,7 +188,7 @@ void PairLJCutCoulDebyeDielectricOMP::eval(int iifrom, int iito, ThrData *const epot[i] += epot_i; if (EFLAG) { - if (rsq < cut_coulsq[itype][jtype]) { + if (rsq < cut_coulsq[itype][jtype] && rsq > EPSILON) { ecoul = factor_coul * qqrd2e * qtmp * q[j] * 0.5 * (etmp + eps[j]) * rinv * screening; } else ecoul = 0.0; diff --git a/src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.cpp b/src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.cpp index 894cafb4348..13c275f4b12 100644 --- a/src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.cpp +++ b/src/OPENMP/pair_lj_cut_coul_long_dielectric_omp.cpp @@ -220,7 +220,7 @@ void PairLJCutCoulLongDielectricOMP::eval(int iifrom, int iito, ThrData *const t epot[i] += epot_i; if (EFLAG) { - if (rsq < cut_coulsq) { + if (rsq < cut_coulsq && rsq > EPSILON) { if (!ncoultablebits || rsq <= tabinnersq) ecoul = prefactor * 0.5 * (etmp + eps[j]) * erfc; else { diff --git a/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp index 05a82bdb241..d4b86db8144 100644 --- a/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp +++ b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp @@ -336,10 +336,8 @@ void PairLJCutTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) // virial = sum(r x F) where each water's atoms are near xi and xj // vlist stores 2,4,6 atoms whose forces contribute to virial - if (VFLAG) { - n = 0; - key = 0; - } + n = 0; + key = 0; if (itype != typeO) { fxtmp += delx * cforce; @@ -353,11 +351,11 @@ void PairLJCutTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] = x[i].x * dely * cforce; v[4] = x[i].x * delz * cforce; v[5] = x[i].y * delz * cforce; - vlist[n++] = i; } + vlist[n++] = i; } else { - if (VFLAG) key++; + key++; fdx = delx*cforce; fdy = dely*cforce; @@ -392,10 +390,10 @@ void PairLJCutTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] = x[i].x*fOy + xH1.x*fHy + xH2.x*fHy; v[4] = x[i].x*fOz + xH1.x*fHz + xH2.x*fHz; v[5] = x[i].y*fOz + xH1.y*fHz + xH2.y*fHz; - vlist[n++] = i; - vlist[n++] = iH1; - vlist[n++] = iH2; } + vlist[n++] = i; + vlist[n++] = iH1; + vlist[n++] = iH2; } if (jtype != typeO) { @@ -410,11 +408,11 @@ void PairLJCutTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] -= x[j].x * dely * cforce; v[4] -= x[j].x * delz * cforce; v[5] -= x[j].y * delz * cforce; - vlist[n++] = j; } + vlist[n++] = j; } else { - if (VFLAG) key += 2; + key += 2; fdx = -delx*cforce; fdy = -dely*cforce; @@ -449,10 +447,10 @@ void PairLJCutTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] += x[j].x*fOy + xH1.x*fHy + xH2.x*fHy; v[4] += x[j].x*fOz + xH1.x*fHz + xH2.x*fHz; v[5] += x[j].y*fOz + xH1.y*fHz + xH2.y*fHz; - vlist[n++] = j; - vlist[n++] = jH1; - vlist[n++] = jH2; } + vlist[n++] = j; + vlist[n++] = jH1; + vlist[n++] = jH2; } if (EFLAG) { diff --git a/src/OPENMP/pair_lj_long_tip4p_long_omp.cpp b/src/OPENMP/pair_lj_long_tip4p_long_omp.cpp index 0eaf2ff6403..977c42fe7ee 100644 --- a/src/OPENMP/pair_lj_long_tip4p_long_omp.cpp +++ b/src/OPENMP/pair_lj_long_tip4p_long_omp.cpp @@ -943,7 +943,7 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) // virial = sum(r x F) where each water's atoms are near xi and xj // vlist stores 2,4,6 atoms whose forces contribute to virial - if (EVFLAG && vflag) { + if (EVFLAG) { n = 0; key = 0; } @@ -960,11 +960,11 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] = x[i].x * dely * cforce; v[4] = x[i].x * delz * cforce; v[5] = x[i].y * delz * cforce; - vlist[n++] = i; } + if (EVFLAG) vlist[n++] = i; } else { - if (EVFLAG && vflag) key++; + if (EVFLAG) key++; fdx = delx*cforce; fdy = dely*cforce; fdz = delz*cforce; @@ -998,6 +998,8 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] = x[i].x*fOy + xH1.x*fHy + xH2.x*fHy; v[4] = x[i].x*fOz + xH1.x*fHz + xH2.x*fHz; v[5] = x[i].y*fOz + xH1.y*fHz + xH2.y*fHz; + } + if (EVFLAG) { vlist[n++] = i; vlist[n++] = iH1; vlist[n++] = iH2; @@ -1016,11 +1018,11 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] -= x[j].x * dely * cforce; v[4] -= x[j].x * delz * cforce; v[5] -= x[j].y * delz * cforce; - vlist[n++] = j; } + if (EVFLAG) vlist[n++] = j; } else { - if (EVFLAG && vflag) key += 2; + if (EVFLAG) key += 2; fdx = -delx*cforce; fdy = -dely*cforce; @@ -1055,6 +1057,8 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) v[3] += x[j].x*fOy + xH1.x*fHy + xH2.x*fHy; v[4] += x[j].x*fOz + xH1.x*fHz + xH2.x*fHz; v[5] += x[j].y*fOz + xH1.y*fHz + xH2.y*fHz; + } + if (EVFLAG) { vlist[n++] = j; vlist[n++] = jH1; vlist[n++] = jH2; @@ -1873,7 +1877,7 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th // virial = sum(r x F) where each water's atoms are near xi and xj // vlist stores 2,4,6 atoms whose forces contribute to virial - if (EVFLAG && vflag) { + if (EVFLAG) { n = 0; key = 0; } @@ -1890,11 +1894,11 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th v[3] = x[i].x * dely * fvirial; v[4] = x[i].x * delz * fvirial; v[5] = x[i].y * delz * fvirial; - vlist[n++] = i; } + if (EVFLAG) vlist[n++] = i; } else { - if (EVFLAG && vflag) key += 1; + if (EVFLAG) key += 1; fdx = delx*cforce; fdy = dely*cforce; @@ -1942,6 +1946,8 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th v[3] = x[i].x*fOy + xH1.x*fHy + xH2.x*fHy; v[4] = x[i].x*fOz + xH1.x*fHz + xH2.x*fHz; v[5] = x[i].y*fOz + xH1.y*fHz + xH2.y*fHz; + } + if (EVFLAG) { vlist[n++] = i; vlist[n++] = iH1; vlist[n++] = iH2; @@ -1960,11 +1966,11 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th v[3] -= x[j].x * dely * fvirial; v[4] -= x[j].x * delz * fvirial; v[5] -= x[j].y * delz * fvirial; - vlist[n++] = j; } + if (EVFLAG) vlist[n++] = j; } else { - if (EVFLAG && vflag) key += 2; + if (EVFLAG) key += 2; fdx = -delx*cforce; fdy = -dely*cforce; @@ -2012,6 +2018,8 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th v[3] += x[j].x*fOy + xH1.x*fHy + xH2.x*fHy; v[4] += x[j].x*fOz + xH1.x*fHz + xH2.x*fHz; v[5] += x[j].y*fOz + xH1.y*fHz + xH2.y*fHz; + } + if (EVFLAG) { vlist[n++] = j; vlist[n++] = jH1; vlist[n++] = jH2; diff --git a/src/OPENMP/thr_data.cpp b/src/OPENMP/thr_data.cpp index e45796f9d1d..3e540b79d46 100644 --- a/src/OPENMP/thr_data.cpp +++ b/src/OPENMP/thr_data.cpp @@ -29,6 +29,11 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ ThrData::ThrData(int tid, Timer *t) : + eng_vdwl(0.0), eng_coul(0.0), eng_bond(0.0), eng_angle(0.0), eng_dihed(0.0), + eng_imprp(0.0), eng_kspce(0.0), + eatom_pair(nullptr), eatom_bond(nullptr), eatom_angle(nullptr), eatom_dihed(nullptr), + eatom_imprp(nullptr), eatom_kspce(nullptr), vatom_pair(nullptr), vatom_bond(nullptr), vatom_angle(nullptr), vatom_dihed(nullptr), + vatom_imprp(nullptr), vatom_kspce(nullptr), cvatom_pair(nullptr), cvatom_angle(nullptr), cvatom_dihed(nullptr), cvatom_imprp(nullptr), _f(nullptr), _torque(nullptr), _erforce(nullptr), _de(nullptr), _drho(nullptr), _mu(nullptr), _lambda(nullptr), _rhoB(nullptr), _D_values(nullptr), _rho(nullptr), _fp(nullptr), _rho1d(nullptr), _drho1d(nullptr), _rho1d_6(nullptr), _drho1d_6(nullptr), _tid(tid), _timer(t) @@ -81,6 +86,7 @@ void ThrData::init_force(int nall, double **f, double **torque, double *erforce, eatom_pair = eatom_bond = eatom_angle = eatom_dihed = eatom_imprp = eatom_kspce = nullptr; vatom_pair = vatom_bond = vatom_angle = vatom_dihed = vatom_imprp = vatom_kspce = nullptr; + cvatom_pair = cvatom_angle = cvatom_dihed = cvatom_imprp = nullptr; if (nall >= 0 && f) { _f = f + _tid * nall; diff --git a/src/PHONON/dynamical_matrix.cpp b/src/PHONON/dynamical_matrix.cpp index 5b946eb41f4..caa77addaa8 100644 --- a/src/PHONON/dynamical_matrix.cpp +++ b/src/PHONON/dynamical_matrix.cpp @@ -221,9 +221,10 @@ void DynamicalMatrix::options(int narg, char **arg) iarg += 2; } else error->all(FLERR,"Illegal dynamical_matrix command"); } - if (file_flag == 1) { - openfile(filename); - } + // always open the output file (documented default name unless changed + // with the file keyword); without it the matrix was silently discarded + + openfile(filename); } /* ---------------------------------------------------------------------- diff --git a/src/PHONON/third_order.cpp b/src/PHONON/third_order.cpp index b51bd146aba..ca0c3e83f4c 100644 --- a/src/PHONON/third_order.cpp +++ b/src/PHONON/third_order.cpp @@ -212,7 +212,7 @@ void ThirdOrder::options(int narg, char **arg) { if (narg < 0) error->all(FLERR,"Illegal Third Order command"); int iarg = 0; - const char *filename = "Third Order.dat"; + const char *filename = "third_order.dat"; while (iarg < narg) { if (strcmp(arg[iarg],"binary") == 0) { @@ -238,9 +238,10 @@ void ThirdOrder::options(int narg, char **arg) iarg += 2; } else error->all(FLERR,"Illegal Third Order command"); } - if (file_flag == 1 && me == 0) { - openfile(filename); - } + // always open the output file (documented default name unless changed + // with the file keyword); without it rank 0 wrote to a null FILE pointer + + openfile(filename); } /* ---------------------------------------------------------------------- @@ -414,6 +415,9 @@ void ThirdOrder::calculateMatrix() delete [] dynmat; delete [] fdynmat; + memory->destroy(neighbortags); + memory->destroy(ijnum); + if (screen && me == 0) fprintf(screen,"Finished Calculating Third Order Tensor\n"); } @@ -451,7 +455,7 @@ void ThirdOrder::writeMatrix(double *dynmat, bigint i, int a, bigint j, int b) clearerr(fp); fwrite(&dynmat[0], sizeof(double), dynlen, fp); } - if (ferror(fp)) error->one(FLERR,"Error writing to file"); + if (fp && ferror(fp)) error->one(FLERR,"Error writing to file"); } @@ -771,23 +775,11 @@ void ThirdOrder::getNeighbortags() { ijnum[i] = sum; } - sum = 0; - for (bigint i=0; i<=natoms-1; i++) { - sum += ijnum[i]; - } - - free (neighbortags); - nbytes = ((bigint) sizeof(bigint)) * sum; - datarecv = (bigint *) memory->smalloc(nbytes, "thirdorder:firsttags"); - nbytes = ((bigint) sizeof(bigint *)) * natoms; - neighbortags = (bigint **) memory->smalloc(nbytes, "thirdorder:neighbortags"); - memset(&datarecv[0],0,sum*sizeof(bigint)); - - n = 0; - for (bigint i = 0; i < natoms; i++) { - neighbortags[i] = &datarecv[n]; - n += ijnum[i]; - } + memory->sfree(neighbortags); + memory->sfree(datarecv); + memory->create_ragged(neighbortags, natoms, ijnum, "thirdorder:neighbortags"); + for (bigint i = 0; i < natoms; i++) + memset(neighbortags[i], 0, ijnum[i]*sizeof(bigint)); for (bigint i = 0; i < natoms; i++) { int m = 0; @@ -811,7 +803,8 @@ void ThirdOrder::getNeighbortags() { } } - free (firsttags); + memory->sfree(data); + memory->sfree(firsttags); free (ijnumproc); free (temptags); } diff --git a/src/PTM/ptm_voronoi_cell.cpp b/src/PTM/ptm_voronoi_cell.cpp index 7f74846281b..49a634c19cd 100644 --- a/src/PTM/ptm_voronoi_cell.cpp +++ b/src/PTM/ptm_voronoi_cell.cpp @@ -1370,6 +1370,8 @@ void voronoicell_neighbor::check_facets() { /** The class constructor allocates memory for storing neighbor information. */ voronoicell_neighbor::voronoicell_neighbor() { int i; + paux1=nullptr; + paux2=nullptr; mne=new int*[current_vertex_order]; ne=new int*[current_vertices]; for (i=0;i<3;i++) mne[i]=new int[init_n_vertices*i]; diff --git a/src/REACTION/fix_bond_react.cpp b/src/REACTION/fix_bond_react.cpp index 7a434e4032e..f9aa48d9e55 100644 --- a/src/REACTION/fix_bond_react.cpp +++ b/src/REACTION/fix_bond_react.cpp @@ -2104,7 +2104,7 @@ int FixBondReact::check_constraints(Reaction &rxn, std::vector &glove) // let's also check chirality within 'check_constraint' for (int i = 0; i < rxn.reactant->natoms; i++) { if (rxn.atoms[i].chiral[0] == 1) { - double my4coords[12]; + double my4coords[12] = {0.0}; // already ensured, by transitive property, that chiral simulation atom has four neighs for (int j = 0; j < 4; j++) { atom1 = atom->map(glove[i]); @@ -4286,7 +4286,8 @@ read map file void FixBondReact::read_map_file(Reaction &rxn) { - int rv, nedge, nequivalent, nchiral, nwild, ndelete, ncreate = 0; + int rv, nedge, nequivalent, nchiral, nwild, ndelete, ncreate; + nedge = nchiral = nwild = ndelete = ncreate = 0; char line[MAXLINE] = {'\0'}; char keyword[MAXLINE] = {'\0'}; char *eof,*ptr; @@ -4309,7 +4310,12 @@ void FixBondReact::read_map_file(Reaction &rxn) if ((ptr = strchr(line,'#'))) *ptr = '\0'; if (strspn(line," \t\n\r") == strlen(line)) continue; - if (strstr(line,"edgeIDs")) sscanf(line,"%d",&nedge); + if (strstr(line,"edgeIDs")) { + rv = sscanf(line,"%d",&nedge); + if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + if ((nedge < 0) || (nedge > rxn.reactant->natoms)) + error->one(FLERR,"Fix bond/react: Invalid number of edgeIDs in map file"); + } else if (strstr(line,"equivalences")) { rv = sscanf(line,"%d",&nequivalent); if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); @@ -4320,19 +4326,29 @@ void FixBondReact::read_map_file(Reaction &rxn) else if (strstr(line,"deleteIDs")) { rv = sscanf(line,"%d",&ndelete); if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + if ((ndelete < 0) || (ndelete > rxn.reactant->natoms)) + error->one(FLERR,"Fix bond/react: Invalid number of deleteIDs in map file"); } else if (strstr(line,"createIDs")) { rv = sscanf(line,"%d",&ncreate); if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + if ((ncreate < 0) || (ncreate > rxn.product->natoms)) + error->one(FLERR,"Fix bond/react: Invalid number of createIDs in map file"); } else if (strstr(line,"chiralIDs")) { rv = sscanf(line,"%d",&nchiral); if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + if ((nchiral < 0) || (nchiral > rxn.reactant->natoms)) + error->one(FLERR,"Fix bond/react: Invalid number of chiralIDs in map file"); } else if (strstr(line,"wildcards")) { rv = sscanf(line,"%d",&nwild); if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + if ((nwild < 0) || (nwild > rxn.reactant->natoms)) + error->one(FLERR,"Fix bond/react: Invalid number of wildcards in map file"); } else if (strstr(line,"constraints")) { int nconstraints; rv = sscanf(line,"%d",&nconstraints); if (rv != 1) error->one(FLERR, "Map file header is incorrectly formatted"); + if ((nconstraints < 0) || (nconstraints > 4096)) + error->one(FLERR,"Fix bond/react: Invalid number of constraints in map file"); rxn.constraints.resize(nconstraints); for (int i = 0; i < nconstraints; i++) rxn.constraints[i].ID = i; } else break; @@ -4408,7 +4424,7 @@ void FixBondReact::EdgeIDs(char *line, Reaction &rxn, int nedge) readline(line); rv = sscanf(line,"%d",&tmp); if (rv != 1) error->one(FLERR, "EdgeIDs section is incorrectly formatted"); - if (tmp > rxn.reactant->natoms) + if ((tmp < 1) || (tmp > rxn.reactant->natoms)) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); rxn.atoms[tmp-1].edge = 1; } @@ -4421,7 +4437,7 @@ void FixBondReact::Equivalences(char *line, Reaction &rxn, int nequivalent) readline(line); rv = sscanf(line,"%d %d",&tmp1,&tmp2); if (rv != 2) error->one(FLERR, "Equivalences section is incorrectly formatted"); - if (tmp1 > rxn.reactant->natoms || tmp2 > rxn.product->natoms) + if ((tmp1 < 1) || (tmp1 > rxn.reactant->natoms) || (tmp2 < 1) || (tmp2 > rxn.product->natoms)) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); //equivalences is-> clmn 1: post-reacted, clmn 2: pre-reacted rxn.atoms[tmp2-1].amap[0] = tmp2; @@ -4450,7 +4466,7 @@ void FixBondReact::DeleteAtoms(char *line, Reaction &rxn, int ndelete) readline(line); rv = sscanf(line,"%d",&tmp); if (rv != 1) error->one(FLERR, "DeleteIDs section is incorrectly formatted"); - if (tmp > rxn.reactant->natoms) + if ((tmp < 1) || (tmp > rxn.reactant->natoms)) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); rxn.atoms[tmp-1].deleted = 1; } @@ -4464,7 +4480,7 @@ void FixBondReact::CreateAtoms(char *line, Reaction &rxn, int ncreate) readline(line); rv = sscanf(line,"%d",&tmp); if (rv != 1) error->one(FLERR, Error::NOLASTLINE, "CreateIDs section is incorrectly formatted"); - if (tmp > rxn.product->natoms) + if ((tmp < 1) || (tmp > rxn.product->natoms)) error->one(FLERR, Error::NOLASTLINE, "Fix bond/react: Invalid atom ID in CreateIDs section of map file"); rxn.atoms[tmp-1].created = 1; } @@ -4493,7 +4509,7 @@ void FixBondReact::ChiralCenters(char *line, Reaction &rxn, int nchiral) readline(line); rv = sscanf(line,"%d",&tmp); if (rv != 1) error->one(FLERR, "ChiralIDs section is incorrectly formatted"); - if (tmp > rxn.reactant->natoms) + if ((tmp < 1) || (tmp > rxn.reactant->natoms)) error->one(FLERR,"Fix bond/react: Invalid template atom ID in map file"); rxn.atoms[tmp-1].chiral[0] = 1; if (rxn.reactant->xflag == 0) @@ -4508,7 +4524,7 @@ void FixBondReact::ChiralCenters(char *line, Reaction &rxn, int nchiral) } } // record order of atom types, and coords - double my4coords[12]; + double my4coords[12] = {0.0}; for (int j = 0; j < 4; j++) { rxn.atoms[tmp-1].chiral[j+2] = rxn.reactant->type[rxn.reactant->special[tmp-1][j]-1]; for (int k = 0; k < 3; k++) { @@ -4522,11 +4538,12 @@ void FixBondReact::ChiralCenters(char *line, Reaction &rxn, int nchiral) void FixBondReact::ReadWildcards(char *line, Reaction &rxn, int nwild) { - int tmp; + int tmp,rv; for (int i = 0; i < nwild; i++) { readline(line); - sscanf(line,"%d",&tmp); - if (tmp > rxn.reactant->natoms) + rv = sscanf(line,"%d",&tmp); + if (rv != 1) error->one(FLERR, "Wildcards section is incorrectly formatted"); + if ((tmp < 1) || (tmp > rxn.reactant->natoms)) error->one(FLERR,"Bond/react: Invalid template atom ID in map file"); rxn.atoms[tmp-1].wildcard = true; } @@ -4952,6 +4969,8 @@ void FixBondReact::restart(char *buf) memory->create(ibuf,ibufcount,"bond/react:ibuf"); memcpy(&ibuf[0],&buf[iptr],sizeof(int)*ibufcount); } + if ((r_nratelimits > 0) && (ibufcount <= 0)) + error->all(FLERR,"Inconsistent rate limit data in restart file"); int ii = 0; for (int i = 0; i < r_nratelimits; i++) { struct RateLimit r_rlm; diff --git a/src/REACTION/fix_bond_react.h b/src/REACTION/fix_bond_react.h index cb7f1d8523d..11eb2e99d3b 100644 --- a/src/REACTION/fix_bond_react.h +++ b/src/REACTION/fix_bond_react.h @@ -279,7 +279,7 @@ class FixBondReact : public Fix { std::vector addatoms; struct RateLimit { - int Nrxns, var_flag, var_id, Nlimit, Nsteps; + int Nrxns = 0, var_flag = 0, var_id = -1, Nlimit = 0, Nsteps = 0; std::vector rxnIDs; std::vector rxn_names; std::deque store_rxn_counts; diff --git a/src/REAXFF/fix_qeq_reaxff.cpp b/src/REAXFF/fix_qeq_reaxff.cpp index c4e44dae1be..43e9cf6f70c 100644 --- a/src/REAXFF/fix_qeq_reaxff.cpp +++ b/src/REAXFF/fix_qeq_reaxff.cpp @@ -90,6 +90,7 @@ FixQEqReaxFF::FixQEqReaxFF(LAMMPS *lmp, int narg, char **arg) : // check for compatibility is in Fix::post_constructor() dual_enabled = 0; + matvecs_s = matvecs_t = 0; // matrix-free support only available for Kokkos backend matrix_free = 0; // default to false @@ -148,8 +149,15 @@ FixQEqReaxFF::FixQEqReaxFF(LAMMPS *lmp, int narg, char **arg) : // register with Atom class reaxff = dynamic_cast(force->pair_match("^reaxff",0)); + reaxflag = 0; + nlevels_respa = 1; s_hist = t_hist = nullptr; + ilist = jlist = numneigh = nullptr; + firstneigh = nullptr; + H.n = H.m = 0; + H.firstnbr = H.numnbrs = H.jlist = nullptr; + H.val = nullptr; atom->add_callback(Atom::GROW); } diff --git a/src/REAXFF/fix_qtpie_reaxff.cpp b/src/REAXFF/fix_qtpie_reaxff.cpp index a5b981196b2..caacd4a297e 100644 --- a/src/REAXFF/fix_qtpie_reaxff.cpp +++ b/src/REAXFF/fix_qtpie_reaxff.cpp @@ -120,6 +120,7 @@ FixQtpieReaxFF::FixQtpieReaxFF(LAMMPS *lmp, int narg, char **arg) : nmax = 0; m_fill = m_cap = 0; pack_flag = 0; + matvecs_s = matvecs_t = 0; s = nullptr; t = nullptr; nprev = 4; @@ -140,6 +141,9 @@ FixQtpieReaxFF::FixQtpieReaxFF(LAMMPS *lmp, int narg, char **arg) : // H matrix + ilist = jlist = numneigh = nullptr; + firstneigh = nullptr; + H.n = H.m = 0; H.firstnbr = nullptr; H.numnbrs = nullptr; H.jlist = nullptr; @@ -151,8 +155,11 @@ FixQtpieReaxFF::FixQtpieReaxFF(LAMMPS *lmp, int narg, char **arg) : // register with Atom class reaxff = dynamic_cast(force->pair_match("^reaxff",0)); + reaxflag = 0; + nlevels_respa = 1; s_hist = t_hist = nullptr; + dist_cutoff_sq = 0.0; atom->add_callback(Atom::GROW); } diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index d48c0cdcf15..7c0610048f3 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -294,12 +294,14 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, iarg + 1, "Incompatible fix reaxff/species position frequency {}", posfreq); + delete[] filepos; filepos = new char[255]; strcpy(filepos, arg[iarg + 2]); if (strchr(filepos, '*')) { multipos = 1; } else { if (comm->me == 0) { + if (pos) fclose(pos); pos = fopen(filepos, "w"); if (pos == nullptr) error->one(FLERR, iarg + 2, "Cannot open fix reaxff/species position file: {}", diff --git a/src/REPLICA/fix_hyper_global.cpp b/src/REPLICA/fix_hyper_global.cpp index 35357fc94c7..037c1ea8299 100644 --- a/src/REPLICA/fix_hyper_global.cpp +++ b/src/REPLICA/fix_hyper_global.cpp @@ -441,7 +441,7 @@ void FixHyperGlobal::build_bond_list(int natom) void FixHyperGlobal::grow_bond() { - if (maxbond + DELTABOND > MAXSMALLINT) + if (maxbond > MAXSMALLINT - DELTABOND) error->one(FLERR,"Fix hyper/global bond count is too big"); maxbond += DELTABOND; blist = (OneBond *) diff --git a/src/REPLICA/fix_hyper_local.cpp b/src/REPLICA/fix_hyper_local.cpp index f5b5a70cf2c..0bd875d6f24 100644 --- a/src/REPLICA/fix_hyper_local.cpp +++ b/src/REPLICA/fix_hyper_local.cpp @@ -1442,7 +1442,7 @@ void FixHyperLocal::unpack_reverse_comm(int n, int *list, double *buf) void FixHyperLocal::grow_bond() { - if (maxbond + DELTABOND > MAXSMALLINT) + if (maxbond > MAXSMALLINT - DELTABOND) error->one(FLERR,"Fix hyper/local bond count is too big"); maxbond += DELTABOND; blist = (OneBond *) diff --git a/src/RHEO/fix_rheo.cpp b/src/RHEO/fix_rheo.cpp index cceb82a6830..428169570b1 100644 --- a/src/RHEO/fix_rheo.cpp +++ b/src/RHEO/fix_rheo.cpp @@ -168,7 +168,10 @@ FixRHEO::FixRHEO(LAMMPS *lmp, int narg, char **arg) : } } else if (strcmp(arg[iarg], "density") == 0) { if (iarg + n >= narg) utils::missing_cmd_args(FLERR, "fix rheo density", error); - for (i = 1; i <= n; i++) rho0[i] = utils::numeric(FLERR, arg[iarg + i], false, lmp); + for (i = 1; i <= n; i++) { + rho0[i] = utils::numeric(FLERR, arg[iarg + i], false, lmp); + if (rho0[i] <= 0.0) error->all(FLERR, "The equilibrium density must be greater than zero"); + } iarg += n; } else if (strcmp(arg[iarg], "speed/sound") == 0) { if (iarg + n >= narg) utils::missing_cmd_args(FLERR, "fix rheo speed/sound", error); diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 7a6d5e5f58a..1022557f35d 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -1576,9 +1576,9 @@ void FixRigid::set_v() if (extended) { double *shape,*quatatom,*inertiaatom; - AtomVecEllipsoid::Bonus *ebonus; + AtomVecEllipsoid::Bonus *ebonus = nullptr; if (avec_ellipsoid) ebonus = avec_ellipsoid->bonus; - AtomVecTri::Bonus *tbonus; + AtomVecTri::Bonus *tbonus = nullptr; if (avec_tri) tbonus = avec_tri->bonus; double **omega_one = atom->omega; double **angmom_one = atom->angmom; @@ -2212,7 +2212,7 @@ void FixRigid::setup_bodies_dynamic() // extended particles add their rotation to angmom of body if (extended) { - AtomVecLine::Bonus *lbonus; + AtomVecLine::Bonus *lbonus = nullptr; if (avec_line) lbonus = avec_line->bonus; double **omega_one = atom->omega; double **angmom_one = atom->angmom; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 2bef4d75eb7..0869f02ee00 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2723,15 +2723,15 @@ void FixRigidSmall::resample_momenta(int groupbit, int mom_flag, class RanPark * else wbody[j] = 0.0; } + MathExtra::matvec(b->ex_space, b->ey_space, b->ez_space, wbody, b->omega); } - MathExtra::matvec(b->ex_space, b->ey_space, b->ez_space, wbody, b->omega); } if (mom_flag && (total_mass > 0.0)) { for (int j = 0; j < 3; j++) vcm[j] /= total_mass; for (int ibody = 0; ibody < nlocal; ibody++) { + b = &body[ibody]; if (mask[b->ilocal] & groupbit) { - b = &body[ibody]; for (int j = 0; j < 3; j++) b->vcm[j] -= vcm[j]; } } diff --git a/src/SHOCK/fix_wall_piston.cpp b/src/SHOCK/fix_wall_piston.cpp index c3017815077..239b0950814 100644 --- a/src/SHOCK/fix_wall_piston.cpp +++ b/src/SHOCK/fix_wall_piston.cpp @@ -183,7 +183,7 @@ void FixWallPiston::initial_integrate(int /*vflag*/) void FixWallPiston::post_integrate() { - double zlo; + double zlo = z0; double **x = atom->x; double **v = atom->v; diff --git a/src/SMTBQ/pair_smtbq.cpp b/src/SMTBQ/pair_smtbq.cpp index 8b8b8b07f04..3e0c84132a0 100644 --- a/src/SMTBQ/pair_smtbq.cpp +++ b/src/SMTBQ/pair_smtbq.cpp @@ -1381,7 +1381,7 @@ void PairSMTBQ::tabqeq() ra = params[i].R; rb = params[j].R; - ii = 0 ; nang =cang= 5.0 ; + ii = 0 ; nang =cang= 5.0 ; aCoeff = bCoeff = 0.0 ; // -------------------------- for (k = 0; k < kmax+5; k++) // -------------------------- @@ -1436,7 +1436,7 @@ void PairSMTBQ::tabqeq() rb = ROxSurf; zb = (2.0*params[j].ne + 1.0)/(4.0*rb); } - ii = 0 ; nang =cang= 5.0 ; + ii = 0 ; nang =cang= 5.0 ; aCoeff = bCoeff = 0.0 ; // -------------------------- for (k = 0; k < kmax+5; k++) // -------------------------- @@ -1502,7 +1502,7 @@ void PairSMTBQ::tabqeq() zb = (2.0*params[j].ne + 1.0)/(4.0*rb); } - ii = 0 ; nang =cang= 5.0 ; + ii = 0 ; nang =cang= 5.0 ; aCoeff = bCoeff = 0.0 ; // -------------------------- for (k = 0; k < kmax+5; k++) // -------------------------- diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index 85237cb602e..b187c896492 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -364,6 +364,8 @@ void AngleHybrid::read_restart(FILE *fp) int me = comm->me; if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + if ((nstyles < 1) || (nstyles > 64)) + error->all(FLERR, "Invalid number of sub-styles in restart file"); styles = new Angle *[nstyles]; keywords = new char *[nstyles]; @@ -373,6 +375,7 @@ void AngleHybrid::read_restart(FILE *fp) for (int m = 0; m < nstyles; m++) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid style name length in restart file"); keywords[m] = new char[n]; if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); diff --git a/src/bond_hybrid.cpp b/src/bond_hybrid.cpp index 1c06f6e9a97..8bd3e4aa6b3 100644 --- a/src/bond_hybrid.cpp +++ b/src/bond_hybrid.cpp @@ -430,6 +430,8 @@ void BondHybrid::read_restart(FILE *fp) int me = comm->me; if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + if ((nstyles < 1) || (nstyles > 64)) + error->all(FLERR, "Invalid number of sub-styles in restart file"); styles = new Bond *[nstyles]; keywords = new char *[nstyles]; @@ -439,6 +441,7 @@ void BondHybrid::read_restart(FILE *fp) for (int m = 0; m < nstyles; m++) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid style name length in restart file"); keywords[m] = new char[n]; if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 3c9870cc676..21d1143a7bb 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -59,6 +59,7 @@ CommTiled::CommTiled(LAMMPS *lmp) : init_pointers(); init_buffers_flag = 0; maxswap = 0; + dimension = 3; } /* ---------------------------------------------------------------------- */ @@ -76,6 +77,7 @@ CommTiled::CommTiled(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm) init_pointers(); init_buffers_flag = 0; maxswap = 0; + dimension = 3; } /* ---------------------------------------------------------------------- */ @@ -128,6 +130,23 @@ void CommTiled::init_pointers() nexchprocmax = nullptr; exchproc = nullptr; exchnum = nullptr; + + prd = nullptr; + boxlo = boxhi = nullptr; + sublo = subhi = nullptr; + + box_drop = nullptr; + box_other = nullptr; + box_touch = nullptr; + point_drop = nullptr; + + maxsend = maxrecv = 0; + maxoverlap = 0; + nswap = 0; + noverlap = 0; + smaxone = rmaxone = 0; + smaxall = rmaxall = 0; + maxrequest = 0; } /* ---------------------------------------------------------------------- diff --git a/src/compute_chunk_atom.cpp b/src/compute_chunk_atom.cpp index d6270ad08e6..0f7976f1755 100644 --- a/src/compute_chunk_atom.cpp +++ b/src/compute_chunk_atom.cpp @@ -185,6 +185,7 @@ ComputeChunkAtom::ComputeChunkAtom(LAMMPS *lmp, int narg, char **arg) : if (!domain->get_region_by_id(arg[iarg + 1])) error->all(FLERR, iarg + 1, "Region {} for compute chunk/atom does not exist", arg[iarg + 1]); + delete[] idregion; idregion = utils::strdup(arg[iarg + 1]); regionflag = 1; iarg += 2; diff --git a/src/compute_global_atom.cpp b/src/compute_global_atom.cpp index 6301e217708..85eb880a6e1 100644 --- a/src/compute_global_atom.cpp +++ b/src/compute_global_atom.cpp @@ -337,8 +337,8 @@ void ComputeGlobalAtom::compute_peratom() // output = vector if (val.argindex == 0) { - int vmax; - double *source; + int vmax = 0; + double *source = nullptr; if (val.which == ArgInfo::COMPUTE) { @@ -392,8 +392,8 @@ void ComputeGlobalAtom::compute_peratom() // output = array } else { - int vmax; - double *source; + int vmax = 0; + double *source = nullptr; int col = val.argindex - 1; if (val.which == ArgInfo::COMPUTE) { diff --git a/src/compute_pressure.cpp b/src/compute_pressure.cpp index 2a5536c676b..0dcd0cf3772 100644 --- a/src/compute_pressure.cpp +++ b/src/compute_pressure.cpp @@ -81,6 +81,7 @@ ComputePressure::ComputePressure(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"ke") == 0) keflag = 1; else if (strcmp(arg[iarg],"pair/hybrid") == 0) { + delete[] pstyle; if (lmp->suffix) pstyle = utils::strdup(fmt::format("{}/{}",arg[++iarg],lmp->suffix)); else diff --git a/src/compute_temp_chunk.cpp b/src/compute_temp_chunk.cpp index 72c2471b873..84b79a64944 100644 --- a/src/compute_temp_chunk.cpp +++ b/src/compute_temp_chunk.cpp @@ -80,6 +80,7 @@ ComputeTempChunk::ComputeTempChunk(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg], "bias") == 0) { if (iarg + 2 > narg) error->all(FLERR, "Illegal compute temp/chunk command"); biasflag = 1; + delete[] id_bias; id_bias = utils::strdup(arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "adof") == 0) { diff --git a/src/compute_temp_sphere.cpp b/src/compute_temp_sphere.cpp index cd29a102a70..0ca479acf5d 100644 --- a/src/compute_temp_sphere.cpp +++ b/src/compute_temp_sphere.cpp @@ -51,6 +51,7 @@ ComputeTempSphere::ComputeTempSphere(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg], "bias") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "compute temp/sphere bias", error); tempbias = 1; + delete[] id_bias; id_bias = utils::strdup(arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "dof") == 0) { diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index 19c2f40f65c..c4e763c63ee 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -361,6 +361,8 @@ void DihedralHybrid::read_restart(FILE *fp) int me = comm->me; if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + if ((nstyles < 1) || (nstyles > 64)) + error->all(FLERR, "Invalid number of sub-styles in restart file"); styles = new Dihedral *[nstyles]; keywords = new char *[nstyles]; @@ -370,6 +372,7 @@ void DihedralHybrid::read_restart(FILE *fp) for (int m = 0; m < nstyles; m++) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid style name length in restart file"); keywords[m] = new char[n]; if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index 269dc8fdbe6..90a5777e276 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -32,7 +32,8 @@ static constexpr int DELTA = 1048576; /* ---------------------------------------------------------------------- */ DumpAtom::DumpAtom(LAMMPS *lmp, int narg, char **arg) : - Dump(lmp, narg, arg), header_choice(nullptr), pack_choice(nullptr) + Dump(lmp, narg, arg), header_choice(nullptr), pack_choice(nullptr), convert_choice(nullptr), + write_choice(nullptr) { if (narg != 5) error->all(FLERR,"Illegal dump atom command"); diff --git a/src/dump_cfg.cpp b/src/dump_cfg.cpp index 01f58c9c35a..13d9f88dead 100644 --- a/src/dump_cfg.cpp +++ b/src/dump_cfg.cpp @@ -37,7 +37,7 @@ static constexpr int DELTA = 1048576; /* ---------------------------------------------------------------------- */ DumpCFG::DumpCFG(LAMMPS *lmp, int narg, char **arg) : - DumpCustom(lmp, narg, arg), auxname(nullptr) + DumpCustom(lmp, narg, arg), auxname(nullptr), write_choice(nullptr) { multifile_override = 0; diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index c5abdfdc600..745dcd54138 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -62,7 +62,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : field2index(nullptr), argindex(nullptr), id_compute(nullptr), compute(nullptr), id_fix(nullptr), fix(nullptr), id_variable(nullptr), variable(nullptr), vbuf(nullptr), id_custom(nullptr), custom(nullptr), custom_flag(nullptr), typenames(nullptr), header_choice(nullptr), - pack_choice(nullptr) + write_choice(nullptr), pack_choice(nullptr) { if (narg == 5) error->all(FLERR,"No dump {} arguments specified", style); @@ -164,6 +164,8 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : cols += earg[iarg]; } columns_default = utils::strdup(cols); + + nchoose = 0; } /* ---------------------------------------------------------------------- */ @@ -1238,6 +1240,9 @@ int DumpCustom::count() double **darray = atom->darray[iwhich]; ptr = &darray[0][argindex[i]-1]; nstride = atom->dcols[iwhich]; + + } else { + error->all(FLERR, "Unknown dump_modify threshold attribute"); } // unselect atoms that don't meet threshold criterion diff --git a/src/dump_xyz.cpp b/src/dump_xyz.cpp index 144b234bdf7..a78fde979ba 100644 --- a/src/dump_xyz.cpp +++ b/src/dump_xyz.cpp @@ -31,7 +31,7 @@ static constexpr int DELTA = 1048576; /* ---------------------------------------------------------------------- */ DumpXYZ::DumpXYZ(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), - typenames(nullptr) + typenames(nullptr), write_choice(nullptr) { if (narg != 5) error->all(FLERR, Error::NOPOINTER, "Illegal dump {} command", style); if (binary || multiproc) error->all(FLERR, 4, "Invalid dump {} filename", style); diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index 6474896a270..47d45b06d8a 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -823,7 +823,15 @@ void FixAdapt::change_settings() int nlocal = atom->nlocal; int nall = nlocal + atom->nghost; - if (scaleflag) scale = value / previous_diam_scale; + // a scale factor of 0.0 would zero all diameters permanently and cannot + // be undone on later steps, so it must be rejected before the division + + if (scaleflag) { + if ((value == 0.0) || (previous_diam_scale == 0.0)) + error->all(FLERR, Error::NOLASTLINE, + "Fix adapt diameter scale factor of 0.0 is not supported"); + scale = value / previous_diam_scale; + } // mass must not become zero and radius must not be negative if (massflag && ((scale == 0.0) || (value == 0.0))) @@ -855,7 +863,15 @@ void FixAdapt::change_settings() int nlocal = atom->nlocal; int nall = nlocal + atom->nghost; - if (scaleflag) scale = value / previous_chg_scale; + // a scale factor of 0.0 would zero all charges permanently and cannot + // be undone on later steps, so it must be rejected before the division + + if (scaleflag) { + if ((value == 0.0) || (previous_chg_scale == 0.0)) + error->all(FLERR, Error::NOLASTLINE, + "Fix adapt charge scale factor of 0.0 is not supported"); + scale = value / previous_chg_scale; + } for (i = 0; i < nall; i++) { if (mask[i] & groupbit) { diff --git a/src/fix_ave_grid.cpp b/src/fix_ave_grid.cpp index 46d31a0e3ca..898429d84b1 100644 --- a/src/fix_ave_grid.cpp +++ b/src/fix_ave_grid.cpp @@ -336,11 +336,13 @@ FixAveGrid::FixAveGrid(LAMMPS *lmp, int narg, char **arg) : utils::errorurl(7)); } else if (which[i] == ArgInfo::VARIABLE) { + if (argindex[i]) + error->all(FLERR, iarg_orig[i], "Fix ave/grid variable {} cannot be indexed", ids[i]); int ivariable = input->variable->find(ids[i]); if (ivariable < 0) - error->all(FLERR, iarg_orig[i], "Variable name for fix ave/atom does not exist"); + error->all(FLERR, iarg_orig[i], "Variable name for fix ave/grid does not exist"); if (input->variable->atomstyle(ivariable) == 0) - error->all(FLERR, iarg_orig[i], "Fix ave/atom variable is not atom-style variable"); + error->all(FLERR, iarg_orig[i], "Fix ave/grid variable is not atom-style variable"); } } } @@ -1060,7 +1062,7 @@ void FixAveGrid::atom2grid() vec2d[bin[i][0]][bin[i][1]] += ovector[i]; } } else { - int jm1 = j = 1; + int jm1 = j - 1; for (i = 0; i < nlocal; i++) { if (!skip[i]) vec2d[bin[i][0]][bin[i][1]] += oarray[i][jm1]; diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 33ff09c968f..ed8c25ace5e 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -914,7 +914,7 @@ void FixAveTime::invoke_vector(bigint ntimestep) int FixAveTime::column_length(int dynamic) { - int length,lengthone; + int length,lengthone = 0; // determine nrows for static values diff --git a/src/fix_aveforce.cpp b/src/fix_aveforce.cpp index 0017173fe67..ce5e10a79ea 100644 --- a/src/fix_aveforce.cpp +++ b/src/fix_aveforce.cpp @@ -49,6 +49,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : varflag = NONE; if (utils::strmatch(arg[3], "^v_")) { + delete[] xstr; xstr = utils::strdup(arg[3] + 2); } else if (strcmp(arg[3], "NULL") == 0) { xstyle = NONE; @@ -57,6 +58,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : xstyle = CONSTANT; } if (utils::strmatch(arg[4], "^v_")) { + delete[] ystr; ystr = utils::strdup(arg[4] + 2); } else if (strcmp(arg[4], "NULL") == 0) { ystyle = NONE; @@ -65,6 +67,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : ystyle = CONSTANT; } if (utils::strmatch(arg[5], "^v_")) { + delete[] zstr; zstr = utils::strdup(arg[5] + 2); } else if (strcmp(arg[5], "NULL") == 0) { zstyle = NONE; @@ -81,6 +84,7 @@ FixAveForce::FixAveForce(LAMMPS *lmp, int narg, char **arg) : if (iarg + 2 > narg) error->all(FLERR, "Illegal fix aveforce command"); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix aveforce does not exist", arg[iarg + 1]); + delete[] idregion; idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else diff --git a/src/fix_efield.cpp b/src/fix_efield.cpp index 7eccc1e2ce0..24a5724cd69 100644 --- a/src/fix_efield.cpp +++ b/src/fix_efield.cpp @@ -61,6 +61,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : xstyle = ystyle = zstyle = estyle = pstyle = NONE; if (utils::strmatch(arg[3], "^v_")) { + delete[] xstr; xstr = utils::strdup(arg[3] + 2); } else { ex = qe2f * utils::numeric(FLERR, arg[3], false, lmp); @@ -68,6 +69,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : } if (utils::strmatch(arg[4], "^v_")) { + delete[] ystr; ystr = utils::strdup(arg[4] + 2); } else { ey = qe2f * utils::numeric(FLERR, arg[4], false, lmp); @@ -75,6 +77,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : } if (utils::strmatch(arg[5], "^v_")) { + delete[] zstr; zstr = utils::strdup(arg[5] + 2); } else { ez = qe2f * utils::numeric(FLERR, arg[5], false, lmp); @@ -90,12 +93,14 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : utils::missing_cmd_args(FLERR, std::string("fix ") + style + " region", error); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix {} does not exist", arg[iarg + 1], style); + delete[] idregion; idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "energy") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, std::string("fix ") + style + "energy", error); if (utils::strmatch(arg[iarg + 1], "^v_")) { + delete[] estr; estr = utils::strdup(arg[iarg + 1] + 2); } else error->all(FLERR, "Unsupported argument for fix {} energy command: {}", style, arg[iarg]); @@ -104,6 +109,7 @@ FixEfield::FixEfield(LAMMPS *lmp, int narg, char **arg) : if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, std::string("fix ") + style + "potential", error); if (utils::strmatch(arg[iarg + 1], "^v_")) { + delete[] pstr; pstr = utils::strdup(arg[iarg + 1] + 2); } else error->all(FLERR, "Unsupported argument for fix {} energy command: {}", style, arg[iarg]); diff --git a/src/fix_halt.cpp b/src/fix_halt.cpp index a2d309a89ee..3e7d08c659a 100644 --- a/src/fix_halt.cpp +++ b/src/fix_halt.cpp @@ -300,6 +300,7 @@ void FixHalt::end_of_step() MPI_Wait(req + i, MPI_STATUS_IGNORE); MPI_Request_free(req + i); } + delete[] req; } // hard halt -> exit LAMMPS diff --git a/src/fix_heat.cpp b/src/fix_heat.cpp index f63d689f3c3..1019d38c4d7 100644 --- a/src/fix_heat.cpp +++ b/src/fix_heat.cpp @@ -55,6 +55,7 @@ FixHeat::FixHeat(LAMMPS *lmp, int narg, char **arg) : hstr = nullptr; if (utils::strmatch(arg[4], "^v_")) { + delete[] hstr; hstr = utils::strdup(arg[4] + 2); } else { heat_input = utils::numeric(FLERR, arg[4], false, lmp); @@ -69,6 +70,7 @@ FixHeat::FixHeat(LAMMPS *lmp, int narg, char **arg) : if (iarg + 2 > narg) error->all(FLERR, "Illegal fix heat command"); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix heat does not exist", arg[iarg + 1]); + delete[] idregion; idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else diff --git a/src/fix_setforce.cpp b/src/fix_setforce.cpp index 23ebc83ba1e..66d82855a79 100644 --- a/src/fix_setforce.cpp +++ b/src/fix_setforce.cpp @@ -46,6 +46,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : ilevel_respa = nlevels_respa = 0; if (utils::strmatch(arg[3], "^v_")) { + delete[] xstr; xstr = utils::strdup(arg[3] + 2); } else if (strcmp(arg[3], "NULL") == 0) { xstyle = NONE; @@ -54,6 +55,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : xstyle = CONSTANT; } if (utils::strmatch(arg[4], "^v_")) { + delete[] ystr; ystr = utils::strdup(arg[4] + 2); } else if (strcmp(arg[4], "NULL") == 0) { ystyle = NONE; @@ -62,6 +64,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : ystyle = CONSTANT; } if (utils::strmatch(arg[5], "^v_")) { + delete[] zstr; zstr = utils::strdup(arg[5] + 2); } else if (strcmp(arg[5], "NULL") == 0) { zstyle = NONE; @@ -78,6 +81,7 @@ FixSetForce::FixSetForce(LAMMPS *lmp, int narg, char **arg) : if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix setforce region", error); region = domain->get_region_by_id(arg[iarg + 1]); if (!region) error->all(FLERR, "Region {} for fix setforce does not exist", arg[iarg + 1]); + delete[] idregion; idregion = utils::strdup(arg[iarg + 1]); iarg += 2; } else diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp index d2e707135d7..412ce8774ef 100644 --- a/src/fix_store_state.cpp +++ b/src/fix_store_state.cpp @@ -664,9 +664,11 @@ void FixStoreState::end_of_step() } // evaluate atom-style variable + // avalues is null when there are no atoms on this proc } else if (val.which == ArgInfo::VARIABLE) { - input->variable->compute_atom(val.val.v, igroup, &avalues[0][m], values.size(),0); + if (avalues) input->variable->compute_atom(val.val.v, igroup, &avalues[0][m], values.size(),0); + else input->variable->compute_atom(val.val.v, igroup, nullptr, values.size(),0); // access custom atom vector/array fields diff --git a/src/fix_vector.cpp b/src/fix_vector.cpp index b3325a8d39a..27a50400fba 100644 --- a/src/fix_vector.cpp +++ b/src/fix_vector.cpp @@ -68,7 +68,7 @@ FixVector::FixVector(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg], "nmax") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix vector nmax", error); nmaxval = utils::bnumeric(FLERR, arg[iarg + 1], false, lmp); - if (nmaxval < 1) error->all(FLERR, "Invalid nmax value"); + if ((nmaxval < 1) || (nmaxval > MAXSMALLINT)) error->all(FLERR, "Invalid nmax value"); iarg += 2; } else { error->all(FLERR, "Unknown fix vector keyword: {}", arg[iarg]); @@ -80,7 +80,7 @@ FixVector::FixVector(LAMMPS *lmp, int narg, char **arg) : // this fix produces either a global vector or array // intensive/extensive flags set by compute,fix,variable that produces value - int value, finalvalue; + int value = 0, finalvalue; bool first = true; for (auto &val : values) { if (val.which == ArgInfo::COMPUTE) { diff --git a/src/grid2d.cpp b/src/grid2d.cpp index 8eb32b60084..315e70212a6 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -63,6 +63,17 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny) : nx = gnx; ny = gny; + noverlap_list = maxoverlap_list = 0; + + // owned/ghost cell bounds are assigned in setup_grid() and ghost_grid(); + // zero them so the instance never carries indeterminate values + + inxlo = inxhi = inylo = inyhi = 0; + outxlo = outxhi = outylo = outyhi = 0; + fullxlo = fullxhi = fullylo = fullyhi = 0; + procxlo = procxhi = procylo = procyhi = 0; + ghostxlo = ghostxhi = ghostylo = ghostyhi = 0; + // default settings, can be overridden by set() methods // these affect assignment of owned and ghost cells @@ -77,6 +88,16 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny) : // layout_grid = how this grid instance is distributed across procs // depends on comm->layout at time this Grid2d instance is created + // the destructor may run before setup_grid() calls initialize(); + // null all counts it iterates over + + nswap = maxswap = 0; + nsend = nrecv = ncopy = 0; + nsend_remap = nrecv_remap = self_remap = 0; + copy_remap.npack = copy_remap.nunpack = 0; + copy_remap.packlist = copy_remap.unpacklist = nullptr; + + adjacent = 1; layout_grid = comm->layout; } @@ -107,6 +128,8 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int ixlo, int ixhi nx = gnx; ny = gny; + noverlap_list = maxoverlap_list = 0; + // store owned/ghost indices provided by caller inxlo = ixlo; @@ -119,9 +142,26 @@ Grid2d::Grid2d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int ixlo, int ixhi outylo = oylo; outyhi = oyhi; + // these settings are only used by setup_grid(), which must not be + // called with this constructor; assign the same defaults as above + + maxdist = 0.0; + stencil_grid_lo = stencil_grid_hi = 0; + stencil_atom_lo = stencil_atom_hi = 0; + shift_grid = 0.5; + shift_atom_lo = shift_atom_hi = 0.0; + yextra = 0; + yfactor = 1.0; + + // ghost plane counts are only assigned in ghost_grid(), which this + // constructor does not invoke + + ghostxlo = ghostxhi = ghostylo = ghostyhi = 0; + // layout_grid = how this grid instance is distributed across procs // depends on comm->layout at time this Grid2d instance is created + adjacent = 1; layout_grid = comm->layout; // additional intialization @@ -427,6 +467,8 @@ void Grid2d::initialize() nsend_remap = nrecv_remap = self_remap = 0; send_remap = nullptr; recv_remap = nullptr; + copy_remap.npack = copy_remap.nunpack = 0; + copy_remap.packlist = copy_remap.unpacklist = nullptr; // store info about Comm decomposition needed for remap operation // two Grid instances will exist for duration of remap diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 1ca3be6f4c9..9087be8047b 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -65,6 +65,17 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : ny = gny; nz = gnz; + noverlap_list = maxoverlap_list = 0; + + // owned/ghost cell bounds are assigned in setup_grid() and ghost_grid(); + // zero them so the instance never carries indeterminate values + + inxlo = inxhi = inylo = inyhi = inzlo = inzhi = 0; + outxlo = outxhi = outylo = outyhi = outzlo = outzhi = 0; + fullxlo = fullxhi = fullylo = fullyhi = fullzlo = fullzhi = 0; + procxlo = procxhi = procylo = procyhi = proczlo = proczhi = 0; + ghostxlo = ghostxhi = ghostylo = ghostyhi = ghostzlo = ghostzhi = 0; + // default settings, can be overridden by set() methods // these affect assignment of owned and ghost cells @@ -79,6 +90,16 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz) : // layout_grid = how this grid instance is distributed across procs // depends on comm->layout at time this Grid3d instance is created + // the destructor may run before setup_grid() calls initialize(); + // null all counts it iterates over + + nswap = maxswap = 0; + nsend = nrecv = ncopy = 0; + nsend_remap = nrecv_remap = self_remap = 0; + copy_remap.npack = copy_remap.nunpack = 0; + copy_remap.packlist = copy_remap.unpacklist = nullptr; + + adjacent = 1; layout_grid = comm->layout; } @@ -112,6 +133,8 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, ny = gny; nz = gnz; + noverlap_list = maxoverlap_list = 0; + // store owned/ghost indices provided by caller inxlo = ixlo; @@ -128,9 +151,26 @@ Grid3d::Grid3d(LAMMPS *lmp, MPI_Comm gcomm, int gnx, int gny, int gnz, outzlo = ozlo; outzhi = ozhi; + // these settings are only used by setup_grid(), which must not be + // called with this constructor; assign the same defaults as above + + maxdist = 0.0; + stencil_grid_lo = stencil_grid_hi = 0; + stencil_atom_lo = stencil_atom_hi = 0; + shift_grid = 0.5; + shift_atom_lo = shift_atom_hi = 0.0; + zextra = 0; + zfactor = 1.0; + + // ghost plane counts are only assigned in ghost_grid(), which this + // constructor does not invoke + + ghostxlo = ghostxhi = ghostylo = ghostyhi = ghostzlo = ghostzhi = 0; + // layout_grid = how this grid instance is distributed across procs // depends on comm->layout at time this Grid3d instance is created + adjacent = 1; layout_grid = comm->layout; // additional intialization @@ -477,6 +517,8 @@ void Grid3d::initialize() nsend_remap = nrecv_remap = self_remap = 0; send_remap = nullptr; recv_remap = nullptr; + copy_remap.npack = copy_remap.nunpack = 0; + copy_remap.packlist = copy_remap.unpacklist = nullptr; // store info about Comm decomposition needed for remap operation // two Grid instances will exist for duration of remap diff --git a/src/grid3d.h b/src/grid3d.h index f99957595e1..a6e922c05d0 100644 --- a/src/grid3d.h +++ b/src/grid3d.h @@ -99,7 +99,7 @@ class Grid3d : protected Pointers { int proczlo, proczhi; int ghostxlo, ghostxhi; // # of my owned grid planes needed - int ghostylo, ghostyhi; // by neighobr procs in each dir as their ghost planes + int ghostylo, ghostyhi; // by neighbor procs in each dir as their ghost planes int ghostzlo, ghostzhi; // swap = exchange of owned and ghost grid cells between 2 procs, including self diff --git a/src/group.cpp b/src/group.cpp index 14bc5096ee2..71e3ac824e6 100644 --- a/src/group.cpp +++ b/src/group.cpp @@ -772,8 +772,13 @@ void Group::read_restart(FILE *fp) // delete existing group names // atom masks will be overwritten by reading of restart file + // also null the pointers: if reading the restart data fails below, the + // destructor of a still-active library instance must not free them again - for (i = 0; i < MAX_GROUP; i++) delete[] names[i]; + for (i = 0; i < MAX_GROUP; i++) { + delete[] names[i]; + names[i] = nullptr; + } if (me == 0) utils::sfread(FLERR, &ngroup, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&ngroup, 1, MPI_INT, 0, world); @@ -789,6 +794,7 @@ void Group::read_restart(FILE *fp) } if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 0) || (n > 65536)) error->all(FLERR, "Invalid group name length in restart file"); if (n) { names[i] = new char[n]; if (me == 0) utils::sfread(FLERR, names[i], sizeof(char), n, fp, nullptr, error); diff --git a/src/improper.h b/src/improper.h index 1d9bef1d0ce..9290a68603f 100644 --- a/src/improper.h +++ b/src/improper.h @@ -41,7 +41,7 @@ class Improper : protected Pointers { // extract() method may still need to be added int symmatoms[4]; // symmetry atom(s) of improper style - // value of 0: interchangable atoms + // value of 0: interchangeable atoms // value of 1: central atom // values >1: additional atoms of symmetry diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index 7e61f866f61..9110542c98c 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -355,6 +355,8 @@ void ImproperHybrid::read_restart(FILE *fp) int me = comm->me; if (me == 0) utils::sfread(FLERR, &nstyles, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nstyles, 1, MPI_INT, 0, world); + if ((nstyles < 1) || (nstyles > 64)) + error->all(FLERR, "Invalid number of sub-styles in restart file"); styles = new Improper *[nstyles]; keywords = new char *[nstyles]; @@ -364,6 +366,7 @@ void ImproperHybrid::read_restart(FILE *fp) for (int m = 0; m < nstyles; m++) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid style name length in restart file"); keywords[m] = new char[n]; if (me == 0) utils::sfread(FLERR, keywords[m], sizeof(char), n, fp, nullptr, error); MPI_Bcast(keywords[m], n, MPI_CHAR, 0, world); diff --git a/src/label_map.cpp b/src/label_map.cpp index dd0bc94e493..1cc102b9969 100644 --- a/src/label_map.cpp +++ b/src/label_map.cpp @@ -280,7 +280,7 @@ int LabelMap::find_or_create(const std::string &mylabel, std::vectorciteme) lmp->citeme->add(cite_type_label_framework); // if no match found, create new label at next available index - // label map assumed to be intialized with numeric index + // label map assumed to be initialized with numeric index // user labels are assumed to be alphanumeric (not a number) auto labels_map_size = labels_map.size(); diff --git a/src/label_map.h b/src/label_map.h index 854402d9a84..955389254e1 100644 --- a/src/label_map.h +++ b/src/label_map.h @@ -339,7 +339,7 @@ Currently used when combining data from multiple sources with * * the string buffer is allocated with new and must be freed by the calling code with delete[] * - * \param fp FILE pointer of the openend file + * \param fp FILE pointer of the opened file * \return pointer to the allocated string buffer */ char *read_string(FILE *fp); diff --git a/src/library.cpp b/src/library.cpp index 3a555ad2a3a..4021fd701aa 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2596,7 +2596,7 @@ A table with supported keywords is included in the documentation of the .. versionchanged:: 4Jul2026 -When using the KOKKOS package with a device backend, per-atom data is now +When using the KOKKOS package with a device back end, per-atom data is now synchronized from the device to the host before the pointer is returned. Previously the host copy could be out-of-date for calls not aligned with an output or end-of-run step. diff --git a/src/main.cpp b/src/main.cpp index 2915b6cf386..2c99fa006f5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -61,36 +61,45 @@ int main(int argc, char **argv) if (MDI_MPI_get_world_comm(&lammps_comm)) MPI_Abort(MPI_COMM_WORLD, 1); #endif + // the outer try block catches exceptions thrown while reporting an error + // (e.g. when composing the error message text fails) so they cannot escape main() + try { - auto *lammps = new LAMMPS(argc, argv, lammps_comm); - lammps->input->file(); - delete lammps; - } catch (LAMMPSAbortException &ae) { - finalize(); - MPI_Abort(ae.get_universe(), 1); - } catch (LAMMPSException &) { - finalize(); - MPI_Barrier(lammps_comm); - MPI_Finalize(); - exit(1); - } catch (fmt::format_error &fe) { - fprintf(stderr, "\nfmt::format_error: %s%s\n", fe.what(), utils::errorurl(12).c_str()); - finalize(); - MPI_Abort(MPI_COMM_WORLD, 1); - exit(1); - } catch (json::exception &je) { - fprintf(stderr, "\nJSON library error %d: %s\n", je.id, je.what()); - finalize(); - MPI_Abort(MPI_COMM_WORLD, 1); - exit(1); - } catch (std::bad_alloc &ae) { - fprintf(stderr, "C++ memory allocation failed: %s\n", ae.what()); - finalize(); - MPI_Abort(MPI_COMM_WORLD, 1); - exit(1); + try { + auto *lammps = new LAMMPS(argc, argv, lammps_comm); + lammps->input->file(); + delete lammps; + } catch (LAMMPSAbortException &ae) { + finalize(); + MPI_Abort(ae.get_universe(), 1); + } catch (LAMMPSException &) { + finalize(); + MPI_Barrier(lammps_comm); + MPI_Finalize(); + exit(1); + } catch (fmt::format_error &fe) { + fprintf(stderr, "\nfmt::format_error: %s%s\n", fe.what(), utils::errorurl(12).c_str()); + finalize(); + MPI_Abort(MPI_COMM_WORLD, 1); + exit(1); + } catch (json::exception &je) { + fprintf(stderr, "\nJSON library error %d: %s\n", je.id, je.what()); + finalize(); + MPI_Abort(MPI_COMM_WORLD, 1); + exit(1); + } catch (std::bad_alloc &ae) { + fprintf(stderr, "C++ memory allocation failed: %s\n", ae.what()); + finalize(); + MPI_Abort(MPI_COMM_WORLD, 1); + exit(1); + } catch (std::exception &e) { + fprintf(stderr, "Exception: %s\n", e.what()); + finalize(); + MPI_Abort(MPI_COMM_WORLD, 1); + exit(1); + } } catch (std::exception &e) { - fprintf(stderr, "Exception: %s\n", e.what()); - finalize(); + fprintf(stderr, "LAMMPS encountered another error while reporting an error: %s\n", e.what()); MPI_Abort(MPI_COMM_WORLD, 1); exit(1); } diff --git a/src/math_eigen_impl.h b/src/math_eigen_impl.h index 8aa214a576a..3b9b0664259 100644 --- a/src/math_eigen_impl.h +++ b/src/math_eigen_impl.h @@ -111,7 +111,7 @@ namespace MathEigen { template real_t l1_norm(const std::vector& v); - // Calculate the l2_norm (Euclidian length) of vector v. + // Calculate the l2_norm (Euclidean length) of vector v. // returns a real number (of type real_t). template real_t l2_norm(const std::vector& v); @@ -400,7 +400,7 @@ void Alloc2D(size_t nrows, // size of the array (number of rows) Entry ***paaX) // pointer to a 2D C-style array { *paaX = new Entry* [nrows]; //conventional 2D C array (pointer-to-pointer) - (*paaX)[0] = new Entry [nrows * ncols]; // 1D C array (contiguous memor) + (*paaX)[0] = new Entry [nrows * ncols]; // 1D C array (contiguous memory) for (size_t iy=0; iy int MinFire::run_iterate(int maxiter) // v = (1-alpha) v + alpha |v| Fhat // |v| = length of v, Fhat = unit f // Only: (1-alpha) and alpha |v| Fhat is calculated here - // the modificatin of v is made wihtin the integration, after v update + // the modificatin of v is made within the integration, after v update // if more than delaystep since v dot f was negative: // increase timestep, update global timestep and decrease alpha @@ -327,7 +327,7 @@ template int MinFire::run_iterate(int maxiter) } if (!ABCFLAG) { - // evaluates velocties to estimate wether dtv has to be limited + // evaluates velocties to estimate whether dtv has to be limited // required when v have been reset if (flagv0) { diff --git a/src/min_linesearch.cpp b/src/min_linesearch.cpp index 8e36bd40ba7..0e4e04d6412 100644 --- a/src/min_linesearch.cpp +++ b/src/min_linesearch.cpp @@ -56,6 +56,7 @@ MinLineSearch::MinLineSearch(LAMMPS *lmp) : Min(lmp), x0(nullptr), g(nullptr), h searchflag = 1; gextra = hextra = nullptr; x0extra_atom = gextra_atom = hextra_atom = nullptr; + linemin = nullptr; } /* ---------------------------------------------------------------------- */ @@ -535,7 +536,7 @@ pseudo code: // ZERO_ENERGY = 1e-12, is max allowed energy increase if (de > ZERO_ENERGY): - bactrack = true + backtrack = true // GRAD_TOL = 0.1 if ((not backtrack) && (fabs(fhCurr/fh0) <= GRAD_TOL)): @@ -546,7 +547,7 @@ pseudo code: if ( fhCurr < 0): backtrack = true - if (bactrack): + if (backtrack): // forces along search direction changed sign if (fhCurr < 0): Get alpha_del by solving for zero @@ -688,7 +689,7 @@ int MinLineSearch::linemin_forcezero(double eoriginal, double &alpha) alpha_init = MAX(EPS_QUAD, 0.1*fabs(eoriginal)/fdothall); - // initialize aplha to 0.0 + // initialize alpha to 0.0 alpha = 0.0; @@ -800,7 +801,7 @@ int MinLineSearch::linemin_forcezero(double eoriginal, double &alpha) if (hmaxall*alpha_del <= MIN_ALPHA_FAC) { - // undo all line minization moves + // undo all line minimization moves engCurr = alpha_step(0.0,1); ecurrent= engCurr; diff --git a/src/modify.cpp b/src/modify.cpp index 830f66c3a1e..e66bb73cec8 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -1543,6 +1543,8 @@ int Modify::read_restart(FILE *fp) int me = comm->me; if (me == 0) utils::sfread(FLERR, &nfix_restart_global, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nfix_restart_global, 1, MPI_INT, 0, world); + if ((nfix_restart_global < 0) || (nfix_restart_global > 4096)) + error->all(FLERR, "Invalid number of fix entries in restart file"); // allocate space for each entry @@ -1560,18 +1562,21 @@ int Modify::read_restart(FILE *fp) for (int i = 0; i < nfix_restart_global; i++) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid fix info size in restart file"); id_restart_global[i] = new char[n]; if (me == 0) utils::sfread(FLERR, id_restart_global[i], sizeof(char), n, fp, nullptr, error); MPI_Bcast(id_restart_global[i], n, MPI_CHAR, 0, world); if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid fix info size in restart file"); style_restart_global[i] = new char[n]; if (me == 0) utils::sfread(FLERR, style_restart_global[i], sizeof(char), n, fp, nullptr, error); MPI_Bcast(style_restart_global[i], n, MPI_CHAR, 0, world); if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 0) || (n > (1 << 30))) error->all(FLERR, "Invalid fix data size in restart file"); state_restart_global[i] = new char[n]; if (me == 0) utils::sfread(FLERR, state_restart_global[i], sizeof(char), n, fp, nullptr, error); MPI_Bcast(state_restart_global[i], n, MPI_CHAR, 0, world); @@ -1581,10 +1586,12 @@ int Modify::read_restart(FILE *fp) // nfix_restart_peratom = # of restart entries with peratom info - int maxsize = 0; + bigint maxsize = 0; if (me == 0) utils::sfread(FLERR, &nfix_restart_peratom, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&nfix_restart_peratom, 1, MPI_INT, 0, world); + if ((nfix_restart_peratom < 0) || (nfix_restart_peratom > 4096)) + error->all(FLERR, "Invalid number of fix entries in restart file"); // allocate space for each entry @@ -1602,12 +1609,14 @@ int Modify::read_restart(FILE *fp) for (int i = 0; i < nfix_restart_peratom; i++) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid fix info size in restart file"); id_restart_peratom[i] = new char[n]; if (me == 0) utils::sfread(FLERR, id_restart_peratom[i], sizeof(char), n, fp, nullptr, error); MPI_Bcast(id_restart_peratom[i], n, MPI_CHAR, 0, world); if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) error->all(FLERR, "Invalid fix info size in restart file"); style_restart_peratom[i] = new char[n]; if (me == 0) utils::sfread(FLERR, style_restart_peratom[i], sizeof(char), n, fp, nullptr, error); @@ -1615,13 +1624,16 @@ int Modify::read_restart(FILE *fp) if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if (n < 0) error->all(FLERR, "Invalid per-atom data size in restart file"); maxsize += n; index_restart_peratom[i] = i; used_restart_peratom[i] = 0; } - return maxsize; + if (maxsize > MAXSMALLINT) error->all(FLERR, "Per-atom fix data in restart file is too large"); + + return (int) maxsize; } /* ---------------------------------------------------------------------- diff --git a/src/my_pool_chunk.cpp b/src/my_pool_chunk.cpp index 7f8463ddb42..d81a9b85ed7 100644 --- a/src/my_pool_chunk.cpp +++ b/src/my_pool_chunk.cpp @@ -55,14 +55,23 @@ MyPoolChunk::MyPoolChunk(int user_minchunk, int user_maxchunk, int user_nbin, chunkperpage = user_chunkperpage; pagedelta = user_pagedelta; + // initialize all members freed by the destructor before any early + // return, so a partially constructed pool can be safely destroyed + + ndatum = nchunk = 0; + freehead = chunksize = freelist = nullptr; + pages = nullptr; + whichbin = nullptr; + npage = 0; + binsize = 0; + errorflag = 0; if (minchunk <= 0 || minchunk > maxchunk) errorflag = 1; if (user_nbin <= 0 || chunkperpage <= 0 || pagedelta <= 0) errorflag = 1; + if (errorflag) return; freehead = new int[nbin]; chunksize = new int[nbin]; - if (!freehead || !chunksize) errorflag = 1; - if (errorflag) return; // ensure nbin*binsize spans minchunk to maxchunk inclusive @@ -75,11 +84,6 @@ MyPoolChunk::MyPoolChunk(int user_minchunk, int user_maxchunk, int user_nbin, chunksize[ibin] = minchunk + (ibin + 1) * binsize - 1; if (chunksize[ibin] > maxchunk) chunksize[ibin] = maxchunk; } - - ndatum = nchunk = 0; - pages = nullptr; - whichbin = nullptr; - npage = 0; } /** Destroy class instance and free all allocated memory */ diff --git a/src/nbin_standard.cpp b/src/nbin_standard.cpp index b137f81898c..f867449c5a4 100644 --- a/src/nbin_standard.cpp +++ b/src/nbin_standard.cpp @@ -165,7 +165,7 @@ void NBinStandard::setup_bins(int style) // mbinlo/hi = lowest and highest global bins my ghost atoms could be in // coord = lowest and highest values of coords for my ghost atoms - // static_cast(-1.5) = -1, so subract additional -1 + // static_cast(-1.5) = -1, so subtract additional -1 // add in SMALL for round-off safety int mbinxhi,mbinyhi,mbinzhi; diff --git a/src/neigh_request.h b/src/neigh_request.h index a438527d0d4..52d633de219 100644 --- a/src/neigh_request.h +++ b/src/neigh_request.h @@ -39,7 +39,7 @@ class NeighRequest : protected Pointers { // used to track multiple requests from one class // ----------------------------- - // flags set by requesting class for attributes of neighor list they need + // flags set by requesting class for attributes of neighbor list they need // all must be set appropriately, all have defaults // ----------------------------- diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 09177536c8c..e60c8d89cb7 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -911,8 +911,8 @@ int Neighbor::init_pair() nlist = nrequest; lists = new NeighList*[nrequest]; - neigh_bin = new NBin*[nrequest]; - neigh_stencil = new NStencil*[nrequest]; + neigh_bin = new NBin*[nrequest](); + neigh_stencil = new NStencil*[nrequest](); neigh_pair = new NPair*[nrequest]; // allocate new lists @@ -1255,7 +1255,7 @@ void Neighbor::morph_skip() NeighRequest *irq, *jrq, *nrq; // loop over irq from largest to smallest cutoff - // to prevent adding unecessary neighbor lists + // to prevent adding unnecessary neighbor lists for (i = nrequest - 1; i >= 0; i--) { irq = requests[j_sorted[i]]; diff --git a/src/npair.cpp b/src/npair.cpp index 7ad48c5435d..49402f9b188 100644 --- a/src/npair.cpp +++ b/src/npair.cpp @@ -31,14 +31,53 @@ using namespace LAMMPS_NS; NPair::NPair(LAMMPS *lmp) : Pointers(lmp), nb(nullptr), ns(nullptr), atom2bin(nullptr), bins(nullptr), - binatoms_hash_multi(nullptr), stencil(nullptr) + binatoms_hash_multi(nullptr), stencil(nullptr), nstencil_multi(nullptr), + stencil_multi(nullptr) { last_build = -1; + flag_same_multi = nullptr; + flag_half_multi = nullptr; mycutneighsq = nullptr; molecular = atom->molecular; copymode = 0; cutoff_custom = 0.0; execution_space = Host; + + // the members below hold copies of neighbor/bin/stencil settings that + // copy_neighbor_info(), copy_bin_info(), and copy_stencil_info() fill in + // before each build; zero them so instances never carry indeterminate values + + istyle = 0; + includegroup = exclude = 0; + skin = 0.0; + cutneighsq = cutneighghostsq = nullptr; + cut_inner_sq = cut_middle_sq = cut_middle_inside_sq = 0.0; + bboxlo = bboxhi = nullptr; + ncollections = 0; + cutcollectionsq = nullptr; + nex_type = nex_group = nex_mol = 0; + ex1_type = ex2_type = nullptr; + ex_type = nullptr; + ex1_group = ex2_group = nullptr; + ex1_bit = ex2_bit = nullptr; + ex_mol_bit = ex_mol_group = ex_mol_intra = nullptr; + special_flag = nullptr; + + nbinx = nbiny = nbinz = 0; + mbins = mbinx = mbiny = mbinz = 0; + mbinxlo = mbinylo = mbinzlo = 0; + bininvx = bininvy = bininvz = 0.0; + binhead = nullptr; + bin_hash = 0; + nbinx_multi = nbiny_multi = nbinz_multi = nullptr; + mbins_multi = nullptr; + mbinx_multi = mbiny_multi = mbinz_multi = nullptr; + mbinxlo_multi = mbinylo_multi = mbinzlo_multi = nullptr; + bininvx_multi = bininvy_multi = bininvz_multi = nullptr; + binhead_multi = nullptr; + + nstencil = 0; + stencilxyz = nullptr; } /* ---------------------------------------------------------------------- */ @@ -318,6 +357,8 @@ int NPair::coord2bin(double *x, int ic) /* ---------------------------------------------------------------------- bigint version for hash bins + NOTE: the bin index must be computed in 64-bit: this variant exists + for bin counts that overflow 32-bit integers ------------------------------------------------------------------------- */ bigint NPair::coord2bin_big(double *x, int ic) @@ -355,6 +396,6 @@ bigint NPair::coord2bin_big(double *x, int ic) ix -= mbinxlo_multi[ic]; iy -= mbinylo_multi[ic]; iz -= mbinzlo_multi[ic]; - ibin = iz*mbiny_multi[ic]*mbinx_multi[ic] + iy*mbinx_multi[ic] + ix; + ibin = (bigint) iz*mbiny_multi[ic]*mbinx_multi[ic] + (bigint) iy*mbinx_multi[ic] + ix; return ibin; } diff --git a/src/npair_bin.cpp b/src/npair_bin.cpp index 9c3cbe8e91e..0d116898600 100644 --- a/src/npair_bin.cpp +++ b/src/npair_bin.cpp @@ -133,7 +133,7 @@ void NPairBin::build(NeighList *list) } else if (TRI) { // for triclinic, bin stencil is full in all 3 dims // must use itag/jtag to eliminate half the I/J interactions - // cannot use I/J exact coord comparision + // cannot use I/J exact coord comparison // b/c transforming orthog -> lambda -> orthog for ghost atoms // with an added PBC offset can shift all 3 coords by epsilon if (j <= i) continue; diff --git a/src/npair_halffull.cpp b/src/npair_halffull.cpp index 7773ff5a585..5270b4653af 100644 --- a/src/npair_halffull.cpp +++ b/src/npair_halffull.cpp @@ -42,7 +42,7 @@ NPairHalffull::NPairHalffull(LAMMPS *lmp) : NPair(lmp) {} use i < j < nlocal to eliminate half the local/local interactions Newton + Triclinic: must use delta to eliminate half the local/ghost interactions - cannot use I/J exact coord comparision as for orthog + cannot use I/J exact coord comparison as for orthog b/c transforming orthog -> lambda -> orthog for ghost atoms with an added PBC offset can shift all 3 coords by epsilon ------------------------------------------------------------------------- */ diff --git a/src/npair_multi.cpp b/src/npair_multi.cpp index e39cadcf62d..e26cacd3e90 100644 --- a/src/npair_multi.cpp +++ b/src/npair_multi.cpp @@ -157,7 +157,7 @@ void NPairMulti::build(NeighList *list) // stencil is full if i same size as j // for i smaller than j: // must use itag/jtag to eliminate half the I/J interactions - // cannot use I/J exact coord comparision + // cannot use I/J exact coord comparison // b/c transforming orthog -> lambda -> orthog for ghost atoms // with an added PBC offset can shift all 3 coords by epsilon @@ -377,7 +377,7 @@ void NPairMulti::build_hash(NeighList *list) // stencil is full if i same size as j // for i smaller than j: // must use itag/jtag to eliminate half the I/J interactions - // cannot use I/J exact coord comparision + // cannot use I/J exact coord comparison // b/c transforming orthog -> lambda -> orthog for ghost atoms // with an added PBC offset can shift all 3 coords by epsilon diff --git a/src/npair_nsq.cpp b/src/npair_nsq.cpp index be6a3d84ad3..e583ed5ffc7 100644 --- a/src/npair_nsq.cpp +++ b/src/npair_nsq.cpp @@ -47,9 +47,9 @@ NPairNsq::NPairNsq(LAMMPS *lmp) : NPair(lmp) {} every pair stored exactly once by some processor decision on ghost atoms based on itag, jtag tests Half + Newton + Tri: - use itag/jtap comparision to eliminate half the interactions + use itag/jtap comparison to eliminate half the interactions for triclinic, must use delta to eliminate half the I/J interactions - cannot use I/J exact coord comparision as for orthog + cannot use I/J exact coord comparison as for orthog b/c transforming orthog -> lambda -> orthog for ghost atoms with an added PBC offset can shift all 3 coords by epsilon ------------------------------------------------------------------------- */ diff --git a/src/npair_respa_bin.cpp b/src/npair_respa_bin.cpp index eba11b86997..aedc9ff342b 100644 --- a/src/npair_respa_bin.cpp +++ b/src/npair_respa_bin.cpp @@ -143,7 +143,7 @@ void NPairRespaBin::build(NeighList *list) // Half neighbor list, newton on, triclinic // for triclinic, bin stencil is full in all 3 dims // must use itag/jtag to eliminate half the I/J interactions - // cannot use I/J exact coord comparision + // cannot use I/J exact coord comparison // b/c transforming orthog -> lambda -> orthog for ghost atoms // with an added PBC offset can shift all 3 coords by epsilon if (j <= i) continue; diff --git a/src/npair_respa_nsq.cpp b/src/npair_respa_nsq.cpp index c660b7002f6..75d43507512 100644 --- a/src/npair_respa_nsq.cpp +++ b/src/npair_respa_nsq.cpp @@ -44,11 +44,11 @@ NPairRespaNsq::NPairRespaNsq(LAMMPS *lmp) : NPair(lmp) {} pair added to list if atoms i and j are both owned and i < j if j is ghost only me or other proc adds pair decision based on itag,jtag tests - use itag/jtag comparision to eliminate half the interactions + use itag/jtag comparison to eliminate half the interactions itag = jtag is possible for long cutoffs that include images of self Newton + Triclinic: for triclinic, must use delta to eliminate half the I/J interactions - cannot use I/J exact coord comparision as for orthog + cannot use I/J exact coord comparison as for orthog b/c transforming orthog -> lambda -> orthog for ghost atoms with an added PBC offset can shift all 3 coords by epsilon @@ -132,10 +132,10 @@ void NPairRespaNsq::build(NeighList *list) } // loop over remaining atoms, owned and ghost - // use itag/jtap comparision to eliminate half the interactions + // use itag/jtap comparison to eliminate half the interactions // itag = jtag is possible for long cutoffs that include images of self // for triclinic, must use delta to eliminate half the I/J interactions - // cannot use I/J exact coord comparision as for orthog + // cannot use I/J exact coord comparison as for orthog // b/c transforming orthog -> lambda -> orthog for ghost atoms // with an added PBC offset can shift all 3 coords by epsilon diff --git a/src/output.cpp b/src/output.cpp index 9fa7ecff494..9211201ad5c 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -385,7 +385,7 @@ void Output::write(bigint ntimestep) // if wrap when timestep size varies frequently, // then can do many unneeded addstep() --> inefficient // hard to know if timestep varies, since run every could change it - // can't remove an uneeded addstep from a compute, b/c don't know + // can't remove an unneeded addstep from a compute, b/c don't know // what other command may have added it int mode_dump_any = 0; // any variable time or clearstep dump diff --git a/src/output.h b/src/output.h index 01dc30a5f5e..5cd9254f4f8 100644 --- a/src/output.h +++ b/src/output.h @@ -96,7 +96,7 @@ class Output : protected Pointers { const std::vector &get_dump_list(); // get vector with all dumps int check_time_dumps(bigint); // check if any time dump is output now - void set_thermo(int, char **); // set thermo output freqquency + void set_thermo(int, char **); // set thermo output frequency void create_thermo(int, char **); // create a thermo style void create_restart(int, char **); // create Restart and restart files diff --git a/src/pair.cpp b/src/pair.cpp index 66745f56cff..604ccf0031e 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -376,6 +376,7 @@ void Pair::init_tables(double cut_coul, double *cut_respa) { int masklo,maskhi; double r,grij,expm2,derfc,egamma,fgamma,rsw; + double fesp,eesp; double qqrd2e = force->qqrd2e; if (force->kspace == nullptr) @@ -440,9 +441,20 @@ void Pair::init_tables(double cut_coul, double *cut_respa) fgamma = 1.0 + ((double)rsq_lookup.f/cut_coulsq)* force->kspace->dgamma(r/cut_coul); } else if (espflag) { - // This block is currently empty and does not perform any operations. - } - else { + double r_coul = 2.0 * r/cut_coul - 1.0; + double poly_r = 1.0; + fesp = force_poly_coeff[0]; + for (int ii = 1; ii < num_of_force_poly; ii++) { + poly_r *= r_coul; + fesp += force_poly_coeff[ii] * poly_r; + } + poly_r = 1.0; + eesp = energy_poly_coeff[0]; + for (int ii = 1; ii < num_of_energy_poly; ii++) { + poly_r *= r_coul; + eesp += energy_poly_coeff[ii] * poly_r; + } + } else { grij = g_ewald * r; expm2 = exp(-grij*grij); derfc = erfc(grij); @@ -455,21 +467,8 @@ void Pair::init_tables(double cut_coul, double *cut_respa) ftable[i] = qqrd2e/r * fgamma; etable[i] = qqrd2e/r * egamma; } else if (espflag) { - double r_coul = 2.0 * r/cut_coul - 1.0; - double force_poly_appx = force_poly_coeff[0]; - double force_poly_r = 1.0; - for(int ii=1; iikspace->gamma(r/cut_coul); fgamma = 1.0 + ((double)rsq_lookup.f/cut_coulsq)* force->kspace->dgamma(r/cut_coul); + } else if (espflag) { + double r_coul = 2.0 * r/cut_coul - 1.0; + double poly_r = 1.0; + fesp = force_poly_coeff[0]; + for (int ii = 1; ii < num_of_force_poly; ii++) { + poly_r *= r_coul; + fesp += force_poly_coeff[ii] * poly_r; + } + poly_r = 1.0; + eesp = energy_poly_coeff[0]; + for (int ii = 1; ii < num_of_energy_poly; ii++) { + poly_r *= r_coul; + eesp += energy_poly_coeff[ii] * poly_r; + } } else { grij = g_ewald * r; expm2 = exp(-grij*grij); @@ -567,22 +585,9 @@ void Pair::init_tables(double cut_coul, double *cut_respa) f_tmp = qqrd2e/r * fgamma; e_tmp = qqrd2e/r * egamma; } else if (espflag) { - double r_coul = 2.0 * r/cut_coul - 1.0; - double force_poly_appx = force_poly_coeff[0]; - double force_poly_r = 1.0; - for(int ii=1; iime; if (me == 0) utils::sfread(FLERR,&nstyles,sizeof(int),1,fp,nullptr,error); MPI_Bcast(&nstyles,1,MPI_INT,0,world); + if ((nstyles < 1) || (nstyles > 64)) + error->all(FLERR,"Invalid number of sub-styles in restart file"); // allocate list of sub-styles @@ -850,6 +852,7 @@ void PairHybrid::read_restart(FILE *fp) for (int m = 0; m < nstyles; m++) { if (me == 0) utils::sfread(FLERR,&n,sizeof(int),1,fp,nullptr,error); MPI_Bcast(&n,1,MPI_INT,0,world); + if ((n < 1) || (n > 65536)) error->all(FLERR,"Invalid style name length in restart file"); keywords[m] = new char[n]; if (me == 0) utils::sfread(FLERR,keywords[m],sizeof(char),n,fp,nullptr,error); MPI_Bcast(keywords[m],n,MPI_CHAR,0,world); diff --git a/src/pair_hybrid_scaled.cpp b/src/pair_hybrid_scaled.cpp index 902bd754d22..afa4b7ec1a3 100644 --- a/src/pair_hybrid_scaled.cpp +++ b/src/pair_hybrid_scaled.cpp @@ -717,10 +717,14 @@ void PairHybridScaled::read_restart(FILE *fp) char *tmp; if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 0) || (n > 4096)) + error->all(FLERR, "Invalid number of scale variables in restart file"); scalevars.resize(n); for (auto &scale : scalevars) { if (me == 0) utils::sfread(FLERR, &n, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&n, 1, MPI_INT, 0, world); + if ((n < 1) || (n > 65536)) + error->all(FLERR, "Invalid variable name length in restart file"); tmp = new char[n]; if (me == 0) utils::sfread(FLERR, tmp, sizeof(char), n, fp, nullptr, error); MPI_Bcast(tmp, n, MPI_CHAR, 0, world); diff --git a/src/procmap.cpp b/src/procmap.cpp index bd6da42a37e..068e39e6441 100644 --- a/src/procmap.cpp +++ b/src/procmap.cpp @@ -668,8 +668,10 @@ void ProcMap::output(char *file, int *procgrid, int ***grid2proc) } // find me in the grid + // grid2proc is a bijection, so the scan always finds a match; + // initialize anyway so the values are always defined - int ime,jme,kme; + int ime = 0, jme = 0, kme = 0; for (int i = 0; i < procgrid[0]; i++) for (int j = 0; j < procgrid[1]; j++) for (int k = 0; k < procgrid[2]; k++) diff --git a/src/read_data.cpp b/src/read_data.cpp index 7741a37d469..70fab19c9c2 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -698,7 +698,7 @@ void ReadData::command(int narg, char **arg) } } - // setup simulation box and paritioning in Domain and Comm classes + // setup simulation box and partioning in Domain and Comm classes domain->print_box(" "); domain->set_initial_box(); diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 9b98013e932..4f07ca5feb3 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -202,6 +202,7 @@ void ReadRestart::command(int narg, char **arg) error->all(FLERR, 1, "Invalid flag in peratom section of restart file"); n = read_int(); + if (n < 0) error->all(FLERR, 1, "Invalid data size in peratom section of restart file"); if (n > maxbuf) { maxbuf = n; memory->destroy(buf); @@ -209,8 +210,13 @@ void ReadRestart::command(int narg, char **arg) } read_double_vec(n,buf); + // the first value of each per-atom chunk is the size of the chunk; + // it must be positive so the loop below always advances + m = 0; while (m < n) { + if (static_cast(buf[m]) < 1) + error->all(FLERR, 1, "Invalid data in peratom section of restart file"); x = &buf[m+1]; if (remapflag) { iptr = (imageint *) &buf[m+7]; diff --git a/src/reader_native.cpp b/src/reader_native.cpp index d6381978fd5..01bd0cb2793 100644 --- a/src/reader_native.cpp +++ b/src/reader_native.cpp @@ -238,6 +238,7 @@ bigint ReaderNative::read_header(double box[3][3], int &boxinfo, int &triclinic, } read_buf(&len, sizeof(int), 1); + if (len < 0) error->one(FLERR,"Dump file is invalid or corrupted"); labelline = read_binary_str(len); } else { error->one(FLERR, "Unsupported old binary dump format"); @@ -462,6 +463,7 @@ void ReaderNative::read_atoms(int n, int nfield, double **fields) // if the last chunk has finished if (iatom_chunk == 0) { read_buf(&natom_chunk, sizeof(int), 1); + if (natom_chunk < 0) error->one(FLERR,"Dump file is invalid or corrupted"); read_double_chunk(natom_chunk); natom_chunk /= size_one; m = 0; diff --git a/src/region_block.cpp b/src/region_block.cpp index 56651bd8d44..1f313f16949 100644 --- a/src/region_block.cpp +++ b/src/region_block.cpp @@ -429,6 +429,10 @@ int RegBlock::surface_exterior(double *x, double cutoff) mindist = dist; } } + + // no contact possible if all faces are open + + if (mindist == BIG) return 0; } add_contact(0, x, xp, yp, zp); diff --git a/src/region_cone.cpp b/src/region_cone.cpp index 0f343c4869c..6deabc9a8f5 100644 --- a/src/region_cone.cpp +++ b/src/region_cone.cpp @@ -39,6 +39,11 @@ RegCone::RegCone(LAMMPS *lmp, int narg, char **arg) : { options(narg - 9, &arg[9]); + // defaults, overwritten during parsing below + + radiuslo = radiushi = 0.0; + rlostyle = rhistyle = CONSTANT; + // check open face settings if (openflag) @@ -215,7 +220,8 @@ RegCone::RegCone(LAMMPS *lmp, int narg, char **arg) : if (axis == 'z') lo = zscale * utils::numeric(FLERR, arg[7], false, lmp); } - if (strcmp(arg[8], "INF") == 0 || strcmp(arg[7], "EDGE") == 0) { + histyle = CONSTANT; + if (strcmp(arg[8], "INF") == 0 || strcmp(arg[8], "EDGE") == 0) { if (domain->box_exist == 0) error->all(FLERR, "Cannot use region INF or EDGE when box does not exist"); if (axis == 'x') { @@ -227,8 +233,9 @@ RegCone::RegCone(LAMMPS *lmp, int narg, char **arg) : hi = domain->boxhi_bound[0]; } if (axis == 'y') { - if (strcmp(arg[8], "INF") == 0) hi = BIG; - if (domain->triclinic == 0) + if (strcmp(arg[8], "INF") == 0) + hi = BIG; + else if (domain->triclinic == 0) hi = domain->boxhi[1]; else hi = domain->boxhi_bound[1]; @@ -692,6 +699,7 @@ int RegCone::surface_exterior(double *x, double cutoff) if (distsq < distsqprev) crad = 0; } + if (distsq == BIG) return 0; add_contact(0, x, nearest[0], nearest[1], nearest[2]); contact[0].radius = crad; contact[0].iwall = 0; @@ -756,6 +764,7 @@ int RegCone::surface_exterior(double *x, double cutoff) if (distsq < distsqprev) crad = 0; } + if (distsq == BIG) return 0; add_contact(0, x, nearest[0], nearest[1], nearest[2]); contact[0].radius = crad; contact[0].iwall = 0; diff --git a/src/region_cylinder.cpp b/src/region_cylinder.cpp index 49bd8d8305a..2cf0376447e 100644 --- a/src/region_cylinder.cpp +++ b/src/region_cylinder.cpp @@ -459,6 +459,10 @@ int RegCylinder::surface_exterior(double *x, double cutoff) double xp, yp, zp; double dx, dr, dr2, d2, d2prev; + // with all three faces open there is no surface left to contact + + if (open_faces[0] && open_faces[1] && open_faces[2]) return 0; + // radius of curvature for granular // 0 for flat surfaces (infinite case), 2*radius for curved portion @@ -538,6 +542,9 @@ int RegCylinder::surface_exterior(double *x, double cutoff) if (r < radius) { yp = x[1]; zp = x[2]; + } else { + yp = c1 + del1 * radius / r; + zp = c2 + del2 * radius / r; } d2prev = d2; } @@ -556,6 +563,9 @@ int RegCylinder::surface_exterior(double *x, double cutoff) if (r < radius) { yp = x[1]; zp = x[2]; + } else { + yp = c1 + del1 * radius / r; + zp = c2 + del2 * radius / r; } } } @@ -641,6 +651,9 @@ int RegCylinder::surface_exterior(double *x, double cutoff) if (r < radius) { xp = x[0]; zp = x[2]; + } else { + xp = c1 + del1 * radius / r; + zp = c2 + del2 * radius / r; } d2prev = d2; } @@ -659,6 +672,9 @@ int RegCylinder::surface_exterior(double *x, double cutoff) if (r < radius) { xp = x[0]; zp = x[2]; + } else { + xp = c1 + del1 * radius / r; + zp = c2 + del2 * radius / r; } } } @@ -744,6 +760,9 @@ int RegCylinder::surface_exterior(double *x, double cutoff) if (r < radius) { xp = x[0]; yp = x[1]; + } else { + xp = c1 + del1 * radius / r; + yp = c2 + del2 * radius / r; } d2prev = d2; } @@ -762,6 +781,9 @@ int RegCylinder::surface_exterior(double *x, double cutoff) if (r < radius) { xp = x[0]; yp = x[1]; + } else { + xp = c1 + del1 * radius / r; + yp = c2 + del2 * radius / r; } } } diff --git a/src/region_prism.cpp b/src/region_prism.cpp index 17287635cba..957f1361eba 100644 --- a/src/region_prism.cpp +++ b/src/region_prism.cpp @@ -496,7 +496,7 @@ int RegPrism::surface_exterior(double *x, double cutoff) // could be edge or corner pt of prism // do not add contact point if r >= cutoff - find_nearest(x, xp, yp, zp); + if (!find_nearest(x, xp, yp, zp)) return 0; add_contact(0, x, xp, yp, zp); contact[0].radius = 0; contact[0].iwall = 0; @@ -735,9 +735,10 @@ void RegPrism::variable_check() /* ---------------------------------------------------------------------- x is exterior to prism or on its surface return (xp,yp,zp) = nearest pt to x that is on surface of prism + return 0 if no nearest point exists since all faces are open, else 1 ------------------------------------------------------------------------- */ -void RegPrism::find_nearest(double *x, double &xp, double &yp, double &zp) +int RegPrism::find_nearest(double *x, double &xp, double &yp, double &zp) { int i, j, k, iface; double xproj[3], xline[3], nearest[3]; @@ -776,9 +777,14 @@ void RegPrism::find_nearest(double *x, double &xp, double &yp, double &zp) } } + // no nearest point if all faces are open + + if (distsq == BIG) return 0; + xp = nearest[0]; yp = nearest[1]; zp = nearest[2]; + return 1; } /* ---------------------------------------------------------------------- diff --git a/src/region_prism.h b/src/region_prism.h index 46233f0ba48..12243dc0c87 100644 --- a/src/region_prism.h +++ b/src/region_prism.h @@ -50,7 +50,7 @@ class RegPrism : public Region { double corners[8][3]; // 8 corner pts of prism int tri[12][3]; // 3 corner pts of 12 triangles (2 per face) - void find_nearest(double *, double &, double &, double &); + int find_nearest(double *, double &, double &, double &); int inside_tri(double *, double *, double *, double *, double *); double closest(double *, double *, double *, double); diff --git a/src/set.cpp b/src/set.cpp index 9de1f406b72..5fae968fb8d 100644 --- a/src/set.cpp +++ b/src/set.cpp @@ -429,7 +429,7 @@ void Set::process_args(int caller_flag, int narg, char **arg) } // error if any action of fix set command does not use a per-atom variable - // b/c fix set is then effectivly a no-op + // b/c fix set is then effectively a no-op if (caller == FIXSET) { for (int i = 0; i < naction; i++) { diff --git a/src/universe.cpp b/src/universe.cpp index 1db72f9bb5f..fe53b0d5002 100644 --- a/src/universe.cpp +++ b/src/universe.cpp @@ -104,6 +104,9 @@ void Universe::reorder(char *style, char *arg) // read nprocs lines // uni2orig = inverse mapping + // each original and each new rank must appear exactly once + + std::vector seen_orig(nprocs,0), seen_new(nprocs,0); int me_orig,me_new,rv; rv = sscanf(line,"%d %d",&me_orig,&me_new); @@ -111,6 +114,7 @@ void Universe::reorder(char *style, char *arg) me_new < 0 || me_new >= nprocs || rv != 2) error->one(FLERR,"Invalid entry '{} {}' in -reorder " "file", me_orig, me_new); + seen_orig[me_orig] = seen_new[me_new] = 1; uni2orig[me_new] = me_orig; for (int i = 1; i < nprocs; i++) { @@ -121,6 +125,9 @@ void Universe::reorder(char *style, char *arg) me_new < 0 || me_new >= nprocs || rv != 2) error->one(FLERR,"Invalid entry '{} {}' in -reorder " "file", me_orig, me_new); + if (seen_orig[me_orig] || seen_new[me_new]) + error->one(FLERR,"Duplicate entry '{} {}' in -reorder file", me_orig, me_new); + seen_orig[me_orig] = seen_new[me_new] = 1; uni2orig[me_new] = me_orig; } } @@ -133,10 +140,11 @@ void Universe::reorder(char *style, char *arg) // create new uworld communicator - int ome,key; + int ome,key = -1; MPI_Comm_rank(uorig,&ome); for (int i = 0; i < nprocs; i++) if (uni2orig[i] == ome) key = i; + if (key < 0) error->universe_one(FLERR,"Invalid -reorder file: not a permutation of all ranks"); MPI_Comm_split(uorig,0,key,&uworld); MPI_Comm_rank(uworld,&me); diff --git a/src/utils.cpp b/src/utils.cpp index 558214323cc..4506aa3609b 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -862,8 +862,10 @@ void utils::bounds_typelabel(const char *file, int line, const std::string &str, nlo = nhi = -1; // cannot check for typelabels without a LAMMPS instance or a box - if (!lmp || !lmp->domain->box_exist) - utils::bounds(file, line, str, nmin, nmax, nlo, nhi, nullptr); + if (!lmp || !lmp->domain->box_exist) { + utils::bounds(file, line, str, nmin, nmax, nlo, nhi, lmp ? lmp->error : nullptr); + return; + } char *typestr = nullptr; if ((typestr = utils::expand_type(FLERR, str, mode, lmp))) diff --git a/src/variable.cpp b/src/variable.cpp index f2eb40fabd8..99a863c549d 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -774,6 +774,14 @@ int Variable::next(int narg, char **arg) error->all(FLERR,"All variables in next command must have same style"); } + // reject duplicate variable names: incrementing the first copy may + // exhaust and remove the variable, leaving a dangling reference + + for (int iarg = 0; iarg < narg-1; iarg++) + for (int jarg = iarg+1; jarg < narg; jarg++) + if (strcmp(arg[iarg],arg[jarg]) == 0) + error->all(FLERR, jarg, "Duplicate variable '{}' in next command", arg[jarg]); + // invalid styles: STRING, EQUAL, WORLD, GETENV, ATOM, VECTOR, // FORMAT, PYTHON, TIMER, INTERNAL @@ -4258,7 +4266,7 @@ int Variable::math_function(char *word, char *contents, Tree **tree, Tree **tree // pyvar = index of python-style variable which invokes Python function int pyvar = find(&word[3]); - if (variables[pyvar].style != PYTHON) + if ((pyvar < 0) || (variables[pyvar].style != PYTHON)) print_var_error(FLERR,"Invalid python function variable name",ivar); // check that wrapper matches Python function @@ -4776,10 +4784,10 @@ int Variable::special_function(const std::string &word, char *contents, Tree **t std::vector unsorted; if (compute) { - double *vec; + double *vec = nullptr; if (index) { if (compute->array) vec = &compute->array[0][index-1]; - else vec = nullptr; + else print_var_error(FLERR,"Variable formula compute array has no values",ivar); } else vec = compute->vector; if ((method == SORT) || (method == RSORT)) unsorted.reserve(nvec); diff --git a/src/velocity.cpp b/src/velocity.cpp index be9b321c176..c8aada05188 100644 --- a/src/velocity.cpp +++ b/src/velocity.cpp @@ -135,7 +135,7 @@ void Velocity::command(int narg, char **arg) } /* ---------------------------------------------------------------------- - initialization of defaults before calling velocity methods externaly + initialization of defaults before calling velocity methods externally ------------------------------------------------------------------------- */ void Velocity::init_external(const char *extgroup) diff --git a/src/version.h b/src/version.h index 896e95d6b05..aa85629c630 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1,2 @@ #define LAMMPS_VERSION "4 Jul 2026" +#define LAMMPS_UPDATE "Development" diff --git a/tools/binary2txt.cpp b/tools/binary2txt.cpp index 5671f31451b..4db5d2ed9dc 100644 --- a/tools/binary2txt.cpp +++ b/tools/binary2txt.cpp @@ -84,6 +84,12 @@ int main(int narg, char **arg) strcpy(filetxt, arg[iarg]); strcat(filetxt, ".txt"); FILE *fptxt = fopen(filetxt, "w"); + if (!fptxt) { + printf("ERROR: Could not open %s for writing\n", filetxt); + delete[] filetxt; + fclose(fp); + return 1; + } delete[] filetxt; // detect newer format @@ -249,10 +255,10 @@ int main(int narg, char **arg) // extend buffer to fit chunk size - if (n > maxbuf) { + if ((n > maxbuf) || !buf) { delete[] buf; - buf = new double[n]; - maxbuf = n; + maxbuf = (n > 0) ? n : 1; + buf = new double[maxbuf]; } // read chunk and write as size_one values per line diff --git a/tools/coverity/.gitignore b/tools/coverity/.gitignore new file mode 100644 index 00000000000..c7bb032e473 --- /dev/null +++ b/tools/coverity/.gitignore @@ -0,0 +1,3 @@ +*.json +/triage +/defect_traces diff --git a/tools/coverity/coverity_model.cpp b/tools/coverity/coverity_model.cpp index 11ad1488ac7..652e9fcd684 100644 --- a/tools/coverity/coverity_model.cpp +++ b/tools/coverity/coverity_model.cpp @@ -25,14 +25,12 @@ goes inert. ------------------------------------------------------------------------- */ -#include - namespace LAMMPS_NS { // Must match the typedef in src/lmptype.h for the analyzed build. // The Coverity Scan build uses -D LAMMPS_SIZES=SMALLBIG (see // .github/workflows/coverity.yml), where bigint == int64_t. -typedef int64_t bigint; +typedef long int bigint; /* ---------------------------------------------------------------------- Custom memory allocator -- src/memory.h @@ -85,3 +83,27 @@ void Memory::sfree(void *ptr) ------------------------------------------------------------------------- */ } // namespace LAMMPS_NS + +/* ---------------------------------------------------------------------- + Kokkos::abort -- external Kokkos library + + Kokkos::abort terminates execution, but its inline definition splits + into host and device branches and, depending on backend and version, + not every branch is annotated noreturn, so the analyzer continues on + paths that cannot be reached. Several KOKKOS styles guard divisions + with Kokkos::abort; without this model those guards are invisible and + the guarded divisions are reported as divide-by-zero (e.g. CIDs + 1663023, 1663121, 1663371, 1663376). This is library code we cannot + annotate, hence a model is appropriate. +------------------------------------------------------------------------- */ + +namespace Kokkos { + +void abort(const char *const message); + +void abort(const char *const) +{ + __coverity_panic__(); +} + +} // namespace Kokkos diff --git a/tools/json/force-style-test-schema.json b/tools/json/force-style-test-schema.json index 01a9732d5c0..4df2dc3cfb0 100644 --- a/tools/json/force-style-test-schema.json +++ b/tools/json/force-style-test-schema.json @@ -2,7 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://download.lammps.org/json/force-style-test-schema.json", "title": "JSON schema for LAMMPS force-style regression test reference files (unittest/force-styles)", - "description": "Version 0.1; last updated 2026-06-13", + "description": "Version 0.2; last updated 2026-07-09", "type": "object", "additionalProperties": false, "properties": { @@ -52,6 +52,11 @@ "minimum": 0, "description": "number of atoms in the input file template" }, + "timestep": { + "type": "number", + "exclusiveMinimum": 0, + "description": "timestep size applied for the test run (when different from the tester default)" + }, "pair_style": { "type": "string", "description": "arguments to the pair_style command to be tested" @@ -152,6 +157,18 @@ "type": "string", "description": "per-atom torques after the run, where applicable" }, + "init_mag_forces": { + "type": "string", + "description": "per-atom magnetic precession vectors after \"run 0\" (atom style spin)" + }, + "run_mag_forces": { + "type": "string", + "description": "per-atom magnetic precession vectors after the run (atom style spin)" + }, + "run_spin": { + "type": "string", + "description": "per-atom spin orientations and magnitudes after the run (atom style spin)" + }, "global_scalar": { "type": "number", "description": "the global scalar output of the tested fix, if any" @@ -159,6 +176,18 @@ "global_vector": { "type": "string", "description": "the global vector output of the tested fix, if any" + }, + "global_array": { + "type": "string", + "description": "the global array output of the tested compute or fix (test_output_style)" + }, + "peratom_data": { + "type": "string", + "description": "the per-atom vector or array output of the tested compute or fix (test_output_style)" + }, + "local_data": { + "type": "string", + "description": "the local vector or array output of the tested compute or fix (test_output_style)" } }, "required": [ @@ -249,10 +278,41 @@ { "title": "test_fix_timestep reference", "required": [ - "input_coeffs", "run_pos", "run_vel" ] + }, + { + "title": "test_min_style reference", + "required": [ + "input_coeffs", + "init_energy", + "run_energy", + "global_scalar", + "global_vector" + ], + "not": { + "required": ["run_pos"] + } + }, + { + "title": "test_output_style reference", + "required": [ + "timestep" + ], + "anyOf": [ + { "required": ["global_scalar"] }, + { "required": ["global_vector"] }, + { "required": ["global_array"] }, + { "required": ["peratom_data"] }, + { "required": ["local_data"] } + ], + "not": { + "anyOf": [ + { "required": ["run_pos"] }, + { "required": ["init_energy"] } + ] + } } ] } diff --git a/tools/msi2lmp/src/MakeLists.c b/tools/msi2lmp/src/MakeLists.c index f88c4395f3c..7276cd14c60 100644 --- a/tools/msi2lmp/src/MakeLists.c +++ b/tools/msi2lmp/src/MakeLists.c @@ -243,7 +243,7 @@ void MakeLists() } } - if ((forcefield & FF_TYPE_CLASS2) & (total_no_angle_angles > 0)) { + if ((forcefield & FF_TYPE_CLASS2) && (total_no_angle_angles > 0)) { fprintf(stderr,"Angleangle Types\n"); for (i=0; i < no_angleangle_types; i++) { diff --git a/tools/msi2lmp/src/ReadMdfFile.c b/tools/msi2lmp/src/ReadMdfFile.c index 253121d0018..a9057149ae1 100644 --- a/tools/msi2lmp/src/ReadMdfFile.c +++ b/tools/msi2lmp/src/ReadMdfFile.c @@ -73,7 +73,7 @@ void ReadMdfFile(void) at_end = 1; } else if (strncmp(line,"@column",7) == 0) { - temp_string = strtok(line,WHITESPACE); + strtok(line,WHITESPACE); col_no = strtok(NULL,WHITESPACE); col_name = strtok(NULL,WHITESPACE); if (strncmp(col_name,"charge",6) == 0) { @@ -91,6 +91,10 @@ void ReadMdfFile(void) exit(42); } sptr = fgets(line,MAX_LINE_LENGTH,MdfF); + if (sptr == NULL) { + printf("Trouble reading molecule - exiting\n"); + exit(43); + } status = get_molecule(line,connect_col_no,q_col_no,&atom_counter); if (status == 0) { printf("Trouble reading molecule - exiting\n"); @@ -135,7 +139,8 @@ void ReadMdfFile(void) for (n=0; n < no_molecules; n++) { j = 0; strncpy(molecule[n].residue[j].name, - atoms[molecule[n].start].residue_string,MAX_NAME); + atoms[molecule[n].start].residue_string,MAX_NAME-1); + molecule[n].residue[j].name[MAX_NAME-1] = '\0'; molecule[n].residue[j].start = molecule[n].start; for (i=molecule[n].start+1; i < molecule[n].end; i++) { @@ -144,7 +149,8 @@ void ReadMdfFile(void) molecule[n].residue[j].end = i; molecule[n].residue[++j].start = i; - memcpy(molecule[n].residue[j].name,atoms[i].residue_string,MAX_NAME); + memcpy(molecule[n].residue[j].name,atoms[i].residue_string,MAX_NAME-1); + molecule[n].residue[j].name[MAX_NAME-1] = '\0'; } } molecule[n].residue[j].end = molecule[n].end; diff --git a/tools/msi2lmp/src/SearchAndFill.c b/tools/msi2lmp/src/SearchAndFill.c index a26554aeaab..d94ec14e60a 100644 --- a/tools/msi2lmp/src/SearchAndFill.c +++ b/tools/msi2lmp/src/SearchAndFill.c @@ -169,8 +169,9 @@ void SearchAndFill(struct FrcFieldItem *item) for( i = 0; i < item->number_of_parameters; i++ ) { charptr = strtok(NULL, WHITESPACE); if(charptr == NULL) { + /* with no parameter read yet there is nothing to replicate */ for ( j = i; j < item->number_of_parameters; j++ ) - parameters[j] = parameters[j-i]; + parameters[j] = (i > 0) ? parameters[j-i] : 0.0; break; } else { parameters[i] = atof(charptr); diff --git a/tools/phonon/green.cpp b/tools/phonon/green.cpp index 63b820dd2cf..36fe51b8eb3 100644 --- a/tools/phonon/green.cpp +++ b/tools/phonon/green.cpp @@ -45,6 +45,8 @@ Green::Green(const int ntm, const int sdim, const int niter, const double min, c ldos = lpdos; memory = new Memory(); + alpha = beta = NULL; + ndim = 0; dw = 0.; if (natom < 1 || iatom < 0 || iatom >= natom){ printf("\nError: Wrong number of total atoms or wrong index of interested atom!\n"); return; diff --git a/tools/regression-tests/README b/tools/regression-tests/README index b698be6669b..9360f0dcdc7 100644 --- a/tools/regression-tests/README +++ b/tools/regression-tests/README @@ -45,12 +45,37 @@ Input arguments: Output: - + failure.yaml : a dictionary of the failed runs and reasons + + failure.yaml : a dictionary of the failed runs and reasons (a subset of progress.yaml) + progress.yaml: full testing results of the tested input scripts with the status (completed, failed or skipped) with error messages (for failed runs), and walltime (in seconds) + output.xml : testing results in the JUnit XML format + run.log : screen output and error of individual runs +Both YAML files are written incrementally (one line per tested input) and parse as a +single YAML mapping keyed by the input script name. + +The JUnit XML file records one test case per input script with the walltime and one of +four outcomes: passed (all numerical checks passed), failure (the run completed but +numerical checks failed), error (the run crashed, timed out, or produced no log file), +or skipped (the input was not run, or it ran but nothing could be checked, e.g. when +the reference log file is missing). The test case classname is the example folder +relative to the examples top-level folder, so results from distributed runs can be +merged and compared across machines. + +The JUnit XML files from multiple (distributed) runs can be merged and summarized +with the merge_results.py script in this folder (which only needs the Python +standard library): + + python3 merge_results.py --title "Full Regression Test" \ + --output-xml regression.xml --json run.json --summary summary.md \ + output-*.xml + +This produces a merged JUnit XML file, a JSON file with all results and metadata +for archiving, and a Markdown summary (use "--summary -" to print it to the screen) +suitable for $GITHUB_STEP_SUMMARY. With --compare previous-run.json, the summary +also reports the changes relative to an earlier run: new failures, fixed tests, +new tests, and removed tests. + Limitations: + input scripts use thermo style multi (e.g., examples/peptide) do not work with the expected thermo output format @@ -61,7 +86,7 @@ The following Python packages need to be installed into an activated environment python3 -m venv testing-env source testing-env/bin/activate - pip install numpy pyyaml junit_xml + pip install numpy pyyaml For all the supported arguments, run: diff --git a/tools/regression-tests/merge_results.py b/tools/regression-tests/merge_results.py new file mode 100755 index 00000000000..398709d64e6 --- /dev/null +++ b/tools/regression-tests/merge_results.py @@ -0,0 +1,222 @@ +#!/usr/bin/env python3 +''' +Merge JUnit XML files from distributed regression test runs (see run_tests.py) +and generate machine readable and human readable summaries. + +Only the Python standard library is required. + +Input: + + one or more JUnit XML files, e.g. output-0.xml output-1.xml ... + (files that are empty or cannot be parsed are skipped with a warning) + +Output (all optional, selected via command line flags): + + --output-xml merged.xml : all test cases merged into a single JUnit XML file + + --json run.json : test results and metadata as a JSON file; this is + the input format for --compare and is meant to be + archived for tracking results over time + + --summary summary.md : summary in Markdown format (use "-" for stdout), + suitable for $GITHUB_STEP_SUMMARY + +With --compare previous-run.json, the Markdown summary also reports the changes +relative to a previous run: new failures, fixed tests, new tests, removed tests. + +Example: + python3 merge_results.py --title "Full Regression Test" \ + --output-xml regression.xml --json run.json --summary summary.md \ + --compare previous-run.json output-*.xml +''' + +from argparse import ArgumentParser +import datetime +import json +import sys +import xml.etree.ElementTree as ET + +# statuses that count as broken for the comparison with a previous run +BAD = ('failed', 'error') + +''' + parse a single JUnit XML file as written by run_tests.py (a single + root element, or a wrapper) and return a tuple of + (properties dict, tests dict keyed by "classname/name") +''' +def parse_junit_xml(filename): + tree = ET.parse(filename) + root = tree.getroot() + if root.tag == 'testsuites': + suites = root.findall('testsuite') + elif root.tag == 'testsuite': + suites = [root] + else: + raise ET.ParseError(f"unexpected root element <{root.tag}>") + + properties = {} + tests = {} + for suite in suites: + for prop in suite.findall('./properties/property'): + properties.setdefault(prop.get('name', ''), prop.get('value', '')) + for case in suite.findall('testcase'): + key = case.get('classname', '') + '/' + case.get('name', '') + entry = {'status': 'passed', 'time': float(case.get('time', 0.0)), 'message': ''} + for tag in ('failure', 'error', 'skipped'): + elem = case.find(tag) + if elem is not None: + entry['status'] = 'failed' if tag == 'failure' else tag + entry['message'] = elem.get('message', '') + break + tests[key] = entry + return properties, tests + +''' + write the merged test data back out as a single JUnit XML file +''' +def write_merged_xml(filename, title, properties, tests, counts): + testsuite = ET.Element('testsuite') + testsuite.set('name', title) + testsuite.set('timestamp', datetime.datetime.now().isoformat(timespec='seconds')) + testsuite.set('tests', str(counts['tests'])) + testsuite.set('failures', str(counts['failed'])) + testsuite.set('errors', str(counts['error'])) + testsuite.set('skipped', str(counts['skipped'])) + testsuite.set('time', f"{counts['time']:.3f}") + + if properties: + props = ET.SubElement(testsuite, 'properties') + for key, value in properties.items(): + prop = ET.SubElement(props, 'property') + prop.set('name', str(key)) + prop.set('value', str(value)) + + for key in sorted(tests): + entry = tests[key] + classname, _, name = key.rpartition('/') + case = ET.SubElement(testsuite, 'testcase') + case.set('name', name) + case.set('classname', classname) + case.set('time', f"{entry['time']:.3f}") + if entry['status'] != 'passed': + tag = 'failure' if entry['status'] == 'failed' else entry['status'] + elem = ET.SubElement(case, tag) + elem.set('message', entry['message']) + + tree = ET.ElementTree(testsuite) + ET.indent(tree) + tree.write(filename, encoding='UTF-8', xml_declaration=True) + +''' + format a capped Markdown list of test names with messages +''' +def markdown_list(keys, tests, maxlen=50): + lines = [] + for key in sorted(keys)[:maxlen]: + message = tests[key]['message'] if key in tests else '' + if message: + lines.append(f"- `{key}`: {message}") + else: + lines.append(f"- `{key}`") + if len(keys) > maxlen: + lines.append(f"- ... and {len(keys) - maxlen} more") + return '\n'.join(lines) + '\n' + +if __name__ == "__main__": + parser = ArgumentParser(description="Merge and summarize JUnit XML regression test results") + parser.add_argument("xmlfiles", nargs='+', help="JUnit XML files to merge") + parser.add_argument("--title", default="Regression Test", help="Title used in the merged output") + parser.add_argument("--output-xml", dest="output_xml", default="", help="Merged JUnit XML output file") + parser.add_argument("--json", dest="json_file", default="", help="JSON output file with results and metadata") + parser.add_argument("--summary", dest="summary", default="", help="Markdown summary output file ('-' for stdout)") + parser.add_argument("--compare", dest="compare", default="", help="JSON file from a previous run to compare against") + args = parser.parse_args() + + # merge the shards + properties = {} + tests = {} + for xmlfile in args.xmlfiles: + try: + shard_properties, shard_tests = parse_junit_xml(xmlfile) + except ET.ParseError as err: + print(f"WARNING: skipping {xmlfile}: {err}", file=sys.stderr) + continue + for key, value in shard_properties.items(): + properties.setdefault(key, value) + duplicates = set(shard_tests) & set(tests) + if duplicates: + print(f"WARNING: {len(duplicates)} duplicate test(s) in {xmlfile}, keeping the first result", + file=sys.stderr) + for key in duplicates: + del shard_tests[key] + tests.update(shard_tests) + + counts = {'tests': len(tests), 'passed': 0, 'failed': 0, 'error': 0, 'skipped': 0, 'time': 0.0} + for entry in tests.values(): + counts[entry['status']] += 1 + counts['time'] += entry['time'] + + if args.output_xml: + write_merged_xml(args.output_xml, args.title, properties, tests, counts) + + if args.json_file: + data = { + 'metadata': { + 'title': args.title, + 'generated': datetime.datetime.now().isoformat(timespec='seconds'), + 'properties': properties, + 'counts': counts, + }, + 'tests': tests, + } + with open(args.json_file, 'w') as f: + json.dump(data, f, indent=2) + f.write('\n') + + # generate the Markdown summary + if args.summary: + md = f"## {args.title}\n\n" + md += "| Tests | Passed | Failed | Errors | Skipped | Walltime |\n" + md += "|------:|-------:|-------:|-------:|--------:|---------:|\n" + md += (f"| {counts['tests']} | {counts['passed']} | {counts['failed']} | {counts['error']} |" + f" {counts['skipped']} | {counts['time']:.0f} s |\n\n") + + failed = [key for key, entry in tests.items() if entry['status'] == 'failed'] + errors = [key for key, entry in tests.items() if entry['status'] == 'error'] + if failed: + md += f"### Failed numerical checks ({len(failed)})\n\n" + md += markdown_list(failed, tests) + '\n' + if errors: + md += f"### Runs with errors ({len(errors)})\n\n" + md += markdown_list(errors, tests) + '\n' + + if args.compare: + with open(args.compare, 'r') as f: + previous = json.load(f) + tests_prev = previous.get('tests', {}) + generated_prev = previous.get('metadata', {}).get('generated', 'unknown date') + + new_failures = [k for k in tests if k in tests_prev + and (tests[k]['status'] in BAD) and (tests_prev[k]['status'] not in BAD)] + fixed = [k for k in tests if k in tests_prev + and (tests[k]['status'] == 'passed') and (tests_prev[k]['status'] in BAD)] + new_tests = [k for k in tests if k not in tests_prev] + removed = [k for k in tests_prev if k not in tests] + + md += f"### Changes relative to the previous run (from {generated_prev})\n\n" + if not (new_failures or fixed or new_tests or removed): + md += "No changes.\n\n" + if new_failures: + md += f"**New failures ({len(new_failures)}):**\n\n" + md += markdown_list(new_failures, tests) + '\n' + if fixed: + md += f"**Fixed since the previous run ({len(fixed)}):**\n\n" + md += markdown_list(fixed, {}) + '\n' + if new_tests: + md += f"**New tests ({len(new_tests)}):**\n\n" + md += markdown_list(new_tests, tests) + '\n' + if removed: + md += f"**Removed tests ({len(removed)}):**\n\n" + md += markdown_list(removed, {}) + '\n' + + if args.summary == '-': + sys.stdout.write(md) + else: + with open(args.summary, 'w') as f: + f.write(md) diff --git a/tools/regression-tests/run_tests.py b/tools/regression-tests/run_tests.py index a1642670d1c..24d28583c38 100755 --- a/tools/regression-tests/run_tests.py +++ b/tools/regression-tests/run_tests.py @@ -12,7 +12,7 @@ + specify the list of examples input scripts to test + specify tolerances for individual quantities for any input script to override the global values + launch tests with `mpirun` with all supported command line features (multiple procs, multiple paritions, and suffixes) - + skip certain input files (whose names match specified patterns) if not interested, or packaged not installed, or no reference log file exists + + skip certain input files (whose names match specified patterns) if not interested, or package not installed, or no reference log file exists + set a timeout for every input script run if they may take too long + skip numerical checks if the goal is just to check if the runs do not fail @@ -33,12 +33,16 @@ the path to the top-level examples Output: - + failure.yaml : list of the failed runs and reasons + + failure.yaml : list of the failed runs and reasons (a subset of progress.yaml) + progress.yaml: full testing results of the tested input scripts with the status (completed, failed or skipped) with error messages (for failed runs), and walltime (in seconds) + output.xml : testing results in the JUnit XML format + run.log : screen output and error of individual runs +Both YAML files are written incrementally (one line per tested input) and parse as +a single YAML mapping keyed by the input script name. Multiple JUnit XML files from +distributed runs can be merged and summarized with merge_results.py in this folder. + Limitations: - input scripts use thermo style multi (e.g., examples/peptide) do not work with the expected thermo output format - input scripts that require partition runs (e.g. examples/neb) need a separate config file, e.g. args: "--partition 3x1" @@ -48,7 +52,7 @@ python3 -m venv testing-env source testing-env/bin/activate - pip install numpy pyyaml junit_xml + pip install numpy pyyaml Example usage (aka, tests for this script): @@ -89,21 +93,22 @@ from argparse import ArgumentParser import datetime import fnmatch +import glob import logging import os import random import re +import shutil +import signal import subprocess import sys +import xml.etree.ElementTree as ET #from multiprocessing import Pool # need "pip install numpy pyyaml" import numpy as np import yaml -# need "pip install junit_xml" -from junit_xml import TestSuite, TestCase - try: from yaml import CSafeLoader as Loader except ImportError: @@ -117,90 +122,180 @@ import get_quick_list ''' - data structure to store the test result + data structure to store the result of a single test run + + name : name of the input script (e.g. in.melt) + folder : full path of the folder containing the input script + category: normalized outcome for downstream reporting, one of + 'passed' all numerical checks passed + 'failed' the run completed but numerical checks failed + 'error' the run did not complete (crash, timeout, missing log file) + 'completed' the run completed but no numerical checks were possible + (e.g. no reference log file, skipped numerical checks) + 'skipped' the input script was not run at all + status : human readable description of the outcome (stored in the progress file) + message : additional details (e.g. the individual failed checks) + time : walltime of the run in seconds (-1: failed, -2: skipped) + checks : number of performed numerical checks + timeout : whether the run was killed after exceeding the timeout + memleak : whether valgrind detected memory leaks ''' class TestResult: - def __init__(self, name, output=None, time=None, checks=0, status=None): + def __init__(self, name, folder=None, category='skipped', status="", message="", + time=-2.0, checks=0): self.name = name - self.output = output - self.time = time - self.checks = 0 + self.folder = folder + self.category = category self.status = status + self.message = message + self.time = time + self.checks = checks + self.timeout = False + self.memleak = False + +''' + condense a (possibly multi-line) text into a single line of limited length + suitable for status messages in the progress file and JUnit XML attributes +''' +def shorten(text, maxlen=200): + text = ' '.join(str(text).split()) + if len(text) > maxlen: + text = text[:maxlen] + " ..." + return text + +''' + write the results of the completed test runs into a JUnit XML file + for downstream reporting (merging, summaries, websites) + + output_file: name of the JUnit XML file + results : list of TestResult objects + suite_name : name of the test suite (e.g. the test configuration file) + properties : dictionary with build and test configuration metadata +''' +def write_junit_xml(output_file, results, suite_name, properties=None): + testsuite = ET.Element('testsuite') + testsuite.set('name', suite_name) + testsuite.set('timestamp', datetime.datetime.now().isoformat(timespec='seconds')) + num_failures = 0 + num_errors = 0 + num_skipped = 0 + total_time = 0.0 + + if properties: + props = ET.SubElement(testsuite, 'properties') + for key, value in properties.items(): + prop = ET.SubElement(props, 'property') + prop.set('name', str(key)) + prop.set('value', shorten(value, maxlen=1000)) + + for result in results: + case = ET.SubElement(testsuite, 'testcase') + case.set('name', result.name) + # report the folder relative to the examples top-level folder, so that + # results from different machines or checkouts can be compared + folder = os.path.abspath(result.folder) if result.folder else '' + marker = os.sep + 'examples' + os.sep + if marker in folder: + classname = folder.split(marker, 1)[1] + else: + classname = os.path.basename(folder) + case.set('classname', classname.replace(os.sep, '/')) + case.set('time', f"{max(float(result.time), 0.0):.3f}") + total_time += max(float(result.time), 0.0) + + if result.category == 'failed': + elem = ET.SubElement(case, 'failure') + num_failures += 1 + elif result.category == 'error': + elem = ET.SubElement(case, 'error') + num_errors += 1 + elif result.category in ('skipped', 'completed'): + # 'completed' means the run finished but nothing could be verified, + # so it is reported as skipped rather than as passed + elem = ET.SubElement(case, 'skipped') + num_skipped += 1 + else: + elem = None + if elem is not None: + elem.set('message', shorten(result.status)) + if result.message: + elem.text = result.message + + testsuite.set('tests', str(len(results))) + testsuite.set('failures', str(num_failures)) + testsuite.set('errors', str(num_errors)) + testsuite.set('skipped', str(num_skipped)) + testsuite.set('time', f"{total_time:.3f}") + + tree = ET.ElementTree(testsuite) + ET.indent(tree) + tree.write(output_file, encoding='UTF-8', xml_declaration=True) ''' - Iterate over a list of input folders and scripts using the given lmp_binary and the testing configuration + Iterate over a list of input scripts using the given lmp_binary and the testing configuration lmp_binary : full path to the LAMMPS binary input_folder : the absolute path to the input files input_list : list of the input scripts under the input_folder config : the dict that contains the test configuration + results : list of TestResult objects, one gets appended per input script + progress_file: yaml file that stores the tested input script and status + failure_file : file that reports the failed runs (a subset of progress_file) walltime_ref : reference walltime + last_progress: the dictionary that shows the status of the last tests + output_buf : placeholder for storing the output of a given worker return - results : a list of TestResult objects stat : a dictionary that lists the number of passed, skipped, failed tests - progress_file: yaml file that stores the tested input script and status - failure_file : file that reports the failed runs (a subset of progress_file) - last_progress: the dictionary that shows the status of the last tests - output_buf: placeholder for storing the output of a given worker ''' def iterate(lmp_binary, input_folder, input_list, config, results, progress_file, failure_file, walltime_ref=1, verbose=False, last_progress=None, output_buf=None): num_tests = len(input_list) - - num_skipped = 0 - num_error = 0 - num_timeout = 0 - num_failed = 0 - num_completed = 0 - num_passed = 0 - num_memleak = 0 + num_results_initial = len(results) test_id = 0 - # using REG-commented input scripts, now turned off (False) - using_markers = False EPSILON = np.float64(config['epsilon']) nugget = float(config['nugget']) genref = config['genref'] compiler = config['compiler'] - use_valgrind = False - if 'valgrind' in config['mpiexec']: - use_valgrind = True + use_valgrind = 'valgrind' in config['mpiexec'] - # record all the failed runs - failure = open(failure_file, "a") + # record the outcome of a test: append it to the results list, write one line + # to the progress file and, for failed or errored tests, to the failure file; + # each line is a flow-style YAML mapping so that the whole file parses as a + # single YAML mapping keyed by the input script names + def record(result, walltime_norm=None, failed_checks=None, write_progress=True): + results.append(result) + if not write_progress: + return + entry = { 'folder': result.folder, 'status': result.status } + if failed_checks is not None: + entry['failed_checks'] = failed_checks + entry['walltime'] = float(result.time) + if walltime_norm is not None: + entry['walltime_norm'] = float(walltime_norm) + value = yaml.safe_dump(entry, default_flow_style=True, + sort_keys=False, width=1000000).strip() + line = f"{result.name}: {value}\n" + with open(progress_file, "a") as progress: + progress.write(line) + if result.category in ('failed', 'error'): + with open(failure_file, "a") as failure: + failure.write(line) # iterate over the input scripts for input in input_list: - # check if the progress file exists to append or create a new one - if os.path.isfile(progress_file) == True: - progress = open(progress_file, "a") - else: - progress = open(progress_file, "w") - - # walltime = -2: skipped tests - # -1: failed tests - # >= 0: walltime in seconds (e.g. in.melt walltime = 0.2 seconds) - walltime = -2 + input_test = input + result = TestResult(name=input, folder=input_folder) # skip the input file if listed in the config file or matched with a pattern if 'skip' in config: - if input in config['skip']: - msg = " + " + input + f" ({test_id+1}/{num_tests}): skipped as specified in {configFileName}" - print(msg) - logger.info(msg) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': 'skipped', 'walltime': '{walltime}' }} }}\n") - progress.close() - num_skipped = num_skipped + 1 - test_id = test_id + 1 - continue - - matched_pattern = False - for skipped_files in config['skip']: - if '*' in skipped_files: - # check input script name e.g. in.*_imd* - if fnmatch.fnmatch(input, skipped_files): + matched_pattern = input in config['skip'] + if not matched_pattern: + for skipped_files in config['skip']: + # check the input script name against a pattern, e.g. in.*_imd* + if ('*' in skipped_files) and fnmatch.fnmatch(input, skipped_files): matched_pattern = True break @@ -208,57 +303,34 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file msg = " + " + input + f" ({test_id+1}/{num_tests}): skipped as specified in {configFileName}" print(msg) logger.info(msg) - progress.write(f"{{ '{input}': {{ 'folder': {input_folder}, 'status': 'skipped', 'walltime': '{walltime}' }} }}\n") - progress.close() - num_skipped = num_skipped + 1 + result.status = 'skipped as specified in the test configuration' + record(result) test_id = test_id + 1 continue # also skip if the test already completed as marked in the progress file if input in last_progress: - status = last_progress[input]['status'] + status = str(last_progress[input].get('status', '')) if 'completed' in status or 'numerical checks skipped' in status: msg = " + " + input + f" ({test_id+1}/{num_tests}): marked as completed or numerical checks skipped (see {progress_file})" logger.info(msg) print(msg) # No need to write to progress again that the run is completed - progress.close() - num_skipped = num_skipped + 1 + result.status = 'skipped, already completed in a previous run' + record(result, write_progress=False) test_id = test_id + 1 continue - if 'packaged not installed' in status: + if 'package not installed' in status: msg = " + " + input + f" ({test_id+1}/{num_tests}): due to package not installed (see {progress_file})" logger.info(msg) print(msg) # No need to write to progress again that the run gets error due to missing packages - progress.close() - num_skipped = num_skipped + 1 + result.status = 'skipped, package not installed in a previous run' + record(result, write_progress=False) test_id = test_id + 1 continue - # if annotating input scripts with REG markers is True - if using_markers == True: - input_test = 'test.' + input - if os.path.isfile(input) == True: - if has_markers(input): - process_markers(input, input_test) - - else: - print(f"WARNING: {input} does not have REG markers") - input_markers = input + '.markers' - # if the input file with the REG markers does not exist - # attempt to plug in the REG markers before each run command - if os.path.isfile(input_markers) == False: - cmd_str = "cp " + input + " " + input_markers - os.system(cmd_str) - generate_markers(input, input_markers) - process_markers(input_markers, input_test) - - else: - # else the same file name for testing - input_test = input - str_t = " + " + input_test + f" ({test_id+1}/{num_tests})" logger.info(str_t) print(str_t) @@ -267,20 +339,20 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file # assuming that input file names start with "in." (except in.disp, in.disp2 and in.dos in phonon/) basename = input_test[3:] ref_logfile_exist = False + thermo_ref_file = '' # if there are multiple log files for different number of procs, pick the maximum number - cmd_str = "ls log.*" - p = subprocess.run(cmd_str, shell=True, text=True, capture_output=True) - logfile_list = p.stdout.split('\n') - logfile_list.remove('') - max_np = 1 - for file in logfile_list: - # looks for pattern log.{date}.{basename}.{compiler}.{nprocs}: log.[date].min.box.[compiler]].* vs log.[date].min.[compiler].* + for file in sorted(glob.glob("log.*")): + # looks for pattern log.{date}.{basename}.{log_compiler}.{nprocs}: log.[date].min.box.[compiler]].* vs log.[date].min.[compiler].* + # skip over log files from previous test runs (log.{basename}.{nprocs}) and log.lammps + parts = file.split('.') + if len(parts) < 5: + continue # get the date from the log files - date = file.split('.',2)[1] - compiler = file.rsplit('.',2)[1] - pattern = f'log.{date}.{basename}.{compiler}.*' + date = parts[1] + log_compiler = file.rsplit('.',2)[1] + pattern = f'log.{date}.{basename}.{log_compiler}.*' if fnmatch.fnmatch(file, pattern): p = file.rsplit('.', 1) if p[1].isnumeric(): @@ -322,24 +394,25 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file config['mpiexec_numproc_flag'] = "" nprocs = 1 + # walltime = -2: skipped tests + # -1: failed tests + # >= 0: walltime in seconds (e.g. in.melt walltime = 0.2 seconds) # default walltime value of failed tests - walltime = -1 - - result = TestResult(name=input, output="", time="", status="passed") + result.time = -1.0 # run the LAMMPS binary with the input script status = execute(lmp_binary, config, input_test) - cmd_str = status['cmd_str'] output = status['stdout'] error = status['stderr'] - returncode = status['returncode'] + returncode = int(status['returncode']) logfilename = status['logfilename'] + result.timeout = status['timedout'] # restore the nprocs value in the configuration config['nprocs'] = saved_nprocs # check if the output contains ERROR - # there might not be a log file generated at this point, or only the log file contains only the date line + # there might not be a log file generated at this point, or the log file contains only the date line if "ERROR" in output: error_line = "" for line in output.split('\n'): @@ -349,43 +422,39 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file logger.info(f" The run terminated with {input_test} gives the following output:") logger.info(f" {error_line}") if "Unrecognized" in output: - result.status = f"failed, unrecognized command, package not installed, {error_line}" + result.status = f"failed, unrecognized command, package not installed, {shorten(error_line)}" elif "Unknown" in output: - result.status = f"failed, unknown command, package not installed, {error_line}" + result.status = f"failed, unknown command, package not installed, {shorten(error_line)}" else: - result.status = f"failed, {error_line}." + result.status = f"failed, {shorten(error_line)}" + result.category = 'error' + result.message = error_line logger.info(f" Output:") logger.info(f" {output}") logger.info(f" Failed with {input_test}.\n") - num_error = num_error + 1 - - results.append(result) print(f"{result.status}") - msg = f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{result.status}', 'walltime': '{walltime}' }} }}\n" - progress.write(msg) - progress.close() - failure.write(msg) - + record(result) test_id = test_id + 1 continue # check if a log file log.{basename}.{nprocs} exists in the current folder if os.path.isfile(logfilename) == False: - msg = f" failed, no log.{basename}.{nprocs} generated with {input_test} with return code {returncode}.\n" + msg = f" failed, no {logfilename} generated with {input_test} with return code {returncode}.\n" print(msg) logger.info(msg) logger.info(f" Output:") logger.info(f" {output}") logger.info(f" Error:\n{error}") - msg = f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': 'failed, no log file generated', 'walltime': '{walltime}' }} }}\n" - progress.write(msg) - progress.close() - failure.write(msg) - - num_error = num_error + 1 + result.category = 'error' + if result.timeout: + result.status = f"failed, no log file generated, {shorten(error)}" + else: + result.status = f"failed, no log file generated with return code {returncode}" + result.message = shorten(error, maxlen=1000) + record(result) test_id = test_id + 1 continue else: @@ -393,35 +462,42 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file if genref == True: dmy = datetime.datetime.now() date = dmy.strftime("%d%b%y") - # assume g++ for now, but is be available from running "lmp_binary -h" - compiler = "g++" - cmd_str = f"cp log.{basename}.{nprocs} log.{date}.{basename}.{compiler}.{nprocs}" - p = subprocess.run(cmd_str, shell=True, text=True, capture_output=True) + shutil.copy(f"log.{basename}.{nprocs}", f"log.{date}.{basename}.{compiler}.{nprocs}") + + # parse the total wall time from the screen output (may be absent if the run did not complete) + # NOTE: Total wall time could be 00:00:00 whereas Loop time is non-zero seconds + walltime = None + walltime_norm = 1.0 + for line in output.split('\n'): + if "Total wall time" in line: + walltime_str = line.split('time:')[1] + hms = walltime_str.split(':') + hours = float(hms[0]) + minutes = float(hms[1]) + seconds = float(hms[2]) + walltime = hours * 3600.0 + minutes * 60.0 + seconds + walltime_norm = float(walltime) / float(walltime_ref) + result.time = walltime + break # if skip numerical checks, then skip the rest if skip_numerical_check == True: msg = "completed, skipping numerical checks" + result.category = 'completed' if use_valgrind == True: if "All heap blocks were freed" in error: msg += ", no memory leak" else: msg += ", memory leaks detected" - num_memleak = num_memleak + 1 + result.category = 'failed' + result.memleak = True result.status = msg - results.append(result) - - msg = f"{{ '{input}': {{ 'folder': '{input_folder}', status: \"{msg}\", 'walltime': '{walltime}' }} }}\n" - progress.write(msg) - progress.close() - failure.write(msg) - - # count the number of completed runs - num_completed = num_completed + 1 + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue # if there is no ERROR in the output, but there is no Total wall time printed out - if "Total wall time" not in output: + if walltime is None: msg = f" failed, no Total wall time in the output.\n" print(msg) logger.info(msg) @@ -429,32 +505,13 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file logger.info(f"\n Output:\n{output}") logger.info(f"\n Error:\n{error}") - msg = f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': 'failed, no Total wall time in the output, {error}', 'walltime': '{walltime}' }} }}\n" - progress.write(msg) - progress.close() - failure.write(msg) - - returncode = int(returncode) - if returncode == -1: - num_timeout = num_timeout + 1 - - num_error = num_error + 1 + result.category = 'error' + result.status = f"failed, no Total wall time in the output, {shorten(error)}" + result.message = shorten(error, maxlen=1000) + record(result) test_id = test_id + 1 continue - # NOTE: Total wall time could be 00:00:00 whereas Loop time is non-zero seconds - walltime_norm = 1.0 - for line in output.split('\n'): - if "Total wall time" in line: - walltime_str = line.split('time:')[1] - hms = walltime_str.split(':') - hours = float(hms[0]) - minutes = float(hms[1]) - seconds = float(hms[2]) - walltime = hours * 3600.0 + minutes * 60.0 + seconds - walltime_norm = float(walltime) / float(walltime_ref) - break - # if there is no Step or no Loop printed out if "Step" not in output or "Loop" not in output: msg = f" completed, but no Step nor Loop in the output.\n" @@ -464,12 +521,9 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file logger.info(f"\n Output:\n{output}") logger.info(f"\n Error:\n{error}") - msg = f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': 'completed, but no Step nor Loop in the output.', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n" - progress.write(msg) - progress.close() - failure.write(msg) - - num_error = num_error + 1 + result.category = 'completed' + result.status = 'completed, but no Step nor Loop in the output' + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue @@ -483,22 +537,20 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file logger.info(f" {output}") msg = "completed" - if 'valgrind' in config['mpiexec']: - if "All heap blocks were free" in error: + result.category = 'completed' + if use_valgrind == True: + if "All heap blocks were freed" in error: msg += ", no memory leak" else: msg += ", memory leaks detected" - num_memleak = num_memleak + 1 + result.category = 'failed' + result.memleak = True result.status = msg + f", error parsing {logfilename} into YAML" - results.append(result) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{result.status}', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - if verbose == True: print(result.status) - num_completed = num_completed + 1 + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue @@ -512,12 +564,9 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file else: # the thermo_ref dictionary is empty logger.info(f" failed, error parsing the reference log file {thermo_ref_file}.") - result.status = "skipped numerical checks due to parsing the reference log file" - results.append(result) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': 'completed, numerical checks skipped, unsupported log file format', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - num_completed = num_completed + 1 - num_failed = num_failed + 1 + result.category = 'completed' + result.status = 'completed, numerical checks skipped, unsupported log file format' + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue else: @@ -533,15 +582,9 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file else: # most likely to reach here if the reference log file does not exist logger.info(f" {thermo_ref_file} also does not exist in the working directory.") - result.status = "skipped due to missing the reference log file" - results.append(result) - - msg = f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': 'completed, numerical checks skipped due to missing the reference log file', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n" - progress.write(msg) - progress.close() - failure.write(msg) - num_completed = num_completed + 1 - num_failed = num_failed + 1 + result.category = 'completed' + result.status = 'completed, numerical checks skipped due to missing the reference log file' + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue @@ -552,12 +595,9 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file if num_runs != num_runs_ref: logger.info(f" ERROR: Number of runs in {logfilename} ({num_runs}) is different from that in the reference log ({num_runs_ref})." " Check README in the folder, possibly due to using mpirun with partitions or parsing the wrong reference log file.") + result.category = 'failed' result.status = "failed, incomplete runs" - results.append(result) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{result.status}', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - num_completed = num_completed + 1 - num_failed = num_failed + 1 + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue @@ -569,12 +609,9 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file if num_fields != num_fields_ref: logger.info(f" failed, number of thermo colums in {logfilename} ({num_fields}) is different from that in the reference log ({num_fields_ref}) in the first run.") logger.info(f" Check both log files for more details.") + result.category = 'failed' result.status = "failed, mismatched columns in the log files" - results.append(result) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{result.status}', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - num_completed = num_completed + 1 - num_failed = num_failed + 1 + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue @@ -673,12 +710,9 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file msg = f" mismatched columns in the log files after the first run. Check both log files for more details." print(msg) logger.info(msg) - result.status = "thermo checks failed due to mismatched log files after the first run" - results.append(result) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{result.status}', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - num_completed = num_completed + 1 - num_failed = num_failed + 1 + result.category = 'failed' + result.status = "failed, thermo checks skipped due to mismatched log files after the first run" + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue @@ -687,16 +721,12 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file msg = f" mismatched num steps in the log files. Check both log files for more details." print(msg) logger.info(msg) - result.status = "thermo checks failed due to mismatched log files " - results.append(result) - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{result.status}', 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - num_completed = num_completed + 1 - num_failed = num_failed + 1 + result.category = 'failed' + result.status = "failed, thermo checks skipped due to mismatched number of steps in the log files" + record(result, walltime_norm=walltime_norm) test_id = test_id + 1 continue - result.status = "" if num_abs_failed > 0: msg = f" {num_abs_failed} abs diff checks failed." print(msg) @@ -714,56 +744,63 @@ def iterate(lmp_binary, input_folder, input_list, config, results, progress_file logger.info(msg) for out in failed_rel_output: logger.info(f" - {out}") - + if verbose == True: for out in failed_rel_output: print(f" - {out}") + result.checks = num_checks if num_abs_failed == 0 and num_rel_failed == 0: msg = f" all {num_checks} checks passed." print(msg) logger.info(msg) - - result.status = f" 'status': 'passed', 'abs_diff_failed': '{num_abs_failed}', 'rel_diff_failed': '{num_rel_failed}' " - - num_passed = num_passed + 1 + result.category = 'passed' + msg = "completed" else: - result.status = f" 'status': 'failed', 'abs_diff_failed': '{num_abs_failed}', 'rel_diff_failed': '{num_rel_failed}' " - num_failed = num_failed + 1 - - results.append(result) + result.category = 'failed' + result.message = '\n'.join(failed_abs_output + failed_rel_output) + msg = f"completed, {num_abs_failed} abs diff and {num_rel_failed} rel diff checks failed" # check if memleak detects from valgrind run (need to replace "mpirun" -> valgrind --leak-check=yes mpirun") - msg = "completed" if use_valgrind == True: if "All heap blocks were freed" in error: msg += ", no memory leak" else: msg += ", memory leaks detected" - num_memleak = num_memleak + 1 - - progress.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{msg}', 'failed_checks': {{ {result.status} }}, 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - progress.close() - - # write to failure if there is any numerical failed check - if num_abs_failed > 0 or num_rel_failed > 0: - failure.write(f"{{ '{input}': {{ 'folder': '{input_folder}', 'status': '{msg}', 'failed_checks': '{{ {result.status} }}, 'walltime': '{walltime}', 'walltime_norm': '{walltime_norm}' }} }}\n") - - # count the number of completed runs - num_completed = num_completed + 1 + result.category = 'failed' + result.memleak = True + result.status = msg + + failed_checks = { 'num_checks': num_checks, + 'abs_diff_failed': num_abs_failed, + 'rel_diff_failed': num_rel_failed } + record(result, walltime_norm=walltime_norm, failed_checks=failed_checks) test_id = test_id + 1 - # close the failure file - failure.close() - - stat = { 'num_completed': num_completed, - 'num_passed': num_passed, - 'num_skipped': num_skipped, - 'num_error': num_error, - 'num_timeout': num_timeout, - 'num_failed': num_failed, - 'num_memleak': num_memleak, + # collect statistics over the results recorded in this call + stat = { 'num_completed': 0, + 'num_passed': 0, + 'num_skipped': 0, + 'num_error': 0, + 'num_timeout': 0, + 'num_failed': 0, + 'num_memleak': 0, } + for result in results[num_results_initial:]: + if result.category in ('passed', 'failed', 'completed'): + stat['num_completed'] += 1 + if result.category == 'passed': + stat['num_passed'] += 1 + elif result.category == 'failed': + stat['num_failed'] += 1 + elif result.category == 'error': + stat['num_error'] += 1 + elif result.category == 'skipped': + stat['num_skipped'] += 1 + if result.timeout: + stat['num_timeout'] += 1 + if result.memleak: + stat['num_memleak'] += 1 return stat # HELPER FUNCTIONS @@ -914,7 +951,8 @@ def get_lammps_build_configuration(lmp_binary): - cmd_str: the complete command used to launch LAMMPS with the input - stdout: stdout of the process - stderr: stderr of the process - - errorcode: error code returned by the process + - returncode: error code returned by the process + - timedout: whether the run was killed after exceeding the timeout - logfilename: the log file name for the given input to avoid duplicate writes to log.lammps if multiple workers execute in the same folder ''' @@ -937,28 +975,40 @@ def execute(lmp_binary, config, input_file_name, generate_ref=False): if config['timeout'] != "": timeout = int(config['timeout']) + # launch the run in its own process group, so that on a timeout the whole group + # (the shell, mpirun, and the LAMMPS processes) can be killed; with subprocess.run() + # only the shell would be killed, leaving orphaned LAMMPS processes behind + p = subprocess.Popen(cmd_str, shell=True, text=True, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, start_new_session=True) try: - p = subprocess.run(cmd_str, shell=True, text=True, capture_output=True, timeout=timeout) - status = { + stdout, stderr = p.communicate(timeout=timeout) + status = { 'cmd_str': cmd_str, - 'stdout': p.stdout, - 'stderr': p.stderr, + 'stdout': stdout, + 'stderr': stderr, 'returncode': p.returncode, + 'timedout': False, 'logfilename': logfilename, } return status except subprocess.TimeoutExpired: + try: + os.killpg(os.getpgid(p.pid), signal.SIGKILL) + except (ProcessLookupError, PermissionError): + p.kill() + p.communicate() msg = f" Timeout for: {cmd_str} ({timeout}s expired)" logger.info(msg) print(msg) error_str = f"timeout ({timeout}s expired)" - status = { + status = { 'cmd_str': cmd_str, 'stdout': "", 'stderr': error_str, 'returncode': -1, + 'timedout': True, 'logfilename': logfilename, } return status @@ -1063,75 +1113,6 @@ def divide_into_N(original_list, N): b.append(l) return b -''' - process the #REG markers in an input script, add/replace with what follows each marker - - inputFileName: LAMMPS input file with comments #REG:ADD and #REG:SUB as markers - outputFileName: modified input file ready for testing -''' -def process_markers(inputFileName, outputFileName): - # read in the script - with open(inputFileName, 'r') as file: - data = file.read() - - # replace #REG:ADD with empty string (i.e. adding the text at the end of the line) - data = data.replace("#REG:ADD", "") - - # replace the line contaning #REG:SUB with a line with the text that follows this marker - data = data.splitlines() - separator="#REG:SUB" - out = [] - for line in data: - s = line.split(separator) - if len(s) < 2: - out.append(line) - else: - out.append(s[1]) - - # write data to the new script - with open(outputFileName, 'w') as file: - for line in out: - file.write(line + "\n") - - -''' - attempt to insert the #REG markers before each run command - #REG:ADD thermo 10 - #REG:ADD thermo_style yaml - - inputFileName: provided LAMMPS input file - outputFileName: modified input file ready for testing -''' -def generate_markers(inputFileName, outputFileName): - # read in the script - with open(inputFileName, 'r') as file: - data = file.read() - - lines = data.splitlines() - out = [] - for line in lines: - s = line.split() - if len(s) > 0: - if s[0] == "run": - out.append(" #REG:ADD thermo 10") - out.append(" #REG:ADD thermo_style yaml") - out.append(line) - - # write data to the new script - with open(outputFileName, 'w') as file: - for line in out: - file.write(line + "\n") - -''' - check if any input script has any #REG markers -''' -def has_markers(inputFileName): - with open(inputFileName) as f: - if '#REG' in f.read(): - return True - return False - - ''' Main entry ''' @@ -1365,10 +1346,8 @@ def has_markers(inputFileName): with open(filename, "w") as f: for folder in list_input: # count the number of input scripts in each folder - cmd_str = f"ls {folder}/in.* | wc -l" - p = subprocess.run(cmd_str, shell=True, text=True, capture_output=True) - num_input = p.stdout.split('\n')[0] - f.write(folder + ' ' + num_input + '\n') + num_input = len(glob.glob(f"{folder}/in.*")) + f.write(f"{folder} {num_input}\n") f.close() idx = idx + 1 @@ -1488,9 +1467,7 @@ def has_markers(inputFileName): all_results = [] # save current working dir - p = subprocess.run("pwd", shell=True, text=True, capture_output=True) - pwd = p.stdout.split('\n')[0] - pwd = os.path.abspath(pwd) + pwd = os.getcwd() print("\nWorking directory: " + pwd) progress_file_abs = pwd + "/" + progress_file @@ -1503,6 +1480,8 @@ def has_markers(inputFileName): progress = open(progress_file_abs, "r") last_progress = yaml.load(progress, Loader=Loader) progress.close() + if last_progress is None: + last_progress = {} except Exception: print(f" Cannot open progress file {progress_file_abs} to resume, rerun all the tests") @@ -1550,10 +1529,7 @@ def has_markers(inputFileName): logger.info("Entering " + directory) os.chdir(directory) - cmd_str = "ls in.*" - p = subprocess.run(cmd_str, shell=True, text=True, capture_output=True) - all_input_list = p.stdout.split('\n') - all_input_list.remove('') + all_input_list = sorted(glob.glob("in.*")) # if the list of example input scripts is provided # if an input script is not in the list, then remove it from input_list @@ -1621,10 +1597,11 @@ def has_markers(inputFileName): # print notice to GitHub if 'GITHUB_STEP_SUMMARY' in os.environ: - with open(os.environ.get('GITHUB_STEP_SUMMARY'), 'w') as f: - print(f"Skipped: {skipped_tests} Error: {error_tests} Timeout: {timeout_tests} Failed: {failed_tests} Completed: {completed_tests}", file=f) + with open(os.environ.get('GITHUB_STEP_SUMMARY'), 'a') as f: + print(f"Total: {total_tests} Skipped: {skipped_tests} Error: {error_tests} Timeout: {timeout_tests}" + f" Failed: {failed_tests} Passed: {passed_tests} Completed: {completed_tests}", file=f) - if memleak_tests < completed_tests and 'valgrind' in config['mpiexec']: + if 'valgrind' in config['mpiexec']: msg += f" - memory leak detected : {memleak_tests}\n" if passed_tests <= completed_tests: msg += f" - numerical tests passed: {passed_tests}\n" @@ -1636,19 +1613,14 @@ def has_markers(inputFileName): print(msg) - # optional: need to check if junit_xml packaged is already installed in the env - # generate a JUnit XML file - with open(output_file, 'w') as f: - test_cases = [] - for result in all_results: - #print(f"{result.name}: {result.status}") - case = TestCase(name=result.name, classname=result.name) - if "passed" not in result.status: - case.add_failure_info(message=result.status) - if "skipped" in result.status: - case.add_skipped_info(message="Test was skipped.") - test_cases.append(case) - - current_timestamp = datetime.datetime.now() - ts = TestSuite(f"{configFileName}", test_cases, timestamp=current_timestamp) - TestSuite.to_file(f, [ts], prettyprint=True) + # generate a JUnit XML file with all test results for downstream reporting + properties = { + 'operating_system': operating_system, + 'git_info': GitInfo, + 'compiler': compiler_full, + 'compile_flags': compile_flags, + 'config_file': os.path.basename(configFileName), + 'lmp_binary': lmp_binary, + } + write_junit_xml(output_file, all_results, suite_name=os.path.basename(configFileName), + properties=properties) diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt index 1c9239d0a7b..5d23b085e9e 100644 --- a/unittest/CMakeLists.txt +++ b/unittest/CMakeLists.txt @@ -118,3 +118,6 @@ add_subdirectory(force-styles) if (PKG_GRANULAR) add_subdirectory(granular) endif() +if (PKG_GRAPHICS) + add_subdirectory(graphics) +endif() diff --git a/unittest/commands/CMakeLists.txt b/unittest/commands/CMakeLists.txt index 8386d3cb24a..473d85f706a 100644 --- a/unittest/commands/CMakeLists.txt +++ b/unittest/commands/CMakeLists.txt @@ -4,11 +4,26 @@ add_executable(test_simple_commands test_simple_commands.cpp) add_library(noplugin MODULE noplugin.cpp) set_target_properties(noplugin PROPERTIES PREFIX "" SUFFIX ".so") -# tests for the plugin command require the PLUGIN package +# tests for the plugin command require the PLUGIN package. +# With a STATIC LAMMPS library the plugins must be built without embedding a +# full copy of LAMMPS (loading such a plugin corrupts memory and aborts at +# program exit, see the comment in examples/plugins/CMakeLists.txt), which +# requires the COMPILE_ONLY generator expression from CMake 3.27; the test +# executable must then export its symbols so the loaded plugins can resolve +# them. Windows is not affected and keeps linking the full library. if(PKG_PLUGIN) - add_subdirectory(${LAMMPS_DIR}/examples/plugins ${CMAKE_BINARY_DIR}/build-plugins) - add_dependencies(test_simple_commands plugins noplugin) - target_compile_definitions(test_simple_commands PRIVATE -DLMP_PLUGIN) + if(BUILD_SHARED_LIBS OR (CMAKE_VERSION VERSION_GREATER_EQUAL 3.27) + OR (CMAKE_SYSTEM_NAME STREQUAL "Windows")) + add_subdirectory(${LAMMPS_DIR}/examples/plugins ${CMAKE_BINARY_DIR}/build-plugins) + add_dependencies(test_simple_commands plugins noplugin) + target_compile_definitions(test_simple_commands PRIVATE -DLMP_PLUGIN) + if((NOT BUILD_SHARED_LIBS) AND (NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))) + set_target_properties(test_simple_commands PROPERTIES ENABLE_EXPORTS TRUE) + endif() + else() + message(WARNING "Skipping tests for the plugin command: they require " + "CMake 3.27 or later or setting BUILD_SHARED_LIBS=on") + endif() endif() target_link_libraries(test_simple_commands PRIVATE lammps GTest::GMock) @@ -100,3 +115,11 @@ add_executable(test_mpi_load_balancing test_mpi_load_balancing.cpp) target_link_libraries(test_mpi_load_balancing PRIVATE lammps GTest::GMock) target_compile_definitions(test_mpi_load_balancing PRIVATE ${TEST_CONFIG_DEFS}) add_mpi_test(NAME MPILoadBalancing NUM_PROCS 4 COMMAND $) + +add_executable(test_restart_settings test_restart_settings.cpp) +target_link_libraries(test_restart_settings PRIVATE lammps GTest::GMock) +add_test(NAME RestartSettings COMMAND test_restart_settings) + +add_executable(test_input_validation test_input_validation.cpp) +target_link_libraries(test_input_validation PRIVATE lammps GTest::GMock) +add_test(NAME InputValidation COMMAND test_input_validation) diff --git a/unittest/commands/test_input_validation.cpp b/unittest/commands/test_input_validation.cpp new file mode 100644 index 00000000000..aa581184696 --- /dev/null +++ b/unittest/commands/test_input_validation.cpp @@ -0,0 +1,165 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Regression tests for input values that used to be silently accepted +// and later caused reads of invalid or uninitialized data. + +#include "lammps.h" + +#include "info.h" +#include "utils.h" + +#include "../testing/core.h" +#include "../testing/utils.h" +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include +#include +#include + +using namespace LAMMPS_NS; + +bool verbose = false; + +class InputValidationTest : public LAMMPSTest { +protected: + void SetUp() override + { + testbinary = "InputValidationTest"; + LAMMPSTest::SetUp(); + } + + void atomic_box() + { + BEGIN_HIDE_OUTPUT(); + command("units lj"); + command("region box block 0 2 0 2 0 2"); + command("create_box 1 box"); + command("create_atoms 1 single 1.0 1.0 1.0"); + command("mass 1 1.0"); + END_HIDE_OUTPUT(); + } +}; + +TEST_F(InputValidationTest, improper_cvff_multiplicity) +{ + if (!Info::has_package("MOLECULE")) GTEST_SKIP(); + + BEGIN_HIDE_OUTPUT(); + command("units real"); + command("atom_style full"); + command("region box block 0 10 0 10 0 10"); + command("create_box 1 box improper/types 1 extra/improper/per/atom 1"); + command("improper_style cvff"); + END_HIDE_OUTPUT(); + + // the harmonic lookup tables only cover multiplicities 0 to 6 + + TEST_FAILURE(".*ERROR: Improper cvff multiplicity 7 must be between 0 and 6.*", + command("improper_coeff 1 80.0 1 7");); + TEST_FAILURE(".*ERROR: Improper cvff multiplicity -1 must be between 0 and 6.*", + command("improper_coeff 1 80.0 1 -1");); + BEGIN_HIDE_OUTPUT(); + command("improper_coeff 1 80.0 1 2"); + END_HIDE_OUTPUT(); +} + +TEST_F(InputValidationTest, fix_vector_nmax) +{ + atomic_box(); + BEGIN_HIDE_OUTPUT(); + command("compute t all temp"); + END_HIDE_OUTPUT(); + + // nmax values beyond 32-bit int would truncate the allocation + + TEST_FAILURE(".*ERROR: Invalid nmax value.*", + command("fix v1 all vector 1 c_t nmax 3000000000");); + TEST_FAILURE(".*ERROR: Invalid nmax value.*", command("fix v2 all vector 1 c_t nmax 0");); + BEGIN_HIDE_OUTPUT(); + command("fix v3 all vector 1 c_t nmax 1000"); + END_HIDE_OUTPUT(); +} + +TEST_F(InputValidationTest, fix_ave_grid_indexed_variable) +{ + atomic_box(); + BEGIN_HIDE_OUTPUT(); + command("variable f atom x+y"); + END_HIDE_OUTPUT(); + + // atom-style variables produce a vector: a bracketed reference has + // no array to read and used to access uninitialized storage + + TEST_FAILURE(".*ERROR: Fix ave/grid variable f cannot be indexed.*", + command("fix a1 all ave/grid 1 1 1 2 2 2 v_f[2]");); + BEGIN_HIDE_OUTPUT(); + command("fix a2 all ave/grid 1 1 1 2 2 2 v_f"); + END_HIDE_OUTPUT(); +} + +TEST_F(InputValidationTest, fix_store_state_no_atoms) +{ + // atom-style variable input with zero atoms on a proc used to + // dereference the (then null) per-atom storage array + + BEGIN_HIDE_OUTPUT(); + command("units lj"); + command("region box block 0 2 0 2 0 2"); + command("create_box 1 box"); + command("mass 1 1.0"); + command("variable f atom x+y"); + command("fix s all store/state 1 v_f"); + command("run 1 post no"); + END_HIDE_OUTPUT(); + SUCCEED(); +} + +TEST_F(InputValidationTest, pair_rann_empty_potential) +{ + if (!Info::has_package("ML-RANN")) GTEST_SKIP(); + + // an empty or comment-only potential file used to hang forever + + { + std::ofstream out("empty_test.rann"); + out << "# comment only, no data\n\n"; + } + atomic_box(); + BEGIN_HIDE_OUTPUT(); + command("pair_style rann"); + END_HIDE_OUTPUT(); + TEST_FAILURE(".*(Unexpected end of RANN potential file|Invalid syntax in potential file).*", + command("pair_coeff * * empty_test.rann X");); + delete_file("empty_test.rann"); +} + +int main(int argc, char **argv) +{ + MPI_Init(&argc, &argv); + ::testing::InitGoogleMock(&argc, argv); + + // handle arguments passed via environment variable + if (const char *var = getenv("TEST_ARGS")) { + std::vector env = LAMMPS_NS::utils::split_words(var); + for (auto arg : env) { + if (arg == "-v") verbose = true; + } + } + if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; + + int rv = RUN_ALL_TESTS(); + MPI_Finalize(); + return rv; +} diff --git a/unittest/commands/test_restart_settings.cpp b/unittest/commands/test_restart_settings.cpp new file mode 100644 index 00000000000..6ada38858eb --- /dev/null +++ b/unittest/commands/test_restart_settings.cpp @@ -0,0 +1,192 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Regression tests for style settings surviving binary restart files. +// Each test writes a restart, reads it back, writes a second restart, +// and requires the two files to be byte-identical: any style setting +// that is parsed in settings() or coeff() but not stored and restored +// by the restart code shows up as a difference in the second file. + +#include "lammps.h" + +#include "atom.h" +#include "info.h" +#include "utils.h" + +#include "../testing/core.h" +#include "../testing/utils.h" +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include +#include +#include +#include +#include +#include + +using namespace LAMMPS_NS; + +bool verbose = false; + +class RestartSettingsTest : public LAMMPSTest { +protected: + void SetUp() override + { + testbinary = "RestartSettingsTest"; + LAMMPSTest::SetUp(); + } + + static std::vector read_binary(const std::string &filename) + { + std::ifstream in(filename, std::ios::binary); + return {std::istreambuf_iterator(in), std::istreambuf_iterator()}; + } + + // the IDs of internal fixes created by pair styles embed a per-process + // instance counter that does not reset on the clear command; mask the + // counter digits so they do not fail the round-trip comparison + + static void mask_instance_ids(std::vector &buf) + { + const std::string tag("NEIGH_HISTORY_HH"); + auto it = buf.begin(); + while ((it = std::search(it, buf.end(), tag.begin(), tag.end())) != buf.end()) { + it += tag.size(); + while ((it != buf.end()) && isdigit(*it)) *it++ = '#'; + } + } + + // write -> read -> write round trip; both files must be identical + + void roundtrip_check() + { + BEGIN_HIDE_OUTPUT(); + command("run 0 post no"); + command("write_restart roundtrip_a.restart"); + command("clear"); + command("read_restart roundtrip_a.restart"); + command("run 0 post no"); + command("write_restart roundtrip_b.restart"); + END_HIDE_OUTPUT(); + + auto a = read_binary("roundtrip_a.restart"); + auto b = read_binary("roundtrip_b.restart"); + mask_instance_ids(a); + mask_instance_ids(b); + ASSERT_GT(a.size(), 0); + EXPECT_EQ(a, b) << "restart file changed in write/read/write round trip: " + "some style setting is not preserved"; + + delete_file("roundtrip_a.restart"); + delete_file("roundtrip_b.restart"); + } +}; + +TEST_F(RestartSettingsTest, granular_limit_damping) +{ + if (!Info::has_package("GRANULAR")) GTEST_SKIP(); + + BEGIN_HIDE_OUTPUT(); + command("units si"); + command("atom_style sphere"); + command("boundary f f f"); + command("region box block 0 1 0 1 0 1 units box"); + command("create_box 1 box"); + command("create_atoms 1 single 0.5 0.5 0.5 units box"); + command("create_atoms 1 single 0.5 0.5 0.595 units box"); + command("set group all diameter 0.1 density 2500"); + command("pair_style gran/hooke/history 200000 NULL 50 NULL 0.5 1 limit_damping"); + command("pair_coeff * *"); + command("comm_modify vel yes"); + END_HIDE_OUTPUT(); + roundtrip_check(); + + // behavioral check that the flag itself survived: for an unloading + // contact with dominant damping the limited normal force is clamped + // to zero, while a lost limit_damping flag gives an attractive force + + BEGIN_HIDE_OUTPUT(); + command("velocity all set 0.0 0.0 0.0"); + command("group upper id 2"); + command("velocity upper set 0.0 0.0 1000.0"); + command("run 0 post no"); + END_HIDE_OUTPUT(); + for (int i = 0; i < lmp->atom->nlocal; i++) + if (lmp->atom->tag[i] == 2) EXPECT_GE(lmp->atom->f[i][2], 0.0); +} + +TEST_F(RestartSettingsTest, dsmc_settings) +{ + if (!Info::has_package("MC")) GTEST_SKIP(); + + BEGIN_HIDE_OUTPUT(); + command("units si"); + command("boundary f f f"); + command("region box block 0 1e-5 0 1e-5 0 1e-5 units box"); + command("create_box 1 box"); + command("create_atoms 1 single 5e-6 5e-6 5e-6 units box"); + command("mass 1 6.63e-26"); + // all six settings must survive the restart: + // max_cell_size seed weighting T_ref recompute_stride nsamples + command("pair_style dsmc 5e-6 12345 10 300.0 10 100"); + command("pair_coeff * * 4.0e-10"); + command("timestep 1e-8"); + END_HIDE_OUTPUT(); + roundtrip_check(); +} + +TEST_F(RestartSettingsTest, eff_cut_settings) +{ + if (!Info::has_package("EFF")) GTEST_SKIP(); + + BEGIN_HIDE_OUTPUT(); + command("units electron"); + command("atom_style electron"); + command("boundary f f f"); + command("region box block -10 10 -10 10 -10 10 units box"); + command("create_box 2 box"); + // one nucleus (spin 0, charge 1) and one electron (spin 1) via data-free setup + command("create_atoms 1 single 0.0 0.0 0.0 units box"); + command("create_atoms 2 single 0.5 0.0 0.0 units box"); + command("mass * 1.0"); + command("set type 1 charge 1.0"); + command("set type 2 charge -1.0"); + command("set type 2 spin/electron 1"); + command("set type 2 radius/electron 1.0"); + command("pair_style eff/cut 8.0 limit/eradius pressure/evirials"); + command("pair_coeff * *"); + END_HIDE_OUTPUT(); + roundtrip_check(); +} + +int main(int argc, char **argv) +{ + MPI_Init(&argc, &argv); + ::testing::InitGoogleTest(&argc, argv); + + // handle arguments passed via environment variable + if (const char *var = getenv("TEST_ARGS")) { + std::vector env = LAMMPS_NS::utils::split_words(var); + for (auto arg : env) { + if (arg == "-v") { + verbose = true; + } + } + } + if ((argc > 1) && (strcmp(argv[1], "-v") == 0)) verbose = true; + + int rv = RUN_ALL_TESTS(); + MPI_Finalize(); + return rv; +} diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index 8d96f85c5b4..53a6b16a55b 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -246,6 +246,20 @@ TEST_F(VariableTest, CreateDelete) variable->compute_equal("c_thermo_press");); TEST_FAILURE(".*ERROR: Invalid variable reference v_unknown in variable formula.*", variable->compute_equal("v_unknown");); + + // listing the same variable twice would increment a dangling reference + // when the first increment exhausts and removes it + + BEGIN_HIDE_OUTPUT(); + command("variable dup loop 3"); + END_HIDE_OUTPUT(); + TEST_FAILURE(".*ERROR: Duplicate variable 'dup' in next command.*", command("next dup dup");); + + // a py_ function reference without a matching python-style variable + // must give an error instead of an out-of-bounds read + + TEST_FAILURE(".*ERROR: Invalid python function variable name.*", + variable->compute_equal("py_nosuchvariable(1.0)");); } TEST_F(VariableTest, AtomicSystem) diff --git a/unittest/force-styles/CMakeLists.txt b/unittest/force-styles/CMakeLists.txt index b406215a83e..51aecc82d11 100644 --- a/unittest/force-styles/CMakeLists.txt +++ b/unittest/force-styles/CMakeLists.txt @@ -236,6 +236,45 @@ foreach(TEST ${FIX_TIMESTEP_TESTS}) set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}") endforeach() +# tester for minimizer styles +add_executable(test_min_style test_min_style.cpp) +target_link_libraries(test_min_style PRIVATE lammps style_tests) +target_include_directories(test_min_style PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..") + +# tests for minimizer styles and their min_modify options +file(GLOB MIN_STYLE_TESTS LIST_DIRECTORIES false CONFIGURE_DEPENDS ${TEST_INPUT_FOLDER}/min-*.yaml) +foreach(TEST ${MIN_STYLE_TESTS}) + string(REGEX REPLACE "^.*min-(.*)\.yaml" "MinStyle:\\1" TNAME ${TEST}) + extract_tags(TEST_TAGS ${TEST}) + list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME) + if(_SKIPME GREATER_EQUAL 0) + continue() + endif() + add_test(NAME ${TNAME} COMMAND test_min_style ${TEST}) + set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}") + set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}") +endforeach() + +# tester for output data of compute and fix styles +add_executable(test_output_style test_output_style.cpp) +target_link_libraries(test_output_style PRIVATE lammps style_tests) +target_include_directories(test_output_style PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..") + +# tests for the output data of compute styles and of reporting fixes +file(GLOB OUTPUT_STYLE_TESTS LIST_DIRECTORIES false CONFIGURE_DEPENDS + ${TEST_INPUT_FOLDER}/compute-*.yaml ${TEST_INPUT_FOLDER}/fix-output-*.yaml) +foreach(TEST ${OUTPUT_STYLE_TESTS}) + string(REGEX REPLACE "^.*tests.(.*)\.yaml" "OutputStyle:\\1" TNAME ${TEST}) + extract_tags(TEST_TAGS ${TEST}) + list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME) + if(_SKIPME GREATER_EQUAL 0) + continue() + endif() + add_test(NAME ${TNAME} COMMAND test_output_style ${TEST}) + set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${FORCE_TEST_ENVIRONMENT}") + set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}") +endforeach() + # dihedral style tester add_executable(test_dihedral_style test_dihedral_style.cpp) target_link_libraries(test_dihedral_style PRIVATE lammps style_tests) diff --git a/unittest/force-styles/test_config.h b/unittest/force-styles/test_config.h index 82918ba4799..c4a9e3ee507 100644 --- a/unittest/force-styles/test_config.h +++ b/unittest/force-styles/test_config.h @@ -15,7 +15,6 @@ #define TEST_CONFIG_H #include -#include #include #include #include @@ -70,6 +69,11 @@ class TestConfig { stress_t run_stress; double global_scalar; std::vector global_vector; + // reference data for the output-style tester (test_output_style): + // global array, per-atom data (first column = atom tag), local data + std::vector> global_array; + std::vector> peratom_data; + std::vector> local_data; std::vector init_forces; std::vector run_forces; std::vector run_pos; @@ -101,6 +105,9 @@ class TestConfig { dihedral_coeff.clear(); improper_coeff.clear(); extract.clear(); + global_array.clear(); + peratom_data.clear(); + local_data.clear(); init_forces.clear(); run_forces.clear(); run_pos.clear(); @@ -119,12 +126,10 @@ class TestConfig { [[nodiscard]] std::string tags_line() const { if (tags.size() > 0) { - std::stringstream line; - line << tags[0]; - for (size_t i = 1; i < tags.size(); i++) { - line << " " << tags[i]; - } - return line.str(); + std::string line = tags[0]; + for (std::size_t i = 1; i < tags.size(); i++) + line += " " + tags[i]; + return line; } return "generated"; } diff --git a/unittest/force-styles/test_config_reader.cpp b/unittest/force-styles/test_config_reader.cpp index 56b2376de28..939a8518fa9 100644 --- a/unittest/force-styles/test_config_reader.cpp +++ b/unittest/force-styles/test_config_reader.cpp @@ -13,19 +13,112 @@ #include "test_config_reader.h" #include "test_config.h" +#include "tokenizer.h" #include "utils.h" #include "yaml.h" #include - -#include -#include -#include +#include #include -#include +#include +using LAMMPS_NS::Tokenizer; +using LAMMPS_NS::TokenizerException; +using LAMMPS_NS::ValueTokenizer; using LAMMPS_NS::utils::split_words; -using LAMMPS_NS::utils::trim; + +// convert the scalar value of a yaml event to a string +static std::string event_string(const yaml_event_t &event) +{ + return {(const char *)event.data.scalar.value}; +} + +// abort with a clear message on any malformed field. the yaml files are +// machine generated, so a parse error indicates a corrupted file and +// continuing would compare against garbage reference data. +[[noreturn]] static void parse_error(const std::string &what, const std::string &text) +{ + std::cerr << "Error parsing yaml data: " << what << "\nOffending text: " << text << std::endl; + exit(2); +} + +// parse a block of per-atom data with lines of "tag x y z" into a +// vector of coord_t indexed by the atom tag + +static void parse_coord_block(const yaml_event_t &event, std::vector &block, int natoms) +{ + block.clear(); + block.resize(natoms + 1); + for (const auto &line : Tokenizer(event_string(event), "\n").as_vector()) { + try { + ValueTokenizer values(line); + int tag = values.next_int(); + if ((tag < 1) || (tag > natoms)) parse_error("atom tag out of range", line); + block[tag].x = values.next_double(); + block[tag].y = values.next_double(); + block[tag].z = values.next_double(); + } catch (TokenizerException &e) { + parse_error(e.what(), line); + } + } +} + +// parse a block of per-atom data with lines of "tag x y z w" into a +// vector of coord4_t indexed by the atom tag + +static void parse_coord4_block(const yaml_event_t &event, std::vector &block, int natoms) +{ + block.clear(); + block.resize(natoms + 1); + for (const auto &line : Tokenizer(event_string(event), "\n").as_vector()) { + try { + ValueTokenizer values(line); + int tag = values.next_int(); + if ((tag < 1) || (tag > natoms)) parse_error("atom tag out of range", line); + block[tag].x = values.next_double(); + block[tag].y = values.next_double(); + block[tag].z = values.next_double(); + block[tag].w = values.next_double(); + } catch (TokenizerException &e) { + parse_error(e.what(), line); + } + } +} + +// parse a block scalar with 6 stress tensor components + +static void parse_stress(const yaml_event_t &event, stress_t &stress) +{ + try { + ValueTokenizer values(event_string(event)); + stress.xx = values.next_double(); + stress.yy = values.next_double(); + stress.zz = values.next_double(); + stress.xy = values.next_double(); + stress.xz = values.next_double(); + stress.yz = values.next_double(); + } catch (TokenizerException &e) { + parse_error(e.what(), event_string(event)); + } +} + +// parse a scalar double value + +static double parse_double(const yaml_event_t &event) +{ + try { + return ValueTokenizer(event_string(event)).next_double(); + } catch (TokenizerException &e) { + parse_error(e.what(), event_string(event)); + } +} + +// split a block scalar into lines + +static std::vector parse_lines(const yaml_event_t &event) +{ + return Tokenizer(event_string(event), "\n").as_vector(); +} TestConfigReader::TestConfigReader(TestConfig &config) : config(config) { @@ -62,6 +155,9 @@ TestConfigReader::TestConfigReader(TestConfig &config) : config(config) consumers["global_scalar"] = &TestConfigReader::global_scalar; consumers["global_vector"] = &TestConfigReader::global_vector; + consumers["global_array"] = &TestConfigReader::global_array; + consumers["peratom_data"] = &TestConfigReader::peratom_data; + consumers["local_data"] = &TestConfigReader::local_data; consumers["bond_style"] = &TestConfigReader::bond_style; consumers["bond_coeff"] = &TestConfigReader::bond_coeff; @@ -79,377 +175,290 @@ TestConfigReader::TestConfigReader(TestConfig &config) : config(config) void TestConfigReader::skip_tests(const yaml_event_t &event) { config.skip_tests.clear(); - for (auto &word : split_words((char *)event.data.scalar.value)) + for (const auto &word : split_words(event_string(event))) config.skip_tests.insert(word); } void TestConfigReader::prerequisites(const yaml_event_t &event) { config.prerequisites.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string key, value; + ValueTokenizer data(event_string(event)); - while (true) { - data >> key >> value; - if (data.eof()) break; + while (data.has_next()) { + std::string key = data.next_string(); + if (!data.has_next()) break; + std::string value = data.next_string(); config.prerequisites.emplace_back(key, value); } } void TestConfigReader::pre_commands(const yaml_event_t &event) { - config.pre_commands.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.pre_commands.push_back(line); - } + config.pre_commands = parse_lines(event); } void TestConfigReader::post_commands(const yaml_event_t &event) { - config.post_commands.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.post_commands.push_back(line); - } + config.post_commands = parse_lines(event); } void TestConfigReader::lammps_version(const yaml_event_t &event) { - config.lammps_version = (char *)event.data.scalar.value; + config.lammps_version = event_string(event); } void TestConfigReader::date_generated(const yaml_event_t &event) { - config.date_generated = (char *)event.data.scalar.value; + config.date_generated = event_string(event); } void TestConfigReader::epsilon(const yaml_event_t &event) { - config.epsilon = atof((char *)event.data.scalar.value); + config.epsilon = parse_double(event); } void TestConfigReader::input_file(const yaml_event_t &event) { - config.input_file = (char *)event.data.scalar.value; + config.input_file = event_string(event); } void TestConfigReader::input_coeffs(const yaml_event_t &event) { - config.input_coeffs = (char *)event.data.scalar.value; + config.input_coeffs = event_string(event); } void TestConfigReader::extract(const yaml_event_t &event) { config.extract.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string name; - int value; - while (true) { - data >> name >> value; - if (data.eof()) break; - config.extract.emplace_back(name, value); + ValueTokenizer data(event_string(event)); + + try { + while (data.has_next()) { + std::string name = data.next_string(); + if (!data.has_next()) break; + int value = data.next_int(); + config.extract.emplace_back(name, value); + } + } catch (TokenizerException &e) { + parse_error(e.what(), event_string(event)); } } void TestConfigReader::natoms(const yaml_event_t &event) { - config.natoms = atoi((char *)event.data.scalar.value); + try { + config.natoms = ValueTokenizer(event_string(event)).next_int(); + } catch (TokenizerException &e) { + parse_error(e.what(), event_string(event)); + } } void TestConfigReader::init_stress(const yaml_event_t &event) { - stress_t stress; - sscanf((char *)event.data.scalar.value, "%lg %lg %lg %lg %lg %lg", &stress.xx, &stress.yy, - &stress.zz, &stress.xy, &stress.xz, &stress.yz); - config.init_stress = stress; + parse_stress(event, config.init_stress); } void TestConfigReader::run_stress(const yaml_event_t &event) { - stress_t stress; - sscanf((char *)event.data.scalar.value, "%lg %lg %lg %lg %lg %lg", &stress.xx, &stress.yy, - &stress.zz, &stress.xy, &stress.xz, &stress.yz); - config.run_stress = stress; + parse_stress(event, config.run_stress); } void TestConfigReader::init_forces(const yaml_event_t &event) { - config.init_forces.clear(); - config.init_forces.resize(config.natoms + 1); - std::stringstream data((const char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag = 0; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.init_forces[tag] = xyz; - } + parse_coord_block(event, config.init_forces, config.natoms); } void TestConfigReader::run_forces(const yaml_event_t &event) { - config.run_forces.clear(); - config.run_forces.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.run_forces[tag] = xyz; - } + parse_coord_block(event, config.run_forces, config.natoms); } void TestConfigReader::run_pos(const yaml_event_t &event) { - config.run_pos.clear(); - config.run_pos.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.run_pos[tag] = xyz; - } + parse_coord_block(event, config.run_pos, config.natoms); } void TestConfigReader::run_vel(const yaml_event_t &event) { - config.run_vel.clear(); - config.run_vel.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.run_vel[tag] = xyz; - } + parse_coord_block(event, config.run_vel, config.natoms); } void TestConfigReader::run_torque(const yaml_event_t &event) { - config.run_torque.clear(); - config.run_torque.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.run_torque[tag] = xyz; - } + parse_coord_block(event, config.run_torque, config.natoms); } void TestConfigReader::init_mag_forces(const yaml_event_t &event) { - config.init_mag_forces.clear(); - config.init_mag_forces.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.init_mag_forces[tag] = xyz; - } + parse_coord_block(event, config.init_mag_forces, config.natoms); } void TestConfigReader::run_mag_forces(const yaml_event_t &event) { - config.run_mag_forces.clear(); - config.run_mag_forces.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord_t xyz; - sscanf(line.c_str(), "%d %lg %lg %lg", &tag, &xyz.x, &xyz.y, &xyz.z); - config.run_mag_forces[tag] = xyz; - } + parse_coord_block(event, config.run_mag_forces, config.natoms); } void TestConfigReader::run_spin(const yaml_event_t &event) { - config.run_spin.clear(); - config.run_spin.resize(config.natoms + 1); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - int tag; - coord4_t xyzw; - sscanf(line.c_str(), "%d %lg %lg %lg %lg", &tag, &xyzw.x, &xyzw.y, &xyzw.z, &xyzw.w); - config.run_spin[tag] = xyzw; - } + parse_coord4_block(event, config.run_spin, config.natoms); } void TestConfigReader::timestep(const yaml_event_t &event) { - config.timestep = atof((char *)event.data.scalar.value); + config.timestep = parse_double(event); } void TestConfigReader::pair_style(const yaml_event_t &event) { - config.pair_style = (char *)event.data.scalar.value; + config.pair_style = event_string(event); } void TestConfigReader::pair_coeff(const yaml_event_t &event) { - config.pair_coeff.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.pair_coeff.push_back(line); - } + config.pair_coeff = parse_lines(event); } void TestConfigReader::bond_style(const yaml_event_t &event) { - config.bond_style = (char *)event.data.scalar.value; + config.bond_style = event_string(event); } void TestConfigReader::bond_coeff(const yaml_event_t &event) { - config.bond_coeff.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.bond_coeff.push_back(line); - } + config.bond_coeff = parse_lines(event); } void TestConfigReader::angle_style(const yaml_event_t &event) { - config.angle_style = (char *)event.data.scalar.value; + config.angle_style = event_string(event); } void TestConfigReader::angle_coeff(const yaml_event_t &event) { - config.angle_coeff.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.angle_coeff.push_back(line); - } + config.angle_coeff = parse_lines(event); } void TestConfigReader::dihedral_style(const yaml_event_t &event) { - config.dihedral_style = (char *)event.data.scalar.value; + config.dihedral_style = event_string(event); } void TestConfigReader::dihedral_coeff(const yaml_event_t &event) { - config.dihedral_coeff.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.dihedral_coeff.push_back(line); - } + config.dihedral_coeff = parse_lines(event); } void TestConfigReader::improper_style(const yaml_event_t &event) { - config.improper_style = (char *)event.data.scalar.value; + config.improper_style = event_string(event); } void TestConfigReader::improper_coeff(const yaml_event_t &event) { - config.improper_coeff.clear(); - std::stringstream data((char *)event.data.scalar.value); - std::string line; - - while (std::getline(data, line, '\n')) { - config.improper_coeff.push_back(line); - } + config.improper_coeff = parse_lines(event); } void TestConfigReader::equilibrium(const yaml_event_t &event) { - std::stringstream data((char *)event.data.scalar.value); config.equilibrium.clear(); - double value; - std::size_t num; - data >> num; - for (std::size_t i = 0; i < num; ++i) { - data >> value; - if (data.eof()) break; - config.equilibrium.push_back(value); + try { + ValueTokenizer data(event_string(event)); + std::size_t num = data.next_int(); + for (std::size_t i = 0; i < num; ++i) { + if (!data.has_next()) break; + config.equilibrium.push_back(data.next_double()); + } + } catch (TokenizerException &e) { + parse_error(e.what(), event_string(event)); } } void TestConfigReader::init_vdwl(const yaml_event_t &event) { - config.init_vdwl = atof((char *)event.data.scalar.value); + config.init_vdwl = parse_double(event); } void TestConfigReader::init_coul(const yaml_event_t &event) { - config.init_coul = atof((char *)event.data.scalar.value); + config.init_coul = parse_double(event); } void TestConfigReader::run_vdwl(const yaml_event_t &event) { - config.run_vdwl = atof((char *)event.data.scalar.value); + config.run_vdwl = parse_double(event); } void TestConfigReader::run_coul(const yaml_event_t &event) { - config.run_coul = atof((char *)event.data.scalar.value); + config.run_coul = parse_double(event); } void TestConfigReader::init_energy(const yaml_event_t &event) { - config.init_energy = atof((char *)event.data.scalar.value); + config.init_energy = parse_double(event); } void TestConfigReader::run_energy(const yaml_event_t &event) { - config.run_energy = atof((char *)event.data.scalar.value); + config.run_energy = parse_double(event); } void TestConfigReader::global_scalar(const yaml_event_t &event) { - config.global_scalar = atof((char *)event.data.scalar.value); + config.global_scalar = parse_double(event); } void TestConfigReader::global_vector(const yaml_event_t &event) { - std::stringstream data((char *)event.data.scalar.value); config.global_vector.clear(); - double value; - std::size_t num; - data >> num; - for (std::size_t i = 0; i < num; ++i) { - data >> value; - config.global_vector.push_back(value); + try { + ValueTokenizer data(event_string(event)); + std::size_t num = data.next_int(); + for (std::size_t i = 0; i < num; ++i) { + if (!data.has_next()) break; + config.global_vector.push_back(data.next_double()); + } + } catch (TokenizerException &e) { + parse_error(e.what(), event_string(event)); } } -void TestConfigReader::tags(const yaml_event_t &event) + +// parse a block of rows of white-space separated numbers into a +// vector of vectors, so rows may have different numbers of columns + +static void parse_rows(const yaml_event_t &event, std::vector> &rows) { - std::stringstream data((char *)event.data.scalar.value); - config.tags.clear(); - for (std::string tag; std::getline(data, tag, ' ');) { - const auto addme = trim(tag); - if (addme.size() > 0) config.tags.push_back(addme); + rows.clear(); + for (const auto &line : Tokenizer(event_string(event), "\n").as_vector()) { + try { + ValueTokenizer values(line); + std::vector row; + while (values.has_next()) + row.push_back(values.next_double()); + if (!row.empty()) rows.push_back(row); + } catch (TokenizerException &e) { + parse_error(e.what(), line); + } } } + +void TestConfigReader::global_array(const yaml_event_t &event) +{ + parse_rows(event, config.global_array); +} + +void TestConfigReader::peratom_data(const yaml_event_t &event) +{ + parse_rows(event, config.peratom_data); +} + +void TestConfigReader::local_data(const yaml_event_t &event) +{ + parse_rows(event, config.local_data); +} + +void TestConfigReader::tags(const yaml_event_t &event) +{ + config.tags = split_words(event_string(event)); +} diff --git a/unittest/force-styles/test_config_reader.h b/unittest/force-styles/test_config_reader.h index 6cca5e8a20a..515e3b527be 100644 --- a/unittest/force-styles/test_config_reader.h +++ b/unittest/force-styles/test_config_reader.h @@ -66,6 +66,9 @@ class TestConfigReader : public YamlReader { void run_energy(const yaml_event_t &event); void global_scalar(const yaml_event_t &event); void global_vector(const yaml_event_t &event); + void global_array(const yaml_event_t &event); + void peratom_data(const yaml_event_t &event); + void local_data(const yaml_event_t &event); void tags(const yaml_event_t &event); }; diff --git a/unittest/force-styles/test_min_style.cpp b/unittest/force-styles/test_min_style.cpp new file mode 100644 index 00000000000..065d646a599 --- /dev/null +++ b/unittest/force-styles/test_min_style.cpp @@ -0,0 +1,279 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// unit tests for minimizer styles (min_style command and min_modify options) +// +// Each YAML file sets up the molecular test system (input_file plus +// input_coeffs, like the fix-timestep tests), selects the minimizer via +// post_commands (min_style, min_modify, and optional fixes like box/relax), +// and stores reference data taken after a minimization with a fixed +// iteration budget: the potential energy before (init_energy) and after +// (run_energy) the minimization, the total force norm (global_scalar), and +// the box dimensions and tilt factors (global_vector). Using a fixed +// number of iterations instead of a convergence tolerance keeps the +// reference data deterministic. +// +// The line search and step acceptance logic of the minimizers branches on +// floating-point comparisons, so differences in the last bits of the +// forces (from a different compiler or math library) can send the descent +// along a different but equally valid path. Only observables that are +// stable against such path changes are compared to reference data: the +// potential energy (all paths descend into the same basin, so the final +// energies agree far more closely than any two different minimizers do) +// and the box dimensions. The force norm is checked as an upper bound +// only and per-atom positions are not compared at all. + +#include "error_stats.h" +#include "test_config.h" +#include "test_main.h" +#include "yaml_writer.h" + +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include "atom.h" +#include "compute.h" +#include "domain.h" +#include "info.h" +#include "input.h" +#include "modify.h" + +#include +#include +#include + +using ::testing::HasSubstr; +using ::testing::StartsWith; + +using namespace LAMMPS_NS; + +// fixed iteration budget: enough to exercise the algorithms and the line +// searches while keeping the tests fast and the reference deterministic +static constexpr int MAX_ITER = 100; +static constexpr int MAX_EVAL = 10000; + +static void cleanup_lammps(LAMMPS *&lmp) +{ + delete lmp; + lmp = nullptr; +} + +static double potential_energy(LAMMPS *lmp) +{ + auto *pe = lmp->modify->get_compute_by_id("thermo_pe"); + return pe ? pe->compute_scalar() : 0.0; +} + +// total force norm computed independently of the Min classes. +// the tests run in serial, so all atoms are local. + +static double force_norm(LAMMPS *lmp) +{ + double **f = lmp->atom->f; + double sumsq = 0.0; + for (int i = 0; i < lmp->atom->nlocal; ++i) + sumsq += f[i][0] * f[i][0] + f[i][1] * f[i][1] + f[i][2] * f[i][2]; + return sqrt(sumsq); +} + +static void box_dims(LAMMPS *lmp, double dims[6]) +{ + dims[0] = lmp->domain->xprd; + dims[1] = lmp->domain->yprd; + dims[2] = lmp->domain->zprd; + dims[3] = lmp->domain->xy; + dims[4] = lmp->domain->xz; + dims[5] = lmp->domain->yz; +} + +static LAMMPS *init_lammps(LAMMPS::argv &args, const TestConfig &cfg) +{ + LAMMPS *lmp = new LAMMPS(args, MPI_COMM_WORLD); + + // check if prerequisite styles are available + Info *info = new Info(lmp); + int nfail = 0; + for (const auto &prerequisite : cfg.prerequisites) { + if (!info->has_style(prerequisite.first, prerequisite.second)) ++nfail; + } + delete info; + if (nfail > 0) { + cleanup_lammps(lmp); + return nullptr; + } + + // utility lambda to improve readability + auto command = [&](const std::string &line) { + lmp->input->one(line); + }; + + command("variable input_dir index " + INPUT_FOLDER); + for (const auto &pre_command : cfg.pre_commands) + command(pre_command); + + std::string input_file = platform::path_join(INPUT_FOLDER, cfg.input_file); + lmp->input->file(input_file.c_str()); + + // set up the molecular system force field from the coeffs file + // indicated by the YAML file (the input template only defines the geometry) + + if (cfg.input_coeffs.empty()) { + std::cerr << "ERROR: no 'input_coeffs' file given in the YAML file\n"; + cleanup_lammps(lmp); + return nullptr; + } + std::string coeffs_file = platform::path_join(INPUT_FOLDER, cfg.input_coeffs); + lmp->input->file(coeffs_file.c_str()); + + // the minimizer selection (min_style, min_modify) and optional + // fixes (e.g. box/relax) come from the post_commands block + + for (const auto &post_command : cfg.post_commands) + command(post_command); + + // the timestep matters for the damped-dynamics minimizers (fire, + // abcfire, quickmin); the default assumes the real units templates + command(fmt::format("timestep {}", (cfg.timestep > 0.0) ? cfg.timestep : 0.25)); + command("run 0 post no"); + return lmp; +} + +static void run_minimize(LAMMPS *lmp) +{ + lmp->input->one(fmt::format("minimize 0.0 0.0 {} {}", MAX_ITER, MAX_EVAL)); + // re-evaluate forces and energy at the final geometry so that the + // potential energy compute and the force arrays are consistent + lmp->input->one("run 0 post no"); +} + +TEST(MinStyle, plain) +{ + if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); + + LAMMPS::argv args = {"MinStyle", "-log", "none", "-echo", "screen", "-nocite"}; + + ::testing::internal::CaptureStdout(); + LAMMPS *lmp = nullptr; + try { + lmp = init_lammps(args, test_config); + } catch (std::exception &e) { + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + FAIL() << e.what(); + } + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + if (!lmp) { + std::cerr << "One or more prerequisite styles are not available " + "in this LAMMPS configuration:\n"; + for (auto &prerequisite : test_config.prerequisites) { + std::cerr << prerequisite.first << "_style " << prerequisite.second << "\n"; + } + GTEST_SKIP(); + } + + EXPECT_THAT(output, StartsWith("LAMMPS (")); + + // abort if running in parallel and not all atoms are local + const int nlocal = lmp->atom->nlocal; + ASSERT_EQ(lmp->atom->natoms, nlocal); + + const double epsilon = test_config.epsilon; + ErrorStats stats; + + const double init_pe = potential_energy(lmp); + EXPECT_FP_LE_WITH_EPS(init_pe, test_config.init_energy, epsilon); + + ::testing::internal::CaptureStdout(); + try { + run_minimize(lmp); + } catch (std::exception &e) { + std::string mnout = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << mnout; + cleanup_lammps(lmp); + FAIL() << e.what(); + } + output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + // a minimization from a non-minimum start must lower the energy + const double min_pe = potential_energy(lmp); + EXPECT_LT(min_pe, init_pe); + + EXPECT_FP_LE_WITH_EPS(min_pe, test_config.run_energy, epsilon); + + // the exact force norm after a fixed iteration budget is not portable + // across platforms (see comment at the top), so only require that the + // minimizer reduces the forces comparably to the reference + EXPECT_LE(force_norm(lmp), 10.0 * test_config.global_scalar); + + // box dimensions and tilt factors (changed by fix box/relax) + if (test_config.global_vector.size() == 6) { + double dims[6]; + box_dims(lmp, dims); + SCOPED_TRACE("box dimensions after minimization"); + for (int i = 0; i < 6; ++i) + EXPECT_FP_LE_WITH_EPS(dims[i], test_config.global_vector[i], epsilon); + } + + if (print_stats) std::cerr << "min_style stats:" << stats << std::endl; + + cleanup_lammps(lmp); +} + +void generate_yaml_file(const char *outfile, const TestConfig &config) +{ + // initialize system geometry + LAMMPS::argv args = {"MinStyle", "-log", "none", "-echo", "screen", "-nocite"}; + LAMMPS *lmp = nullptr; + try { + lmp = init_lammps(args, config); + } catch (std::exception &e) { + FAIL() << e.what(); + } + if (!lmp) { + std::cerr << "One or more prerequisite styles are not available " + "in this LAMMPS configuration:\n"; + for (auto prerequisite : config.prerequisites) { + std::cerr << prerequisite.first << "_style " << prerequisite.second << "\n"; + } + return; + } + + const int natoms = lmp->atom->natoms; + const double init_pe = potential_energy(lmp); + + run_minimize(lmp); + + std::string block; + YamlWriter writer(outfile); + + // write yaml header + write_yaml_header(&writer, &test_config, lmp->version); + + writer.emit("natoms", natoms); + writer.emit("init_energy", init_pe); + writer.emit("run_energy", potential_energy(lmp)); + writer.emit("global_scalar", force_norm(lmp)); + + // box dimensions and tilt factors + double dims[6]; + box_dims(lmp, dims); + block = "6"; + for (double dim : dims) + block += fmt::format(" {:23.16e}", dim); + writer.emit_block("global_vector", block); + + cleanup_lammps(lmp); +} diff --git a/unittest/force-styles/test_output_style.cpp b/unittest/force-styles/test_output_style.cpp new file mode 100644 index 00000000000..599beaa67c3 --- /dev/null +++ b/unittest/force-styles/test_output_style.cpp @@ -0,0 +1,368 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// unit tests for the output data of compute and fix styles +// +// Each YAML file sets up a test system (input_file plus optional +// input_coeffs) and defines - via post_commands - a compute or fix with +// the ID "test" (plus any helpers like groups, chunks, variables, or +// other computes it consumes). The driver runs for a fixed number of +// steps and then collects whatever output the style provides, based on +// its output flags: global scalar (global_scalar), global vector +// (global_vector), global array (global_array), per-atom vector or array +// (peratom_data, first column is the atom tag), and local vector or +// array (local_data). The same code doubles as the reference generator. +// +// Styles whose output requires per-atom energy or virial tallies during +// the run (e.g. compute pe/atom or stress/atom) are not yet supported: +// they would need to be consumed by another command during the run. + +#include "error_stats.h" +#include "test_config.h" +#include "test_main.h" +#include "yaml_writer.h" + +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include "atom.h" +#include "compute.h" +#include "fix.h" +#include "info.h" +#include "input.h" +#include "modify.h" + +#include +#include +#include + +using ::testing::StartsWith; + +using namespace LAMMPS_NS; + +// fixed number of MD steps before collecting the output, so that +// history-dependent styles (msd, vacf, ave/time, ave/atom) have data +static constexpr int RUN_STEPS = 10; + +static void cleanup_lammps(LAMMPS *&lmp) +{ + delete lmp; + lmp = nullptr; +} + +// normalized snapshot of all output data a compute or fix provides + +struct OutputData { + bool has_scalar = false; + double scalar = 0.0; + std::vector vector; + std::vector> array; + std::vector> peratom; + std::vector> local; +}; + +static void collect_peratom(Atom *atom, double *vec, double **arr, int ncols, OutputData &data) +{ + const int natoms = (int)atom->natoms; + for (int i = 1; i <= natoms; ++i) { + const int j = atom->map(i); + std::vector row; + row.push_back(i); + if (ncols == 0) + row.push_back(vec[j]); + else + for (int c = 0; c < ncols; ++c) + row.push_back(arr[j][c]); + data.peratom.push_back(row); + } +} + +static OutputData collect_compute(Compute *icompute, Atom *atom) +{ + OutputData data; + if (icompute->scalar_flag) { + data.has_scalar = true; + data.scalar = icompute->compute_scalar(); + } + if (icompute->vector_flag) { + icompute->compute_vector(); + for (int i = 0; i < icompute->size_vector; ++i) + data.vector.push_back(icompute->vector[i]); + } + if (icompute->array_flag) { + // for variable-size arrays (e.g. per-chunk computes) the row count + // is only valid after the array was computed + icompute->compute_array(); + for (int i = 0; i < icompute->size_array_rows; ++i) { + std::vector row; + for (int j = 0; j < icompute->size_array_cols; ++j) + row.push_back(icompute->array[i][j]); + data.array.push_back(row); + } + } + if (icompute->peratom_flag) { + icompute->compute_peratom(); + collect_peratom(atom, icompute->vector_atom, icompute->array_atom, + icompute->size_peratom_cols, data); + } + if (icompute->local_flag) { + icompute->compute_local(); + const int ncols = icompute->size_local_cols; + for (int i = 0; i < icompute->size_local_rows; ++i) { + std::vector row; + if (ncols == 0) + row.push_back(icompute->vector_local[i]); + else + for (int j = 0; j < ncols; ++j) + row.push_back(icompute->array_local[i][j]); + data.local.push_back(row); + } + } + return data; +} + +static OutputData collect_fix(Fix *ifix, Atom *atom) +{ + OutputData data; + if (ifix->scalar_flag) { + data.has_scalar = true; + data.scalar = ifix->compute_scalar(); + } + if (ifix->vector_flag) { + for (int i = 0; i < ifix->size_vector; ++i) + data.vector.push_back(ifix->compute_vector(i)); + } + if (ifix->array_flag) { + // for variable-size arrays (e.g. fix ave/chunk) the row count is + // determined by the fix during the run + for (int i = 0; i < ifix->size_array_rows; ++i) { + std::vector row; + for (int j = 0; j < ifix->size_array_cols; ++j) + row.push_back(ifix->compute_array(i, j)); + data.array.push_back(row); + } + } + if (ifix->peratom_flag) { + collect_peratom(atom, ifix->vector_atom, ifix->array_atom, ifix->size_peratom_cols, data); + } + return data; +} + +static LAMMPS *init_lammps(LAMMPS::argv &args, const TestConfig &cfg) +{ + LAMMPS *lmp = new LAMMPS(args, MPI_COMM_WORLD); + + // check if prerequisite styles are available + Info *info = new Info(lmp); + int nfail = 0; + for (const auto &prerequisite : cfg.prerequisites) { + if (!info->has_style(prerequisite.first, prerequisite.second)) ++nfail; + } + delete info; + if (nfail > 0) { + cleanup_lammps(lmp); + return nullptr; + } + + // utility lambda to improve readability + auto command = [&](const std::string &line) { + lmp->input->one(line); + }; + + command("variable input_dir index " + INPUT_FOLDER); + for (const auto &pre_command : cfg.pre_commands) + command(pre_command); + + std::string input_file = platform::path_join(INPUT_FOLDER, cfg.input_file); + lmp->input->file(input_file.c_str()); + + // optional force field setup from a coeffs file (molecular templates); + // systems that configure the force field in post_commands omit it + + if (!cfg.input_coeffs.empty()) { + std::string coeffs_file = platform::path_join(INPUT_FOLDER, cfg.input_coeffs); + lmp->input->file(coeffs_file.c_str()); + } + + // the compute or fix under test (ID "test") and any helper commands + + for (const auto &post_command : cfg.post_commands) + command(post_command); + + // time integration so that history-dependent output has data to report; + // the templates provide initial velocities. skipped when the test + // defines its own time-integrating fix (e.g. fix rigid) + bool has_integrator = false; + for (const auto *ifix : lmp->modify->get_fix_list()) + if (ifix->time_integrate) has_integrator = true; + if (!has_integrator) command("fix output_nve all nve"); + command(fmt::format("timestep {}", (cfg.timestep > 0.0) ? cfg.timestep : 0.25)); + command("thermo 5"); + command(fmt::format("run {} post no", RUN_STEPS)); + return lmp; +} + +// collect the output of the compute or fix with ID "test". +// returns false when neither exists. + +static bool collect_output(LAMMPS *lmp, OutputData &data) +{ + auto *icompute = lmp->modify->get_compute_by_id("test"); + if (icompute) { + data = collect_compute(icompute, lmp->atom); + return true; + } + auto *ifix = lmp->modify->get_fix_by_id("test"); + if (ifix) { + data = collect_fix(ifix, lmp->atom); + return true; + } + return false; +} + +static void compare_rows(const std::string &name, + const std::vector> &reference, + const std::vector> ¤t, double epsilon, + ErrorStats &stats) +{ + SCOPED_TRACE(name); + ASSERT_EQ(reference.size(), current.size()); + for (std::size_t i = 0; i < reference.size(); ++i) { + ASSERT_EQ(reference[i].size(), current[i].size()); + for (std::size_t j = 0; j < reference[i].size(); ++j) { + EXPECT_FP_LE_WITH_EPS(current[i][j], reference[i][j], epsilon); + } + } +} + +TEST(OutputStyle, plain) +{ + if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); + + LAMMPS::argv args = {"OutputStyle", "-log", "none", "-echo", "screen", "-nocite"}; + + ::testing::internal::CaptureStdout(); + LAMMPS *lmp = nullptr; + try { + lmp = init_lammps(args, test_config); + } catch (std::exception &e) { + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + FAIL() << e.what(); + } + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + + if (!lmp) { + std::cerr << "One or more prerequisite styles are not available " + "in this LAMMPS configuration:\n"; + for (auto &prerequisite : test_config.prerequisites) { + std::cerr << prerequisite.first << "_style " << prerequisite.second << "\n"; + } + GTEST_SKIP(); + } + + EXPECT_THAT(output, StartsWith("LAMMPS (")); + + // abort if running in parallel and not all atoms are local + ASSERT_EQ(lmp->atom->natoms, lmp->atom->nlocal); + + OutputData data; + if (!collect_output(lmp, data)) { + cleanup_lammps(lmp); + FAIL() << "no compute or fix with ID 'test' defined"; + } + + const double epsilon = test_config.epsilon; + ErrorStats stats; + + if (data.has_scalar) EXPECT_FP_LE_WITH_EPS(data.scalar, test_config.global_scalar, epsilon); + + { + SCOPED_TRACE("global vector"); + ASSERT_EQ(test_config.global_vector.size(), data.vector.size()); + for (std::size_t i = 0; i < data.vector.size(); ++i) + EXPECT_FP_LE_WITH_EPS(data.vector[i], test_config.global_vector[i], epsilon); + } + + compare_rows("global array", test_config.global_array, data.array, epsilon, stats); + compare_rows("per-atom data", test_config.peratom_data, data.peratom, epsilon, stats); + compare_rows("local data", test_config.local_data, data.local, epsilon, stats); + + if (print_stats) std::cerr << "output stats:" << stats << std::endl; + + cleanup_lammps(lmp); +} + +static void write_rows(YamlWriter &writer, const std::string &key, + const std::vector> &rows) +{ + if (rows.empty()) return; + std::string block; + for (const auto &row : rows) { + std::string line; + for (const auto &value : row) + line += fmt::format(" {:23.16e}", value); + block += line.substr(1) + "\n"; + } + writer.emit_block(key, block); +} + +void generate_yaml_file(const char *outfile, const TestConfig &config) +{ + // initialize system geometry + LAMMPS::argv args = {"OutputStyle", "-log", "none", "-echo", "screen", "-nocite"}; + LAMMPS *lmp = nullptr; + try { + lmp = init_lammps(args, config); + } catch (std::exception &e) { + FAIL() << e.what(); + } + if (!lmp) { + std::cerr << "One or more prerequisite styles are not available " + "in this LAMMPS configuration:\n"; + for (auto prerequisite : config.prerequisites) { + std::cerr << prerequisite.first << "_style " << prerequisite.second << "\n"; + } + return; + } + + OutputData data; + if (!collect_output(lmp, data)) { + std::cerr << "ERROR: no compute or fix with ID 'test' defined\n"; + cleanup_lammps(lmp); + exit(1); + } + + YamlWriter writer(outfile); + + // write yaml header + write_yaml_header(&writer, &test_config, lmp->version); + + writer.emit("natoms", (int)lmp->atom->natoms); + + if (data.has_scalar) writer.emit("global_scalar", data.scalar); + + if (!data.vector.empty()) { + std::string block = std::to_string(data.vector.size()); + for (const auto &value : data.vector) + block += fmt::format(" {:23.16e}", value); + writer.emit_block("global_vector", block); + } + + write_rows(writer, "global_array", data.array); + write_rows(writer, "peratom_data", data.peratom); + write_rows(writer, "local_data", data.local); + + cleanup_lammps(lmp); +} diff --git a/unittest/force-styles/test_pair_style.cpp b/unittest/force-styles/test_pair_style.cpp index e5baeac606d..583534d77d9 100644 --- a/unittest/force-styles/test_pair_style.cpp +++ b/unittest/force-styles/test_pair_style.cpp @@ -30,6 +30,7 @@ #include "kspace.h" #include "modify.h" #include "pair.h" +#include "update.h" #include @@ -839,6 +840,107 @@ static void run_kokkos_test(LAMMPS::argv &args) if (!verbose) ::testing::internal::GetCapturedStdout(); } + +/* ---------------------------------------------------------------------- + collect per-atom pair energies from a direct pair->compute() call + with explicit energy/virial flags on the current configuration, + including the ghost atom reduction done by compute pe/atom. styles + must produce the same per-atom energies whether or not the virial is + tallied; styles that maintain their tally bookkeeping only when the + virial is requested (as the TIP4P OpenMP variants did) assign + per-atom energies to stale or invalid atom indices otherwise, which + the comparison against the with-virial reference detects +------------------------------------------------------------------------- */ + +std::vector eatom_direct(LAMMPS *lmp, bool with_virial) +{ + // satisfy the tally timestamp checks of pair->compute consumers + + lmp->update->eflag_atom = lmp->update->ntimestep; + lmp->update->eflag_global = lmp->update->ntimestep; + // request the same global-virial mode the integrator would use; + // per-atom virial support is not universal (e.g. pair rann) + int vflag = 0; + if (with_virial) { + vflag = lmp->force->pair->no_virial_fdotr_compute ? VIRIAL_PAIR : VIRIAL_FDOTR; + lmp->update->vflag_global = lmp->update->ntimestep; + } + lmp->force->pair->compute(ENERGY_GLOBAL | ENERGY_ATOM, vflag); + + auto *pea = lmp->modify->get_compute_by_id("peaonly"); + EXPECT_NE(pea, nullptr); + pea->compute_peratom(); + pea->invoked_peratom = -1; // force a fresh evaluation on the next call + + const int nlocal = lmp->atom->nlocal; + const tagint *tag = lmp->atom->tag; + std::vector eatom(nlocal, 0.0); + for (int i = 0; i < nlocal; i++) + eatom[tag[i] - 1] = pea->vector_atom[i]; + return eatom; +} + +void eatom_only_test(LAMMPS::argv args, const TestConfig &cfg) +{ + ::testing::internal::CaptureStdout(); + LAMMPS *lmp = nullptr; + try { + lmp = init_lammps(args, cfg, true); + } catch (std::exception &e) { + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + FAIL() << e.what(); + } + std::string output = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << output; + if (!lmp) GTEST_SKIP(); + + // exception safety matters here: leaving the capturer active on a + // throw aborts the whole test program at the next captured section + ::testing::internal::CaptureStdout(); + std::vector reference, eonly; + try { + lmp->input->one("compute peaonly all pe/atom pair"); + lmp->input->one("run 0 post no"); + reference = eatom_direct(lmp, true); + eonly = eatom_direct(lmp, false); + } catch (std::exception &e) { + std::string errout = ::testing::internal::GetCapturedStdout(); + if (verbose) std::cout << errout; + cleanup_lammps(lmp, cfg); + FAIL() << e.what(); + } + cleanup_lammps(lmp, cfg); + ::testing::internal::GetCapturedStdout(); + + ASSERT_EQ(reference.size(), eonly.size()); + const double epsilon = cfg.epsilon; + for (std::size_t i = 0; i < reference.size(); i++) + EXPECT_NEAR(eonly[i], reference[i], (fabs(reference[i]) + 1.0) * epsilon * 10.0) + << "per-atom energy for atom " << i + 1 + << " differs between tallying with and without virial"; +} + +TEST(PairStyle, eatom_only) +{ + if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); + + LAMMPS::argv args = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite"}; + eatom_only_test(args, test_config); +} + +TEST(PairStyle, eatom_only_omp) +{ + if (!Info::has_package("OPENMP")) GTEST_SKIP(); + if (test_config.skip_tests.count(test_info_->name())) GTEST_SKIP(); + if (test_config.skip_tests.count("omp")) GTEST_SKIP(); + + LAMMPS::argv args = {"PairStyle", "-log", "none", "-echo", "screen", "-nocite", + "-pk", "omp", "4", "-sf", "omp"}; + if (test_config.has_tag("single_thread")) args[8] = "1"; + eatom_only_test(args, test_config); +} + TEST(PairStyle, kokkos_omp) { if (!Info::has_package("KOKKOS")) GTEST_SKIP(); diff --git a/unittest/force-styles/tests/compute-ackland_atom.yaml b/unittest/force-styles/tests/compute-ackland_atom.yaml new file mode 100644 index 00000000000..e8ebd4aa8cd --- /dev/null +++ b/unittest/force-styles/tests/compute-ackland_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:32 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute ackland/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all ackland/atom +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 2.0000000000000000e+00 + 2.0000000000000000e+00 2.0000000000000000e+00 + 3.0000000000000000e+00 2.0000000000000000e+00 + 4.0000000000000000e+00 2.0000000000000000e+00 + 5.0000000000000000e+00 2.0000000000000000e+00 + 6.0000000000000000e+00 2.0000000000000000e+00 + 7.0000000000000000e+00 2.0000000000000000e+00 + 8.0000000000000000e+00 2.0000000000000000e+00 + 9.0000000000000000e+00 2.0000000000000000e+00 + 1.0000000000000000e+01 2.0000000000000000e+00 + 1.1000000000000000e+01 2.0000000000000000e+00 + 1.2000000000000000e+01 2.0000000000000000e+00 + 1.3000000000000000e+01 2.0000000000000000e+00 + 1.4000000000000000e+01 2.0000000000000000e+00 + 1.5000000000000000e+01 2.0000000000000000e+00 + 1.6000000000000000e+01 2.0000000000000000e+00 + 1.7000000000000000e+01 2.0000000000000000e+00 + 1.8000000000000000e+01 2.0000000000000000e+00 + 1.9000000000000000e+01 2.0000000000000000e+00 + 2.0000000000000000e+01 2.0000000000000000e+00 + 2.1000000000000000e+01 2.0000000000000000e+00 + 2.2000000000000000e+01 2.0000000000000000e+00 + 2.3000000000000000e+01 2.0000000000000000e+00 + 2.4000000000000000e+01 2.0000000000000000e+00 + 2.5000000000000000e+01 2.0000000000000000e+00 + 2.6000000000000000e+01 2.0000000000000000e+00 + 2.7000000000000000e+01 2.0000000000000000e+00 + 2.8000000000000000e+01 2.0000000000000000e+00 + 2.9000000000000000e+01 2.0000000000000000e+00 + 3.0000000000000000e+01 2.0000000000000000e+00 + 3.1000000000000000e+01 2.0000000000000000e+00 + 3.2000000000000000e+01 2.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-adf.yaml b/unittest/force-styles/tests/compute-adf.yaml new file mode 100644 index 00000000000..9431138bc6b --- /dev/null +++ b/unittest/force-styles/tests/compute-adf.yaml @@ -0,0 +1,50 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:03 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute adf +pre_commands: "" +post_commands: | + compute test all adf 32 4 2 2 0.8 1.4 0.8 1.4 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 2.8125000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 8.4375000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.4062500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 1.9687500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 2.5312500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 3.0937500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 3.6562500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 4.2187500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 4.7812500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 5.3437500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 5.9062500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 6.4687500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 7.0312500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 7.5937500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 8.1562500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 8.7187500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 9.2812500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 9.8437500000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 1.0406250000000000e+02 0.0000000000000000e+00 0.0000000000000000e+00 + 1.0968750000000000e+02 1.7777777777777778e-01 3.3333333333333331e-01 + 1.1531250000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.2093750000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.2656250000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.3218750000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.3781250000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.4343750000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.4906250000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.5468750000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.6031250000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.6593750000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.7156250000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 + 1.7718750000000000e+02 0.0000000000000000e+00 3.3333333333333331e-01 +... diff --git a/unittest/force-styles/tests/compute-aggregate_atom.yaml b/unittest/force-styles/tests/compute-aggregate_atom.yaml new file mode 100644 index 00000000000..1a3b30aba8a --- /dev/null +++ b/unittest/force-styles/tests/compute-aggregate_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:17 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute aggregate/atom +pre_commands: "" +post_commands: | + compute test all aggregate/atom 3.0 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 1.0000000000000000e+00 + 2.0000000000000000e+00 1.0000000000000000e+00 + 3.0000000000000000e+00 1.0000000000000000e+00 + 4.0000000000000000e+00 1.0000000000000000e+00 + 5.0000000000000000e+00 1.0000000000000000e+00 + 6.0000000000000000e+00 1.0000000000000000e+00 + 7.0000000000000000e+00 1.0000000000000000e+00 + 8.0000000000000000e+00 1.0000000000000000e+00 + 9.0000000000000000e+00 1.0000000000000000e+00 + 1.0000000000000000e+01 1.0000000000000000e+00 + 1.1000000000000000e+01 1.0000000000000000e+00 + 1.2000000000000000e+01 1.0000000000000000e+00 + 1.3000000000000000e+01 1.0000000000000000e+00 + 1.4000000000000000e+01 1.0000000000000000e+00 + 1.5000000000000000e+01 1.0000000000000000e+00 + 1.6000000000000000e+01 1.0000000000000000e+00 + 1.7000000000000000e+01 1.0000000000000000e+00 + 1.8000000000000000e+01 1.8000000000000000e+01 + 1.9000000000000000e+01 1.8000000000000000e+01 + 2.0000000000000000e+01 1.8000000000000000e+01 + 2.1000000000000000e+01 2.1000000000000000e+01 + 2.2000000000000000e+01 2.1000000000000000e+01 + 2.3000000000000000e+01 2.1000000000000000e+01 + 2.4000000000000000e+01 2.4000000000000000e+01 + 2.5000000000000000e+01 2.4000000000000000e+01 + 2.6000000000000000e+01 2.4000000000000000e+01 + 2.7000000000000000e+01 2.7000000000000000e+01 + 2.8000000000000000e+01 2.7000000000000000e+01 + 2.9000000000000000e+01 2.7000000000000000e+01 +... diff --git a/unittest/force-styles/tests/compute-angle_local.yaml b/unittest/force-styles/tests/compute-angle_local.yaml new file mode 100644 index 00000000000..06ae6a7a1f8 --- /dev/null +++ b/unittest/force-styles/tests/compute-angle_local.yaml @@ -0,0 +1,48 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:47 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute angle/local +pre_commands: "" +post_commands: | + compute test all angle/local theta eng +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 1.0808031740268625e+02 9.3192775303607298e-02 + 1.1011698697830498e+02 6.5924715282014245e-06 + 1.1368217331334706e+02 9.8614533180199693e-02 + 1.2376974618273327e+02 2.1644569869589331e-01 + 9.7344219471099009e+01 2.5562322259361987e+00 + 1.1537202153951588e+02 6.3499506557141472e-01 + 9.2762057199910132e+01 6.8676970666754267e+00 + 1.0974891041115495e+02 2.1455768223730499e-02 + 1.1625475060017411e+02 3.7850486494486862e-01 + 1.0211973253171720e+02 1.0809841902060964e+00 + 1.1092013804602887e+02 8.7427309302886053e-05 + 1.1174675054275083e+02 3.2110907446048459e-01 + 1.1005625793096083e+02 7.3776473219926614e-02 + 1.0500789560695581e+02 3.7147464064930069e-01 + 8.9956318582597731e+01 1.0474821961669480e+01 + 1.0283116344283941e+02 9.7890964271119463e-01 + 1.2007884720924534e+02 4.0839966906536791e+00 + 1.1661190764469661e+02 2.0044753975771910e+00 + 1.0918481368376285e+02 4.5165795819459585e-02 + 1.1579813803003428e+02 3.1558236293256975e-01 + 1.2698899869852384e+02 7.4396869019997813e-01 + 1.3023496517676634e+02 1.5955024604062520e+00 + 1.0272382492454661e+02 4.5459005712695966e+00 + 1.1414294349380557e+02 1.3540677513155103e-01 + 1.0732377120166068e+02 1.8525601365310393e-01 + 1.3804213806011668e+02 4.9579340215901944e+00 + 1.0657969753610917e+02 1.1232954855262901e-01 + 1.1130330075999244e+02 2.3938345162961081e-01 + 1.0958232965689179e+02 6.1224122494951934e-03 + 1.0952001311390551e+02 7.6851499641544772e-03 +... diff --git a/unittest/force-styles/tests/compute-angmom_chunk.yaml b/unittest/force-styles/tests/compute-angmom_chunk.yaml new file mode 100644 index 00000000000..b97aba31480 --- /dev/null +++ b/unittest/force-styles/tests/compute-angmom_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:56 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute angmom/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all angmom/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 4.5749973967012092e-01 2.9728018430795444e-01 -3.0654910116362433e-01 + 2.2992504200339153e-01 4.5082165628974002e-01 1.2558782004647917e-01 + -2.9150330668982882e-03 1.1521506078442101e-03 8.0249258136351111e-03 + -7.2296315080670514e-03 5.6054383081483236e-03 -1.1547603333931560e-02 + 1.8513112378942143e-03 -1.0549073354276330e-02 1.3471173977500380e-02 + 7.6786214047209461e-03 -3.0307376254564145e-03 7.4112490031486107e-03 +... diff --git a/unittest/force-styles/tests/compute-basal_atom.yaml b/unittest/force-styles/tests/compute-basal_atom.yaml new file mode 100644 index 00000000000..d28b16805d4 --- /dev/null +++ b/unittest/force-styles/tests/compute-basal_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:33 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute basal/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all basal/atom +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 7.0512249626689316e-01 -2.2462747295982508e-01 -6.7256580618555717e-01 + 2.0000000000000000e+00 6.0631876704839549e-01 5.5303590868290831e-01 5.7142701759033365e-01 + 3.0000000000000000e+00 7.0359464897489810e-01 -2.2776810803214359e-01 6.7310939593601549e-01 + 4.0000000000000000e+00 7.2158077477551774e-01 -2.2148211909295742e-01 6.5594729696558451e-01 + 5.0000000000000000e+00 6.0312830036038489e-01 5.6217258807557047e-01 -5.6586061403918919e-01 + 6.0000000000000000e+00 7.2110421416158987e-01 -1.8675024983279273e-01 -6.6718292582003713e-01 + 7.0000000000000000e+00 7.0910149582261850e-01 -2.3736818144865540e-01 -6.6395136497930585e-01 + 8.0000000000000000e+00 6.0886015121635217e-01 5.6952828719650128e-01 -5.5220181667921053e-01 + 9.0000000000000000e+00 7.0912269939814354e-01 -1.8502248382564548e-01 6.8037612956164106e-01 + 1.0000000000000000e+01 6.8145377899862036e-01 -2.1993939511756064e-01 6.9803109498346916e-01 + 1.1000000000000000e+01 5.7061877948127115e-01 5.8339447506688369e-01 5.7796634414534875e-01 + 1.2000000000000000e+01 5.4064042012825209e-01 5.9983866534231045e-01 -5.8983176557718775e-01 + 1.3000000000000000e+01 6.8253125463703335e-01 -2.2432432273724931e-01 -6.9557866893117948e-01 + 1.4000000000000000e+01 5.8587927374968318e-01 5.9620742446734376e-01 -5.4889177767621933e-01 + 1.5000000000000000e+01 6.0286284520749400e-01 5.6087029365064911e-01 -5.6743361159571770e-01 + 1.6000000000000000e+01 5.7190917664889851e-01 5.7887454241439795e-01 -5.8122642559444970e-01 + 1.7000000000000000e+01 5.8815907954868418e-01 5.6378368554533587e-01 5.7984209320931723e-01 + 1.8000000000000000e+01 6.5973324589697036e-01 -2.4570853016977356e-01 -7.1019670687778969e-01 + 1.9000000000000000e+01 5.5238071046372506e-01 5.8049676750568957e-01 -5.9824664948751338e-01 + 2.0000000000000000e+01 6.8276026855577487e-01 -2.2009550465099470e-01 -6.9670394323132001e-01 + 2.1000000000000000e+01 5.8197870004296415e-01 5.6279999570583750e-01 5.8698974226966749e-01 + 2.2000000000000000e+01 5.6073835655906190e-01 5.6444460700226662e-01 6.0578443452229702e-01 + 2.3000000000000000e+01 6.6742077022562118e-01 -2.5679862523262115e-01 6.9900213272212142e-01 + 2.4000000000000000e+01 5.8455923129586285e-01 5.6056892923162449e-01 5.8656029586641800e-01 + 2.5000000000000000e+01 6.9445988940224768e-01 -2.0735461407601297e-01 6.8900618722389251e-01 + 2.6000000000000000e+01 5.5491894075350734e-01 5.9266215927653410e-01 -5.8379494187144287e-01 + 2.7000000000000000e+01 6.7183959923498271e-01 -2.6048369961935641e-01 -6.9338286331030030e-01 + 2.8000000000000000e+01 7.0145609989974911e-01 -2.3825449081690112e-01 -6.7170986111491038e-01 + 2.9000000000000000e+01 6.7532823252585061e-01 -2.1725462913372220e-01 7.0479231300680323e-01 + 3.0000000000000000e+01 6.8287066391079654e-01 -2.4580849628800461e-01 6.8794319498244771e-01 + 3.1000000000000000e+01 6.8551807673015197e-01 -2.1421737897926746e-01 6.9582747935062639e-01 + 3.2000000000000000e+01 6.7463235610565786e-01 -2.3359018604811504e-01 7.0021911504709411e-01 +... diff --git a/unittest/force-styles/tests/compute-bond_local.yaml b/unittest/force-styles/tests/compute-bond_local.yaml new file mode 100644 index 00000000000..adfb739f145 --- /dev/null +++ b/unittest/force-styles/tests/compute-bond_local.yaml @@ -0,0 +1,34 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:46 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute bond/local +pre_commands: "" +post_commands: | + compute test solute bond/local dist engpot force +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 1.0750119600940169e+00 1.8732064150290259e-01 1.4992823943589917e+01 + 1.5026380182844286e+00 1.7397851172448455e-03 -1.3190091422142780e+00 + 1.4709435723779865e+00 2.1106899653832797e-01 1.4528213811006774e+01 + 1.1188571551313951e+00 1.0667768989484863e-01 -1.1314293078836979e+01 + 1.1165070810422055e+00 8.1745117360181474e-02 -9.9042486253232642e+00 + 1.1141619560650260e+00 6.0168299876317201e-02 -8.4971736390155428e+00 + 1.1054283213064962e+00 8.8400016619677429e-03 -3.2569927838976391e+00 + 1.0908164214083627e+00 2.5301434724634402e-02 5.5101471549824588e+00 + 1.4337842350612597e+00 1.0961318816056260e+00 3.3107882469370132e+01 + 1.3761455752450562e+00 2.0293520202901787e+00 -5.3301902671539317e+01 + 1.3882930376287346e+00 2.3045274212646447e+01 -2.4478094891735500e+02 + 9.6424927473365352e-01 5.7515146068140321e-01 3.2175652739711836e+01 + 1.3781728446385244e+00 2.1388477736076035e+00 -5.4720991246967053e+01 + 1.3896006635970044e+00 2.3366467563675890e+01 -2.4648086267610574e+02 + 1.0140533810427932e+00 8.8873883430272554e-02 -1.2648042938513871e+01 + 1.4288046400662711e+00 5.8067223559105701e+00 -9.0163248046389711e+01 +... diff --git a/unittest/force-styles/tests/compute-centro_atom.yaml b/unittest/force-styles/tests/compute-centro_atom.yaml new file mode 100644 index 00000000000..ae702ef547f --- /dev/null +++ b/unittest/force-styles/tests/compute-centro_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:49 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute centro/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all centro/atom fcc +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 7.4429160458315025e-01 + 2.0000000000000000e+00 1.0021683512919046e+00 + 3.0000000000000000e+00 5.7808798297710240e-01 + 4.0000000000000000e+00 6.8979867677789253e-01 + 5.0000000000000000e+00 6.5897031578919507e-01 + 6.0000000000000000e+00 8.8171526037567383e-01 + 7.0000000000000000e+00 3.8121441429269470e-01 + 8.0000000000000000e+00 8.3623750012324805e-01 + 9.0000000000000000e+00 1.0389370075980995e+00 + 1.0000000000000000e+01 1.0490734997370879e+00 + 1.1000000000000000e+01 8.6606786524027868e-01 + 1.2000000000000000e+01 3.7178955302277100e-01 + 1.3000000000000000e+01 8.5297776749508669e-01 + 1.4000000000000000e+01 7.1977635719753574e-01 + 1.5000000000000000e+01 6.4756349085770837e-01 + 1.6000000000000000e+01 5.4403360432875969e-01 + 1.7000000000000000e+01 6.7553486614005620e-01 + 1.8000000000000000e+01 6.2929450908071061e-01 + 1.9000000000000000e+01 5.5484352256855152e-01 + 2.0000000000000000e+01 7.5551175041659058e-01 + 2.1000000000000000e+01 9.2478387350218139e-01 + 2.2000000000000000e+01 6.6796097205526950e-01 + 2.3000000000000000e+01 7.3023103111066001e-01 + 2.4000000000000000e+01 5.8195861598134957e-01 + 2.5000000000000000e+01 7.1403943553711069e-01 + 2.6000000000000000e+01 5.5165953743195706e-01 + 2.7000000000000000e+01 7.2019795539117015e-01 + 2.8000000000000000e+01 1.4430532251679182e+00 + 2.9000000000000000e+01 3.9758744275731239e-01 + 3.0000000000000000e+01 3.7782838858167633e-01 + 3.1000000000000000e+01 1.3480239040578628e+00 + 3.2000000000000000e+01 4.1857143418136800e-01 +... diff --git a/unittest/force-styles/tests/compute-chunk_atom.yaml b/unittest/force-styles/tests/compute-chunk_atom.yaml new file mode 100644 index 00000000000..d95dd53ed21 --- /dev/null +++ b/unittest/force-styles/tests/compute-chunk_atom.yaml @@ -0,0 +1,48 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:55 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute chunk/atom +pre_commands: "" +post_commands: | + compute test all chunk/atom molecule +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 6 +peratom_data: |2 + 1.0000000000000000e+00 1.0000000000000000e+00 + 2.0000000000000000e+00 1.0000000000000000e+00 + 3.0000000000000000e+00 1.0000000000000000e+00 + 4.0000000000000000e+00 1.0000000000000000e+00 + 5.0000000000000000e+00 1.0000000000000000e+00 + 6.0000000000000000e+00 1.0000000000000000e+00 + 7.0000000000000000e+00 1.0000000000000000e+00 + 8.0000000000000000e+00 2.0000000000000000e+00 + 9.0000000000000000e+00 2.0000000000000000e+00 + 1.0000000000000000e+01 2.0000000000000000e+00 + 1.1000000000000000e+01 2.0000000000000000e+00 + 1.2000000000000000e+01 2.0000000000000000e+00 + 1.3000000000000000e+01 2.0000000000000000e+00 + 1.4000000000000000e+01 2.0000000000000000e+00 + 1.5000000000000000e+01 2.0000000000000000e+00 + 1.6000000000000000e+01 2.0000000000000000e+00 + 1.7000000000000000e+01 2.0000000000000000e+00 + 1.8000000000000000e+01 3.0000000000000000e+00 + 1.9000000000000000e+01 3.0000000000000000e+00 + 2.0000000000000000e+01 3.0000000000000000e+00 + 2.1000000000000000e+01 4.0000000000000000e+00 + 2.2000000000000000e+01 4.0000000000000000e+00 + 2.3000000000000000e+01 4.0000000000000000e+00 + 2.4000000000000000e+01 5.0000000000000000e+00 + 2.5000000000000000e+01 5.0000000000000000e+00 + 2.6000000000000000e+01 5.0000000000000000e+00 + 2.7000000000000000e+01 6.0000000000000000e+00 + 2.8000000000000000e+01 6.0000000000000000e+00 + 2.9000000000000000e+01 6.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-chunk_spread_atom.yaml b/unittest/force-styles/tests/compute-chunk_spread_atom.yaml new file mode 100644 index 00000000000..caf96ab6237 --- /dev/null +++ b/unittest/force-styles/tests/compute-chunk_spread_atom.yaml @@ -0,0 +1,50 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:03 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute chunk/spread/atom + compute com/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute comc all com/chunk molchunk + compute test all chunk/spread/atom molchunk c_comc[1] +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 -1.9363296578536698e-01 + 2.0000000000000000e+00 -1.9363296578536698e-01 + 3.0000000000000000e+00 -1.9363296578536698e-01 + 4.0000000000000000e+00 -1.9363296578536698e-01 + 5.0000000000000000e+00 -1.9363296578536698e-01 + 6.0000000000000000e+00 -1.9363296578536698e-01 + 7.0000000000000000e+00 -1.9363296578536698e-01 + 8.0000000000000000e+00 2.2806910638244244e+00 + 9.0000000000000000e+00 2.2806910638244244e+00 + 1.0000000000000000e+01 2.2806910638244244e+00 + 1.1000000000000000e+01 2.2806910638244244e+00 + 1.2000000000000000e+01 2.2806910638244244e+00 + 1.3000000000000000e+01 2.2806910638244244e+00 + 1.4000000000000000e+01 2.2806910638244244e+00 + 1.5000000000000000e+01 2.2806910638244244e+00 + 1.6000000000000000e+01 2.2806910638244244e+00 + 1.7000000000000000e+01 2.2806910638244244e+00 + 1.8000000000000000e+01 2.1428483249679235e+00 + 1.9000000000000000e+01 2.1428483249679235e+00 + 2.0000000000000000e+01 2.1428483249679235e+00 + 2.1000000000000000e+01 4.9525287315886324e+00 + 2.2000000000000000e+01 4.9525287315886324e+00 + 2.3000000000000000e+01 4.9525287315886324e+00 + 2.4000000000000000e+01 2.0270914827060502e+00 + 2.5000000000000000e+01 2.0270914827060502e+00 + 2.6000000000000000e+01 2.0270914827060502e+00 + 2.7000000000000000e+01 -1.9844296598524487e+00 + 2.8000000000000000e+01 -1.9844296598524487e+00 + 2.9000000000000000e+01 -1.9844296598524487e+00 +... diff --git a/unittest/force-styles/tests/compute-cluster_atom.yaml b/unittest/force-styles/tests/compute-cluster_atom.yaml new file mode 100644 index 00000000000..a954bbb2d94 --- /dev/null +++ b/unittest/force-styles/tests/compute-cluster_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:16 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute cluster/atom +pre_commands: "" +post_commands: | + compute test all cluster/atom 3.0 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 1.0000000000000000e+00 + 2.0000000000000000e+00 1.0000000000000000e+00 + 3.0000000000000000e+00 1.0000000000000000e+00 + 4.0000000000000000e+00 1.0000000000000000e+00 + 5.0000000000000000e+00 1.0000000000000000e+00 + 6.0000000000000000e+00 1.0000000000000000e+00 + 7.0000000000000000e+00 1.0000000000000000e+00 + 8.0000000000000000e+00 1.0000000000000000e+00 + 9.0000000000000000e+00 1.0000000000000000e+00 + 1.0000000000000000e+01 1.0000000000000000e+00 + 1.1000000000000000e+01 1.0000000000000000e+00 + 1.2000000000000000e+01 1.0000000000000000e+00 + 1.3000000000000000e+01 1.0000000000000000e+00 + 1.4000000000000000e+01 1.0000000000000000e+00 + 1.5000000000000000e+01 1.0000000000000000e+00 + 1.6000000000000000e+01 1.0000000000000000e+00 + 1.7000000000000000e+01 1.0000000000000000e+00 + 1.8000000000000000e+01 1.8000000000000000e+01 + 1.9000000000000000e+01 1.8000000000000000e+01 + 2.0000000000000000e+01 1.8000000000000000e+01 + 2.1000000000000000e+01 2.1000000000000000e+01 + 2.2000000000000000e+01 2.1000000000000000e+01 + 2.3000000000000000e+01 2.1000000000000000e+01 + 2.4000000000000000e+01 2.4000000000000000e+01 + 2.5000000000000000e+01 2.4000000000000000e+01 + 2.6000000000000000e+01 2.4000000000000000e+01 + 2.7000000000000000e+01 2.7000000000000000e+01 + 2.8000000000000000e+01 2.7000000000000000e+01 + 2.9000000000000000e+01 2.7000000000000000e+01 +... diff --git a/unittest/force-styles/tests/compute-cna_atom.yaml b/unittest/force-styles/tests/compute-cna_atom.yaml new file mode 100644 index 00000000000..937c63ad158 --- /dev/null +++ b/unittest/force-styles/tests/compute-cna_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:48 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute cna/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all cna/atom 3.2 +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 1.0000000000000000e+00 + 2.0000000000000000e+00 1.0000000000000000e+00 + 3.0000000000000000e+00 1.0000000000000000e+00 + 4.0000000000000000e+00 1.0000000000000000e+00 + 5.0000000000000000e+00 1.0000000000000000e+00 + 6.0000000000000000e+00 1.0000000000000000e+00 + 7.0000000000000000e+00 1.0000000000000000e+00 + 8.0000000000000000e+00 1.0000000000000000e+00 + 9.0000000000000000e+00 1.0000000000000000e+00 + 1.0000000000000000e+01 1.0000000000000000e+00 + 1.1000000000000000e+01 1.0000000000000000e+00 + 1.2000000000000000e+01 1.0000000000000000e+00 + 1.3000000000000000e+01 1.0000000000000000e+00 + 1.4000000000000000e+01 1.0000000000000000e+00 + 1.5000000000000000e+01 1.0000000000000000e+00 + 1.6000000000000000e+01 1.0000000000000000e+00 + 1.7000000000000000e+01 1.0000000000000000e+00 + 1.8000000000000000e+01 1.0000000000000000e+00 + 1.9000000000000000e+01 1.0000000000000000e+00 + 2.0000000000000000e+01 1.0000000000000000e+00 + 2.1000000000000000e+01 1.0000000000000000e+00 + 2.2000000000000000e+01 1.0000000000000000e+00 + 2.3000000000000000e+01 1.0000000000000000e+00 + 2.4000000000000000e+01 1.0000000000000000e+00 + 2.5000000000000000e+01 1.0000000000000000e+00 + 2.6000000000000000e+01 1.0000000000000000e+00 + 2.7000000000000000e+01 1.0000000000000000e+00 + 2.8000000000000000e+01 1.0000000000000000e+00 + 2.9000000000000000e+01 1.0000000000000000e+00 + 3.0000000000000000e+01 1.0000000000000000e+00 + 3.1000000000000000e+01 1.0000000000000000e+00 + 3.2000000000000000e+01 1.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-com.yaml b/unittest/force-styles/tests/compute-com.yaml new file mode 100644 index 00000000000..a3be185f5c0 --- /dev/null +++ b/unittest/force-styles/tests/compute-com.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:37 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute com +pre_commands: "" +post_commands: | + compute test all com +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 3 1.4301498868854254e+00 -2.9815104209163823e-01 -7.2391673662391554e-01 +... diff --git a/unittest/force-styles/tests/compute-com_chunk.yaml b/unittest/force-styles/tests/compute-com_chunk.yaml new file mode 100644 index 00000000000..e18a3bcfae9 --- /dev/null +++ b/unittest/force-styles/tests/compute-com_chunk.yaml @@ -0,0 +1,26 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:42 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute chunk/atom + compute com/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all com/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: | + -1.9363296578536698e-01 1.1274413564961154e+00 -1.0929287060052479e+00 + 2.2806910638244244e+00 -1.2190776329207138e+00 -5.7865614358203643e-01 + 2.1428483249679235e+00 3.0634298217924796e+00 -3.7065616016876328e+00 + 4.9525287315886324e+00 -4.0164411624999463e+00 -3.8034464914166839e+00 + 2.0270914827060502e+00 3.3136852096010379e+00 3.0589707016431404e+00 + -1.9844296598524487e+00 -4.1733346310604533e+00 2.0496391302207781e+00 +... diff --git a/unittest/force-styles/tests/compute-coord_atom.yaml b/unittest/force-styles/tests/compute-coord_atom.yaml new file mode 100644 index 00000000000..6e3d9d8dec3 --- /dev/null +++ b/unittest/force-styles/tests/compute-coord_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:43 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute coord/atom +pre_commands: "" +post_commands: | + compute test all coord/atom cutoff 4.0 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 1.0000000000000000e+01 + 2.0000000000000000e+00 1.2000000000000000e+01 + 3.0000000000000000e+00 1.0000000000000000e+01 + 4.0000000000000000e+00 8.0000000000000000e+00 + 5.0000000000000000e+00 9.0000000000000000e+00 + 6.0000000000000000e+00 1.5000000000000000e+01 + 7.0000000000000000e+00 1.6000000000000000e+01 + 8.0000000000000000e+00 1.6000000000000000e+01 + 9.0000000000000000e+00 1.6000000000000000e+01 + 1.0000000000000000e+01 1.2000000000000000e+01 + 1.1000000000000000e+01 1.1000000000000000e+01 + 1.2000000000000000e+01 1.1000000000000000e+01 + 1.3000000000000000e+01 1.2000000000000000e+01 + 1.4000000000000000e+01 1.2000000000000000e+01 + 1.5000000000000000e+01 1.6000000000000000e+01 + 1.6000000000000000e+01 1.0000000000000000e+01 + 1.7000000000000000e+01 1.0000000000000000e+01 + 1.8000000000000000e+01 6.0000000000000000e+00 + 1.9000000000000000e+01 6.0000000000000000e+00 + 2.0000000000000000e+01 2.0000000000000000e+00 + 2.1000000000000000e+01 3.0000000000000000e+00 + 2.2000000000000000e+01 2.0000000000000000e+00 + 2.3000000000000000e+01 3.0000000000000000e+00 + 2.4000000000000000e+01 2.0000000000000000e+00 + 2.5000000000000000e+01 5.0000000000000000e+00 + 2.6000000000000000e+01 2.0000000000000000e+00 + 2.7000000000000000e+01 2.0000000000000000e+00 + 2.8000000000000000e+01 2.0000000000000000e+00 + 2.9000000000000000e+01 3.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-dihedral_local.yaml b/unittest/force-styles/tests/compute-dihedral_local.yaml new file mode 100644 index 00000000000..ce89f15e32a --- /dev/null +++ b/unittest/force-styles/tests/compute-dihedral_local.yaml @@ -0,0 +1,49 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:21 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute dihedral/local +pre_commands: "" +post_commands: | + compute test all dihedral/local phi +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 1.5471847118829655e+02 + -8.8048958857546992e+01 + 2.5606956193643803e+01 + -9.4283810678323887e-01 + -9.0971463807799552e+01 + 2.6261106146356948e+01 + 1.3991702119754774e+02 + -1.3983281334600221e+02 + 1.1146944167549294e+02 + 2.5016786127967766e+01 + 1.4224935608212422e+02 + -1.0409472886668496e+02 + 7.5954094257653750e+01 + -1.0713981191923864e+02 + -1.5964255851991106e+02 + 1.7263535303196576e+01 + -2.5617319450788091e+01 + 1.5128877437231955e+02 + -1.5659946079210091e+01 + 1.7372848814217537e+02 + 1.6687312322464996e+02 + -3.7384425539645809e+00 + 7.5650756198306993e+01 + -1.6109717084123324e+02 + -2.3608795947142593e+01 + -9.5378436177195269e+01 + 2.7873636783264516e+01 + 1.6536201167735516e+02 + 4.7944593391789830e+01 + -8.2425893578776027e+01 + 1.6023579498651355e+02 +... diff --git a/unittest/force-styles/tests/compute-dipole.yaml b/unittest/force-styles/tests/compute-dipole.yaml new file mode 100644 index 00000000000..14d7a1fa969 --- /dev/null +++ b/unittest/force-styles/tests/compute-dipole.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:38 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute dipole +pre_commands: "" +post_commands: | + compute test solute dipole +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 0.46736142855507196 +global_vector: |- + 3 4.2997937986333384e-01 -1.3001303661382035e-01 -1.2900018644883376e-01 +... diff --git a/unittest/force-styles/tests/compute-dipole_chunk.yaml b/unittest/force-styles/tests/compute-dipole_chunk.yaml new file mode 100644 index 00000000000..0c356aa6ad4 --- /dev/null +++ b/unittest/force-styles/tests/compute-dipole_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:00 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute dipole/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all dipole/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: | + -4.6877897119972506e-02 1.0643217336821653e-01 4.3208169056555168e-01 4.4745941948768714e-01 + 4.7685727698330638e-01 -2.3644520998203714e-01 -5.6108187701438550e-01 7.7337705722976380e-01 + 1.5913726331536093e-02 1.2180904112063473e-01 -4.7679820476863655e-01 4.9236898486305797e-01 + 1.2507544741108534e-01 1.4963506154009987e-01 -4.6402194616258874e-01 5.0333973189855485e-01 + -1.0662515897992164e-01 4.1356200149555344e-01 -2.4414824110906608e-01 4.9194594951595283e-01 + -5.9793842869879654e-02 4.6599174952710154e-01 -1.5313788957825381e-01 4.9414049368267549e-01 +... diff --git a/unittest/force-styles/tests/compute-displace_atom.yaml b/unittest/force-styles/tests/compute-displace_atom.yaml new file mode 100644 index 00000000000..f3ca1c3bd95 --- /dev/null +++ b/unittest/force-styles/tests/compute-displace_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:44 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute displace/atom +pre_commands: "" +post_commands: | + compute test all displace/atom +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 1.3892736067231626e-02 2.7441580018196188e-02 7.6351966728030463e-03 3.1691397216929477e-02 + 2.0000000000000000e+00 1.0991188329509516e-02 1.2365530819288484e-02 1.1804180240549966e-03 1.6586318459773809e-02 + 3.0000000000000000e+00 -1.4164177972895931e-02 -2.0301317518909734e-02 -7.4589108378935176e-03 2.5853486835224121e-02 + 4.0000000000000000e+00 -6.7320319853121369e-03 -1.1420874800304626e-02 -5.5566331146097436e-03 1.4374728081806504e-02 + 5.0000000000000000e+00 -1.8308053915390365e-02 -1.4765910512885783e-02 -4.3447645275214719e-03 2.3918485115972547e-02 + 6.0000000000000000e+00 -6.6704532122997123e-02 8.0438498989036572e-02 7.0998651454243555e-02 1.2633548683437426e-01 + 7.0000000000000000e+00 1.6492910498775437e-03 -1.8644951189897764e-02 -9.2299061805229066e-02 9.4177869884418022e-02 + 8.0000000000000000e+00 1.4232171366734159e-02 -6.5808229623608439e-03 5.7224818121056398e-02 5.9334153248040949e-02 + 9.0000000000000000e+00 3.2421363244741208e-03 3.2322917903108705e-03 2.3530706972603066e-02 2.3971927932369064e-02 + 1.0000000000000000e+01 4.8211365565031361e-02 -4.7663073063377581e-02 -2.4153949828962795e-02 7.1968865461600917e-02 + 1.1000000000000000e+01 -7.8390402448991203e-03 -7.1536563505714135e-03 -6.2156939806441436e-03 1.2298788672232506e-02 + 1.2000000000000000e+01 4.5069090539100465e-03 -1.0795777626564917e-03 -5.9750595837531062e-03 7.5616833043468954e-03 + 1.3000000000000000e+01 8.1168563916644842e-03 1.2358549520220086e-02 -1.9614558929994530e-03 1.4915240968446302e-02 + 1.4000000000000000e+01 5.3703103582249945e-03 -1.2967470588333307e-02 -9.9219588653900459e-03 1.7188391272293057e-02 + 1.5000000000000000e+01 -6.8991227966646029e-03 -1.2193956214358037e-02 1.2890385468173227e-02 1.9038185339974756e-02 + 1.6000000000000000e+01 3.2588875272547835e-02 -2.3548407818591688e-02 -7.9615087583771754e-02 8.9191504490573739e-02 + 1.7000000000000000e+01 -2.2243441048301005e-02 1.7472649939324292e-02 6.6220717387529993e-02 7.2008663207217841e-02 + 1.8000000000000000e+01 -1.9005332464367974e-03 -2.2870605782432385e-03 -2.6284018679270105e-03 3.9687742551936722e-03 + 1.9000000000000000e+01 1.3833204948596745e-03 -7.2650685706099338e-03 1.5654475191703376e-02 1.7313503124868162e-02 + 2.0000000000000000e+01 1.0312361377535328e-02 1.0761162032777438e-02 6.7082666703637273e-03 1.6344670299436627e-02 + 2.1000000000000000e+01 -3.1943213386735891e-03 -2.7432405266392124e-04 9.2792596032298391e-04 3.3376622190414533e-03 + 2.2000000000000000e+01 -1.4241252318710096e-02 -9.3853927838907225e-03 3.8239461008036102e-03 1.7479171293139868e-02 + 2.3000000000000000e+01 9.7731406499406148e-03 -6.3955301435472123e-03 6.6707353764194899e-03 1.3450494208123252e-02 + 2.4000000000000000e+01 6.8846445637049669e-04 -1.0734091911137611e-03 -2.6328257674634870e-04 1.3021168589920106e-03 + 2.5000000000000000e+01 4.4823377462059888e-03 -1.1236179155797554e-02 1.2475165534455712e-03 1.2161388540925874e-02 + 2.6000000000000000e+01 1.4237887123442761e-03 1.4678819471143356e-03 1.0070534773731765e-02 1.0276065508598310e-02 + 2.7000000000000000e+01 4.8629206681272130e-04 -1.2974507268532776e-03 -1.7389495317177150e-04 1.3964590282552864e-03 + 2.8000000000000000e+01 -1.0135122127651552e-02 1.4606764048927801e-03 -9.8377923249848287e-04 1.0286986812498495e-02 + 2.9000000000000000e+01 -1.2897456777432037e-03 4.7830146478093916e-03 8.4992389289335613e-03 9.8375675553215979e-03 +... diff --git a/unittest/force-styles/tests/compute-entropy_atom.yaml b/unittest/force-styles/tests/compute-entropy_atom.yaml new file mode 100644 index 00000000000..f239ca855e2 --- /dev/null +++ b/unittest/force-styles/tests/compute-entropy_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:34 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute entropy/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all entropy/atom 0.25 3.9 +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 -3.0212845484579880e+00 + 2.0000000000000000e+00 -2.8746396439342226e+00 + 3.0000000000000000e+00 -3.1198620231735288e+00 + 4.0000000000000000e+00 -2.8401252041413527e+00 + 5.0000000000000000e+00 -3.1460080316708110e+00 + 6.0000000000000000e+00 -2.8127653568169624e+00 + 7.0000000000000000e+00 -3.2224381262890960e+00 + 8.0000000000000000e+00 -3.0798438729233819e+00 + 9.0000000000000000e+00 -3.1383099829407120e+00 + 1.0000000000000000e+01 -2.9562942236001679e+00 + 1.1000000000000000e+01 -3.0599723507202357e+00 + 1.2000000000000000e+01 -3.3888703912807667e+00 + 1.3000000000000000e+01 -3.0550052468852953e+00 + 1.4000000000000000e+01 -3.1360179317589143e+00 + 1.5000000000000000e+01 -3.1465456181248959e+00 + 1.6000000000000000e+01 -3.1562751998240528e+00 + 1.7000000000000000e+01 -3.1974991912005066e+00 + 1.8000000000000000e+01 -2.9878151522698007e+00 + 1.9000000000000000e+01 -3.2509934427757829e+00 + 2.0000000000000000e+01 -3.0670914098380577e+00 + 2.1000000000000000e+01 -3.1673620659802286e+00 + 2.2000000000000000e+01 -3.2563800187898613e+00 + 2.3000000000000000e+01 -3.1728726572070247e+00 + 2.4000000000000000e+01 -3.1137250091079594e+00 + 2.5000000000000000e+01 -3.0903751893041922e+00 + 2.6000000000000000e+01 -3.3644129681548427e+00 + 2.7000000000000000e+01 -3.0714228620114499e+00 + 2.8000000000000000e+01 -3.0960733692401781e+00 + 2.9000000000000000e+01 -3.3141245528978809e+00 + 3.0000000000000000e+01 -3.2823211025992793e+00 + 3.1000000000000000e+01 -3.1038389373396860e+00 + 3.2000000000000000e+01 -3.1355475177384999e+00 +... diff --git a/unittest/force-styles/tests/compute-erotate_asphere.yaml b/unittest/force-styles/tests/compute-erotate_asphere.yaml new file mode 100644 index 00000000000..6a1a1c11e91 --- /dev/null +++ b/unittest/force-styles/tests/compute-erotate_asphere.yaml @@ -0,0 +1,18 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:39 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom ellipsoid + compute erotate/asphere +pre_commands: "" +post_commands: | + compute test all erotate/asphere +input_file: in.ellipsoid +input_coeffs: coeffs.ellipsoid +natoms: 48 +global_scalar: 25.613704536555694 +... diff --git a/unittest/force-styles/tests/compute-erotate_rigid.yaml b/unittest/force-styles/tests/compute-erotate_rigid.yaml new file mode 100644 index 00000000000..bbc75f0b3c4 --- /dev/null +++ b/unittest/force-styles/tests/compute-erotate_rigid.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:06 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute erotate/rigid + fix rigid/small +pre_commands: "" +post_commands: | + fix rig all rigid/small molecule + compute test all erotate/rigid rig +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 8.744908031447098 +... diff --git a/unittest/force-styles/tests/compute-force_tally.yaml b/unittest/force-styles/tests/compute-force_tally.yaml new file mode 100644 index 00000000000..d2b4ecb47bc --- /dev/null +++ b/unittest/force-styles/tests/compute-force_tally.yaml @@ -0,0 +1,48 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:28 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute force/tally +pre_commands: "" +post_commands: | + compute test solute force/tally solvent +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 0.05439489558753124 +peratom_data: |2 + 1.0000000000000000e+00 1.5029483708219915e-02 3.9869867347697291e-03 2.0128668631950826e-03 + 2.0000000000000000e+00 9.5112636162547289e-05 1.0317293487156198e-05 1.7969620272708314e-04 + 3.0000000000000000e+00 4.5451151527905395e-03 2.9664939719179300e-03 -1.6955172892355686e-03 + 4.0000000000000000e+00 1.8005609637167430e-05 8.1935143961134335e-06 1.5559588649941794e-05 + 5.0000000000000000e+00 9.2894777902317738e-05 7.1188753341204194e-05 8.4615166322444480e-05 + 6.0000000000000000e+00 4.8118479062130006e-03 6.4639109101448369e-03 -4.2675099349079792e-03 + 7.0000000000000000e+00 5.4584306498487219e-03 7.5834717285996533e-03 -2.2537134613687766e-03 + 8.0000000000000000e+00 2.8957816727936403e-03 6.7207054749018145e-03 -2.9427229401708804e-03 + 9.0000000000000000e+00 3.2431969916649032e-05 1.2347697830498902e-04 9.9585739282541275e-05 + 1.0000000000000000e+01 2.3183238784447264e-03 8.3361428118118092e-06 -2.7309189554205228e-03 + 1.1000000000000000e+01 2.3088519665183924e-04 -1.4802806267704628e-04 -1.2540958683529655e-04 + 1.2000000000000000e+01 3.0025852260418151e-05 3.9640993725778258e-03 -5.4708751589143531e-03 + 1.3000000000000000e+01 1.0731683911017091e-04 -4.0372464978050425e-04 -2.5115510991615732e-04 + 1.4000000000000000e+01 9.4508665886330651e-05 -1.3609229421221645e-04 -4.2653726522670393e-05 + 1.5000000000000000e+01 -1.2032537459558295e-06 9.0452238948666179e-06 2.7053953160281734e-05 + 1.6000000000000000e+01 2.1582243591144372e-03 -9.5286103717065538e-04 -3.6170796883214229e-03 + 1.7000000000000000e+01 5.2580273042161622e-04 1.5308311830337599e-03 -6.8509319393420432e-04 + 1.8000000000000000e+01 -1.8491991321056649e-02 -3.1878620904177285e-02 2.9832500345919950e-02 + 1.9000000000000000e+01 -1.7477070294485638e-04 -4.0119380793056700e-04 6.9514517152973918e-04 + 2.0000000000000000e+01 -1.2054603829307877e-04 -1.8705276541992517e-04 1.9912115636651492e-04 + 2.1000000000000000e+01 -9.0638796887108769e-03 1.0020581294102564e-02 1.0019808160857001e-02 + 2.2000000000000000e+01 -7.1850654390315805e-05 1.1165057688657274e-04 1.2964602869475390e-04 + 2.3000000000000000e+01 -1.2250075048959831e-04 9.4960004899453970e-05 1.0962582202426934e-04 + 2.4000000000000000e+01 -9.1228007179260193e-03 -8.7086123304907902e-03 -1.7059583229261575e-02 + 2.5000000000000000e+01 -1.1562813486126764e-03 -7.5921521586507651e-04 -2.0995558566444107e-03 + 2.6000000000000000e+01 -1.1836712920401225e-04 -9.8848090346216429e-05 -1.6343606727578619e-04 + 2.7000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 2.8000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 2.9000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-fragment_atom.yaml b/unittest/force-styles/tests/compute-fragment_atom.yaml new file mode 100644 index 00000000000..51422058cad --- /dev/null +++ b/unittest/force-styles/tests/compute-fragment_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:17 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute fragment/atom +pre_commands: "" +post_commands: | + compute test all fragment/atom +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 1.0000000000000000e+00 + 2.0000000000000000e+00 1.0000000000000000e+00 + 3.0000000000000000e+00 1.0000000000000000e+00 + 4.0000000000000000e+00 1.0000000000000000e+00 + 5.0000000000000000e+00 1.0000000000000000e+00 + 6.0000000000000000e+00 1.0000000000000000e+00 + 7.0000000000000000e+00 1.0000000000000000e+00 + 8.0000000000000000e+00 1.0000000000000000e+00 + 9.0000000000000000e+00 1.0000000000000000e+00 + 1.0000000000000000e+01 1.0000000000000000e+00 + 1.1000000000000000e+01 1.0000000000000000e+00 + 1.2000000000000000e+01 1.0000000000000000e+00 + 1.3000000000000000e+01 1.0000000000000000e+00 + 1.4000000000000000e+01 1.0000000000000000e+00 + 1.5000000000000000e+01 1.0000000000000000e+00 + 1.6000000000000000e+01 1.0000000000000000e+00 + 1.7000000000000000e+01 1.0000000000000000e+00 + 1.8000000000000000e+01 1.8000000000000000e+01 + 1.9000000000000000e+01 1.8000000000000000e+01 + 2.0000000000000000e+01 1.8000000000000000e+01 + 2.1000000000000000e+01 2.1000000000000000e+01 + 2.2000000000000000e+01 2.1000000000000000e+01 + 2.3000000000000000e+01 2.1000000000000000e+01 + 2.4000000000000000e+01 2.4000000000000000e+01 + 2.5000000000000000e+01 2.4000000000000000e+01 + 2.6000000000000000e+01 2.4000000000000000e+01 + 2.7000000000000000e+01 2.7000000000000000e+01 + 2.8000000000000000e+01 2.7000000000000000e+01 + 2.9000000000000000e+01 2.7000000000000000e+01 +... diff --git a/unittest/force-styles/tests/compute-global_atom.yaml b/unittest/force-styles/tests/compute-global_atom.yaml new file mode 100644 index 00000000000..7acc595a8f8 --- /dev/null +++ b/unittest/force-styles/tests/compute-global_atom.yaml @@ -0,0 +1,50 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:04 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute global/atom + compute com/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute comc all com/chunk molchunk + compute test all global/atom c_molchunk c_comc[1] +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 -1.9363296578536698e-01 + 2.0000000000000000e+00 -1.9363296578536698e-01 + 3.0000000000000000e+00 -1.9363296578536698e-01 + 4.0000000000000000e+00 -1.9363296578536698e-01 + 5.0000000000000000e+00 -1.9363296578536698e-01 + 6.0000000000000000e+00 -1.9363296578536698e-01 + 7.0000000000000000e+00 -1.9363296578536698e-01 + 8.0000000000000000e+00 2.2806910638244244e+00 + 9.0000000000000000e+00 2.2806910638244244e+00 + 1.0000000000000000e+01 2.2806910638244244e+00 + 1.1000000000000000e+01 2.2806910638244244e+00 + 1.2000000000000000e+01 2.2806910638244244e+00 + 1.3000000000000000e+01 2.2806910638244244e+00 + 1.4000000000000000e+01 2.2806910638244244e+00 + 1.5000000000000000e+01 2.2806910638244244e+00 + 1.6000000000000000e+01 2.2806910638244244e+00 + 1.7000000000000000e+01 2.2806910638244244e+00 + 1.8000000000000000e+01 2.1428483249679235e+00 + 1.9000000000000000e+01 2.1428483249679235e+00 + 2.0000000000000000e+01 2.1428483249679235e+00 + 2.1000000000000000e+01 4.9525287315886324e+00 + 2.2000000000000000e+01 4.9525287315886324e+00 + 2.3000000000000000e+01 4.9525287315886324e+00 + 2.4000000000000000e+01 2.0270914827060502e+00 + 2.5000000000000000e+01 2.0270914827060502e+00 + 2.6000000000000000e+01 2.0270914827060502e+00 + 2.7000000000000000e+01 -1.9844296598524487e+00 + 2.8000000000000000e+01 -1.9844296598524487e+00 + 2.9000000000000000e+01 -1.9844296598524487e+00 +... diff --git a/unittest/force-styles/tests/compute-group_group.yaml b/unittest/force-styles/tests/compute-group_group.yaml new file mode 100644 index 00000000000..11d486736ce --- /dev/null +++ b/unittest/force-styles/tests/compute-group_group.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:12 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute group/group +pre_commands: "" +post_commands: | + compute test solute group/group solvent +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: -0.08928205316110635 +global_vector: |- + 3 3.8442988351628064e-02 3.1806351238341274e-02 -2.1663271532210471e-02 +... diff --git a/unittest/force-styles/tests/compute-gyration.yaml b/unittest/force-styles/tests/compute-gyration.yaml new file mode 100644 index 00000000000..b6efb15115a --- /dev/null +++ b/unittest/force-styles/tests/compute-gyration.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:37 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute gyration +pre_commands: "" +post_commands: | + compute test solute gyration +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 2.3048386229794304 +global_vector: |- + 6 1.9373939395366160e+00 2.2449165560633473e+00 1.1299705823777537e+00 -1.5341667814053181e+00 5.3525674433552523e-02 -2.9104687436696447e-01 +... diff --git a/unittest/force-styles/tests/compute-gyration_chunk.yaml b/unittest/force-styles/tests/compute-gyration_chunk.yaml new file mode 100644 index 00000000000..cf7781815e1 --- /dev/null +++ b/unittest/force-styles/tests/compute-gyration_chunk.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:55 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute gyration/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all gyration/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 6 1.5031158781631093e+00 1.5783761601471256e+00 5.5321548077981764e-01 5.4986345854117358e-01 5.4815749271635805e-01 5.5107690055903058e-01 +... diff --git a/unittest/force-styles/tests/compute-gyration_shape.yaml b/unittest/force-styles/tests/compute-gyration_shape.yaml new file mode 100644 index 00000000000..ce70f104033 --- /dev/null +++ b/unittest/force-styles/tests/compute-gyration_shape.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:14 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute gyration/shape + compute gyration +pre_commands: "" +post_commands: | + compute gyr solute gyration + compute test solute gyration/shape gyr +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 6 3.6581503610191533e+00 1.1451241954905842e+00 5.0900652146798042e-01 2.8310850025398708e+00 6.3611767402260377e-01 2.9477070214600420e-01 +... diff --git a/unittest/force-styles/tests/compute-hbond_local.yaml b/unittest/force-styles/tests/compute-hbond_local.yaml new file mode 100644 index 00000000000..e93a9fd8fac --- /dev/null +++ b/unittest/force-styles/tests/compute-hbond_local.yaml @@ -0,0 +1,23 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:38:50 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute hbond/local +pre_commands: "" +post_commands: | + group og type 3 4 5 + group hg type 2 + compute test all hbond/local 4.5 45.0 og og hg +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 2 +local_data: |2 + 2.0000000000000000e+00 1.0000000000000000e+00 1.8000000000000000e+01 + 2.5000000000000000e+01 2.4000000000000000e+01 1.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-heat_flux_tally.yaml b/unittest/force-styles/tests/compute-heat_flux_tally.yaml new file mode 100644 index 00000000000..523b51b1e20 --- /dev/null +++ b/unittest/force-styles/tests/compute-heat_flux_tally.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:29 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute heat/flux/tally +pre_commands: "" +post_commands: | + compute test all heat/flux/tally all +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 6 2.3501379849201842e+00 -3.1381154834268843e-01 -3.3696227671865593e+00 -2.0482406529068276e+00 2.8858236440963738e+00 1.5788569504715042e+00 +... diff --git a/unittest/force-styles/tests/compute-hexorder_atom.yaml b/unittest/force-styles/tests/compute-hexorder_atom.yaml new file mode 100644 index 00000000000..0070dd01bf1 --- /dev/null +++ b/unittest/force-styles/tests/compute-hexorder_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:34 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute hexorder/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all hexorder/atom +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 -2.7255723168470586e-01 1.6942426574753580e-01 + 2.0000000000000000e+00 -2.2527811059146888e-01 6.2372783616730966e-02 + 3.0000000000000000e+00 -1.6770739694749484e-01 5.7506330450383635e-02 + 4.0000000000000000e+00 -1.2512940356003052e-01 3.0546906507425414e-01 + 5.0000000000000000e+00 -2.0140404931235634e-01 -3.1433944899629890e-01 + 6.0000000000000000e+00 3.3926874984822869e-01 -1.2941195077837295e-01 + 7.0000000000000000e+00 -3.0072817917652311e-01 1.2761142741546119e-01 + 8.0000000000000000e+00 -2.0615554032695535e-01 -8.8803903901054818e-02 + 9.0000000000000000e+00 -6.4488807669013215e-02 1.8633434024101178e-01 + 1.0000000000000000e+01 -2.6498864139500355e-01 -2.8394719001381485e-01 + 1.1000000000000000e+01 -1.0955708146834943e-01 -3.7499385749273079e-01 + 1.2000000000000000e+01 5.7428369266077472e-02 -1.0837685343812771e-02 + 1.3000000000000000e+01 1.6491560616242626e-01 -1.3060515407996751e-01 + 1.4000000000000000e+01 -1.5603397929835625e-01 2.1415003942352445e-02 + 1.5000000000000000e+01 5.6721518463623644e-01 -9.8411160449361615e-02 + 1.6000000000000000e+01 -6.2208455089494519e-02 -4.4740978304659201e-01 + 1.7000000000000000e+01 -1.6327145832821724e-01 -1.6924367786202757e-01 + 1.8000000000000000e+01 8.2524801828617711e-02 1.1289310076921688e-01 + 1.9000000000000000e+01 3.4996137207866523e-01 -2.9746802978395093e-01 + 2.0000000000000000e+01 -4.9833630122693283e-02 1.9216859483429080e-01 + 2.1000000000000000e+01 1.8636388217452782e-01 1.0125591305039650e-01 + 2.2000000000000000e+01 -6.9667215989980810e-02 1.4951703224301358e-01 + 2.3000000000000000e+01 1.5824071992110172e-01 -1.2821207739307272e-01 + 2.4000000000000000e+01 1.0494480495100565e-01 -1.2673222183352720e-01 + 2.5000000000000000e+01 -1.7392633964380036e-01 -9.8065522944697781e-02 + 2.6000000000000000e+01 2.1668229355215771e-01 -1.7488117547877535e-01 + 2.7000000000000000e+01 -1.2005227476756929e-01 -4.3747699356714097e-02 + 2.8000000000000000e+01 -2.1344861948184246e-01 -1.3744040318034978e-01 + 2.9000000000000000e+01 -1.5810912823961965e-02 -1.2827774224514846e-01 + 3.0000000000000000e+01 -1.8526989524252216e-01 -1.2578741618173114e-01 + 3.1000000000000000e+01 -4.7113415646283369e-01 -2.2795109464134203e-01 + 3.2000000000000000e+01 -2.5253962565577753e-01 -1.7351909474573526e-01 +... diff --git a/unittest/force-styles/tests/compute-improper_local.yaml b/unittest/force-styles/tests/compute-improper_local.yaml new file mode 100644 index 00000000000..306684fe2af --- /dev/null +++ b/unittest/force-styles/tests/compute-improper_local.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:22 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute improper/local +pre_commands: "" +post_commands: | + compute test all improper/local chi +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 1.7634279879702712e+00 + 5.6733407421975537e+00 +... diff --git a/unittest/force-styles/tests/compute-inertia_chunk.yaml b/unittest/force-styles/tests/compute-inertia_chunk.yaml new file mode 100644 index 00000000000..20bbce154ad --- /dev/null +++ b/unittest/force-styles/tests/compute-inertia_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:59 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute inertia/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all inertia/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 1.2840779356529774e+02 7.9120663007071428e+01 9.0938613165894694e+01 1.3671490555352245e+01 -4.6892052783682040e+01 1.9865707091447419e+01 + 1.6934421402422709e+02 1.4882147972048429e+02 1.1072111042665854e+02 2.7293797904398165e+00 4.6068640191755030e+01 1.9548036062551844e+01 + 4.2758949299957951e+00 4.9460530377994019e+00 5.4776785121495646e+00 -2.6687196195353122e+00 -2.1155765486962486e-01 -6.8853156168170204e-01 + 3.2573471314153490e+00 6.2937808840396592e+00 4.9709033010023829e+00 -1.9034242602815479e+00 -2.2561170858308408e-01 -1.2036395322167133e+00 + 3.8591718640056230e+00 4.8187349818708451e+00 5.7541542875568190e+00 -1.5903588794014616e+00 -3.1897420534748194e-01 -2.0191691673987973e+00 + 3.1187130385673845e+00 5.3158921160014607e+00 6.1515914977891173e+00 -1.0172616263874363e+00 -6.0330234859404031e-02 -2.0708757627563958e+00 +... diff --git a/unittest/force-styles/tests/compute-ke.yaml b/unittest/force-styles/tests/compute-ke.yaml new file mode 100644 index 00000000000..860871b2c0f --- /dev/null +++ b/unittest/force-styles/tests/compute-ke.yaml @@ -0,0 +1,18 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:09 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute ke +pre_commands: "" +post_commands: | + compute test all ke +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 292.8941103915431 +... diff --git a/unittest/force-styles/tests/compute-ke_atom.yaml b/unittest/force-styles/tests/compute-ke_atom.yaml new file mode 100644 index 00000000000..41f0d7c77a6 --- /dev/null +++ b/unittest/force-styles/tests/compute-ke_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:44 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute ke/atom +pre_commands: "" +post_commands: | + compute test all ke/atom +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 7.9157685855125397e+00 + 2.0000000000000000e+00 3.6681960485519788e-01 + 3.0000000000000000e+00 4.4249038368080447e+00 + 4.0000000000000000e+00 4.0277450803789072e-01 + 5.0000000000000000e+00 1.6852928178222784e+00 + 6.0000000000000000e+00 8.0540426781276551e+01 + 7.0000000000000000e+00 5.6171595775769255e+01 + 8.0000000000000000e+00 2.6492875232306865e+01 + 9.0000000000000000e+00 2.1329240482884759e+00 + 1.0000000000000000e+01 3.5846719129081848e+01 + 1.1000000000000000e+01 2.9750224083457255e-01 + 1.2000000000000000e+01 2.8459893483246640e-01 + 1.3000000000000000e+01 2.3005005523020550e-01 + 1.4000000000000000e+01 3.4382807794003106e-01 + 1.5000000000000000e+01 4.4308875415388332e-01 + 1.6000000000000000e+01 3.9505091031308943e+01 + 1.7000000000000000e+01 3.3647579169213095e+01 + 1.8000000000000000e+01 7.4337571430228067e-02 + 1.9000000000000000e+01 3.2344918390293631e-01 + 2.0000000000000000e+01 1.5438518574118920e-01 + 2.1000000000000000e+01 6.5085821401899016e-02 + 2.2000000000000000e+01 3.9294181355719821e-01 + 2.3000000000000000e+01 2.8318845916356378e-01 + 2.4000000000000000e+01 3.9414040724804006e-02 + 2.5000000000000000e+01 1.0979616712231741e-01 + 2.6000000000000000e+01 2.1649718864423764e-01 + 2.7000000000000000e+01 4.1366859160816408e-02 + 2.8000000000000000e+01 3.1179362154266810e-01 + 2.9000000000000000e+01 1.5001589587907127e-01 +... diff --git a/unittest/force-styles/tests/compute-ke_rigid.yaml b/unittest/force-styles/tests/compute-ke_rigid.yaml new file mode 100644 index 00000000000..53c85385588 --- /dev/null +++ b/unittest/force-styles/tests/compute-ke_rigid.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:06 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute ke/rigid + fix rigid/small +pre_commands: "" +post_commands: | + fix rig all rigid/small molecule + compute test all ke/rigid rig +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 31.815257426485214 +... diff --git a/unittest/force-styles/tests/compute-momentum.yaml b/unittest/force-styles/tests/compute-momentum.yaml new file mode 100644 index 00000000000..2b426dc95e0 --- /dev/null +++ b/unittest/force-styles/tests/compute-momentum.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:13 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute momentum +pre_commands: "" +post_commands: | + compute test all momentum +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 3 5.4219056685337972e-03 -5.4897225112275572e-02 5.9097392692385314e-02 +... diff --git a/unittest/force-styles/tests/compute-msd.yaml b/unittest/force-styles/tests/compute-msd.yaml new file mode 100644 index 00000000000..75694283c5b --- /dev/null +++ b/unittest/force-styles/tests/compute-msd.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:38 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute msd +pre_commands: "" +post_commands: | + compute test all msd +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 4 3.5217463963338805e-04 4.3623938889077993e-04 1.0253985432348860e-03 1.8138125717590532e-03 +... diff --git a/unittest/force-styles/tests/compute-msd_chunk.yaml b/unittest/force-styles/tests/compute-msd_chunk.yaml new file mode 100644 index 00000000000..f29c4315349 --- /dev/null +++ b/unittest/force-styles/tests/compute-msd_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:01 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute msd/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all msd/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 1.4913264135712996e-04 1.2994888024601647e-04 9.4349906899466048e-05 3.7343142850261249e-04 + 1.0357799980632208e-04 7.5496459956744930e-05 5.1271394067267659e-05 2.3034585383033469e-04 + 4.7023714740111164e-07 8.8399936802189502e-07 3.9245928132646857e-06 5.2788293286876923e-06 + 8.2587352099741857e-06 7.9324321492557482e-06 5.6153405922997219e-06 2.1806507951529655e-05 + 2.0861407919556265e-06 5.5007477161519259e-06 2.9360144814700731e-06 1.0522902989577626e-05 + 2.5050473369009601e-06 3.1553478639940570e-08 1.2959831793338606e-06 3.8325839948747611e-06 +... diff --git a/unittest/force-styles/tests/compute-msd_nongauss.yaml b/unittest/force-styles/tests/compute-msd_nongauss.yaml new file mode 100644 index 00000000000..6e9e5ce214f --- /dev/null +++ b/unittest/force-styles/tests/compute-msd_nongauss.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:14 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute msd/nongauss +pre_commands: "" +post_commands: | + compute test all msd/nongauss +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 3 1.8138125717590532e-03 1.6057564794351552e-05 1.9285059993775757e+00 +... diff --git a/unittest/force-styles/tests/compute-omega_chunk.yaml b/unittest/force-styles/tests/compute-omega_chunk.yaml new file mode 100644 index 00000000000..58901b97ff8 --- /dev/null +++ b/unittest/force-styles/tests/compute-omega_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:58 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute omega/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all omega/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 4.0812719058788494e-03 7.5727450549383131e-04 -3.8720218514952023e-03 + 1.3543079187004039e-03 3.1305496214116902e-03 -4.0738756977337556e-04 + -4.0772425916344135e-04 7.3542338032112618e-05 1.4166134832656317e-03 + -3.5837172726591541e-03 -3.0807080879557741e-04 -3.2047719564201769e-03 + 1.2182150747816513e-03 -1.6097639120963973e-03 2.6793656131956244e-03 + 4.3244610342630151e-03 2.8763807240366162e-04 2.6633796838329369e-03 +... diff --git a/unittest/force-styles/tests/compute-orientorder_atom.yaml b/unittest/force-styles/tests/compute-orientorder_atom.yaml new file mode 100644 index 00000000000..15ced602438 --- /dev/null +++ b/unittest/force-styles/tests/compute-orientorder_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:49 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute orientorder/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all orientorder/atom +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 1.8759155970839023e-01 5.5351773065266430e-01 3.7550993723613924e-01 9.0916840368350169e-02 5.1464198733200184e-01 + 2.0000000000000000e+00 1.9577900355621547e-01 5.4053790849542827e-01 3.7891352913811016e-01 1.1306555958843627e-01 4.9028305657433102e-01 + 3.0000000000000000e+00 1.9240701899204449e-01 5.5474560527424210e-01 3.8449988191666040e-01 9.8316452976279833e-02 5.2513392839147111e-01 + 4.0000000000000000e+00 1.9739007016790633e-01 5.5112407865530721e-01 3.9067683047367718e-01 1.0491256770158566e-01 5.2645951441101357e-01 + 5.0000000000000000e+00 1.9172344183427012e-01 5.5172263818534073e-01 3.8343045310679408e-01 6.3937753348484713e-02 5.2170963121384550e-01 + 6.0000000000000000e+00 1.8510852198376104e-01 5.5162548108264287e-01 3.7558779461352304e-01 9.9911755241839303e-02 5.0352798644144148e-01 + 7.0000000000000000e+00 1.9055513045455413e-01 5.6021453252414366e-01 3.8952098746039826e-01 9.4212443005222968e-02 5.4176932168129877e-01 + 8.0000000000000000e+00 1.8981193635529678e-01 5.4714870723795783e-01 3.7345595682103755e-01 8.6395451211731644e-02 5.0280188482735932e-01 + 9.0000000000000000e+00 1.8821216020929243e-01 5.4394205326209522e-01 3.6016249491401769e-01 1.1820151168282746e-01 4.8307762555627026e-01 + 1.0000000000000000e+01 1.8648780452465236e-01 5.4625974718872239e-01 3.6931053269248276e-01 1.2016486668464416e-01 4.8696245203839567e-01 + 1.1000000000000000e+01 1.9188545181734804e-01 5.4312123844386162e-01 3.7617636588951536e-01 8.3077874052141690e-02 4.9364947814160370e-01 + 1.2000000000000000e+01 1.8609574410596791e-01 5.6533527326007638e-01 3.8371702138251235e-01 8.7490045334167127e-02 5.5024451674519104e-01 + 1.3000000000000000e+01 1.8898339110442580e-01 5.4521551455930539e-01 3.7277015382651302e-01 9.0618358408497246e-02 4.9175128721306471e-01 + 1.4000000000000000e+01 1.9420138529412334e-01 5.4904851171310232e-01 3.8101252985166589e-01 1.1801837167896047e-01 5.0804656048572550e-01 + 1.5000000000000000e+01 1.9485184054318544e-01 5.4785820988448830e-01 3.8499085631142116e-01 1.0720063255013522e-01 5.0778312657667057e-01 + 1.6000000000000000e+01 1.9317821819888079e-01 5.5345858321194408e-01 3.8582738531268507e-01 1.0324191514247197e-01 5.2200929149320707e-01 + 1.7000000000000000e+01 1.8806649150420804e-01 5.5418140122712256e-01 3.7872240472652235e-01 7.1590777058267524e-02 5.2228505974784267e-01 + 1.8000000000000000e+01 1.9013611689401663e-01 5.5281563923802146e-01 3.8472882549291693e-01 6.9358866090431806e-02 5.2166792763238845e-01 + 1.9000000000000000e+01 1.8879981886851416e-01 5.5404380176816193e-01 3.8061065962047502e-01 8.5460562117267713e-02 5.2037972726513337e-01 + 2.0000000000000000e+01 1.8892557156933992e-01 5.4612050261538136e-01 3.7858235368631904e-01 1.3300909444596401e-01 4.8920505985913404e-01 + 2.1000000000000000e+01 1.9010604363995193e-01 5.4176378365862521e-01 3.7201134795138885e-01 7.4683264492608939e-02 4.8540607652305917e-01 + 2.2000000000000000e+01 1.8967577018547663e-01 5.5107363670178444e-01 3.7579168621105058e-01 9.0948937899158422e-02 5.0990037352539497e-01 + 2.3000000000000000e+01 1.8875717201798856e-01 5.5417579399409544e-01 3.7903954036329884e-01 6.9299059978830527e-02 5.2340281692916202e-01 + 2.4000000000000000e+01 1.9404289508759168e-01 5.5270771645786687e-01 3.9024065144745579e-01 8.9106891904512597e-02 5.2575353264183300e-01 + 2.5000000000000000e+01 1.9318594527054478e-01 5.4984260514755579e-01 3.8252780847873602e-01 8.7058764919127257e-02 5.1787556629061282e-01 + 2.6000000000000000e+01 1.8910326756984222e-01 5.5512118350671491e-01 3.8215803809561016e-01 7.9928121513853756e-02 5.2674110310944355e-01 + 2.7000000000000000e+01 1.9310385652106365e-01 5.5059434711180288e-01 3.8210312301961025e-01 9.3114096470221050e-02 5.1837105586795784e-01 + 2.8000000000000000e+01 1.8016835875754234e-01 5.2817210548925864e-01 3.4623980955149186e-01 1.1473648148623769e-01 4.3313480838147039e-01 + 2.9000000000000000e+01 1.9433679988967603e-01 5.5624316282576280e-01 3.8966286305101555e-01 9.3614359143464443e-02 5.3763726634828801e-01 + 3.0000000000000000e+01 1.9097302077065492e-01 5.5857260997845648e-01 3.8688232612892842e-01 9.7983673432912602e-02 5.3669523156522680e-01 + 3.1000000000000000e+01 1.8336827240763784e-01 5.3347854916619519e-01 3.5412351244411411e-01 8.9505195740055582e-02 4.4722377926133217e-01 + 3.2000000000000000e+01 1.9530162505778520e-01 5.5759501316765625e-01 3.9385806685561475e-01 1.0396281934255963e-01 5.4094165625961910e-01 +... diff --git a/unittest/force-styles/tests/compute-pair.yaml b/unittest/force-styles/tests/compute-pair.yaml new file mode 100644 index 00000000000..720dc2a679a --- /dev/null +++ b/unittest/force-styles/tests/compute-pair.yaml @@ -0,0 +1,18 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:02 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute pair +pre_commands: "" +post_commands: | + compute test all pair lj/cut +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 218.48764310329207 +... diff --git a/unittest/force-styles/tests/compute-pair_local.yaml b/unittest/force-styles/tests/compute-pair_local.yaml new file mode 100644 index 00000000000..a816e5780aa --- /dev/null +++ b/unittest/force-styles/tests/compute-pair_local.yaml @@ -0,0 +1,376 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:48 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute pair/local +pre_commands: "" +post_commands: | + compute test all pair/local dist eng fx +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 1.0135726329662200e+00 2.5200039891864261e+00 1.6457733831769552e+01 + 1.0099334705533929e+00 2.6332774620918817e+00 -2.6631112594698056e+01 + 7.5230346134589361e+00 -5.6917520070398109e-06 -2.0313139942657101e-06 + 7.6121475697473251e+00 -2.7245360888219762e-04 -7.7694880061643953e-05 + 4.6599055113922025e+00 -3.0064679259129692e-03 -2.2441166414784350e-03 + 4.1289063553854151e+00 -2.0703621016621984e-04 -2.2583129767993462e-04 + 4.5199268131382073e+00 -3.5756688716683583e-03 -1.8758120956607390e-03 + 4.4196326297427690e+00 -1.3791744003636947e-04 -9.6817101075120257e-05 + 6.8461292009073196e+00 -3.1180802125818565e-04 -1.8579335187594241e-04 + 6.1906307972299981e+00 -9.3112872602254138e-04 -6.5429844148054081e-04 + 5.5550154973103982e+00 -3.5085164959139163e-05 -1.3183665615279977e-05 + 5.9778828195184293e+00 -1.4503740737163030e-03 -8.8726292120094462e-04 + 6.5075155803520630e+00 -1.3583572577700048e-05 -6.7761988303230556e-06 + 4.5209796544071645e+00 -3.5709635128282806e-03 -2.1918935726713967e-03 + 5.8830302245609696e+00 -1.2569467178150863e-03 -5.7429877619908861e-04 + 3.8467954026759799e+00 -3.1555126950507008e-04 -1.0779562494313195e-04 + 1.6378854611092060e+00 -2.4556726744273617e-04 7.2316153698086629e-04 + 7.4006048825398434e+00 -1.2173740635776850e-07 -3.7584718212339750e-08 + 7.6213025415380784e+00 -1.5946845057332768e-09 -3.6535456864290347e-10 + 4.9773882413434265e+00 -4.1060517210487210e-05 -2.2726730790470729e-05 + 4.2594341097181934e+00 -3.3484655864642445e-06 -2.8447647527768490e-06 + 4.8715372762155260e+00 -4.6706340262151289e-05 -1.5887118430673971e-05 + 4.5461409853594983e+00 -2.2652878588352392e-06 -1.1479916682744824e-06 + 6.9307218778417718e+00 -5.6382971285369389e-06 -2.9061911990893871e-06 + 6.1044622839093803e+00 -6.0390051735127581e-09 -3.9016978233893900e-09 + 5.9220401554890580e+00 -4.6365168238358942e-07 -1.0992133953410530e-07 + 6.2225624231465293e+00 -2.2565717262495449e-05 -1.1099871770246545e-05 + 6.8669598178480502e+00 -1.9073869944020974e-07 -7.2165095307427047e-08 + 5.0499802162595424e+00 -3.7647195511761525e-05 -1.4779265058213942e-05 + 6.4316797163330266e+00 -4.4147231070480085e-09 -1.3739949637807606e-09 + 4.3714834564427703e+00 -2.8654624687428718e-06 -2.7135859294119214e-07 + 7.5091165241236784e+00 -1.1155640529775574e-07 -4.9985933993855154e-08 + 7.5299476385825370e+00 -1.7143450865616300e-09 -6.5502131813259465e-10 + 7.8608658887406078e+00 -8.4762905108383082e-08 -2.4467271372736577e-08 + 5.1284541919934101e+00 -3.4323217548876418e-05 -2.8794048955002445e-05 + 4.7076788944910017e+00 -1.8371689716055883e-06 -1.9704942446060723e-06 + 4.7046813506180616e+00 -5.7553600893035013e-05 -4.2681986722258479e-05 + 4.6165109172939118e+00 -2.0658649503323149e-06 -1.8252141458528642e-06 + 7.2587948747095847e+00 -4.2721498949994117e-06 -2.6850298875240968e-06 + 6.6028788493917503e+00 -3.7709429902553561e-09 -2.8051995293871720e-09 + 5.6393712949831558e+00 -6.2177371278158627e-07 -3.2593002635604204e-07 + 6.4061960295793448e+00 -1.8954077189636188e-05 -1.2654951847224412e-05 + 6.8947840171565300e+00 -1.8616668082412799e-07 -1.0259334699780485e-07 + 5.0392195147473000e+00 -3.8131663487312100e-05 -2.7569655384315950e-05 + 6.3781501251238462e+00 -4.6417473455069766e-09 -2.4225009628051705e-09 + 3.8887625418374752e+00 -5.7814377008463979e-06 -3.8856182289679378e-06 + 1.0107223045998028e+00 -2.8883285883534508e-05 1.0031862862320957e-04 + 1.6635916731800131e+00 -2.2475136650942055e-04 5.7342199802673413e-04 + 4.4620068135528230e+00 -2.5339240120310157e-06 -2.3823758612737122e-06 + 5.2529138953321386e+00 -2.9727282145648535e-05 3.4262730744269720e-06 + 5.1841329020722302e+00 -1.0302695436881633e-06 5.7233882454436627e-08 + 4.3198267942933883e+00 -9.5948127159805347e-05 4.5278220501720008e-05 + 3.5883757486667207e+00 -9.3635179850580765e-06 4.6767436315253477e-06 + 4.4692328198494389e+00 -7.8276205107201196e-05 -5.2679460973356378e-05 + 4.0237437157163587e+00 -1.4672235666618718e-04 -7.0905034894697401e-05 + 3.3569943636655637e+00 -2.1834417378749051e-07 -1.3885262103640985e-07 + 3.9184823895499825e+00 -5.5233506095012938e-06 3.0908180521400086e-06 + 4.7830613483424447e+00 -1.0916516899028118e-04 -1.0219891494066036e-05 + 5.3623132641386366e+00 -8.4119878735988189e-07 -2.7259651845493219e-08 + 6.6535271891392220e+00 -7.2026146367075457e-06 1.1205198147269016e-06 + 7.2317787987289286e+00 -2.1846364318304643e-09 1.6854068436937422e-10 + 5.5077342436400052e+00 -7.1643464193393230e-07 -3.4710854274655816e-07 + 5.0389179891881559e+00 -1.2217426164213573e-06 7.2649920905985594e-07 + 3.6067497625233487e+00 -9.0810610899677825e-06 -5.1215732337801275e-06 + 4.4504438983746324e+00 -1.6797882454204857e-04 -9.1325622378792164e-05 + 7.4246681893033486e+00 -6.1593681915166420e-06 3.5712780450172165e-07 + 6.7764559600047480e+00 -2.0654267116628000e-07 -6.2602725316728212e-09 + 7.6551449552226769e+00 -9.9381906774421682e-08 1.0642117161106017e-08 + 1.0186908363491771e+00 -2.7572777738557136e-05 1.0024517346903902e-04 + 4.6180988542074601e+00 -3.2215877962935363e-08 -3.3720353315841808e-08 + 5.1541527272467977e+00 -1.6775008469484334e-03 -2.5786695276622883e-05 + 5.2794291816256589e+00 -1.4432045738477067e-08 -1.0918313527362948e-09 + 4.0786762785473876e+00 -6.2967630455522281e-03 1.7555052039309872e-03 + 3.5720126187389138e+00 -1.5044191334386763e-07 3.3398834264197895e-08 + 4.4328956721697903e+00 -3.9893910122660164e-03 -3.2391186683343293e-03 + 4.0363318327705286e+00 -6.6549287121967825e-03 -4.1146759434449237e-03 + 3.6619337861132726e+00 -1.3955357450203515e-02 -4.6797888185568567e-03 + 3.4640154086436912e+00 -1.8087027670856432e-07 7.5259010643469406e-08 + 4.6491723977753274e+00 -6.0499153688479352e-03 -1.4370221542886854e-03 + 5.0754985759755176e+00 -1.8280049321058566e-08 -3.2170459575544756e-09 + 6.4723110567964728e+00 -4.3592391275067355e-04 3.3982994392516992e-05 + 6.9591522634771108e+00 -4.6513262274905658e-04 4.1263433241223918e-06 + 5.3878607671192347e+00 -1.2774724980180058e-08 -8.0529686691371479e-09 + 4.7375571035890944e+00 -2.7639022228012939e-08 1.4158593872321284e-08 + 3.2279673101034132e+00 -2.7622899014720773e-07 -2.9006129296643401e-07 + 4.1580947029302138e+00 -1.0613985637946617e-02 -6.7890002557493738e-03 + 6.6755847304544398e+00 -5.9567345483883859e-04 -5.3570415905402325e-06 + 6.0915138729915164e+00 -6.1164363848599206e-09 -8.2310863398029939e-10 + 6.8301426720818990e+00 -3.0780190358501821e-09 1.7639954322246605e-10 + 7.5437793658744186e+00 -5.5984993342661227e-06 1.2563598607619580e-06 + 7.2842955267263347e+00 -1.3387569754612014e-07 2.3919531252395901e-08 + 5.5734760049100185e+00 -6.6720407849456720e-07 -5.6164585035948770e-07 + 5.9895197562995168e+00 -1.3532592486378310e-05 -1.6011938116260555e-06 + 6.1239067688501159e+00 -3.7918429336559741e-07 -6.0015011391218060e-08 + 4.7836994627967684e+00 -5.2087085584513453e-05 3.1793122749637406e-06 + 4.3085060024451778e+00 -3.1260929250744788e-06 -1.6744356535804904e-07 + 5.3975933726829597e+00 -2.5258324300031522e-05 -1.8106214602856653e-05 + 5.0342150891795683e+00 -3.8359446529306718e-05 -2.3108555838310345e-05 + 4.6543037467457475e+00 -3.0741214317067420e-08 -2.0712355526830096e-08 + 4.1483282515964897e+00 -3.9237929381902335e-06 2.6576998987264833e-07 + 5.5701296895293364e+00 -4.3837052477357848e-05 -1.3515711088023740e-05 + 5.9447904725407570e+00 -4.5310707407365400e-07 -1.0719085651186225e-07 + 7.2437544075016227e+00 -4.3256436525595653e-06 -4.4553241816844524e-08 + 7.7592141359082571e+00 -1.4320018050284719e-09 -8.0728548568845571e-11 + 6.3271656348484404e+00 -3.1172239490007229e-07 -1.7228843109848427e-07 + 5.2808495287589210e+00 -9.2211951420641620e-07 2.5361955717631938e-07 + 4.0064592689005218e+00 -4.8346004053867535e-06 -4.4471252729606696e-06 + 4.9860239164823490e+00 -8.5124894369862966e-05 -6.2332009460702687e-05 + 7.1422504036478154e+00 -7.7726263879966232e-06 -6.4467856576255836e-07 + 6.6215038624440972e+00 -2.3729305219333221e-07 -4.7738337886169997e-08 + 7.1644922378511380e+00 -1.4788164927790576e-07 -3.3234091282479184e-09 + 6.2967102210648145e+00 -3.2087862229595472e-07 5.6661615384583241e-08 + 6.0248411866526954e+00 -1.3063648608223225e-05 1.0399362748236324e-05 + 6.0606266607625301e+00 -4.0356736600150013e-07 2.9901256612771776e-07 + 7.4762843971191364e+00 -3.5787080940460300e-06 2.2118860233862989e-06 + 7.7273246450642716e+00 -9.3940529748453128e-08 5.0590149846278475e-08 + 6.0457886085372703e+00 -1.2794499107322169e-05 4.2878796330423764e-06 + 5.9501995462101362e+00 -1.4077900933787652e-05 7.1027779821449527e-06 + 6.5280371112355668e+00 -4.0378877892060459e-09 1.7582024005569454e-09 + 7.8430350640740176e+00 -8.5925722001534938e-08 4.7936222893497692e-08 + 5.7216270684171793e+00 -3.7323884315708207e-05 2.6852831788012406e-05 + 5.7392232395599239e+00 -5.5962761349223002e-07 4.2118092125885567e-07 + 5.8951659656355062e+00 -1.4884769043439353e-05 1.3962062295236933e-05 + 5.3360488427238240e+00 -1.3537265626410541e-08 1.4147631178630739e-08 + 5.4021648770415833e+00 -8.0464721442688507e-07 3.0396379964699182e-07 + 7.1920431806373708e+00 -9.4687656212344913e-06 2.7284667405518998e-06 + 1.0083942927489447e+00 2.6828188703679809e+00 -2.5466242744580679e+01 + 1.6531023592964273e+00 -2.3299777106330281e-04 6.9805826743171240e-04 + 4.7047986115498741e+00 -5.7545007158187568e-05 5.6861455757716672e-05 + 4.8812027218355984e+00 -1.4785527287466241e-06 1.2543174405053682e-06 + 5.0100981732472087e+00 -3.9479652428361153e-05 4.3286243850739831e-05 + 4.8148334160591304e+00 -1.6051201284887279e-06 1.7415769033836063e-06 + 1.1054283213064962e+00 2.5906130603311961e-01 -2.3742083268063041e+00 + 2.1580666299868581e+00 -1.3075330225297234e-03 2.4928700539785919e-03 + 2.7705028886390921e+00 -3.4550423598638630e-07 5.2008027671229142e-07 + 4.6464957760784573e+00 -1.9871633027965645e-06 2.5139261413060106e-06 + 3.4519190728709326e+00 -3.7985891937358286e-04 5.1790612265057670e-04 + 3.7652625967893600e+00 -7.0162642671547675e-06 8.8007869706284176e-06 + 5.9060275955474628e+00 -1.4721337284758052e-05 1.0804288939350443e-05 + 5.7612714420216431e+00 -8.5455459014861326e-09 5.8586366632340739e-09 + 1.8687251078094675e+00 -1.1465101817829898e-04 1.2891701843484175e-04 + 6.1265344542297875e+00 -3.7820955916798112e-07 3.4077961092687155e-07 + 2.4410036621868687e+00 -4.7046965679365936e-05 8.9436059757525753e-05 + 1.9912246020224333e+00 -2.4934010333937900e-03 -5.3860814518158961e-04 + 6.7476865395287042e+00 -1.0929724548228498e-05 -5.4278777225222304e-07 + 6.1880825628636176e+00 -3.5619323237286775e-07 1.5168239341385423e-08 + 5.9647684301816071e+00 -2.2899542262851181e-05 1.4097827813578529e-05 + 5.0694178471422848e+00 -1.1782999797608880e-06 7.9450146850052437e-07 + 6.6199440625657164e+00 -2.3762871367145314e-07 1.3553829013933737e-07 + 1.0750119600940169e+00 3.6946417044680468e-01 1.1395457119330734e+00 + 1.5026380182844286e+00 3.4287982690145933e+00 -1.7568007383225030e+01 + 2.0515836792299704e+00 -1.6563794200898574e-03 9.4040922921306846e-04 + 3.8886794159317848e+00 -2.6247512704128829e-03 -2.6707043414157462e-03 + 2.5717406590980438e+00 -2.6350289679381010e-03 1.9368175065169798e-02 + 2.7421272570362869e+00 3.5999311360143276e-03 6.2114239381501277e-02 + 2.2316967751118080e+00 -1.1047999307095139e-03 1.0266940458403514e-03 + 1.3781728446385244e+00 4.4069108048941160e+01 2.4902719057660138e+02 + 1.9027753452462877e+00 -2.2083644998131357e-03 -1.2778744074905396e-03 + 1.4709435723779865e+00 4.4546635225680076e+00 -1.5588833512287547e+01 + 2.2937272224836702e+00 1.2159533419456531e-01 -4.8352436430225819e-02 + 4.0690013996299346e+00 -1.3723196377234316e-04 -1.4769090672925994e-04 + 2.1703430146890259e+00 -1.2715181704556246e-03 2.6513112576923657e-03 + 4.7757009086162885e+00 -5.2612015429031435e-05 -2.4241717035310119e-05 + 4.6835724003544970e+00 -3.6923427540375741e-03 -2.2358804464485066e-03 + 5.8429548577436137e+00 -8.0097734860492577e-04 -5.6025127402727342e-04 + 5.1560207642215934e+00 -3.3237683433680275e-05 -2.5325633668163692e-05 + 6.2130564642551640e+00 -5.5611572296813017e-04 2.0235339222952690e-07 + 5.9427848806715087e+00 -1.4183580583465708e-05 -1.8365250070167855e-06 + 6.9401838136141683e+00 -5.5923384622380838e-06 3.5901282178354322e-07 + 1.9561578114769127e+00 -2.0110007476805730e-03 2.3639321463096320e-03 + 1.9376666929064130e+00 -1.8537085595131842e-04 2.3926409445134528e-04 + 4.2617708606131481e+00 -1.0404121076934988e-04 -8.5482290891152643e-05 + 2.8606756523563810e+00 -5.5395732940427284e-04 -6.1410525644971519e-04 + 2.5284030028912614e+00 -1.1960415384308179e-06 -1.6200665272573800e-06 + 2.8835401992651963e+00 -1.7365519953353204e-05 1.4805807106116725e-05 + 2.0603835017178374e+00 -2.4486101600631250e-03 -5.2665034754925894e-04 + 2.8227559526816597e+00 -1.9728799121129893e-05 -5.9922195345138872e-06 + 2.0947439712054945e+00 -1.5073812957520172e-03 1.4328599989690773e-03 + 3.1357590409297225e+00 -1.6434511131513552e-07 4.2480133143099731e-08 + 4.5843057282356581e+00 -2.1544765209193245e-06 -1.6596473277154100e-06 + 2.5350748492088573e+00 -3.7533233303960990e-05 7.9163820046239953e-05 + 5.2745476095735704e+00 -9.2874935729274295e-07 -2.9486226453259811e-07 + 5.2331024317198560e+00 -6.3717840145881480e-05 -2.8589310509957736e-05 + 5.9679823135187382e+00 -2.2825699263563254e-05 -1.4394702243834748e-05 + 5.4328824698626921e+00 -7.7773428851197240e-07 -4.8964523445592852e-07 + 7.2116704619062855e+00 -7.3344657164308047e-06 2.4022303959665152e-07 + 6.8739393673671927e+00 -1.8957964102953292e-07 -1.1574671245479471e-08 + 7.9295683132452037e+00 -8.0450913397271488e-08 6.1186458810347211e-09 + 1.1165070810422055e+00 2.2796946247254329e-01 9.3720274232775225e-01 + 4.2115478199754319e+00 -3.3469601382890872e-03 -4.0147700045941332e-03 + 2.9214866601154066e+00 -9.5391245423565255e-03 -6.5898241728362264e-03 + 2.8611439507990815e+00 -8.9046332956338251e-03 8.0063992174365078e-02 + 1.1141619560650260e+00 2.3420944868153867e-01 9.3971439295503584e-02 + 2.0873110236235077e+00 6.4270469840880928e-01 3.5498829290580263e+00 + 2.5255977389632904e+00 -1.1316129752980361e-03 -1.6204420001483257e-03 + 2.5131241097416805e+00 -5.9941297313838521e-04 5.5825744914858467e-03 + 3.3537374664973574e+00 -7.6251340759075420e-03 -1.6694405528458066e-03 + 4.6320945449038877e+00 -6.3172492049687763e-05 -6.9153929966668770e-05 + 1.1188571551313951e+00 2.2188998795000270e-01 -2.3830083246744467e+00 + 4.4478950451212729e+00 -8.0551864581300265e-05 -6.5694376221746219e-05 + 4.6681725261337803e+00 -3.7622006824771207e-03 -3.2144524073307776e-03 + 7.3201487525025293e+00 -2.0897309400139870e-04 -1.1590409047407068e-04 + 6.5966824553209014e+00 -7.5830546923197971e-06 -4.5155425319820005e-06 + 6.0816446266290445e+00 -6.3151776599261477e-04 -9.5245847860529086e-05 + 5.8394853366644401e+00 -1.5756560019375375e-05 -4.7202042124499293e-06 + 6.6310386641031664e+00 -7.3503975414007341e-06 -4.2655977260343617e-07 + 4.2251763878682711e+00 -1.0955106422626226e-04 -1.2180150058429031e-04 + 2.8826345765349326e+00 -1.0596236948711274e-03 -1.7709242663479091e-03 + 2.3032846113967391e+00 -2.0927576338419605e-06 -5.3647553734144071e-06 + 1.7698028685430152e+00 -1.5741732982524557e-04 1.0491877522436790e-04 + 2.4973501798751450e+00 -2.3365871554287760e-03 -2.7131109268695567e-03 + 3.2068837551942426e+00 -1.8370933245551278e-05 -1.3146421647316167e-05 + 3.2949455931942282e+00 -2.4122647801418901e-04 9.9617749085880959e-06 + 4.2413599321188551e+00 -5.3680688842124672e-08 -7.1605216584693461e-09 + 4.8568219743782786e+00 -1.5236450234657193e-06 -1.3648606927060585e-06 + 1.8317329221223693e+00 -1.2886780979438689e-04 3.2375192094639103e-04 + 4.4723293560861315e+00 -2.4990390733356117e-06 -1.7207669190350151e-06 + 4.8011520089515960e+00 -1.0672686448985139e-04 -7.9646104683770444e-05 + 7.6926769544507652e+00 -4.9790707549536633e-06 -2.3065148674469362e-06 + 7.0616697254801890e+00 -1.6128058239957977e-07 -7.6083338772692296e-08 + 6.8502613981594287e+00 -9.9840699740314194e-06 -6.8862005551161687e-07 + 6.4862905242043007e+00 -2.6856275385545002e-07 -4.9957142789741162e-08 + 7.3716906867299290e+00 -1.2463059394163274e-07 -3.6490418411635349e-10 + 1.4337842350612597e+00 6.0929637295647510e+00 -3.3902304929122522e+01 + 2.5255346234616565e+00 2.4665050724968277e-02 -7.9440794469118906e-02 + 3.7862714836290148e+00 -2.1100860838795633e-04 3.2302001687020573e-04 + 2.5492062521752343e+00 3.2302330776616248e-02 -1.7755630693607824e-01 + 2.7183652573615777e+00 -7.4447743590726960e-04 1.2121988551225431e-03 + 5.0122846206981686e+00 -1.2127659938607083e-03 9.6733777679833136e-04 + 4.7814101564040357e+00 -2.5937804486400916e-03 1.9053666812474885e-03 + 1.0908164214083627e+00 3.0699665905241347e-01 6.7241475604051060e-01 + 5.3061693982939069e+00 -2.7982674214363877e-05 2.8372990588784094e-05 + 2.0304089271597614e+00 -1.7327500460666836e-03 1.8366713647302475e-03 + 1.4288046400662711e+00 2.8489061094219636e+01 -7.4723174223421310e+01 + 6.3418172245075342e+00 -4.9218090134555629e-04 -9.1292363901321924e-05 + 5.6592222622229187e+00 -1.9016601002837797e-05 -2.1493621659216820e-06 + 5.0748800524975390e+00 -1.8364230063328479e-03 1.1550630525640464e-03 + 4.2517288332133960e+00 -1.0552040128970897e-04 7.0309205360536065e-05 + 5.7843292247051386e+00 -1.6679413984482082e-05 9.8385509554149727e-06 + 1.3882930376287346e+00 2.8835357605265308e+01 -2.0703780411229161e+01 + 2.7521617733667552e+00 -1.3865417157130227e-03 2.8985891624976256e-03 + 1.3761455752450562e+00 4.4859846531336906e+01 -2.7212472085309793e+02 + 1.9771279151673062e+00 -1.9315788035503580e-03 2.2085178991610118e-03 + 3.8514111202165306e+00 -2.7683107371159004e-03 2.5287368314599106e-03 + 3.9431213111355237e+00 -7.5174032331428234e-03 4.9353109552437747e-03 + 2.0672509615705255e+00 -1.6011905815737323e-03 -1.9225554547582981e-03 + 4.0308936332166176e+00 -1.4517342967428542e-04 2.0432640050727899e-04 + 2.6815849176573612e+00 -8.0511236279240069e-04 5.4943419853489546e-05 + 2.4800601795348061e+00 5.2825483313783381e-02 7.2041875669511243e-02 + 6.1311460099976589e+00 -6.0180148858166493e-04 -2.0833886313166724e-04 + 5.4567400649305267e+00 -2.3660466355931632e-05 -7.3356768125992801e-06 + 5.5279871227696376e+00 -1.1116831776745411e-03 3.9532115209439932e-04 + 4.8753260156768432e+00 -4.6489236052294066e-05 1.2623071591710319e-05 + 6.2420091731762266e+00 -1.0563768173224759e-05 3.8295753864038001e-06 + 2.9984323124093204e+00 -4.3000666553209175e-07 7.5382331008833744e-07 + 2.1593317307658646e+00 1.4394013429862056e+00 -3.2783272132185273e+00 + 3.0397406565231067e+00 -1.9805792782309411e-07 1.3363983385468743e-07 + 4.1834310425128667e+00 -5.4938640217518766e-03 3.9925045669544938e-03 + 4.6837390572986344e+00 -4.6198729236689154e-03 2.1424419582726948e-03 + 3.3464736469943830e+00 -1.1124762252574215e-07 -7.4811120355843709e-08 + 3.9180017659823290e+00 -8.6389384796807742e-08 1.2530575409999351e-07 + 3.4410048521691321e+00 -1.8824967006390509e-07 -2.7554835907400332e-09 + 3.5323772971148863e+00 -8.6600382441035361e-03 2.5399245634392616e-05 + 6.7684390771666640e+00 -5.4873513503233651e-04 -1.6395055264514186e-04 + 6.2295240535311631e+00 -5.3471295110444359e-09 -1.3673741691390882e-09 + 6.7601263080739802e+00 -5.5275808599683995e-04 1.2417573097472644e-04 + 6.1180177867661572e+00 -5.9591659627362742e-09 9.1939774703379749e-10 + 7.3991810711525332e+00 -1.9043556021896439e-09 4.6756493471957042e-10 + 2.1596494676721152e+00 -4.3731451880890037e-03 -5.2675554125227531e-03 + 2.3416970489856830e+00 -1.2056016109405462e-04 -2.0816902877781113e-04 + 3.2103668205168883e+00 -2.8137082261715541e-04 -4.5909054818930052e-05 + 3.6756267211730091e+00 -1.2672399894584975e-07 -4.2770700913765793e-08 + 4.2261229584778164e+00 -3.5099504546797481e-06 -4.5767138058102096e-06 + 1.8484944770812159e+00 -1.2219012859742204e-04 2.2662771505331327e-04 + 3.6076553728955933e+00 -9.0673984529306432e-06 -1.1096276371131697e-05 + 3.9242345152340672e+00 -3.5568524661507044e-04 -4.4422348842410671e-04 + 7.7169601176243026e+00 -4.8858137067677035e-06 -2.4263107754944341e-06 + 6.9147787266264018e+00 -1.8296006226076029e-07 -9.8282579771551395e-08 + 5.1773127876521965e+00 -5.3502855034736993e-05 -1.0757494311734408e-05 + 4.9122064350743777e+00 -1.4234408480862025e-06 -5.8907062634723222e-07 + 5.6548972901152252e+00 -6.1160128165971742e-07 -4.4358736388186500e-08 + 9.6424927473365352e-01 6.4848841022571682e+00 -1.7173169051134376e+01 + 2.5133080020858469e+00 4.1903784800482811e-02 -1.7800307675674445e-01 + 2.6401823276267833e+00 1.8793133445502930e-01 -4.2191934494607719e-01 + 2.7205967602045176e+00 -1.4855941569918048e-03 -2.2974879983080525e-03 + 3.0763816131369901e+00 -7.4322077218337622e-04 1.2999492382598501e-03 + 3.5688114106413020e+00 -6.2434571318066025e-04 -2.5042891926088217e-04 + 3.3520141731946755e+00 -7.3591539231286163e-03 1.2001122229826754e-02 + 5.6793130881010550e+00 -1.9568577238163326e-03 -1.1084839996180645e-03 + 4.9218593473579837e+00 -9.1988284833643204e-05 -5.6611034872529327e-05 + 5.3195889684548892e+00 -2.8560329777626474e-03 5.1512033233013627e-04 + 4.8897501800795284e+00 -9.5663770889882496e-05 3.0167970435595161e-06 + 6.0845770223165649e+00 -2.5813508089791470e-05 5.8690417307537319e-06 + 2.5529363867109329e+00 -1.0650745284140626e-03 1.2015108426299843e-03 + 2.2141146658139039e+00 -2.6521114387492398e-06 2.6865331836774898e-06 + 2.5781941428722495e+00 -6.7866434294431354e-05 -1.4006884061851222e-04 + 3.3588564927607423e+00 -1.3918061745851997e-05 1.9763207219182545e-05 + 3.5763802280910841e+00 -9.5534510987625121e-06 -4.7840788502859098e-06 + 3.2383168008740713e+00 -1.1042696362769616e-03 -1.0101815052625917e-03 + 5.5977897278855533e+00 -3.3508540487404641e-05 -2.1421049231232169e-05 + 4.7299995446015943e+00 -1.7857662858594124e-06 -1.2896371890545055e-06 + 4.4986058343356881e+00 -1.2406356130456212e-04 2.5219077878954069e-05 + 4.1569105416979992e+00 -3.8754465045333998e-06 -1.0314774513945159e-07 + 5.3117965717101105e+00 -8.9035264821683223e-07 2.2741495589121230e-07 + 1.3896006635970044e+00 2.8508902815925001e+01 8.4920759692804765e+01 + 4.9292698427040991e+00 -4.3522230777067067e-05 -3.8622884539155711e-05 + 2.5989386223605639e+00 -9.6266558192246315e-04 1.1077460958965777e-03 + 5.9376968019011462e+00 -1.4256635333344428e-05 -5.7514705194307275e-06 + 5.7374853693234646e+00 -1.1317534808253948e-03 -5.9974748385484267e-04 + 5.4757518217257735e+00 -1.1757047610708789e-03 -1.0736653145378122e-03 + 4.7697377088700978e+00 -5.3007383109578386e-05 -5.5795138951407628e-05 + 6.4541052117620250e+00 -4.4330595048967228e-04 -3.9030684242224130e-05 + 6.3833400958513806e+00 -9.2361674950949415e-06 -1.8764341936910323e-06 + 7.2169462586463036e+00 -4.4229411415601002e-06 -5.2054598147681765e-08 + 4.4102261288320062e+00 -4.2470165343614796e-08 -4.0903117636577143e-08 + 3.6036739601996630e+00 -1.4268357218835341e-07 1.2156639474158575e-07 + 5.7769431963972036e+00 -8.4073911988288043e-09 -2.8655407491479145e-09 + 5.3897983698424303e+00 -2.6489467896372498e-03 -1.2978490796231167e-03 + 4.8320265793495043e+00 -3.8918531518202571e-03 -3.8575389094226906e-03 + 3.9751323310582718e+00 -7.9202475742329060e-08 -1.0588504093909935e-07 + 5.5850951390426458e+00 -1.7031368751785000e-03 -4.4371839642966597e-05 + 5.5775085536568225e+00 -1.0380262262981972e-08 -1.8107357079649881e-09 + 6.4312364349745454e+00 -4.4165491645633114e-09 2.3924153368565106e-10 + 5.6650968558848147e+00 -6.0502430420641526e-07 5.6171733555741507e-07 + 2.6924267071649526e+00 -2.6181535872827241e-05 2.6503694156824913e-05 + 1.7969381501149253e+00 -2.5977697423172473e-04 -1.1081664964092212e-02 + 5.6465972668253634e+00 -3.1809400052658697e-05 -6.2647909885819418e-06 + 4.9068660009908216e+00 -1.4327608005270167e-06 -1.4237272390233168e-07 + 4.6335006628030291e+00 -1.0397069308788698e-04 8.6397268007636557e-05 + 3.8565029162315798e+00 -6.0776540577544446e-06 5.4357574156122006e-06 + 5.4558031684778987e+00 -7.5833546234316799e-07 5.3430253655479695e-07 + 5.4265012660454914e+00 -7.8323761239896018e-07 -5.9682345459410521e-07 + 5.6848227109802458e+00 -3.8795963257084188e-05 -3.1078043403636977e-05 + 7.8903050290779033e+00 -4.2762129746579977e-06 -2.4780626857390461e-06 + 7.1725377629367699e+00 -1.4688915930827622e-07 -9.1909072702906416e-08 + 6.5766225516783798e+00 -1.2749650201408230e-05 -3.5072714063053356e-06 + 6.4834017402532451e+00 -2.6928151914970719e-07 -1.0564418217012667e-07 + 7.0607072439722405e+00 -1.6141253623608902e-07 -2.8569706286189999e-08 + 1.0140533810427932e+00 3.5121604968121627e+00 2.4138306268942909e+01 + 7.4474567446410811e+00 -1.1721400721179248e-07 -2.0605618709467299e-08 + 4.3824740363721526e+00 -1.4505393751824459e-04 7.9243360698238273e-05 + 3.5220415809181946e+00 -1.0472142511632175e-05 5.0188109497535450e-06 + 4.7843730620080169e+00 -1.6674144657731628e-06 9.9170471484824920e-07 + 7.4205069794326954e+00 -4.0272388934908202e-04 -7.3935883470096968e-05 + 6.6480589750443402e+00 -1.5176648422042285e-05 -2.1544318319353175e-06 + 4.1104196660734740e+00 -1.1184636742752248e-02 6.9213220966517480e-03 + 3.1945681615964943e+00 -1.1951896532671645e-03 1.0683766539018149e-03 + 4.6775766707339557e+00 -1.2474514557243976e-04 9.7127070077482778e-05 + 1.0148430077503801e+00 2.4817018977868806e+00 -1.9116334306152300e+01 + 7.5962595174837260e+00 -5.3704366593993392e-06 1.8878454506459868e-06 + 7.3446606832502681e+00 -1.2740803261803913e-07 3.7077591383115737e-08 + 1.0066344325091385e+00 2.7406914157820412e+00 2.5270994153031090e+01 + 1.0060869841400208e+00 2.7589661051435197e+00 -1.7084149523230892e+01 + 7.6499623592682386e+00 -5.1481993752879464e-06 -2.8118428554081128e-07 + 7.9633917020613181e+00 -4.0460989556243071e-06 2.6998067937802166e-07 + 1.6438748291332976e+00 -2.4053195496999188e-04 6.4601335746381535e-04 + 7.7427378258708419e+00 -9.2824080503008647e-08 -9.7162624817152620e-09 + 7.8540648059468525e+00 -8.5204250966792798e-08 1.5933603985969204e-09 +... diff --git a/unittest/force-styles/tests/compute-pe.yaml b/unittest/force-styles/tests/compute-pe.yaml new file mode 100644 index 00000000000..9ba91876617 --- /dev/null +++ b/unittest/force-styles/tests/compute-pe.yaml @@ -0,0 +1,18 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:10 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute pe +pre_commands: "" +post_commands: | + compute test all pe +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 320.9679167318921 +... diff --git a/unittest/force-styles/tests/compute-pe_mol_tally.yaml b/unittest/force-styles/tests/compute-pe_mol_tally.yaml new file mode 100644 index 00000000000..0c0bd02ee03 --- /dev/null +++ b/unittest/force-styles/tests/compute-pe_mol_tally.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:27 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute pe/mol/tally +pre_commands: "" +post_commands: | + compute test solute pe/mol/tally solvent +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 4 0.0000000000000000e+00 0.0000000000000000e+00 -8.9282053161106309e-02 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-pe_tally.yaml b/unittest/force-styles/tests/compute-pe_tally.yaml new file mode 100644 index 00000000000..73c05ffa78f --- /dev/null +++ b/unittest/force-styles/tests/compute-pe_tally.yaml @@ -0,0 +1,48 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:26 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute pe/tally +pre_commands: "" +post_commands: | + compute test solute pe/tally solvent +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: -0.08928205316110631 +peratom_data: |2 + 1.0000000000000000e+00 -1.1685830449225191e-02 0.0000000000000000e+00 + 2.0000000000000000e+00 -8.5692692490575820e-05 0.0000000000000000e+00 + 3.0000000000000000e+00 -3.0257741816401445e-03 0.0000000000000000e+00 + 4.0000000000000000e+00 -1.3774407462386020e-05 0.0000000000000000e+00 + 5.0000000000000000e+00 -5.5923807184899385e-05 0.0000000000000000e+00 + 6.0000000000000000e+00 -4.1652325827870292e-03 0.0000000000000000e+00 + 7.0000000000000000e+00 -7.7197555105403652e-03 0.0000000000000000e+00 + 8.0000000000000000e+00 -5.3361608576131658e-03 0.0000000000000000e+00 + 9.0000000000000000e+00 -7.2051212163015677e-05 0.0000000000000000e+00 + 1.0000000000000000e+01 -2.6892520121333135e-03 0.0000000000000000e+00 + 1.1000000000000000e+01 -1.1062511343896976e-04 0.0000000000000000e+00 + 1.2000000000000000e+01 -5.3896758973367405e-03 0.0000000000000000e+00 + 1.3000000000000000e+01 -1.6977500754215458e-04 0.0000000000000000e+00 + 1.4000000000000000e+01 -8.2632954495420966e-05 0.0000000000000000e+00 + 1.5000000000000000e+01 -5.0668250671593675e-05 0.0000000000000000e+00 + 1.6000000000000000e+01 -2.2755798009968108e-03 0.0000000000000000e+00 + 1.7000000000000000e+01 -1.7126218428313801e-03 0.0000000000000000e+00 + 1.8000000000000000e+01 -2.5069805746180843e-02 0.0000000000000000e+00 + 1.9000000000000000e+01 -3.3277630367203024e-04 0.0000000000000000e+00 + 2.0000000000000000e+01 -1.3858751811991212e-04 0.0000000000000000e+00 + 2.1000000000000000e+01 -7.4062657532331126e-03 0.0000000000000000e+00 + 2.2000000000000000e+01 -8.1381063699789569e-05 0.0000000000000000e+00 + 2.3000000000000000e+01 -8.1867766860292465e-05 0.0000000000000000e+00 + 2.4000000000000000e+01 -1.0677584540124099e-02 0.0000000000000000e+00 + 2.5000000000000000e+01 -7.5290505842050682e-04 0.0000000000000000e+00 + 2.6000000000000000e+01 -9.9852830242571543e-05 0.0000000000000000e+00 + 2.7000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 2.8000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 + 2.9000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-pressure.yaml b/unittest/force-styles/tests/compute-pressure.yaml new file mode 100644 index 00000000000..ae05243d933 --- /dev/null +++ b/unittest/force-styles/tests/compute-pressure.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:11 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute pressure +pre_commands: "" +post_commands: | + compute test all pressure thermo_temp +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 15364.688175203231 +global_vector: |- + 6 1.6017396197263324e+04 1.5129880120443946e+04 1.4946788207902422e+04 -7.4263478910577060e+03 -1.9144365489622805e+02 2.8345835156914372e+03 +... diff --git a/unittest/force-styles/tests/compute-property_atom.yaml b/unittest/force-styles/tests/compute-property_atom.yaml new file mode 100644 index 00000000000..53cd964f4e9 --- /dev/null +++ b/unittest/force-styles/tests/compute-property_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:45 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute property/atom +pre_commands: "" +post_commands: | + compute test all property/atom q xu vy +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 -4.6999999999999997e-01 -2.6604410062503669e-01 1.8826096819696075e-02 + 2.0000000000000000e+00 3.1000000000000000e-01 3.1296202788353156e-01 5.4554901866077088e-03 + 3.0000000000000000e+00 -2.0000000000000000e-02 -7.0851795677848195e-01 -1.3974881272367084e-02 + 4.0000000000000000e+00 8.9999999999999997e-02 -1.5838934484538254e+00 -7.9453770773525879e-03 + 5.0000000000000000e+00 8.9999999999999997e-02 -9.1332566750898292e-01 -1.2529083452990645e-02 + 6.0000000000000000e+00 5.1000000000000001e-01 2.2742154725406297e-01 5.0446857379187429e-02 + 7.0000000000000000e+00 -5.1000000000000001e-01 3.4184800167867363e-01 -1.0203659277144301e-02 + 8.0000000000000000e+00 -4.6999999999999997e-01 1.1783508885520146e+00 -3.4341272883216564e-03 + 9.0000000000000000e+00 3.1000000000000000e-01 1.3809881201370580e+00 5.5601283015873412e-03 + 1.0000000000000000e+01 7.0000000000000007e-02 2.0667397211187302e+00 -3.2927659457885658e-02 + 1.1000000000000000e+01 8.9999999999999997e-02 1.7851390106898675e+00 -4.5799815444140558e-03 + 1.2000000000000000e+01 -2.7000000000000002e-01 3.0075316967400325e+00 -3.8313847124109101e-04 + 1.3000000000000000e+01 8.9999999999999997e-02 4.0528442351812579e+00 6.4203400120256774e-03 + 1.4000000000000000e+01 8.9999999999999997e-02 2.6086855920839325e+00 -6.0777849281477706e-03 + 1.5000000000000000e+01 8.9999999999999997e-02 2.9687324021824657e+00 -6.4456956752927674e-03 + 1.6000000000000000e+01 5.1000000000000001e-01 2.6843442997705784e+00 -1.3957112001532384e-02 + 1.7000000000000000e+01 -5.1000000000000001e-01 2.2087530382227629e+00 1.0005575176602910e-02 + 1.8000000000000000e+01 -8.4719999999999995e-01 2.1365785855569475e+00 -7.7769400023114995e-04 + 1.9000000000000000e+01 4.2359999999999998e-01 1.5362958416081558e+00 -2.2919496581406185e-03 + 2.0000000000000000e+01 4.2359999999999998e-01 2.7744291442638507e+00 3.1386576823614985e-03 + 2.1000000000000000e+01 -8.4719999999999995e-01 4.9032511176821565e+00 -3.6249060989604971e-04 + 2.2000000000000000e+01 4.2359999999999998e-01 4.3545040965440442e+00 -4.5348990264068838e-03 + 2.3000000000000000e+01 4.2359999999999998e-01 5.7472659561268911e+00 -7.6712907605950046e-04 + 2.4000000000000000e+01 -8.4719999999999995e-01 2.0690999945737718e+00 -1.3404626968194521e-03 + 2.5000000000000000e+01 4.2359999999999998e-01 1.3043204450575074e+00 -4.3530419217863610e-03 + 2.6000000000000000e+01 4.2359999999999998e-01 2.5821676484811555e+00 4.0815197035378187e-03 + 2.7000000000000000e+01 -8.4719999999999995e-01 -1.9608718956076232e+00 -1.3018109913211641e-03 + 2.8000000000000000e+01 4.2359999999999998e-01 -2.7507871606002481e+00 1.8335580811992068e-03 + 2.9000000000000000e+01 4.2359999999999998e-01 -1.3121130113276513e+00 3.7897226833338779e-03 +... diff --git a/unittest/force-styles/tests/compute-property_chunk.yaml b/unittest/force-styles/tests/compute-property_chunk.yaml new file mode 100644 index 00000000000..f3b79aeb8fc --- /dev/null +++ b/unittest/force-styles/tests/compute-property_chunk.yaml @@ -0,0 +1,26 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:00 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute chunk/atom + compute property/chunk +pre_commands: "" +post_commands: | + compute cchunk all chunk/atom molecule compress yes + compute test all property/chunk cchunk count id +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 7.0000000000000000e+00 1.0000000000000000e+00 + 1.0000000000000000e+01 2.0000000000000000e+00 + 3.0000000000000000e+00 3.0000000000000000e+00 + 3.0000000000000000e+00 4.0000000000000000e+00 + 3.0000000000000000e+00 5.0000000000000000e+00 + 3.0000000000000000e+00 6.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-property_local.yaml b/unittest/force-styles/tests/compute-property_local.yaml new file mode 100644 index 00000000000..d651198132a --- /dev/null +++ b/unittest/force-styles/tests/compute-property_local.yaml @@ -0,0 +1,42 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:46 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute property/local +pre_commands: "" +post_commands: | + compute test all property/local btype batom1 batom2 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 5.0000000000000000e+00 2.1000000000000000e+01 2.2000000000000000e+01 + 5.0000000000000000e+00 2.1000000000000000e+01 2.3000000000000000e+01 + 5.0000000000000000e+00 1.8000000000000000e+01 1.9000000000000000e+01 + 5.0000000000000000e+00 1.8000000000000000e+01 2.0000000000000000e+01 + 2.0000000000000000e+00 1.0000000000000000e+01 1.1000000000000000e+01 + 1.0000000000000000e+00 1.0000000000000000e+01 1.2000000000000000e+01 + 1.0000000000000000e+00 1.0000000000000000e+01 1.6000000000000000e+01 + 2.0000000000000000e+00 1.2000000000000000e+01 1.3000000000000000e+01 + 2.0000000000000000e+00 1.2000000000000000e+01 1.4000000000000000e+01 + 2.0000000000000000e+00 1.2000000000000000e+01 1.5000000000000000e+01 + 2.0000000000000000e+00 3.0000000000000000e+00 4.0000000000000000e+00 + 2.0000000000000000e+00 3.0000000000000000e+00 5.0000000000000000e+00 + 1.0000000000000000e+00 3.0000000000000000e+00 6.0000000000000000e+00 + 3.0000000000000000e+00 6.0000000000000000e+00 8.0000000000000000e+00 + 4.0000000000000000e+00 6.0000000000000000e+00 7.0000000000000000e+00 + 5.0000000000000000e+00 8.0000000000000000e+00 9.0000000000000000e+00 + 3.0000000000000000e+00 8.0000000000000000e+00 1.0000000000000000e+01 + 4.0000000000000000e+00 1.6000000000000000e+01 1.7000000000000000e+01 + 5.0000000000000000e+00 1.0000000000000000e+00 2.0000000000000000e+00 + 3.0000000000000000e+00 1.0000000000000000e+00 3.0000000000000000e+00 + 5.0000000000000000e+00 2.7000000000000000e+01 2.8000000000000000e+01 + 5.0000000000000000e+00 2.7000000000000000e+01 2.9000000000000000e+01 + 5.0000000000000000e+00 2.4000000000000000e+01 2.5000000000000000e+01 + 5.0000000000000000e+00 2.4000000000000000e+01 2.6000000000000000e+01 +... diff --git a/unittest/force-styles/tests/compute-rdf.yaml b/unittest/force-styles/tests/compute-rdf.yaml new file mode 100644 index 00000000000..4d8a36dbedf --- /dev/null +++ b/unittest/force-styles/tests/compute-rdf.yaml @@ -0,0 +1,68 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:42 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute rdf +pre_commands: "" +post_commands: | + compute test all rdf 50 1 3 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 8.0000000000000002e-02 0.0000000000000000e+00 0.0000000000000000e+00 + 2.3999999999999999e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 4.0000000000000002e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 5.6000000000000005e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 7.1999999999999997e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 8.8000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 1.0400000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.2000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.3600000000000001e+00 2.7194854575534657e+02 5.9999999999999998e-01 + 1.5200000000000000e+00 0.0000000000000000e+00 5.9999999999999998e-01 + 1.6799999999999999e+00 0.0000000000000000e+00 5.9999999999999998e-01 + 1.8400000000000001e+00 0.0000000000000000e+00 5.9999999999999998e-01 + 2.0000000000000000e+00 0.0000000000000000e+00 5.9999999999999998e-01 + 2.1600000000000001e+00 3.5961507878677693e+01 7.9999999999999993e-01 + 2.3199999999999998e+00 0.0000000000000000e+00 7.9999999999999993e-01 + 2.4800000000000000e+00 8.1848591440929411e+01 1.3999999999999999e+00 + 2.6400000000000001e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 2.8000000000000003e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 2.9600000000000000e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 3.1200000000000001e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 3.2800000000000002e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 3.4399999999999999e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 3.6000000000000001e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 3.7600000000000002e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 3.9199999999999999e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 4.0800000000000001e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 4.2400000000000002e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 4.4000000000000004e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 4.5600000000000005e+00 0.0000000000000000e+00 1.3999999999999999e+00 + 4.7199999999999998e+00 1.5067747843459751e+01 1.7999999999999998e+00 + 4.8799999999999999e+00 0.0000000000000000e+00 1.7999999999999998e+00 + 5.0400000000000000e+00 0.0000000000000000e+00 1.7999999999999998e+00 + 5.2000000000000002e+00 0.0000000000000000e+00 1.7999999999999998e+00 + 5.3600000000000003e+00 0.0000000000000000e+00 1.7999999999999998e+00 + 5.5200000000000005e+00 0.0000000000000000e+00 1.7999999999999998e+00 + 5.6799999999999997e+00 5.2025773101393273e+00 1.9999999999999998e+00 + 5.8399999999999999e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.0000000000000000e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.1600000000000001e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.3200000000000003e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.4800000000000004e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.6400000000000006e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.7999999999999998e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 6.9600000000000000e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 7.1200000000000001e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 7.2800000000000002e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 7.4400000000000004e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 7.6000000000000005e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 7.7599999999999998e+00 0.0000000000000000e+00 1.9999999999999998e+00 + 7.9199999999999999e+00 0.0000000000000000e+00 1.9999999999999998e+00 +... diff --git a/unittest/force-styles/tests/compute-reduce.yaml b/unittest/force-styles/tests/compute-reduce.yaml new file mode 100644 index 00000000000..1bae0d3feef --- /dev/null +++ b/unittest/force-styles/tests/compute-reduce.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:40 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute reduce +pre_commands: "" +post_commands: | + compute test all reduce max x vy fz +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 3 5.7472659561268911e+00 5.0446857379187429e-02 2.2728863916363781e+02 +... diff --git a/unittest/force-styles/tests/compute-reduce_chunk.yaml b/unittest/force-styles/tests/compute-reduce_chunk.yaml new file mode 100644 index 00000000000..0fb5be7b0bb --- /dev/null +++ b/unittest/force-styles/tests/compute-reduce_chunk.yaml @@ -0,0 +1,22 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:01 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute reduce/chunk + compute ke/atom +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute ka all ke/atom + compute test all reduce/chunk molchunk max c_ka +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 6 8.0540426781276551e+01 3.9505091031308943e+01 3.2344918390293631e-01 3.9294181355719821e-01 2.1649718864423764e-01 3.1179362154266810e-01 +... diff --git a/unittest/force-styles/tests/compute-rigid_local.yaml b/unittest/force-styles/tests/compute-rigid_local.yaml new file mode 100644 index 00000000000..1b2733587ba --- /dev/null +++ b/unittest/force-styles/tests/compute-rigid_local.yaml @@ -0,0 +1,26 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:05 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute rigid/local + fix rigid/small +pre_commands: "" +post_commands: | + fix rig all rigid/small molecule + compute test all rigid/local rig xu yu zu +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +local_data: |2 + 4.9525287350396283e+00 -4.0164411651865359e+00 -3.8034464951131191e+00 + 2.1428483204324467e+00 3.0634298153324284e+00 -3.7065615989637974e+00 + 2.2815153526523999e+00 -1.2197202268778766e+00 -5.7799248936996350e-01 + -1.9470717667427379e-01 1.1282787861936687e+00 -1.0937935791902578e+00 + -1.9844296607850811e+00 -4.1733346322428826e+00 2.0496391298364269e+00 + 2.0270914845509864e+00 3.3136852116626541e+00 3.0589707052736919e+00 +... diff --git a/unittest/force-styles/tests/compute-saed.yaml b/unittest/force-styles/tests/compute-saed.yaml new file mode 100644 index 00000000000..3518187790d --- /dev/null +++ b/unittest/force-styles/tests/compute-saed.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:09 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute saed +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all saed 0.0251 Ni Ni Kmax 0.85 Zone 0 0 1 dR_Ewald 0.05 c 0.5 0.5 0.5 +input_file: in.metal +natoms: 32 +global_vector: |- + 437 5.1505966687900884e-01 5.9033032852973255e-01 2.5596144221463202e-01 3.1790859328669714e+00 5.8906631998361263e+00 5.6961603129889973e+00 4.7289763241624971e-01 7.4198534710185116e-01 8.4203393767492529e-02 1.0202101457968788e-02 1.3584373372890475e+00 2.9607097999961829e-01 4.6888063350840392e-02 5.5950766628943760e-01 4.9412393908813490e-01 1.9146576586020321e+00 3.2795466655721861e+00 6.4884729198805197e-02 2.7428392663363925e+00 5.3610003309796750e-01 2.9485437875001597e-01 9.7107004759841931e-01 1.2819450279887796e+01 3.6689922067649644e-01 1.2688275024570812e+00 1.2601357138416447e+00 3.6901626661917559e+00 4.3801978732119429e-01 2.0915407140342019e+01 6.9544032268482155e+01 2.9342969526509219e+01 7.1660155252906965e-01 3.6266065336717199e+00 1.3397264840805161e+00 2.9253392220630445e+00 1.0270672767945959e+00 8.0142510556874136e+00 8.8337667491878491e+01 2.3760105343446050e+01 1.8015802416954854e+00 3.4783536219727003e+00 1.8173043418876822e+00 5.0177182215641842e+00 2.3126336081434302e+00 9.0966755744761798e+01 1.9183854547961911e+02 5.9311348696589562e+01 1.4321442626417276e+00 6.9866376495573634e+00 1.4852110327903132e+00 4.7032931164007472e+00 9.8865147943514253e-01 4.1491998484279769e+01 9.0827294444875506e+01 1.7607927084237229e+01 3.1905899278309484e+01 6.8828626564843374e+00 2.6886600544867889e+00 2.4997295043862722e+00 5.5532616564575998e-01 4.4749736893215852e-01 5.1385435476633887e+00 4.2420191219359808e+01 7.9639567818112880e+01 2.1133275862908327e+01 1.8736692985606351e+00 3.7131807763042874e+00 9.5465154914861117e-01 1.0956210688032340e+00 2.1771111625022836e+00 1.8198432135727057e+01 3.5601614648904054e+01 1.1909905430813314e+01 2.4039979721156543e-01 2.3435579025267614e+00 2.2611721857213012e+00 2.8690601396371975e+00 3.2517198017055643e-01 2.9140357565014270e+00 6.1791456266962808e-01 4.5149984884506331e+00 3.8473469580997260e-02 3.4249886319779961e+00 1.2861261968337105e+00 6.2608488710199595e+00 1.3121425705095171e+00 3.8541084231127192e+00 1.4863441694547955e-01 1.9122908669867285e+00 3.6246858432819828e-01 1.1875223872768221e+00 2.2263148947050274e-01 2.8407835422970340e+00 9.9858851365284962e-01 2.4382090661443980e+00 1.0743146318793340e+01 5.1281059002575926e+00 3.4919876155646419e+00 4.3101567550772861e+00 4.1787986681534637e+00 1.1096980509144119e+00 2.9750911914817477e+00 4.5123438615770617e+00 2.1851131791772790e+01 9.6568362901759262e+00 1.1231583496841994e+01 6.8662767981179123e+00 3.3772254509832460e+00 2.3289948925285059e-01 1.4626989498848526e+00 1.8385661043321369e+00 4.2164260672012839e+00 1.9216333722090955e+00 3.7013080675252246e+00 1.5467142574459616e+00 6.7588625691880533e-01 3.8335807955143941e-01 2.6115962653391822e-01 1.5339893428168556e-02 2.1554932344723240e-01 5.2991545332966306e-01 9.3629406667710868e-01 1.1055320170937479e+00 4.4253695481375011e-01 2.1236270935622681e-01 1.7159231549745579e-01 9.4735935803305124e-02 6.3091468139369555e-02 1.1095195369467240e-02 1.5443684686350748e-01 8.0509243450782420e-01 4.9303650636468682e-01 8.1251825071488953e-02 1.8466981031258811e-01 5.5477223731056922e-02 1.1402626110288644e-01 2.1713074436485091e-01 5.9850168310630036e-01 7.0400358708394961e-01 6.4587870192755892e-01 1.8313031343822097e+00 2.8806434409217685e+00 7.1923365878924272e+00 2.2446758133894376e+00 1.5826180806396437e+00 9.6143850740922687e-01 4.7395755967884163e+00 2.9446686890267735e+00 1.1724925847035173e+01 2.6190535668185365e+01 3.8673017766387957e+01 5.0934336535522373e+00 3.0828901093104797e+00 3.2607074058258861e-01 5.7310301357393900e+00 1.1724143014380295e+00 4.4496262769614807e+00 1.0381021493228491e+01 1.1459018242126520e+01 1.7660241331128494e+00 7.4044274290604040e-01 3.1858490635424008e-01 1.9907640919672642e-01 1.0334265152621549e+00 2.5142640418009452e+00 4.9584338012842215e+00 3.5560855552602161e-01 1.6513471487382663e+00 1.3676877244117447e-01 3.5226737816920544e+00 1.1286185775223818e-01 5.1215310707480235e+00 5.6031282897794965e-01 8.9040993493927196e+00 9.8553947659155469e-02 7.1753169311077256e+00 8.5244648512764379e-02 3.2739631905412176e+00 6.0699610743981558e-01 4.3227797390649600e+00 1.2395074533488686e+00 9.8885103691798815e-01 1.3018066753345497e-01 1.5450562740787579e+00 1.9813616292637879e+00 1.5696185528288029e-01 2.5555695230288499e+01 8.0777756493981144e+01 3.7768297266165774e+01 9.0935085648937330e-01 5.7541892717559773e-01 6.6922439731106259e-02 1.3185370519726789e+01 5.6462679079826756e+00 1.3056683661255332e+02 5.0190980077182832e+02 2.2839778487269646e+02 8.2474270118143025e+00 3.1275429745562189e+00 2.0878477859150246e-01 6.7401119195018397e+00 4.7613570050632301e+00 1.7196856974515033e+01 7.2440900532483340e+01 3.5289647822183106e+01 1.5649567784543486e+00 1.2458971922470485e+00 4.5381081494806379e+00 3.0908542704557679e-01 7.5688182686007295e+01 1.9857159480647397e+02 7.8339335361922650e+01 2.9340985344206860e-01 1.0684182282293907e+01 2.3550401389811047e-02 2.4312404420627683e+01 9.9551150813293632e-02 5.0475460956478156e+02 1.3779150080000015e+03 5.0475460956478156e+02 9.9551150813293632e-02 2.4312404420627683e+01 2.3550401389811047e-02 1.0684182282293907e+01 2.9340985344206860e-01 7.8339335361922650e+01 1.9857159480647397e+02 7.5688182686007295e+01 3.0908542704557679e-01 4.5381081494806379e+00 1.2458971922470485e+00 1.5649567784543486e+00 3.5289647822183106e+01 7.2440900532483340e+01 1.7196856974515033e+01 4.7613570050632301e+00 6.7401119195018397e+00 2.0878477859150246e-01 3.1275429745562189e+00 8.2474270118143025e+00 2.2839778487269646e+02 5.0190980077182832e+02 1.3056683661255332e+02 5.6462679079826756e+00 1.3185370519726789e+01 6.6922439731106259e-02 5.7541892717559773e-01 9.0935085648937330e-01 3.7768297266165774e+01 8.0777756493981144e+01 2.5555695230288499e+01 1.5696185528288029e-01 1.9813616292637879e+00 1.5450562740787579e+00 1.3018066753345497e-01 9.8885103691798815e-01 1.2395074533488686e+00 4.3227797390649600e+00 6.0699610743981558e-01 3.2739631905412176e+00 8.5244648512764379e-02 7.1753169311077256e+00 9.8553947659155469e-02 8.9040993493927196e+00 5.6031282897794965e-01 5.1215310707480235e+00 1.1286185775223818e-01 3.5226737816920544e+00 1.3676877244117447e-01 1.6513471487382663e+00 3.5560855552602161e-01 4.9584338012842215e+00 2.5142640418009452e+00 1.0334265152621549e+00 1.9907640919672642e-01 3.1858490635424008e-01 7.4044274290604040e-01 1.7660241331128494e+00 1.1459018242126520e+01 1.0381021493228491e+01 4.4496262769614807e+00 1.1724143014380295e+00 5.7310301357393900e+00 3.2607074058258861e-01 3.0828901093104797e+00 5.0934336535522373e+00 3.8673017766387957e+01 2.6190535668185365e+01 1.1724925847035173e+01 2.9446686890267735e+00 4.7395755967884163e+00 9.6143850740922687e-01 1.5826180806396437e+00 2.2446758133894376e+00 7.1923365878924272e+00 2.8806434409217685e+00 1.8313031343822097e+00 6.4587870192755892e-01 7.0400358708394961e-01 5.9850168310630036e-01 2.1713074436485091e-01 1.1402626110288644e-01 5.5477223731056922e-02 1.8466981031258811e-01 8.1251825071488953e-02 4.9303650636468682e-01 8.0509243450782420e-01 1.5443684686350748e-01 1.1095195369467240e-02 6.3091468139369555e-02 9.4735935803305124e-02 1.7159231549745579e-01 2.1236270935622681e-01 4.4253695481375011e-01 1.1055320170937479e+00 9.3629406667710868e-01 5.2991545332966306e-01 2.1554932344723240e-01 1.5339893428168556e-02 2.6115962653391822e-01 3.8335807955143941e-01 6.7588625691880533e-01 1.5467142574459616e+00 3.7013080675252246e+00 1.9216333722090955e+00 4.2164260672012839e+00 1.8385661043321369e+00 1.4626989498848526e+00 2.3289948925285059e-01 3.3772254509832460e+00 6.8662767981179123e+00 1.1231583496841994e+01 9.6568362901759262e+00 2.1851131791772790e+01 4.5123438615770617e+00 2.9750911914817477e+00 1.1096980509144119e+00 4.1787986681534637e+00 4.3101567550772861e+00 3.4919876155646419e+00 5.1281059002575926e+00 1.0743146318793340e+01 2.4382090661443980e+00 9.9858851365284962e-01 2.8407835422970340e+00 2.2263148947050274e-01 1.1875223872768221e+00 3.6246858432819828e-01 1.9122908669867285e+00 1.4863441694547955e-01 3.8541084231127192e+00 1.3121425705095171e+00 6.2608488710199595e+00 1.2861261968337105e+00 3.4249886319779961e+00 3.8473469580997260e-02 4.5149984884506331e+00 6.1791456266962808e-01 2.9140357565014270e+00 3.2517198017055643e-01 2.8690601396371975e+00 2.2611721857213012e+00 2.3435579025267614e+00 2.4039979721156543e-01 1.1909905430813314e+01 3.5601614648904054e+01 1.8198432135727057e+01 2.1771111625022836e+00 1.0956210688032340e+00 9.5465154914861117e-01 3.7131807763042874e+00 1.8736692985606351e+00 2.1133275862908327e+01 7.9639567818112880e+01 4.2420191219359808e+01 5.1385435476633887e+00 4.4749736893215852e-01 5.5532616564575998e-01 2.4997295043862722e+00 2.6886600544867889e+00 6.8828626564843374e+00 3.1905899278309484e+01 1.7607927084237229e+01 9.0827294444875506e+01 4.1491998484279769e+01 9.8865147943514253e-01 4.7032931164007472e+00 1.4852110327903132e+00 6.9866376495573634e+00 1.4321442626417276e+00 5.9311348696589562e+01 1.9183854547961911e+02 9.0966755744761798e+01 2.3126336081434302e+00 5.0177182215641842e+00 1.8173043418876822e+00 3.4783536219727003e+00 1.8015802416954854e+00 2.3760105343446050e+01 8.8337667491878491e+01 8.0142510556874136e+00 1.0270672767945959e+00 2.9253392220630445e+00 1.3397264840805161e+00 3.6266065336717199e+00 7.1660155252906965e-01 2.9342969526509219e+01 6.9544032268482155e+01 2.0915407140342019e+01 4.3801978732119429e-01 3.6901626661917559e+00 1.2601357138416447e+00 1.2688275024570812e+00 3.6689922067649644e-01 1.2819450279887796e+01 9.7107004759841931e-01 2.9485437875001597e-01 5.3610003309796750e-01 2.7428392663363925e+00 6.4884729198805197e-02 3.2795466655721861e+00 1.9146576586020321e+00 4.9412393908813490e-01 5.5950766628943760e-01 4.6888063350840392e-02 2.9607097999961829e-01 1.3584373372890475e+00 1.0202101457968788e-02 8.4203393767492529e-02 7.4198534710185116e-01 4.7289763241624971e-01 5.6961603129889973e+00 5.8906631998361263e+00 3.1790859328669714e+00 2.5596144221463202e-01 5.9033032852973255e-01 5.1505966687900884e-01 +... diff --git a/unittest/force-styles/tests/compute-slice.yaml b/unittest/force-styles/tests/compute-slice.yaml new file mode 100644 index 00000000000..b8f242e81eb --- /dev/null +++ b/unittest/force-styles/tests/compute-slice.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:40 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute slice + compute gyration +pre_commands: "" +post_commands: | + compute gyr all gyration + compute test all slice 1 6 1 c_gyr +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 5 3.6894248778212422e+00 6.5596943293830146e+00 4.6310865547207021e+00 -4.7137326377719763e-01 -1.8855530376180805e+00 +... diff --git a/unittest/force-styles/tests/compute-sna_atom.yaml b/unittest/force-styles/tests/compute-sna_atom.yaml new file mode 100644 index 00000000000..b69bbc16bbd --- /dev/null +++ b/unittest/force-styles/tests/compute-sna_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:36 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute sna/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all sna/atom 0.85 0.99363 6 2.0 2.0 1.0 1.0 +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 2.7333316127271797e+01 -1.4041721790220298e+00 -2.6632392039664290e+00 1.5654778450530877e+01 -5.9462601927259575e+00 5.3603084906692473e+00 7.0218257745377333e-01 1.4466422165978877e+01 -5.9081300764344977e+00 4.4820553800706708e+00 7.2880498789496908e+00 -7.1186851478612567e-01 3.6015558221223074e+00 9.5862195329040123e-01 -7.2963239828844699e+00 -2.6790028818001503e+00 -1.2695908191510501e+00 -5.1960449520239660e-01 -4.0063615637381398e+00 -4.8256802163385188e+00 2.6396223835756501e+01 -9.2360649911021664e+00 7.9461637431268546e+00 3.9253112706128128e+00 -5.6872811790635858e-01 4.5915861371148861e+00 1.8324881637367152e+01 2.8955843027752017e+00 -2.7796316582278218e+00 -4.7468815505425788e-01 + 2.0000000000000000e+00 2.2273293018091021e+01 -1.5374504960951829e+00 -2.8022445720690898e+00 1.5717191636892103e+01 -5.4742085022294296e+00 6.6706619225377253e+00 1.5418164820074276e+00 1.0309231617035742e+01 -5.6321969910290175e+00 3.3210333139984849e+00 7.2124072898465101e+00 -1.1065949693618489e+00 7.2634455185878544e-01 1.4733411356182113e+00 -7.2297697864977302e+00 -2.0161655239877181e+00 -9.5079620205536575e-01 -5.3042641521516209e-01 -3.6493172436946928e+00 -4.5700149735620270e+00 2.5826729999449960e+01 -8.4952386219865019e+00 9.6725799753497501e+00 2.3692351736901891e+00 2.8023798772089759e-01 3.9962208383177451e+00 1.2070686882280476e+01 1.1222697175921486e+00 -3.3638315568733517e+00 -1.7200361451361772e+00 + 3.0000000000000000e+00 2.6906966495653709e+01 -1.3613875538760787e+00 -2.6346282886755947e+00 1.5908384881791754e+01 -6.0024420562626313e+00 5.8482956702587607e+00 5.3388655796551632e-01 1.4097836159836721e+01 -5.9091512076263690e+00 4.3933327883749254e+00 7.9608451770232662e+00 -8.3331753370910100e-01 2.9442212054573762e+00 3.6632523772295045e-01 -7.3098900449258855e+00 -2.8727474066597387e+00 -1.6863914469981678e+00 -6.3929853678188220e-01 -4.1869907244376980e+00 -5.0417274874088074e+00 2.7966231568081788e+01 -9.3430936716087913e+00 9.2956128348797868e+00 3.8092571164792126e+00 -3.6607291836651346e-01 5.0232566365653142e+00 1.5480502188663962e+01 2.0352059977429526e+00 -3.2557427705318216e+00 -1.3818226001496550e+00 + 4.0000000000000000e+00 2.2466006143925902e+01 -1.5597907107713080e+00 -2.8075602673725584e+00 1.5688937491764442e+01 -5.4308513266276703e+00 6.4335596238312256e+00 1.5656695718743059e+00 1.0591851716282248e+01 -5.6699500196692352e+00 3.4019095717730501e+00 7.0003783650949263e+00 -1.0015890349617678e+00 1.1417421567708814e+00 1.4928747503029998e+00 -7.2069957463799739e+00 -2.0657452965321625e+00 -9.0466459720873527e-01 -4.6111613050718248e-01 -3.6647587229802636e+00 -4.5060907257772866e+00 2.5371031999421405e+01 -8.4928079650266000e+00 9.2116973895900411e+00 2.3768552971600663e+00 2.2557254951198491e-01 3.9885830215441764e+00 1.2894433837516136e+01 1.6378434920556089e+00 -3.0915266640721129e+00 -1.6388864074172709e+00 + 5.0000000000000000e+00 2.8940234216065139e+01 -1.2672658730375299e+00 -2.5942967739198797e+00 1.5567477021771186e+01 -6.2211208360593258e+00 5.3089348716386748e+00 5.4055689714600952e-02 1.5830650455040256e+01 -5.9190948056382213e+00 4.9160115219436928e+00 8.0873261961741214e+00 -8.7298483187423770e-01 4.0030959997837972e+00 1.5832059795020381e-01 -7.3262837017268616e+00 -3.0636770902456640e+00 -1.7291123368022125e+00 -7.4495393778735242e-01 -4.2022662137655171e+00 -5.2561912354391085e+00 2.8493627218281837e+01 -9.5771044534628089e+00 8.6973927397748056e+00 4.6931341597605449e+00 -8.6572771100886037e-01 5.3445725302495521e+00 1.8065402969170687e+01 2.4646021143562908e+00 -3.1826923634102640e+00 -4.6205976933591142e-01 + 6.0000000000000000e+00 2.5541122026839524e+01 -1.4421563774794077e+00 -2.7528741088969495e+00 1.5234785164516481e+01 -5.6759064731502287e+00 5.4225727965121511e+00 7.6680808152162516e-01 1.3365803772047087e+01 -5.7666531460780659e+00 4.1814470713659784e+00 7.0466485449816503e+00 -7.0417216298824314e-01 3.0796157199960739e+00 1.3349294638951346e+00 -7.2485095847773939e+00 -2.4692976835349785e+00 -9.2154735097057472e-01 -5.3930046269545517e-01 -3.8407033431601967e+00 -4.6445656530880139e+00 2.5568669331261059e+01 -8.7850883362322154e+00 7.8753537101814892e+00 3.5927046229414756e+00 -4.7023109867374480e-01 4.1976196644863055e+00 1.7620833810829080e+01 2.7633649029055452e+00 -2.6365518339294729e+00 -2.2818006728256179e-01 + 7.0000000000000000e+00 2.8586524005826565e+01 -1.3067857786017143e+00 -2.5728123415612649e+00 1.5771918092373618e+01 -6.2543504992428272e+00 5.5465553571100497e+00 1.4073843260025942e-01 1.5345300325782645e+01 -5.9618312533389117e+00 4.8504210511509100e+00 8.2358501670836759e+00 -9.7957685798957783e-01 3.6447555803209326e+00 -1.3004858091874993e-01 -7.2940420008669475e+00 -3.1590843512581568e+00 -1.7733155986020774e+00 -6.7497820190106772e-01 -4.2477726130057203e+00 -5.3985527741130506e+00 2.9071918949820279e+01 -9.6785930586831981e+00 9.1679254614556207e+00 4.6054232712854120e+00 -8.3054040622139969e-01 5.7703930848090135e+00 1.6976344561962730e+01 2.3443639766557780e+00 -3.3803529958077250e+00 -1.0170758452681250e+00 + 8.0000000000000000e+00 2.5590287314257008e+01 -1.4404973656843145e+00 -2.6765557292226072e+00 1.5937699898766034e+01 -5.9234273916549265e+00 6.0958623404078853e+00 8.6924921380019349e-01 1.2900283549546224e+01 -5.8091581745634153e+00 4.1509910476792982e+00 7.8329019960956039e+00 -1.0745836298667024e+00 2.1107450437249771e+00 6.7580017951287985e-01 -7.3018517060566213e+00 -2.5925728160958772e+00 -1.4894499201618734e+00 -6.1584274360185809e-01 -3.9809395801940073e+00 -5.0273971048437804e+00 2.7734018200917475e+01 -9.1567465781133830e+00 9.5476097223277510e+00 3.4525977457260861e+00 -1.9819292779010755e-01 4.7648860413320886e+00 1.4241823306594448e+01 1.6249175628050772e+00 -3.4257220535776360e+00 -1.3571789880743363e+00 + 9.0000000000000000e+00 2.4632178133738176e+01 -1.4063804438735290e+00 -2.7009673106695229e+00 1.6200799958675859e+01 -5.8218136701038290e+00 6.5130437003883781e+00 1.2235836419195936e+00 1.1820632751839009e+01 -5.7612974289366878e+00 3.8043438789177380e+00 7.5862416264166246e+00 -1.0910274712498524e+00 1.5301192904630536e+00 1.1849579778544017e+00 -7.3496737060092743e+00 -2.2905517271921152e+00 -1.1348680005411182e+00 -6.2081009270101717e-01 -3.8533045813676350e+00 -4.8265022936285167e+00 2.6858040914910056e+01 -8.9857800062385813e+00 9.6229983464267477e+00 3.0464360302982278e+00 -9.5486110510911715e-03 4.5136221109900188e+00 1.3589745396821321e+01 1.6452030344747381e+00 -3.3440370807893665e+00 -1.3722582757709194e+00 + 1.0000000000000000e+01 2.9280925420963769e+01 -1.3098048350956428e+00 -2.6457644796365916e+00 1.4822663245610315e+01 -6.1115823440056740e+00 4.8253818129416253e+00 4.0674120018159954e-02 1.6443132214130806e+01 -5.8791840055531006e+00 4.8443642626730057e+00 7.4801027146649908e+00 -4.8839288533023861e-01 4.6690320552903479e+00 1.0291616275562818e+00 -7.2716507673224520e+00 -2.9161063910867062e+00 -1.4089063050913682e+00 -6.8737042484741551e-01 -4.1382960434460889e+00 -4.9421154430016037e+00 2.6668222834176639e+01 -9.4147798529920301e+00 7.3416513456601820e+00 4.9229127618503519e+00 -9.8332261352744332e-01 4.7464332127650302e+00 2.0887832445765905e+01 2.8996141896698440e+00 -2.6140900022186742e+00 7.1084139680695824e-01 + 1.1000000000000000e+01 2.5754039437894928e+01 -1.4066662004967416e+00 -2.6781531573009736e+00 1.5843029427916974e+01 -5.9236601111858329e+00 6.0498122570240245e+00 7.5522484065206719e-01 1.2992612141252092e+01 -5.8112267341183950e+00 4.1857345491185232e+00 7.8040113996788971e+00 -1.0545126739038211e+00 2.2477076590584701e+00 6.8478864240671378e-01 -7.3089058321100016e+00 -2.6385291732136484e+00 -1.3505525135065071e+00 -5.9738347163580130e-01 -3.9560020417569719e+00 -5.0370396394479346e+00 2.7792025075790441e+01 -9.1206575309784643e+00 9.4215252306151438e+00 3.5723957036273202e+00 -3.6816942798580499e-01 4.9271297142936685e+00 1.4911644924186803e+01 1.8412718303966003e+00 -3.3322623198908037e+00 -1.2905234984827239e+00 + 1.2000000000000000e+01 3.1483462245935222e+01 -1.1799350950814496e+00 -2.4798628341514188e+00 1.5606026997357500e+01 -6.5546905056048264e+00 5.0621627573778021e+00 -3.5795576363013737e-01 1.7860663471048859e+01 -6.0625966153481867e+00 5.4178960082804366e+00 8.5119807416730815e+00 -8.3415821073042551e-01 5.1297926049007163e+00 -6.2976372285301085e-01 -7.3098723641919667e+00 -3.4684969091307085e+00 -2.2020165223019728e+00 -8.7847551947193558e-01 -4.4729014639001452e+00 -5.4851413931119755e+00 2.9433768025561115e+01 -1.0185498143220705e+01 8.7473153081415642e+00 5.5019448823114026e+00 -1.1468469713099276e+00 5.9981835542096338e+00 1.9436348386412398e+01 2.7617282332382587e+00 -3.2749500335283628e+00 -3.6547521447852649e-01 + 1.3000000000000000e+01 2.6515475377383972e+01 -1.4863181079476768e+00 -2.6522103561170889e+00 1.5728689418883192e+01 -5.9632036422866594e+00 5.7200513440101481e+00 7.2417599731819493e-01 1.3904499422040647e+01 -5.9122202322084600e+00 4.3468381447892721e+00 7.7328020341769115e+00 -8.0380365005535559e-01 2.9100040829629243e+00 5.9045966564364871e-01 -7.2275952776775609e+00 -2.8217802853208180e+00 -1.5402574883505871e+00 -5.7496030840297330e-01 -4.1695387559563386e+00 -5.0031110918326585e+00 2.7389248598530322e+01 -9.3482621398153753e+00 8.9395337387548164e+00 3.8247946589491608e+00 -3.1814096000440717e-01 4.9556699535818503e+00 1.5713505344202055e+01 2.2060007515551057e+00 -3.2381099374411022e+00 -1.2087468070721155e+00 + 1.4000000000000000e+01 3.1186560503902086e+01 -1.2801554823695240e+00 -2.5590635071238728e+00 1.4835333257009324e+01 -6.3627538672012953e+00 4.6452170646345268e+00 -3.0598346500736451e-01 1.8021136349509622e+01 -6.0135272932360930e+00 5.2779745689409374e+00 7.9136571479079354e+00 -5.5088662711276104e-01 5.4683299752077286e+00 2.2427504762257477e-01 -7.2256097513767035e+00 -3.3193016483248328e+00 -1.8618007629309554e+00 -7.2137950734265210e-01 -4.3835612287474008e+00 -5.2943830329442658e+00 2.8162060747670672e+01 -9.8726321265260886e+00 7.5705395993737028e+00 5.6552000023352829e+00 -1.2627154159043910e+00 5.5036990916474071e+00 2.1727539194707152e+01 2.9631294279505589e+00 -2.8628137334617048e+00 6.5624640222388475e-01 + 1.5000000000000000e+01 2.7351900089942273e+01 -1.4047393302159579e+00 -2.6140602965896917e+00 1.5775178356197454e+01 -6.1156268384104715e+00 5.7182135656687798e+00 4.7183971207945152e-01 1.4461485769437967e+01 -5.9258575544718282e+00 4.5842479514501875e+00 8.0172096113319071e+00 -9.5035184458057387e-01 3.1804250118791106e+00 2.0641339815731996e-01 -7.2736062631681060e+00 -2.9613895262766730e+00 -1.6116183003369233e+00 -6.5925874687904784e-01 -4.1975866263936492e+00 -5.2116684176867887e+00 2.8129691933302261e+01 -9.5126110750106569e+00 9.1501164816398060e+00 4.2587771681099493e+00 -5.6587662705486430e-01 5.3276552575720295e+00 1.6453005943351194e+01 2.2738202564452443e+00 -3.3058154511992557e+00 -8.7682334268622952e-01 + 1.6000000000000000e+01 2.9935901663303849e+01 -1.2640569000469837e+00 -2.5743127868654248e+00 1.5366789522635262e+01 -6.2964031815274240e+00 5.0075016864732955e+00 -1.0597554640363338e-01 1.6727964569319411e+01 -5.9644902572808096e+00 5.1263370699863575e+00 8.0222101615721328e+00 -7.9315327261804836e-01 4.6414979547955681e+00 7.0402590957828970e-02 -7.3009876758452101e+00 -3.1885496020771749e+00 -1.7749544968794195e+00 -7.2884744648405775e-01 -4.2443260004977859e+00 -5.3101863166190331e+00 2.8512212448359726e+01 -9.7008738311323448e+00 8.2599026635290898e+00 5.0146557491803279e+00 -1.0700399914287981e+00 5.5099032036664024e+00 1.9584137379277273e+01 2.8032008854295256e+00 -3.0323285541576848e+00 -2.1050658484774054e-01 + 1.7000000000000000e+01 2.8701615228704934e+01 -1.2440392978293271e+00 -2.5847004494607595e+00 1.5694374461197079e+01 -6.2534291495142043e+00 5.5320335063232857e+00 9.7345643300846163e-02 1.5421405341850139e+01 -5.8999682926147816e+00 4.8290581687578236e+00 8.2061836411531104e+00 -9.6842612307071718e-01 3.6250480779351086e+00 1.4481862247505539e-01 -7.3432536581213812e+00 -3.0167523772276579e+00 -1.7217301790049255e+00 -7.6860263073350765e-01 -4.1988787042962228e+00 -5.2972685722707284e+00 2.8756536609845938e+01 -9.6140885034995041e+00 9.0279240112920682e+00 4.6672355870941402e+00 -7.9740973063084741e-01 5.4201192143939654e+00 1.7345179175379442e+01 2.2234335682609512e+00 -3.3357864751315400e+00 -5.4017656996505714e-01 + 1.8000000000000000e+01 2.5687622294779949e+01 -1.5128173928858437e+00 -2.6836066122686342e+00 1.5705282064546950e+01 -5.8556157081156819e+00 5.8115136565078949e+00 9.0719314848843080e-01 1.3302102868174476e+01 -5.8616901965387518e+00 4.1936007378392155e+00 7.5876309134489830e+00 -8.6657119164405128e-01 2.5842068472083710e+00 7.6638064310015164e-01 -7.2158818765349455e+00 -2.7001286817441339e+00 -1.5192016998138076e+00 -4.9559409852962233e-01 -4.0626088919251053e+00 -4.9633121803466880e+00 2.7004690841919398e+01 -9.1884046745009194e+00 8.9539355473940603e+00 3.5400904804807158e+00 -2.4091602698495063e-01 4.8127246405878914e+00 1.4924102187629583e+01 2.0461796912613170e+00 -3.2356426305805526e+00 -1.3865565767543391e+00 + 1.9000000000000000e+01 2.7548244960849878e+01 -1.3614739415354611e+00 -2.5878321470172363e+00 1.6048762092695213e+01 -6.1923115227382484e+00 5.8549255232554369e+00 3.8599572643646862e-01 1.4468955651512324e+01 -5.9324449608898950e+00 4.6478020101639359e+00 8.3118574342721754e+00 -1.0702482605197088e+00 2.9912305628794478e+00 -1.3145698851037668e-01 -7.3125869365755980e+00 -3.0416538677478324e+00 -1.8498214243100755e+00 -6.9081531245945715e-01 -4.2260830220638113e+00 -5.3366227649933853e+00 2.9115318930274860e+01 -9.5989857906114651e+00 9.7503444857926063e+00 4.1543984393127680e+00 -5.1565114029929138e-01 5.4989338594512986e+00 1.5181679655916774e+01 1.9651386009259557e+00 -3.5592424907598499e+00 -1.4287636454987744e+00 + 2.0000000000000000e+01 2.4254486984087727e+01 -1.5122052218220536e+00 -2.7000501375235695e+00 1.6068733657655596e+01 -5.7925807531618636e+00 6.5067611671921419e+00 1.1755695827327237e+00 1.1773775871366810e+01 -5.8003172539001255e+00 3.8166100054788608e+00 7.8036111974763056e+00 -1.1228207847309712e+00 1.3800389937458775e+00 7.3244214852947387e-01 -7.2539151082634863e+00 -2.5196089006310900e+00 -1.4434202842263231e+00 -5.3325901224883498e-01 -3.9512532731631991e+00 -5.0116170823751229e+00 2.7718985527663413e+01 -9.0253691840006613e+00 1.0087624277125148e+01 2.9814230706354827e+00 6.0133462784823344e-02 4.7946309616219462e+00 1.2495895358330340e+01 1.2890152448684056e+00 -3.5883918907799921e+00 -2.0287277490965101e+00 + 2.1000000000000000e+01 2.8775268900550962e+01 -1.2876049775394054e+00 -2.5925092621279267e+00 1.5538956353551860e+01 -6.2493689392415188e+00 5.3549856627464916e+00 4.6917470788892857e-02 1.5744805650081400e+01 -5.9010948835124317e+00 4.9524971554679329e+00 8.1708251474248819e+00 -9.7982104563409766e-01 3.9424434034518825e+00 -5.3093415863927795e-02 -7.3281348658170931e+00 -3.0583094153454278e+00 -1.7639660021098420e+00 -8.0680954099623747e-01 -4.2020113554781453e+00 -5.2959995010936209e+00 2.8472121509880736e+01 -9.6257352371952756e+00 8.8451783358989875e+00 4.8076425020441693e+00 -8.7490373763376628e-01 5.3285590489747250e+00 1.8148386975893725e+01 2.4142294600287180e+00 -3.2842415193060730e+00 -2.1464998483777364e-01 + 2.2000000000000000e+01 2.7324139155098798e+01 -1.3325617376874885e+00 -2.5916985036046194e+00 1.6128562070607472e+01 -6.1794968680936346e+00 6.0348719146428351e+00 4.4831686032634632e-01 1.4090587002273281e+01 -5.9139823188386300e+00 4.5333831661274147e+00 8.3081408607242029e+00 -1.1298853486881937e+00 2.7205736383004879e+00 -3.0310840419380369e-02 -7.3528086097316878e+00 -2.9374501909800985e+00 -1.7821388738830244e+00 -7.1385586888907859e-01 -4.1517338112878219e+00 -5.2803736142079742e+00 2.9086274086706986e+01 -9.5372309669226585e+00 9.8506926001831445e+00 4.0661437018082474e+00 -4.8022643544945520e-01 5.3693723410739285e+00 1.5122283620803142e+01 1.7844433465626928e+00 -3.5516013077132831e+00 -1.2529376919782917e+00 + 2.3000000000000000e+01 3.0856570796438813e+01 -1.2124781145623145e+00 -2.5569374715891175e+00 1.5226797456551214e+01 -6.3683056782798158e+00 4.8526437377397986e+00 -1.1690056486421252e-01 1.7395395067353480e+01 -5.9727181306490058e+00 5.1573423008941308e+00 7.8447126620882877e+00 -5.9947283612956159e-01 5.0974909958628274e+00 4.9442427923500265e-01 -7.3168891423876934e+00 -3.1181039697074211e+00 -1.6981190968065487e+00 -7.8224262885955920e-01 -4.2882766303527715e+00 -5.1718025719238394e+00 2.7626474658479751e+01 -9.8244801505019588e+00 7.6726626216368707e+00 5.2871021680060259e+00 -1.0949314118177105e+00 5.1960464916804554e+00 2.1035432706734706e+01 3.0340670961052876e+00 -2.8102348108241815e+00 4.9659705525874642e-01 + 2.4000000000000000e+01 2.8110774649612303e+01 -1.3451276019819050e+00 -2.6136031645038180e+00 1.5546158635277237e+01 -6.1484108793286660e+00 5.4678534011824258e+00 2.1979603339443088e-01 1.5128016368508618e+01 -5.9133944778031502e+00 4.7148673372729419e+00 8.0143580047762875e+00 -8.7020686008416348e-01 3.5587147477281942e+00 2.5833260764370003e-01 -7.2947715421097863e+00 -3.0107965833093413e+00 -1.6548978970988415e+00 -6.6300822010702465e-01 -4.1944796323641018e+00 -5.2046768141347730e+00 2.8392573983184228e+01 -9.5018163987621787e+00 8.8538593713061289e+00 4.4917152282575401e+00 -7.3403125632993937e-01 5.3018893881763436e+00 1.7378384647855551e+01 2.2916094774724662e+00 -3.2046854579683606e+00 -6.7945257906389145e-01 + 2.5000000000000000e+01 2.8004349933615675e+01 -1.3769699165581948e+00 -2.6172061134264810e+00 1.5574650752593602e+01 -6.1094835330241519e+00 5.4330067361905776e+00 3.2513159367116096e-01 1.5119653376375986e+01 -5.9355150277941764e+00 4.6670908879508861e+00 7.9204324455469575e+00 -7.7971255711880350e-01 3.6125674629484799e+00 3.2940001842088762e-01 -7.2745129746856136e+00 -2.9798134281774988e+00 -1.7013257590269735e+00 -6.7391678682917444e-01 -4.2396653912157616e+00 -5.1048675272229005e+00 2.7925337852121480e+01 -9.5052288533238727e+00 8.7024970523461782e+00 4.3253028839114886e+00 -6.1264011172738364e-01 5.1155901726834507e+00 1.7248624533362314e+01 2.3422150184191750e+00 -3.1572552040903639e+00 -7.4785451550052429e-01 + 2.6000000000000000e+01 2.9616283836352650e+01 -1.2276829580788633e+00 -2.5170554769822910e+00 1.5968883765462468e+01 -6.4341392231708037e+00 5.5856612833541490e+00 -1.4692930793112957e-02 1.6044483735042800e+01 -5.9897735504524157e+00 5.0423645938024002e+00 8.5425719800289706e+00 -1.0360669661289159e+00 3.9047155591930220e+00 -4.2020552758315688e-01 -7.3513950875687764e+00 -3.2354765704380357e+00 -2.0135391449532847e+00 -8.3635354499716641e-01 -4.3240033201895693e+00 -5.4444002669692075e+00 2.9547439231283768e+01 -9.9450277146777832e+00 9.4370555799563842e+00 4.8978636248155460e+00 -8.6719491397953519e-01 5.8125130996731293e+00 1.7177065905431792e+01 2.2698812972100377e+00 -3.4723108304391364e+00 -7.9260004439968590e-01 + 2.7000000000000000e+01 2.5692183036077743e+01 -1.5209487893242519e+00 -2.6650069716839853e+00 1.5864244635606319e+01 -5.9077183179647363e+00 6.0754137348885813e+00 9.9507329749312845e-01 1.3086171151793664e+01 -5.8797453310104997e+00 4.0002712886430611e+00 7.7566918123408701e+00 -7.6625153186915984e-01 2.1742874958023961e+00 9.1441407985927103e-01 -7.2308994420243451e+00 -2.6451461325112327e+00 -1.6599686982482993e+00 -5.6746302301254836e-01 -4.1731605420296694e+00 -4.8430231738282066e+00 2.7307403230128898e+01 -9.2853859630437405e+00 9.3617909873173559e+00 3.3543649572479719e+00 8.4615415574358366e-03 4.6288686715942440e+00 1.3907880315579117e+01 1.5330789281236505e+00 -3.3568547936076261e+00 -1.6676864416166737e+00 + 2.8000000000000000e+01 3.0375370075786719e+01 -1.3088484958486513e+00 -2.5874007376045238e+00 1.4957123947233484e+01 -6.2870654100383199e+00 4.7751759435291312e+00 -8.8176816989180118e-02 1.7236297538765470e+01 -5.9576461084748855e+00 5.1028703506623394e+00 7.7925508758909245e+00 -6.2953715956875023e-01 4.9375091045215953e+00 5.3070293461567886e-01 -7.2556971951471816e+00 -3.1018573032573373e+00 -1.7306296104641223e+00 -7.0614147582793496e-01 -4.2281898434551728e+00 -5.1797605237688193e+00 2.7869798299713679e+01 -9.7077338469310170e+00 7.6062462140080118e+00 5.3060514884542016e+00 -1.1347449464844388e+00 5.1282973409068724e+00 2.1069513938402689e+01 2.8161091081422907e+00 -2.9138650605653265e+00 5.8035614922747047e-01 + 2.9000000000000000e+01 2.7800728594965957e+01 -1.3602276999420964e+00 -2.5610171676170195e+00 1.6155194503588426e+01 -6.2569561413262580e+00 5.9538534520536430e+00 3.3795457235728144e-01 1.4587918406010488e+01 -5.9763923297050034e+00 4.6828203513594069e+00 8.4944558786771989e+00 -1.1082160015222460e+00 2.9847696438004014e+00 -4.2399455877096237e-01 -7.3112229439952507e+00 -3.1486611808588059e+00 -2.0157076752006287e+00 -7.0474130863689233e-01 -4.2919845460829000e+00 -5.4036632825846791e+00 2.9641378198814081e+01 -9.7233139666045894e+00 1.0024422330463107e+01 4.2385144515965845e+00 -5.1884174274553008e-01 5.7309849251033107e+00 1.5030159349013211e+01 1.8342089601500220e+00 -3.6485985986387863e+00 -1.5992649247479580e+00 + 3.0000000000000000e+01 3.1053467316634787e+01 -1.2379022997550067e+00 -2.5158049362075232e+00 1.5481471291571115e+01 -6.4422694144615580e+00 4.9073376472778030e+00 -2.8172835581184152e-01 1.7579573767180996e+01 -6.0649898881118292e+00 5.3990561977992542e+00 8.2426637871853163e+00 -8.4709920519767845e-01 5.1453907688130371e+00 -5.0327211205354150e-01 -7.2747081668930056e+00 -3.4367861941990778e+00 -1.9974189223170171e+00 -7.2975807999611941e-01 -4.3679126934068506e+00 -5.4969964909358291e+00 2.9264825949914638e+01 -9.9923377743947288e+00 8.3716332897785595e+00 5.3753162353201471e+00 -1.2236276441922298e+00 5.9796869400998656e+00 1.9962706556611586e+01 2.9900577147870173e+00 -3.1842420438319179e+00 -4.1337760548764457e-01 + 3.1000000000000000e+01 2.8126530026306504e+01 -1.2959930901994348e+00 -2.6341286497872303e+00 1.5499088493650731e+01 -6.1282039091331377e+00 5.4263319102900702e+00 3.7502513330217191e-01 1.5011291863096325e+01 -5.8464465447598819e+00 4.6139823618886737e+00 7.6682238145677513e+00 -7.6064163599555901e-01 3.6437971322457585e+00 9.5239470718721719e-01 -7.3416728891148697e+00 -2.7155066023762080e+00 -1.2758671845991101e+00 -7.7046299312402944e-01 -4.0692270974637079e+00 -4.9462846363191018e+00 2.6932767199746429e+01 -9.4015073083517908e+00 8.2036751603843303e+00 4.4683324643625220e+00 -6.8751352913223496e-01 4.6686478179510260e+00 1.8726510369430553e+01 2.6584355069775434e+00 -2.9349548914192587e+00 2.9069323696797245e-01 + 3.2000000000000000e+01 2.8990097994729435e+01 -1.2750105853651679e+00 -2.5904650923817010e+00 1.5480006768732743e+01 -6.2207758730952776e+00 5.2727194303586131e+00 2.1776439562828820e-02 1.5841476716808394e+01 -5.9353492610025427e+00 4.9199709977892105e+00 8.0432906826226933e+00 -8.5218848362003463e-01 4.0454358850041281e+00 1.4279651589191111e-01 -7.3019142568329940e+00 -3.1156342880295953e+00 -1.6868793329924365e+00 -6.8017745035940269e-01 -4.2224157990530351e+00 -5.2988655637329618e+00 2.8546047867759469e+01 -9.5984096550749420e+00 8.6227539974136498e+00 4.7534629634255907e+00 -9.3366140360237182e-01 5.5202365085923244e+00 1.8196677763980546e+01 2.5325480086526433e+00 -3.1785095456278447e+00 -5.2000322261894460e-01 +... diff --git a/unittest/force-styles/tests/compute-stress_cartesian.yaml b/unittest/force-styles/tests/compute-stress_cartesian.yaml new file mode 100644 index 00000000000..4d82373a84b --- /dev/null +++ b/unittest/force-styles/tests/compute-stress_cartesian.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:04 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute stress/cartesian +pre_commands: "" +post_commands: | + compute test all stress/cartesian z 2.0 NULL 0.0 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: | + -7.0154954285714286e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.0056805559984843e-10 -1.5988323244746219e-10 -3.1919968397868641e-08 + -4.8726382857142854e+00 8.2962962962962964e-03 1.0424843635724470e-06 3.0140422554235770e-07 6.5891534826980576e-07 9.8533904479019378e-03 -2.9124730004945988e-03 1.3620463010685535e-02 + -2.7297811428571430e+00 1.0370370370370370e-02 5.6651973631398369e-07 3.9608046347219956e-06 9.4318329654257329e-05 1.5716545949900577e-02 2.6528281758918021e-04 1.9327910703528763e-02 + -5.8692399999999978e-01 2.6962962962962963e-02 9.2523967240285527e-05 1.1378765069064862e-04 1.4127634117289448e-04 1.1027968555133159e+00 1.4009108955611356e+00 7.2266005714807768e-01 + 1.5559331428571426e+00 1.0370370370370370e-02 6.3576383925896894e-06 3.6831856892238477e-06 4.9421281903496348e-05 5.2802549758538112e-02 2.6644350457783655e-02 2.3898687808081742e-02 + 3.6987902857142849e+00 4.1481481481481482e-03 7.4894104569955661e-08 1.9810694611326168e-07 1.7115468770307703e-07 4.2127939683235090e-02 4.3581204681228954e-02 1.9380799239094779e-02 + 5.8416474285714290e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2.0056805559984843e-10 -1.5988323244746219e-10 -3.1919968397868634e-08 +... diff --git a/unittest/force-styles/tests/compute-stress_mop.yaml b/unittest/force-styles/tests/compute-stress_mop.yaml new file mode 100644 index 00000000000..bffc0a6be52 --- /dev/null +++ b/unittest/force-styles/tests/compute-stress_mop.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:24 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute stress/mop +pre_commands: "" +post_commands: | + compute test all stress/mop z center total +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 3 2.0753393472398093e+04 2.7135614759244731e+04 5.2237917672216543e+04 +... diff --git a/unittest/force-styles/tests/compute-stress_mop_profile.yaml b/unittest/force-styles/tests/compute-stress_mop_profile.yaml new file mode 100644 index 00000000000..31be860a3b2 --- /dev/null +++ b/unittest/force-styles/tests/compute-stress_mop_profile.yaml @@ -0,0 +1,26 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:25 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute stress/mop/profile +pre_commands: "" +post_commands: | + compute test all stress/mop/profile z 0.0 2.0 total +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: | + -8.0000000000000000e+00 5.8897246129170593e-06 2.6020809795462272e-05 -2.1887016398919419e-03 + -6.0000000000000000e+00 5.8897246129170593e-06 2.6020809795462272e-05 -2.1887016398919419e-03 + -4.0000000000000000e+00 2.3636832007679877e+03 3.6084732774195527e+02 1.6783335946978518e+03 + -2.0000000000000000e+00 2.4552098487129151e+03 -4.5766178779809416e+03 6.0481196653099014e+03 + 0.0000000000000000e+00 -8.7058290458819956e+03 -5.5690672034933559e+03 2.9755468291596317e+04 + 2.0000000000000000e+00 6.1199535016957398e+03 -2.1722937992445286e+03 3.9703556936463888e+03 + 4.0000000000000000e+00 5.8897246129170593e-06 2.6020809795462272e-05 -2.1887016398919419e-03 + 6.0000000000000000e+00 5.8897246129170593e-06 2.6020809795462272e-05 -2.1887016398919419e-03 +... diff --git a/unittest/force-styles/tests/compute-stress_tally.yaml b/unittest/force-styles/tests/compute-stress_tally.yaml new file mode 100644 index 00000000000..704c059640b --- /dev/null +++ b/unittest/force-styles/tests/compute-stress_tally.yaml @@ -0,0 +1,48 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:28 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute stress/tally +pre_commands: "" +post_commands: | + compute test solute stress/tally solvent +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: -0.1448581369028521 +peratom_data: |2 + 1.0000000000000000e+00 1.1924797630666242e+03 8.6075598823071971e+01 2.4287840036551315e+03 3.1031362277508453e+02 9.5432992413982674e+01 1.0165387182764501e+02 + 2.0000000000000000e+00 5.6270293890458127e+00 1.3577972565866256e-01 2.9363814531452441e+01 6.4726066674396165e-01 1.0526455283504259e+01 1.4238031417256807e+00 + 3.0000000000000000e+00 4.3812283856806374e+02 1.8669122854869366e+02 5.5571302170063234e+02 2.8520158174392418e+02 -1.7061493971340630e+02 -9.4784394509019862e+01 + 4.0000000000000000e+00 2.2067159278156931e+00 4.6312704976652946e-01 2.9938891877354052e+00 1.0057092377922638e+00 1.9572270590272103e+00 9.3423600634147985e-01 + 5.0000000000000000e+00 9.3632182929998375e+00 5.4766209666850179e+00 8.1028297071621278e+00 7.1355021506521803e+00 8.5307997827250190e+00 6.5097221804577732e+00 + 6.0000000000000000e+00 3.3096071025670062e+02 6.4599869150444988e+02 5.6731357785167097e+02 4.0187284897654388e+02 -2.8921144806726647e+02 -3.6547263679388715e+02 + 7.0000000000000000e+00 3.9763546692511636e+02 9.3341895926610800e+02 1.6889517801857338e+02 4.1101124586070097e+02 -1.5411006685072621e+02 -1.9609289300439616e+02 + 8.0000000000000000e+00 1.8059984318463137e+02 1.0313542402422047e+03 8.1712488693772650e+02 1.2953428772132884e+02 -1.7205568055526479e+02 -1.6248666681091652e+02 + 9.0000000000000000e+00 1.4509330078403848e+00 1.6302415569018656e+01 1.1795946599362514e+01 2.0689412814594492e+00 1.5346476393678992e+00 1.3565449710907320e+01 + 1.0000000000000000e+01 2.2386800052224598e+02 5.1367772570840293e+02 3.2964563515757510e+02 -2.0062645434449075e+02 -2.0998555547008004e+02 1.0073702254029581e+02 + 1.1000000000000000e+01 2.4665311800940973e+01 1.2022881890660850e+01 8.5660322763665988e+00 -1.6392596587802988e+01 -1.3740801339518114e+01 9.8819987149953956e+00 + 1.2000000000000000e+01 1.8473262395532495e+02 1.3626346406401301e+03 4.8053737045096182e+02 -4.6596478992070189e+02 -3.1255027015516685e+01 -1.5838385863725802e+02 + 1.3000000000000000e+01 3.6960233954032642e+00 4.6332782575806249e+01 1.9214687639597894e+01 -1.2800703863111972e+01 -8.1533251613177473e+00 2.9233433384772862e+01 + 1.4000000000000000e+01 8.0698682815541929e+00 2.2430760357127205e+01 3.3798821649299069e+00 -1.3036913894060078e+01 -3.2187273492610999e+00 5.3262754062357782e+00 + 1.5000000000000000e+01 1.4323613903495280e+00 8.8386220466179939e+00 1.0549587101431003e+01 -3.4288201289483098e+00 -2.4733435941709367e+00 6.6515461585703619e+00 + 1.6000000000000000e+01 1.7208095412413817e+02 2.2829911130995444e+02 4.9228599579609829e+02 -1.4081049762782123e+02 -2.7468138992807934e+02 2.0282473486938619e+02 + 1.7000000000000000e+01 5.3276110004074084e+01 3.7853698725114680e+02 2.5581498657759374e+02 -4.7879865215263330e+01 -9.7500576367649543e+01 1.3364392561530582e+02 + 1.8000000000000000e+01 1.5328123563328352e+03 3.3711791270216841e+03 2.7219408901804641e+03 1.1477948648786617e+03 -1.6076977522949046e+03 -2.3053709929931752e+03 + 1.9000000000000000e+01 1.6286461761823873e+01 3.8017211091827079e+01 8.2198304815097856e+01 3.3960785631768613e+00 -2.3519849981782802e+01 -4.2559760912842776e+01 + 2.0000000000000000e+01 1.1985151977086060e+01 2.3007089231909202e+01 2.1950377518893298e+01 8.6984004989741379e+00 -1.4233108623398138e+01 -1.8500563101222202e+01 + 2.1000000000000000e+01 8.4195552682279776e+02 1.0329952784955731e+03 1.0412654251235808e+03 -8.6496294294503241e+02 -8.5081600494087331e+02 8.6731913760758846e+02 + 2.2000000000000000e+01 5.3177010459490743e+00 1.2226264917381346e+01 1.5906781496588779e+01 -7.3656137510189206e+00 -8.6432392726503107e+00 1.2700162602033787e+01 + 2.3000000000000000e+01 1.3764961725955351e+01 8.7671122460539088e+00 1.1116169603861085e+01 -1.0126783349650749e+01 -1.1969004334947355e+01 8.5089566385881934e+00 + 2.4000000000000000e+01 7.3280245826009980e+02 9.4330523430520236e+02 2.0774337940710025e+03 3.2917118184913369e+02 1.0863293451737295e+03 1.0264454795518825e+03 + 2.5000000000000000e+01 6.3972329399817120e+01 3.9629779662725070e+01 1.9820953563202096e+02 3.3753094014936387e+01 1.0739551686821265e+02 7.4157893935052911e+01 + 2.6000000000000000e+01 1.1370824766504740e+01 9.5630765031473022e+00 2.0060046912492414e+01 7.4920790728490401e+00 1.4135338172964200e+01 1.2465256473256108e+01 + 2.7000000000000000e+01 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 + 2.8000000000000000e+01 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 + 2.9000000000000000e+01 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 -0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-temp.yaml b/unittest/force-styles/tests/compute-temp.yaml new file mode 100644 index 00000000000..2decea258db --- /dev/null +++ b/unittest/force-styles/tests/compute-temp.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:05 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp +pre_commands: "" +post_commands: | + compute test all temp +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3509.282298130708 +global_vector: |- + 6 1.1588656633203482e+02 1.4050725165787856e+02 3.2939440279317273e+02 -9.5062747802989890e+01 -9.2866594769043516e+01 1.2329529931764161e+02 +... diff --git a/unittest/force-styles/tests/compute-temp_asphere.yaml b/unittest/force-styles/tests/compute-temp_asphere.yaml new file mode 100644 index 00000000000..30a8ba0f1e0 --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_asphere.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:38 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom ellipsoid + compute temp/asphere +pre_commands: "" +post_commands: | + compute test all temp/asphere +input_file: in.ellipsoid +input_coeffs: coeffs.ellipsoid +natoms: 48 +global_scalar: 0.2068405328465177 +global_vector: |- + 6 3.3445201137732418e+01 1.7264494456531448e+01 8.2398562669936730e+00 7.3509790047936496e+00 2.6058025328372820e+00 1.6918321798332958e-01 +... diff --git a/unittest/force-styles/tests/compute-temp_chunk.yaml b/unittest/force-styles/tests/compute-temp_chunk.yaml new file mode 100644 index 00000000000..7b61aff9264 --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_chunk.yaml @@ -0,0 +1,28 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:01 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all temp/chunk molchunk temp +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3388.2725637124076 +global_vector: |- + 6 1.1588656633203482e+02 1.4050725165787856e+02 3.2939440279317273e+02 -9.5062747802989890e+01 -9.2866594769043516e+01 1.2329529931764161e+02 +global_array: |2 + 7.2610934309178228e+03 + 4.6706852948644082e+03 + 6.1747414496086797e+01 + 8.2887546415183451e+01 + 4.0895750971156204e+01 + 5.6268415647904810e+01 +... diff --git a/unittest/force-styles/tests/compute-temp_com.yaml b/unittest/force-styles/tests/compute-temp_com.yaml new file mode 100644 index 00000000000..0494a2c82b4 --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_com.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:06 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/com +pre_commands: "" +post_commands: | + compute test all temp/com +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3508.9052586182606 +global_vector: |- + 6 1.1588628324018586e+02 1.4047822986517875e+02 3.2936077022031623e+02 -9.5059881475556679e+01 -9.2869680398190752e+01 1.2332654155759656e+02 +... diff --git a/unittest/force-styles/tests/compute-temp_deform.yaml b/unittest/force-styles/tests/compute-temp_deform.yaml new file mode 100644 index 00000000000..161943d017a --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_deform.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:07 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/deform +pre_commands: "" +post_commands: | + compute test all temp/deform +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3509.282298130708 +global_vector: |- + 6 1.1588656633203482e+02 1.4050725165787856e+02 3.2939440279317273e+02 -9.5062747802989890e+01 -9.2866594769043516e+01 1.2329529931764161e+02 +... diff --git a/unittest/force-styles/tests/compute-temp_partial.yaml b/unittest/force-styles/tests/compute-temp_partial.yaml new file mode 100644 index 00000000000..7b689732af4 --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_partial.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:06 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/partial +pre_commands: "" +post_commands: | + compute test all temp/partial 1 1 0 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 2303.968195927564 +global_vector: |- + 6 1.1588656633203482e+02 1.4050725165787856e+02 0.0000000000000000e+00 -9.5062747802989890e+01 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/compute-temp_profile.yaml b/unittest/force-styles/tests/compute-temp_profile.yaml new file mode 100644 index 00000000000..cbc094cf2bd --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_profile.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:41 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/profile +pre_commands: "" +post_commands: | + compute test all temp/profile 1 1 1 z 5 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3774.5900251326675 +global_vector: |- + 6 1.1325058494536147e+02 1.3800734546601936e+02 2.8880619190278890e+02 -9.4018181161264863e+01 -8.8551624823128549e+01 1.1331680327889627e+02 +... diff --git a/unittest/force-styles/tests/compute-temp_ramp.yaml b/unittest/force-styles/tests/compute-temp_ramp.yaml new file mode 100644 index 00000000000..096dcdcd084 --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_ramp.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:08 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/ramp +pre_commands: "" +post_commands: | + compute test all temp/ramp vx 0.0 0.1 x -5.0 5.0 units box +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 19053.200682135564 +global_vector: |- + 6 2.7105607819156353e+03 1.4050725165787856e+02 3.2939440279317273e+02 -6.6005341086907748e+01 -1.0156653921585722e+02 1.2329529931764161e+02 +... diff --git a/unittest/force-styles/tests/compute-temp_region.yaml b/unittest/force-styles/tests/compute-temp_region.yaml new file mode 100644 index 00000000000..f2439640906 --- /dev/null +++ b/unittest/force-styles/tests/compute-temp_region.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:09 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute temp/region +pre_commands: "" +post_commands: | + region half block -20 20 -20 20 0 20 units box + compute test all temp/region half +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 1607.5613325477486 +global_vector: |- + 6 9.2039580050030807e+00 6.2724694705623945e+00 6.1192932141230045e+01 -3.3268628753724876e+00 -1.8292162248101548e+01 1.6552294669256266e+01 +... diff --git a/unittest/force-styles/tests/compute-torque_chunk.yaml b/unittest/force-styles/tests/compute-torque_chunk.yaml new file mode 100644 index 00000000000..5279c94b945 --- /dev/null +++ b/unittest/force-styles/tests/compute-torque_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:57 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute torque/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all torque/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 2.2554120691138749e+02 1.5299427629539557e+02 -1.1596132495441711e+02 + 1.5897848906056706e+02 2.3328510062161584e+02 2.8481500699846997e+01 + 4.1352210404512757e-03 -2.8581302564307798e-03 -5.5300774217748039e-04 + -2.3570295361364790e-03 -1.1314258203928285e-03 -9.9500363107657419e-04 + 3.2949111939157838e-03 -9.5042952419932547e-04 -1.3325855064207914e-03 + 2.3383672714949455e-04 6.1163939132602430e-04 1.4379192582674172e-03 +... diff --git a/unittest/force-styles/tests/compute-vacf.yaml b/unittest/force-styles/tests/compute-vacf.yaml new file mode 100644 index 00000000000..8b3c0341a85 --- /dev/null +++ b/unittest/force-styles/tests/compute-vacf.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:39 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute vacf +pre_commands: "" +post_commands: | + compute test all vacf +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 4 4.5739096440012428e-06 6.5250482828905194e-06 5.7996648915907677e-06 1.6898622818482531e-05 +... diff --git a/unittest/force-styles/tests/compute-vcm_chunk.yaml b/unittest/force-styles/tests/compute-vcm_chunk.yaml new file mode 100644 index 00000000000..4ca0163dbaf --- /dev/null +++ b/unittest/force-styles/tests/compute-vcm_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:33:58 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute vcm/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + compute test all vcm/chunk molchunk +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: | + -8.2195034000584234e-03 7.2413071459042815e-03 -6.5538931837773665e-03 + 6.6299850798421682e-03 -5.5330221685353882e-03 4.9117394453590552e-03 + 2.7388505046356906e-04 -3.7680520188406835e-04 7.9310875502128990e-04 + -1.1497197379508853e-03 -1.1263596667192711e-03 9.4808646773693046e-04 + 5.7751444275419832e-04 -9.3835439898682055e-04 6.8496278019397031e-04 + -6.3293009743509566e-04 7.1187058108791414e-05 4.5527714234741594e-04 +... diff --git a/unittest/force-styles/tests/compute-viscosity_cos.yaml b/unittest/force-styles/tests/compute-viscosity_cos.yaml new file mode 100644 index 00000000000..0e980e108ce --- /dev/null +++ b/unittest/force-styles/tests/compute-viscosity_cos.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:15 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + compute viscosity/cos +pre_commands: "" +post_commands: | + compute test all viscosity/cos +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3508.7897429200766 +global_vector: |- + 7 1.1580434637480101e+02 1.4050725165787856e+02 3.2939440279317273e+02 -9.5065705250507207e+01 -9.3004291111047834e+01 1.2329529931764161e+02 -5.4994163217331085e-04 +... diff --git a/unittest/force-styles/tests/compute-voronoi_atom.yaml b/unittest/force-styles/tests/compute-voronoi_atom.yaml new file mode 100644 index 00000000000..7c4f3868b96 --- /dev/null +++ b/unittest/force-styles/tests/compute-voronoi_atom.yaml @@ -0,0 +1,51 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:36 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute voronoi/atom +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all voronoi/atom +input_file: in.metal +natoms: 32 +peratom_data: |2 + 1.0000000000000000e+00 1.0770689968564447e+01 1.5000000000000000e+01 + 2.0000000000000000e+00 1.1354920689046191e+01 1.4000000000000000e+01 + 3.0000000000000000e+00 1.0820980060555407e+01 1.5000000000000000e+01 + 4.0000000000000000e+00 1.1341905951154878e+01 1.4000000000000000e+01 + 5.0000000000000000e+00 1.0582271143418149e+01 1.4000000000000000e+01 + 6.0000000000000000e+00 1.0929218468098625e+01 1.5000000000000000e+01 + 7.0000000000000000e+00 1.0602424109493704e+01 1.3000000000000000e+01 + 8.0000000000000000e+00 1.0948954510764395e+01 1.4000000000000000e+01 + 9.0000000000000000e+00 1.1114734397132818e+01 1.5000000000000000e+01 + 1.0000000000000000e+01 1.0482630423395776e+01 1.3000000000000000e+01 + 1.1000000000000000e+01 1.0925516219902761e+01 1.4000000000000000e+01 + 1.2000000000000000e+01 1.0323625219943857e+01 1.3000000000000000e+01 + 1.3000000000000000e+01 1.0847934561717935e+01 1.6000000000000000e+01 + 1.4000000000000000e+01 1.0281658188133987e+01 1.4000000000000000e+01 + 1.5000000000000000e+01 1.0735125722734255e+01 1.3000000000000000e+01 + 1.6000000000000000e+01 1.0467140241129410e+01 1.3000000000000000e+01 + 1.7000000000000000e+01 1.0598177664704750e+01 1.4000000000000000e+01 + 1.8000000000000000e+01 1.0931330030500543e+01 1.5000000000000000e+01 + 1.9000000000000000e+01 1.0741123606995107e+01 1.4000000000000000e+01 + 2.0000000000000000e+01 1.1107471191633540e+01 1.4000000000000000e+01 + 2.1000000000000000e+01 1.0576660448523947e+01 1.2000000000000000e+01 + 2.2000000000000000e+01 1.0750278080004023e+01 1.5000000000000000e+01 + 2.3000000000000000e+01 1.0375159957080648e+01 1.3000000000000000e+01 + 2.4000000000000000e+01 1.0640768361534754e+01 1.3000000000000000e+01 + 2.5000000000000000e+01 1.0655893811402169e+01 1.4000000000000000e+01 + 2.6000000000000000e+01 1.0518887431000209e+01 1.5000000000000000e+01 + 2.7000000000000000e+01 1.0921496248582375e+01 1.4000000000000000e+01 + 2.8000000000000000e+01 1.0365287713479297e+01 1.4000000000000000e+01 + 2.9000000000000000e+01 1.0703797157616879e+01 1.4000000000000000e+01 + 3.0000000000000000e+01 1.0358208501089546e+01 1.5000000000000000e+01 + 3.1000000000000000e+01 1.0666862537120426e+01 1.4000000000000000e+01 + 3.2000000000000000e+01 1.0558867383545163e+01 1.3000000000000000e+01 +... diff --git a/unittest/force-styles/tests/compute-xrd.yaml b/unittest/force-styles/tests/compute-xrd.yaml new file mode 100644 index 00000000000..68fa8c68465 --- /dev/null +++ b/unittest/force-styles/tests/compute-xrd.yaml @@ -0,0 +1,743 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:08 2026 +epsilon: 1e-08 +timestep: 0.001 +skip_tests: +prerequisites: | + atom atomic + compute xrd +pre_commands: "" +post_commands: | + pair_style lj/cut 4.0 + pair_coeff * * 0.4 2.3 + compute test all xrd 1.541838 Ni Ni 2Theta 40 80 c 1 1 1 LP 1 +input_file: in.metal +natoms: 32 +global_array: |2 + 7.9907678066351039e+01 5.6451329688658504e+01 + 7.8492711121402579e+01 7.8682125259848362e+01 + 7.4200848678345935e+01 8.6129132173513323e+00 + 7.2751066718519567e+01 1.0093164252542843e+02 + 7.4200848678345935e+01 8.0454808067832360e+01 + 7.8492711121402579e+01 4.4197914622889692e+02 + 7.4200848678345935e+01 1.4075805730882511e+01 + 6.9815799399672329e+01 8.5698323447666496e+01 + 6.8327719976902529e+01 5.7328856781748826e+01 + 6.9815799399672329e+01 3.5215353258041318e+01 + 7.4200848678345935e+01 9.1366968651358121e+01 + 7.9907678066351039e+01 2.2975524949310690e+02 + 7.2751066718519567e+01 5.2754893531337629e+01 + 6.8327719976902529e+01 3.6600832010241241e+01 + 6.6824116747014244e+01 9.2018536381181278e+01 + 6.8327719976902529e+01 1.7067850545781423e+02 + 7.2751066718519567e+01 6.5521465135791388e+01 + 7.9907678066351039e+01 2.6309521564259597e+02 + 7.4200848678345935e+01 1.1608820695010425e+02 + 6.9815799399672329e+01 6.3113924816471595e+01 + 6.8327719976902529e+01 3.7488665155713583e+01 + 6.9815799399672329e+01 2.4617704147679573e+00 + 7.4200848678345935e+01 1.7800984327858259e+02 + 7.8492711121402579e+01 4.7503632814139493e+01 + 7.4200848678345935e+01 6.8200911791817717e+01 + 7.2751066718519567e+01 5.7166820892769735e+01 + 7.4200848678345935e+01 9.4921152648411919e+01 + 7.8492711121402579e+01 1.1540567088442914e+02 + 7.9907678066351039e+01 2.3449125191197317e+02 + 7.8492711121402579e+01 1.0791991758717819e+02 + 7.7070592278305426e+01 2.1598332534962839e+04 + 7.8492711121402579e+01 3.1865476847525429e+01 + 7.9907678066351039e+01 1.5789702609824246e+02 + 7.2751066718519567e+01 2.0406557066992548e-01 + 6.8327719976902529e+01 2.2520345650339191e+01 + 6.6824116747014244e+01 6.7317879404657072e+02 + 6.8327719976902529e+01 2.5145091227023988e+02 + 7.2751066718519567e+01 6.5665164079359513e+01 + 7.9907678066351039e+01 8.7448829587428349e+01 + 7.2751066718519567e+01 1.0917131431910441e+02 + 6.5303423054501224e+01 1.9308504358834546e+02 + 6.0620882173815950e+01 1.7215954507953785e+02 + 5.9012971948840587e+01 5.5295564165134854e+00 + 6.0620882173815950e+01 1.3309507489415196e+02 + 6.5303423054501224e+01 1.1624348120285316e+02 + 7.2751066718519567e+01 1.2383693837590971e+02 + 7.8492711121402579e+01 6.7119609525835529e+02 + 6.8327719976902529e+01 1.8127308768515167e+01 + 6.0620882173815950e+01 8.6668331042438126e+01 + 5.5711543854303393e+01 3.2621731032541805e+02 + 5.4011886875841014e+01 1.0379484081826492e+03 + 5.5711543854303393e+01 3.1531157693523244e+02 + 6.0620882173815950e+01 1.9813423432383848e+02 + 6.8327719976902529e+01 9.6086406731657362e+01 + 7.8492711121402579e+01 1.6835482920476431e+02 + 7.7070592278305426e+01 2.2907578190922595e+04 + 6.6824116747014244e+01 2.4556159026627945e+01 + 5.9012971948840587e+01 6.4322246507142449e+02 + 5.4011886875841014e+01 1.0759002085224928e+02 + 5.2274784229381922e+01 8.6101919698536687e+04 + 5.4011886875841014e+01 1.0628739479797557e+02 + 5.9012971948840587e+01 5.4826438496960020e+02 + 6.6824116747014244e+01 5.6546605578894969e+01 + 7.7070592278305426e+01 2.0897811734738720e+04 + 7.8492711121402579e+01 2.9680151984297726e+02 + 6.8327719976902529e+01 2.0017532625274052e+02 + 6.0620882173815950e+01 8.1641716765715600e+01 + 5.5711543854303393e+01 2.7401935831531489e+02 + 5.4011886875841014e+01 5.1169836053195445e+02 + 5.5711543854303393e+01 2.2821411882524021e+02 + 6.0620882173815950e+01 1.0786245046733512e+02 + 6.8327719976902529e+01 5.8230656376830177e+02 + 7.8492711121402579e+01 5.9475767716582446e+01 + 7.2751066718519567e+01 1.5096273964025990e+01 + 6.5303423054501224e+01 4.7706877061577877e+01 + 6.0620882173815950e+01 3.7787156110940892e+01 + 5.9012971948840587e+01 1.9997820707744321e+01 + 6.0620882173815950e+01 1.0717307787927332e+02 + 6.5303423054501224e+01 8.8241909922286609e+01 + 7.2751066718519567e+01 7.3517844066630076e+01 + 7.9907678066351039e+01 5.8694092167186746e+01 + 7.2751066718519567e+01 8.6842125835794405e+01 + 6.8327719976902529e+01 1.7185262295822031e+02 + 6.6824116747014244e+01 6.6280134942813532e+01 + 6.8327719976902529e+01 7.2391007087513060e+02 + 7.2751066718519567e+01 1.1670251870525069e+01 + 7.9907678066351039e+01 1.5996369173915260e+01 + 7.8492711121402579e+01 3.1897401976123195e+01 + 7.7070592278305426e+01 2.2207039922711992e+04 + 7.8492711121402579e+01 1.9624659516560251e+02 + 7.9907678066351039e+01 2.3956850197094646e+00 + 7.9907678066351039e+01 2.7163307127488078e+01 + 7.2751066718519567e+01 6.0818175648158224e+01 + 6.8327719976902529e+01 2.1592004626882013e+02 + 6.6824116747014244e+01 5.3635261486989543e+02 + 6.8327719976902529e+01 1.0159930310829589e+01 + 7.2751066718519567e+01 5.1288108082153116e+01 + 7.9907678066351039e+01 1.1616217717210944e+02 + 7.9907678066351039e+01 1.7996836809300500e+01 + 6.9815799399672329e+01 2.4655070197234146e+00 + 6.2203772523381545e+01 2.2380340960639874e+01 + 5.7377484848544604e+01 1.1933635683454048e+02 + 5.5711543854303386e+01 1.2806536397423875e+02 + 5.7377484848544604e+01 2.4548088822533100e+02 + 6.2203772523381545e+01 8.1502735028613571e+01 + 6.9815799399672329e+01 1.7728250208815899e+02 + 7.9907678066351039e+01 7.4287680320785768e+01 + 7.2751066718519567e+01 5.2781432046298150e+01 + 6.2203772523381545e+01 1.2589405170193569e+02 + 5.4011886875841000e+01 8.1710893793823629e+01 + 4.8670315965835172e+01 3.6430686182578955e+02 + 4.6792022395402732e+01 2.7009232796508502e+02 + 4.8670315965835172e+01 2.1142110943111231e+02 + 5.4011886875841000e+01 1.4888360686091660e+03 + 6.2203772523381545e+01 1.3261556351508995e+02 + 7.2751066718519567e+01 3.2335762667434416e+01 + 6.8327719976902529e+01 4.3790547533849669e+01 + 5.7377484848544604e+01 1.7223653888821221e+02 + 4.8670315965835172e+01 1.0186104203501786e+02 + 4.2847679988013020e+01 4.0445061894198098e+01 + 4.0762548977416259e+01 2.1946715951354471e+02 + 4.2847679988013020e+01 7.7678301898483608e+02 + 4.8670315965835172e+01 2.1867828024448778e+02 + 5.7377484848544604e+01 9.4927669602260991e+01 + 6.8327719976902529e+01 1.2252881335313359e+02 + 7.9907678066351039e+01 2.4271555398200312e+02 + 6.6824116747014244e+01 2.9617450246092034e+02 + 5.5711543854303386e+01 1.8119201031375120e+01 + 4.6792022395402732e+01 2.0373278853425131e+02 + 4.0762548977416259e+01 5.4948818456506308e+02 + 4.0762548977416259e+01 2.4608408492286975e+02 + 4.6792022395402732e+01 9.4381350354400283e+01 + 5.5711543854303386e+01 4.0550803041776140e+00 + 6.6824116747014244e+01 7.4438459521271341e+02 + 7.9907678066351039e+01 1.3228370732705523e+02 + 6.8327719976902529e+01 1.1792885304819488e+02 + 5.7377484848544604e+01 1.6424139723219081e+01 + 4.8670315965835172e+01 2.0920271018322700e+02 + 4.2847679988013020e+01 6.2113746223465817e+01 + 4.0762548977416259e+01 3.7461334792280223e+02 + 4.2847679988013020e+01 5.6318939756726365e+02 + 4.8670315965835172e+01 2.5217362577837886e+02 + 5.7377484848544604e+01 2.2924067068832311e+01 + 6.8327719976902529e+01 2.0328170252551902e+02 + 7.2751066718519567e+01 1.6956026225291470e+01 + 6.2203772523381545e+01 1.7247299337590530e+01 + 5.4011886875841000e+01 5.7092835304662106e+02 + 4.8670315965835172e+01 8.6904260182631276e+02 + 4.6792022395402732e+01 4.1413199873825647e+01 + 4.8670315965835172e+01 3.9815164757571722e+02 + 5.4011886875841000e+01 5.1487837445898720e+02 + 6.2203772523381545e+01 1.3348909069064516e+02 + 7.2751066718519567e+01 5.4556340122723554e+00 + 7.9907678066351039e+01 2.0925662652812566e+01 + 6.9815799399672329e+01 4.8088187293240978e+01 + 6.2203772523381545e+01 9.4333609663304159e+01 + 5.7377484848544604e+01 1.0878934258443141e+02 + 5.5711543854303386e+01 1.4275421626694296e+02 + 5.7377484848544604e+01 3.9699109888515204e+02 + 6.2203772523381545e+01 1.5541580848159434e+01 + 6.9815799399672329e+01 1.2484482772764970e+01 + 7.9907678066351039e+01 1.6747510222554649e+02 + 7.9907678066351039e+01 1.4993467504072477e+01 + 7.2751066718519567e+01 6.2374943551407505e+00 + 6.8327719976902529e+01 4.2331085019377315e+02 + 6.6824116747014244e+01 2.9433371543361926e+02 + 6.8327719976902529e+01 2.2883540171118173e+02 + 7.2751066718519567e+01 2.8062278778510519e-01 + 7.9907678066351039e+01 1.4228651144051452e+02 + 7.9907678066351039e+01 2.2802929138711585e+02 + 7.8492711121402579e+01 4.3029763608078048e+02 + 7.4200848678345935e+01 6.9949518236902350e+01 + 7.2751066718519567e+01 7.7950438270246508e+01 + 7.4200848678345935e+01 3.1287356024429762e+01 + 7.8492711121402579e+01 2.7498046277874153e+02 + 7.2751066718519567e+01 9.9932429680064118e+01 + 6.5303423054501224e+01 3.2767235539188547e+01 + 6.0620882173815950e+01 1.9882236723209991e+02 + 5.9012971948840587e+01 6.5508192292849662e+02 + 6.0620882173815950e+01 3.3224688771125869e+02 + 6.5303423054501224e+01 1.8166718968241437e+01 + 7.2751066718519567e+01 4.0090925249603494e+01 + 7.2751066718519567e+01 4.4051959719955647e+01 + 6.2203772523381545e+01 1.6971461591849939e+02 + 5.4011886875841000e+01 1.4478607090175217e+03 + 4.8670315965835172e+01 1.9572742573089158e+02 + 4.6792022395402732e+01 3.1494454759963622e+02 + 4.8670315965835172e+01 4.3350360300786974e+02 + 5.4011886875841000e+01 9.6184276984832127e+02 + 6.2203772523381545e+01 2.8961837045235999e+01 + 7.2751066718519567e+01 3.2462539016917026e+02 + 7.8492711121402579e+01 7.5897682233556793e+01 + 6.5303423054501224e+01 1.5433442074350961e+02 + 5.4011886875841000e+01 1.9099269004472444e+02 + 4.4853993633422000e+01 1.4084568364811063e+05 + 4.4853993633422000e+01 1.3675387619169499e+05 + 5.4011886875841000e+01 1.0812196828939905e+01 + 6.5303423054501224e+01 1.1507783830298629e+02 + 7.8492711121402579e+01 5.7110867290565949e+01 + 7.4200848678345935e+01 2.0004092194191668e+02 + 6.0620882173815950e+01 1.2818669260858857e+02 + 4.8670315965835172e+01 2.6449703746671969e+02 + 4.8670315965835172e+01 6.3774587720764237e+02 + 6.0620882173815950e+01 1.5129172571856702e+02 + 7.4200848678345935e+01 3.6849022964610594e+02 + 7.2751066718519567e+01 2.2861497235133822e+01 + 5.9012971948840587e+01 2.4259150508162890e+01 + 4.6792022395402732e+01 2.7220035455104931e+01 + 4.6792022395402732e+01 1.2603780181295329e+02 + 5.9012971948840587e+01 1.1555225584076531e+01 + 7.2751066718519567e+01 3.8947253516091287e+01 + 7.4200848678345935e+01 1.3618006753268227e+02 + 6.0620882173815950e+01 1.2139797363095738e+02 + 4.8670315965835172e+01 4.3453388912202479e+02 + 4.8670315965835172e+01 1.2790434538542427e+03 + 6.0620882173815950e+01 1.2722010571930804e+02 + 7.4200848678345935e+01 4.0672413265529386e+01 + 7.8492711121402579e+01 3.1135364381097197e+01 + 6.5303423054501224e+01 1.0388010171229301e+02 + 5.4011886875841000e+01 6.4541248007864681e+01 + 4.4853993633422000e+01 1.4077322241382377e+05 + 4.4853993633422000e+01 1.3869163189412671e+05 + 5.4011886875841000e+01 2.8201373579382511e+02 + 6.5303423054501224e+01 5.0585327840199774e+01 + 7.8492711121402579e+01 8.3032545801014919e+01 + 7.2751066718519567e+01 2.0891661526117866e+02 + 6.2203772523381545e+01 1.3615909063706431e+02 + 5.4011886875841000e+01 3.0744196891493897e+02 + 4.8670315965835172e+01 1.1172844799756353e+02 + 4.6792022395402732e+01 7.5757397592938517e+01 + 4.8670315965835172e+01 1.2575988556696548e+03 + 5.4011886875841000e+01 6.2049744989090570e+01 + 6.2203772523381545e+01 8.3023535793754164e+01 + 7.2751066718519567e+01 2.7648839992599616e+01 + 7.2751066718519567e+01 1.2285891903756129e+01 + 6.5303423054501224e+01 2.8851931863227467e+01 + 6.0620882173815950e+01 1.4477895580243799e+02 + 5.9012971948840587e+01 5.3537257183036411e+02 + 6.0620882173815950e+01 1.5614990269032867e+02 + 6.5303423054501224e+01 4.9841166228393710e+01 + 7.2751066718519567e+01 6.0899789704778357e+01 + 7.8492711121402579e+01 1.4248107141777669e+02 + 7.4200848678345935e+01 2.3575652805159953e+02 + 7.2751066718519567e+01 1.4114599322342946e+02 + 7.4200848678345935e+01 1.9908854741695361e+01 + 7.8492711121402579e+01 1.4424120455208586e+02 + 7.4200848678345935e+01 2.1154708093627104e+02 + 6.9815799399672329e+01 1.5797830626371694e+00 + 6.8327719976902529e+01 1.6112373635040009e+02 + 6.9815799399672329e+01 1.9163505015685828e+02 + 7.4200848678345935e+01 1.9631489565938378e+02 + 7.8492711121402579e+01 2.0760782080426020e+02 + 6.8327719976902529e+01 2.8555204895580687e+02 + 6.0620882173815950e+01 1.2509575120992780e+02 + 5.5711543854303393e+01 1.6595011563018051e+02 + 5.4011886875841014e+01 9.5471053651261991e+02 + 5.5711543854303393e+01 7.1770097094002676e+02 + 6.0620882173815950e+01 7.9308793479422434e+01 + 6.8327719976902529e+01 1.3073125620488634e+02 + 7.8492711121402579e+01 1.1397879380421120e+03 + 6.8327719976902529e+01 1.4518919059977949e+02 + 5.7377484848544604e+01 3.5215196363416780e+01 + 4.8670315965835172e+01 1.5969968926954277e+01 + 4.2847679988013020e+01 1.1952051172644147e+02 + 4.0762548977416259e+01 2.3744263050933125e+01 + 4.2847679988013020e+01 1.5655053775940004e+02 + 4.8670315965835172e+01 6.4946296393052620e+01 + 5.7377484848544604e+01 5.3063925261016050e+02 + 6.8327719976902529e+01 1.0143042753505442e+02 + 7.4200848678345935e+01 9.5653110038130023e+01 + 6.0620882173815950e+01 7.1402204710092647e+01 + 4.8670315965835172e+01 3.3622493595405547e+02 + 4.8670315965835172e+01 5.7492565518014636e+01 + 6.0620882173815950e+01 3.4191813995781850e+01 + 7.4200848678345935e+01 1.8487310507583126e+02 + 6.9815799399672329e+01 2.0520282416963846e+02 + 5.5711543854303386e+01 4.7778897225285064e+01 + 4.2847679988013020e+01 4.1976294527201619e+00 + 4.2847679988013020e+01 8.1774152592555936e+02 + 5.5711543854303386e+01 9.7912284118790652e+01 + 6.9815799399672329e+01 9.9342674379850891e+01 + 6.8327719976902529e+01 1.8211930409875586e+02 + 5.4011886875841014e+01 1.1184147389516079e+03 + 4.0762548977416259e+01 4.9476705918544792e+02 + 4.0762548977416259e+01 6.1313613273239298e+02 + 5.4011886875841014e+01 1.7144115234296048e+03 + 6.8327719976902529e+01 5.1282398451323786e+01 + 6.9815799399672329e+01 5.7962862027904350e+02 + 5.5711543854303386e+01 2.5423410135545458e+02 + 4.2847679988013020e+01 4.2766797337977323e+02 + 4.2847679988013020e+01 1.9036067619276168e+03 + 5.5711543854303386e+01 5.7220724672172345e+01 + 6.9815799399672329e+01 1.1245317297601386e+02 + 7.4200848678345935e+01 1.0088099957188597e+02 + 6.0620882173815950e+01 1.4135814058686325e+01 + 4.8670315965835172e+01 6.5724471492650116e+02 + 4.8670315965835172e+01 6.7922120138438015e+02 + 6.0620882173815950e+01 4.8589032285567777e+00 + 7.4200848678345935e+01 7.9182226561932254e+01 + 6.8327719976902529e+01 1.0139183184292830e+02 + 5.7377484848544604e+01 2.3735483809149710e+02 + 4.8670315965835172e+01 5.0092496690580316e+02 + 4.2847679988013020e+01 1.5914426378121195e+01 + 4.0762548977416259e+01 8.0980110953897349e+02 + 4.2847679988013020e+01 2.1823224834302616e+02 + 4.8670315965835172e+01 4.3009546474914816e+02 + 5.7377484848544604e+01 2.8713349913257929e+02 + 6.8327719976902529e+01 1.3073232234980756e+02 + 7.8492711121402579e+01 8.4886706125931664e+02 + 6.8327719976902529e+01 5.1089377632853183e+02 + 6.0620882173815950e+01 5.3566013572148378e+01 + 5.5711543854303393e+01 1.4601671144369891e+02 + 5.4011886875841014e+01 5.9122344868446419e+02 + 5.5711543854303393e+01 5.1869868879451315e+02 + 6.0620882173815950e+01 8.3033258074560496e+00 + 6.8327719976902529e+01 1.9337718574253120e+02 + 7.8492711121402579e+01 2.7776585346518317e+02 + 7.4200848678345935e+01 9.9718471500708770e+00 + 6.9815799399672329e+01 3.2124461668888671e+00 + 6.8327719976902529e+01 1.8685123780211487e+01 + 6.9815799399672329e+01 3.0979921388158154e+01 + 7.4200848678345935e+01 5.3192148185490986e+01 + 7.9907678066351039e+01 4.3001810005508378e+02 + 7.2751066718519567e+01 2.1252754775727944e+01 + 6.8327719976902529e+01 9.8106293059363082e+01 + 6.6824116747014244e+01 5.7001715383235774e+02 + 6.8327719976902529e+01 2.8916507368432343e+02 + 7.2751066718519567e+01 1.6678564300222266e+02 + 7.9907678066351039e+01 1.5529197063125264e+02 + 7.7070592278305426e+01 2.1438018755907684e+04 + 6.6824116747014244e+01 9.6850391039871113e+01 + 5.9012971948840587e+01 3.1931805532675416e+01 + 5.4011886875841014e+01 4.1027195983760856e+02 + 5.2274784229381922e+01 8.3182426238094209e+04 + 5.4011886875841014e+01 5.6223322894751703e+01 + 5.9012971948840587e+01 3.0869059258224323e+00 + 6.6824116747014244e+01 5.0391129771018486e+00 + 7.7070592278305426e+01 2.0824077349121810e+04 + 7.9907678066351039e+01 5.0415657357714827e+02 + 6.6824116747014244e+01 3.3088720125074127e+02 + 5.5711543854303386e+01 8.4749518180493183e+01 + 4.6792022395402732e+01 2.3220577050463177e+01 + 4.0762548977416259e+01 1.1166710113093691e+03 + 4.0762548977416259e+01 2.6996795812457890e+02 + 4.6792022395402732e+01 3.3549474604524414e+02 + 5.5711543854303386e+01 3.2685765078269910e+01 + 6.6824116747014244e+01 2.2440351998516940e+02 + 7.9907678066351039e+01 2.6678504959589117e+02 + 7.2751066718519567e+01 2.6052295668071178e+01 + 5.9012971948840587e+01 2.3280032997079449e+01 + 4.6792022395402732e+01 2.5251773509984864e+02 + 4.6792022395402732e+01 1.2344179439115257e+02 + 5.9012971948840587e+01 3.9008606900372400e+00 + 7.2751066718519567e+01 1.2202446827766311e+01 + 6.8327719976902529e+01 2.4766569110391660e+02 + 5.4011886875841014e+01 4.0412212144532867e+02 + 4.0762548977416259e+01 1.1528345265282201e+03 + 4.0762548977416259e+01 4.4224272268587140e+02 + 5.4011886875841014e+01 2.5120828805738481e+02 + 6.8327719976902529e+01 1.5254046207384934e+02 + 6.6824116747014244e+01 2.5476712637003118e+01 + 5.2274784229381922e+01 8.3104530191217971e+04 + 5.2274784229381922e+01 8.3104530191217971e+04 + 6.6824116747014244e+01 2.5476712637003118e+01 + 6.8327719976902529e+01 1.5254046207384934e+02 + 5.4011886875841014e+01 2.5120828805738481e+02 + 4.0762548977416259e+01 4.4224272268587140e+02 + 4.0762548977416259e+01 1.1528345265282201e+03 + 5.4011886875841014e+01 4.0412212144532867e+02 + 6.8327719976902529e+01 2.4766569110391660e+02 + 7.2751066718519567e+01 1.2202446827766311e+01 + 5.9012971948840587e+01 3.9008606900372400e+00 + 4.6792022395402732e+01 1.2344179439115257e+02 + 4.6792022395402732e+01 2.5251773509984864e+02 + 5.9012971948840587e+01 2.3280032997079449e+01 + 7.2751066718519567e+01 2.6052295668071178e+01 + 7.9907678066351039e+01 2.6678504959589117e+02 + 6.6824116747014244e+01 2.2440351998516940e+02 + 5.5711543854303386e+01 3.2685765078269910e+01 + 4.6792022395402732e+01 3.3549474604524414e+02 + 4.0762548977416259e+01 2.6996795812457890e+02 + 4.0762548977416259e+01 1.1166710113093691e+03 + 4.6792022395402732e+01 2.3220577050463177e+01 + 5.5711543854303386e+01 8.4749518180493183e+01 + 6.6824116747014244e+01 3.3088720125074127e+02 + 7.9907678066351039e+01 5.0415657357714827e+02 + 7.7070592278305426e+01 2.0824077349121810e+04 + 6.6824116747014244e+01 5.0391129771018486e+00 + 5.9012971948840587e+01 3.0869059258224323e+00 + 5.4011886875841014e+01 5.6223322894751703e+01 + 5.2274784229381922e+01 8.3182426238094209e+04 + 5.4011886875841014e+01 4.1027195983760856e+02 + 5.9012971948840587e+01 3.1931805532675416e+01 + 6.6824116747014244e+01 9.6850391039871113e+01 + 7.7070592278305426e+01 2.1438018755907684e+04 + 7.9907678066351039e+01 1.5529197063125264e+02 + 7.2751066718519567e+01 1.6678564300222266e+02 + 6.8327719976902529e+01 2.8916507368432343e+02 + 6.6824116747014244e+01 5.7001715383235774e+02 + 6.8327719976902529e+01 9.8106293059363082e+01 + 7.2751066718519567e+01 2.1252754775727944e+01 + 7.9907678066351039e+01 4.3001810005508378e+02 + 7.4200848678345935e+01 5.3192148185490986e+01 + 6.9815799399672329e+01 3.0979921388158154e+01 + 6.8327719976902529e+01 1.8685123780211487e+01 + 6.9815799399672329e+01 3.2124461668888671e+00 + 7.4200848678345935e+01 9.9718471500708770e+00 + 7.8492711121402579e+01 2.7776585346518317e+02 + 6.8327719976902529e+01 1.9337718574253120e+02 + 6.0620882173815950e+01 8.3033258074560496e+00 + 5.5711543854303393e+01 5.1869868879451315e+02 + 5.4011886875841014e+01 5.9122344868446419e+02 + 5.5711543854303393e+01 1.4601671144369891e+02 + 6.0620882173815950e+01 5.3566013572148378e+01 + 6.8327719976902529e+01 5.1089377632853183e+02 + 7.8492711121402579e+01 8.4886706125931664e+02 + 6.8327719976902529e+01 1.3073232234980756e+02 + 5.7377484848544604e+01 2.8713349913257929e+02 + 4.8670315965835172e+01 4.3009546474914816e+02 + 4.2847679988013020e+01 2.1823224834302616e+02 + 4.0762548977416259e+01 8.0980110953897349e+02 + 4.2847679988013020e+01 1.5914426378121195e+01 + 4.8670315965835172e+01 5.0092496690580316e+02 + 5.7377484848544604e+01 2.3735483809149710e+02 + 6.8327719976902529e+01 1.0139183184292830e+02 + 7.4200848678345935e+01 7.9182226561932254e+01 + 6.0620882173815950e+01 4.8589032285567777e+00 + 4.8670315965835172e+01 6.7922120138438015e+02 + 4.8670315965835172e+01 6.5724471492650116e+02 + 6.0620882173815950e+01 1.4135814058686325e+01 + 7.4200848678345935e+01 1.0088099957188597e+02 + 6.9815799399672329e+01 1.1245317297601386e+02 + 5.5711543854303386e+01 5.7220724672172345e+01 + 4.2847679988013020e+01 1.9036067619276168e+03 + 4.2847679988013020e+01 4.2766797337977323e+02 + 5.5711543854303386e+01 2.5423410135545458e+02 + 6.9815799399672329e+01 5.7962862027904350e+02 + 6.8327719976902529e+01 5.1282398451323786e+01 + 5.4011886875841014e+01 1.7144115234296048e+03 + 4.0762548977416259e+01 6.1313613273239298e+02 + 4.0762548977416259e+01 4.9476705918544792e+02 + 5.4011886875841014e+01 1.1184147389516079e+03 + 6.8327719976902529e+01 1.8211930409875586e+02 + 6.9815799399672329e+01 9.9342674379850891e+01 + 5.5711543854303386e+01 9.7912284118790652e+01 + 4.2847679988013020e+01 8.1774152592555936e+02 + 4.2847679988013020e+01 4.1976294527201619e+00 + 5.5711543854303386e+01 4.7778897225285064e+01 + 6.9815799399672329e+01 2.0520282416963846e+02 + 7.4200848678345935e+01 1.8487310507583126e+02 + 6.0620882173815950e+01 3.4191813995781850e+01 + 4.8670315965835172e+01 5.7492565518014636e+01 + 4.8670315965835172e+01 3.3622493595405547e+02 + 6.0620882173815950e+01 7.1402204710092647e+01 + 7.4200848678345935e+01 9.5653110038130023e+01 + 6.8327719976902529e+01 1.0143042753505442e+02 + 5.7377484848544604e+01 5.3063925261016050e+02 + 4.8670315965835172e+01 6.4946296393052620e+01 + 4.2847679988013020e+01 1.5655053775940004e+02 + 4.0762548977416259e+01 2.3744263050933125e+01 + 4.2847679988013020e+01 1.1952051172644147e+02 + 4.8670315965835172e+01 1.5969968926954277e+01 + 5.7377484848544604e+01 3.5215196363416780e+01 + 6.8327719976902529e+01 1.4518919059977949e+02 + 7.8492711121402579e+01 1.1397879380421120e+03 + 6.8327719976902529e+01 1.3073125620488634e+02 + 6.0620882173815950e+01 7.9308793479422434e+01 + 5.5711543854303393e+01 7.1770097094002676e+02 + 5.4011886875841014e+01 9.5471053651261991e+02 + 5.5711543854303393e+01 1.6595011563018051e+02 + 6.0620882173815950e+01 1.2509575120992780e+02 + 6.8327719976902529e+01 2.8555204895580687e+02 + 7.8492711121402579e+01 2.0760782080426020e+02 + 7.4200848678345935e+01 1.9631489565938378e+02 + 6.9815799399672329e+01 1.9163505015685828e+02 + 6.8327719976902529e+01 1.6112373635040009e+02 + 6.9815799399672329e+01 1.5797830626371694e+00 + 7.4200848678345935e+01 2.1154708093627104e+02 + 7.8492711121402579e+01 1.4424120455208586e+02 + 7.4200848678345935e+01 1.9908854741695361e+01 + 7.2751066718519567e+01 1.4114599322342946e+02 + 7.4200848678345935e+01 2.3575652805159953e+02 + 7.8492711121402579e+01 1.4248107141777669e+02 + 7.2751066718519567e+01 6.0899789704778357e+01 + 6.5303423054501224e+01 4.9841166228393710e+01 + 6.0620882173815950e+01 1.5614990269032867e+02 + 5.9012971948840587e+01 5.3537257183036411e+02 + 6.0620882173815950e+01 1.4477895580243799e+02 + 6.5303423054501224e+01 2.8851931863227467e+01 + 7.2751066718519567e+01 1.2285891903756129e+01 + 7.2751066718519567e+01 2.7648839992599616e+01 + 6.2203772523381545e+01 8.3023535793754164e+01 + 5.4011886875841000e+01 6.2049744989090570e+01 + 4.8670315965835172e+01 1.2575988556696548e+03 + 4.6792022395402732e+01 7.5757397592938517e+01 + 4.8670315965835172e+01 1.1172844799756353e+02 + 5.4011886875841000e+01 3.0744196891493897e+02 + 6.2203772523381545e+01 1.3615909063706431e+02 + 7.2751066718519567e+01 2.0891661526117866e+02 + 7.8492711121402579e+01 8.3032545801014919e+01 + 6.5303423054501224e+01 5.0585327840199774e+01 + 5.4011886875841000e+01 2.8201373579382511e+02 + 4.4853993633422000e+01 1.3869163189412671e+05 + 4.4853993633422000e+01 1.4077322241382377e+05 + 5.4011886875841000e+01 6.4541248007864681e+01 + 6.5303423054501224e+01 1.0388010171229301e+02 + 7.8492711121402579e+01 3.1135364381097197e+01 + 7.4200848678345935e+01 4.0672413265529386e+01 + 6.0620882173815950e+01 1.2722010571930804e+02 + 4.8670315965835172e+01 1.2790434538542427e+03 + 4.8670315965835172e+01 4.3453388912202479e+02 + 6.0620882173815950e+01 1.2139797363095738e+02 + 7.4200848678345935e+01 1.3618006753268227e+02 + 7.2751066718519567e+01 3.8947253516091287e+01 + 5.9012971948840587e+01 1.1555225584076531e+01 + 4.6792022395402732e+01 1.2603780181295329e+02 + 4.6792022395402732e+01 2.7220035455104931e+01 + 5.9012971948840587e+01 2.4259150508162890e+01 + 7.2751066718519567e+01 2.2861497235133822e+01 + 7.4200848678345935e+01 3.6849022964610594e+02 + 6.0620882173815950e+01 1.5129172571856702e+02 + 4.8670315965835172e+01 6.3774587720764237e+02 + 4.8670315965835172e+01 2.6449703746671969e+02 + 6.0620882173815950e+01 1.2818669260858857e+02 + 7.4200848678345935e+01 2.0004092194191668e+02 + 7.8492711121402579e+01 5.7110867290565949e+01 + 6.5303423054501224e+01 1.1507783830298629e+02 + 5.4011886875841000e+01 1.0812196828939905e+01 + 4.4853993633422000e+01 1.3675387619169499e+05 + 4.4853993633422000e+01 1.4084568364811063e+05 + 5.4011886875841000e+01 1.9099269004472444e+02 + 6.5303423054501224e+01 1.5433442074350961e+02 + 7.8492711121402579e+01 7.5897682233556793e+01 + 7.2751066718519567e+01 3.2462539016917026e+02 + 6.2203772523381545e+01 2.8961837045235999e+01 + 5.4011886875841000e+01 9.6184276984832127e+02 + 4.8670315965835172e+01 4.3350360300786974e+02 + 4.6792022395402732e+01 3.1494454759963622e+02 + 4.8670315965835172e+01 1.9572742573089158e+02 + 5.4011886875841000e+01 1.4478607090175217e+03 + 6.2203772523381545e+01 1.6971461591849939e+02 + 7.2751066718519567e+01 4.4051959719955647e+01 + 7.2751066718519567e+01 4.0090925249603494e+01 + 6.5303423054501224e+01 1.8166718968241437e+01 + 6.0620882173815950e+01 3.3224688771125869e+02 + 5.9012971948840587e+01 6.5508192292849662e+02 + 6.0620882173815950e+01 1.9882236723209991e+02 + 6.5303423054501224e+01 3.2767235539188547e+01 + 7.2751066718519567e+01 9.9932429680064118e+01 + 7.8492711121402579e+01 2.7498046277874153e+02 + 7.4200848678345935e+01 3.1287356024429762e+01 + 7.2751066718519567e+01 7.7950438270246508e+01 + 7.4200848678345935e+01 6.9949518236902350e+01 + 7.8492711121402579e+01 4.3029763608078048e+02 + 7.9907678066351039e+01 2.2802929138711585e+02 + 7.9907678066351039e+01 1.4228651144051452e+02 + 7.2751066718519567e+01 2.8062278778510519e-01 + 6.8327719976902529e+01 2.2883540171118173e+02 + 6.6824116747014244e+01 2.9433371543361926e+02 + 6.8327719976902529e+01 4.2331085019377315e+02 + 7.2751066718519567e+01 6.2374943551407505e+00 + 7.9907678066351039e+01 1.4993467504072477e+01 + 7.9907678066351039e+01 1.6747510222554649e+02 + 6.9815799399672329e+01 1.2484482772764970e+01 + 6.2203772523381545e+01 1.5541580848159434e+01 + 5.7377484848544604e+01 3.9699109888515204e+02 + 5.5711543854303386e+01 1.4275421626694296e+02 + 5.7377484848544604e+01 1.0878934258443141e+02 + 6.2203772523381545e+01 9.4333609663304159e+01 + 6.9815799399672329e+01 4.8088187293240978e+01 + 7.9907678066351039e+01 2.0925662652812566e+01 + 7.2751066718519567e+01 5.4556340122723554e+00 + 6.2203772523381545e+01 1.3348909069064516e+02 + 5.4011886875841000e+01 5.1487837445898720e+02 + 4.8670315965835172e+01 3.9815164757571722e+02 + 4.6792022395402732e+01 4.1413199873825647e+01 + 4.8670315965835172e+01 8.6904260182631276e+02 + 5.4011886875841000e+01 5.7092835304662106e+02 + 6.2203772523381545e+01 1.7247299337590530e+01 + 7.2751066718519567e+01 1.6956026225291470e+01 + 6.8327719976902529e+01 2.0328170252551902e+02 + 5.7377484848544604e+01 2.2924067068832311e+01 + 4.8670315965835172e+01 2.5217362577837886e+02 + 4.2847679988013020e+01 5.6318939756726365e+02 + 4.0762548977416259e+01 3.7461334792280223e+02 + 4.2847679988013020e+01 6.2113746223465817e+01 + 4.8670315965835172e+01 2.0920271018322700e+02 + 5.7377484848544604e+01 1.6424139723219081e+01 + 6.8327719976902529e+01 1.1792885304819488e+02 + 7.9907678066351039e+01 1.3228370732705523e+02 + 6.6824116747014244e+01 7.4438459521271341e+02 + 5.5711543854303386e+01 4.0550803041776140e+00 + 4.6792022395402732e+01 9.4381350354400283e+01 + 4.0762548977416259e+01 2.4608408492286975e+02 + 4.0762548977416259e+01 5.4948818456506308e+02 + 4.6792022395402732e+01 2.0373278853425131e+02 + 5.5711543854303386e+01 1.8119201031375120e+01 + 6.6824116747014244e+01 2.9617450246092034e+02 + 7.9907678066351039e+01 2.4271555398200312e+02 + 6.8327719976902529e+01 1.2252881335313359e+02 + 5.7377484848544604e+01 9.4927669602260991e+01 + 4.8670315965835172e+01 2.1867828024448778e+02 + 4.2847679988013020e+01 7.7678301898483608e+02 + 4.0762548977416259e+01 2.1946715951354471e+02 + 4.2847679988013020e+01 4.0445061894198098e+01 + 4.8670315965835172e+01 1.0186104203501786e+02 + 5.7377484848544604e+01 1.7223653888821221e+02 + 6.8327719976902529e+01 4.3790547533849669e+01 + 7.2751066718519567e+01 3.2335762667434416e+01 + 6.2203772523381545e+01 1.3261556351508995e+02 + 5.4011886875841000e+01 1.4888360686091660e+03 + 4.8670315965835172e+01 2.1142110943111231e+02 + 4.6792022395402732e+01 2.7009232796508502e+02 + 4.8670315965835172e+01 3.6430686182578955e+02 + 5.4011886875841000e+01 8.1710893793823629e+01 + 6.2203772523381545e+01 1.2589405170193569e+02 + 7.2751066718519567e+01 5.2781432046298150e+01 + 7.9907678066351039e+01 7.4287680320785768e+01 + 6.9815799399672329e+01 1.7728250208815899e+02 + 6.2203772523381545e+01 8.1502735028613571e+01 + 5.7377484848544604e+01 2.4548088822533100e+02 + 5.5711543854303386e+01 1.2806536397423875e+02 + 5.7377484848544604e+01 1.1933635683454048e+02 + 6.2203772523381545e+01 2.2380340960639874e+01 + 6.9815799399672329e+01 2.4655070197234146e+00 + 7.9907678066351039e+01 1.7996836809300500e+01 + 7.9907678066351039e+01 1.1616217717210944e+02 + 7.2751066718519567e+01 5.1288108082153116e+01 + 6.8327719976902529e+01 1.0159930310829589e+01 + 6.6824116747014244e+01 5.3635261486989543e+02 + 6.8327719976902529e+01 2.1592004626882013e+02 + 7.2751066718519567e+01 6.0818175648158224e+01 + 7.9907678066351039e+01 2.7163307127488078e+01 + 7.9907678066351039e+01 2.3956850197094646e+00 + 7.8492711121402579e+01 1.9624659516560251e+02 + 7.7070592278305426e+01 2.2207039922711992e+04 + 7.8492711121402579e+01 3.1897401976123195e+01 + 7.9907678066351039e+01 1.5996369173915260e+01 + 7.2751066718519567e+01 1.1670251870525069e+01 + 6.8327719976902529e+01 7.2391007087513060e+02 + 6.6824116747014244e+01 6.6280134942813532e+01 + 6.8327719976902529e+01 1.7185262295822031e+02 + 7.2751066718519567e+01 8.6842125835794405e+01 + 7.9907678066351039e+01 5.8694092167186746e+01 + 7.2751066718519567e+01 7.3517844066630076e+01 + 6.5303423054501224e+01 8.8241909922286609e+01 + 6.0620882173815950e+01 1.0717307787927332e+02 + 5.9012971948840587e+01 1.9997820707744321e+01 + 6.0620882173815950e+01 3.7787156110940892e+01 + 6.5303423054501224e+01 4.7706877061577877e+01 + 7.2751066718519567e+01 1.5096273964025990e+01 + 7.8492711121402579e+01 5.9475767716582446e+01 + 6.8327719976902529e+01 5.8230656376830177e+02 + 6.0620882173815950e+01 1.0786245046733512e+02 + 5.5711543854303393e+01 2.2821411882524021e+02 + 5.4011886875841014e+01 5.1169836053195445e+02 + 5.5711543854303393e+01 2.7401935831531489e+02 + 6.0620882173815950e+01 8.1641716765715600e+01 + 6.8327719976902529e+01 2.0017532625274052e+02 + 7.8492711121402579e+01 2.9680151984297726e+02 + 7.7070592278305426e+01 2.0897811734738720e+04 + 6.6824116747014244e+01 5.6546605578894969e+01 + 5.9012971948840587e+01 5.4826438496960020e+02 + 5.4011886875841014e+01 1.0628739479797557e+02 + 5.2274784229381922e+01 8.6101919698536687e+04 + 5.4011886875841014e+01 1.0759002085224928e+02 + 5.9012971948840587e+01 6.4322246507142449e+02 + 6.6824116747014244e+01 2.4556159026627945e+01 + 7.7070592278305426e+01 2.2907578190922595e+04 + 7.8492711121402579e+01 1.6835482920476431e+02 + 6.8327719976902529e+01 9.6086406731657362e+01 + 6.0620882173815950e+01 1.9813423432383848e+02 + 5.5711543854303393e+01 3.1531157693523244e+02 + 5.4011886875841014e+01 1.0379484081826492e+03 + 5.5711543854303393e+01 3.2621731032541805e+02 + 6.0620882173815950e+01 8.6668331042438126e+01 + 6.8327719976902529e+01 1.8127308768515167e+01 + 7.8492711121402579e+01 6.7119609525835529e+02 + 7.2751066718519567e+01 1.2383693837590971e+02 + 6.5303423054501224e+01 1.1624348120285316e+02 + 6.0620882173815950e+01 1.3309507489415196e+02 + 5.9012971948840587e+01 5.5295564165134854e+00 + 6.0620882173815950e+01 1.7215954507953785e+02 + 6.5303423054501224e+01 1.9308504358834546e+02 + 7.2751066718519567e+01 1.0917131431910441e+02 + 7.9907678066351039e+01 8.7448829587428349e+01 + 7.2751066718519567e+01 6.5665164079359513e+01 + 6.8327719976902529e+01 2.5145091227023988e+02 + 6.6824116747014244e+01 6.7317879404657072e+02 + 6.8327719976902529e+01 2.2520345650339191e+01 + 7.2751066718519567e+01 2.0406557066992548e-01 + 7.9907678066351039e+01 1.5789702609824246e+02 + 7.8492711121402579e+01 3.1865476847525429e+01 + 7.7070592278305426e+01 2.1598332534962839e+04 + 7.8492711121402579e+01 1.0791991758717819e+02 + 7.9907678066351039e+01 2.3449125191197317e+02 + 7.8492711121402579e+01 1.1540567088442914e+02 + 7.4200848678345935e+01 9.4921152648411919e+01 + 7.2751066718519567e+01 5.7166820892769735e+01 + 7.4200848678345935e+01 6.8200911791817717e+01 + 7.8492711121402579e+01 4.7503632814139493e+01 + 7.4200848678345935e+01 1.7800984327858259e+02 + 6.9815799399672329e+01 2.4617704147679573e+00 + 6.8327719976902529e+01 3.7488665155713583e+01 + 6.9815799399672329e+01 6.3113924816471595e+01 + 7.4200848678345935e+01 1.1608820695010425e+02 + 7.9907678066351039e+01 2.6309521564259597e+02 + 7.2751066718519567e+01 6.5521465135791388e+01 + 6.8327719976902529e+01 1.7067850545781423e+02 + 6.6824116747014244e+01 9.2018536381181278e+01 + 6.8327719976902529e+01 3.6600832010241241e+01 + 7.2751066718519567e+01 5.2754893531337629e+01 + 7.9907678066351039e+01 2.2975524949310690e+02 + 7.4200848678345935e+01 9.1366968651358121e+01 + 6.9815799399672329e+01 3.5215353258041318e+01 + 6.8327719976902529e+01 5.7328856781748826e+01 + 6.9815799399672329e+01 8.5698323447666496e+01 + 7.4200848678345935e+01 1.4075805730882511e+01 + 7.8492711121402579e+01 4.4197914622889692e+02 + 7.4200848678345935e+01 8.0454808067832360e+01 + 7.2751066718519567e+01 1.0093164252542843e+02 + 7.4200848678345935e+01 8.6129132173513323e+00 + 7.8492711121402579e+01 7.8682125259848362e+01 + 7.9907678066351039e+01 5.6451329688658504e+01 +... diff --git a/unittest/force-styles/tests/fix-output-ave_atom.yaml b/unittest/force-styles/tests/fix-output-ave_atom.yaml new file mode 100644 index 00000000000..f1230f89901 --- /dev/null +++ b/unittest/force-styles/tests/fix-output-ave_atom.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:51 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix ave/atom +pre_commands: "" +post_commands: | + fix test all ave/atom 2 5 10 x vy +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 -2.7335391367399842e-01 1.2730245987525344e-02 + 2.0000000000000000e+00 3.0786459918529979e-01 5.0340808168212450e-03 + 3.0000000000000000e+00 -7.0113307659147595e-01 -9.5707776161867396e-03 + 4.0000000000000000e+00 -1.5804819793060116e+00 -5.2389930789637478e-03 + 5.0000000000000000e+00 -9.0353829682324505e-01 -7.2335450864554731e-03 + 6.0000000000000000e+00 2.6291493935751620e-01 3.6752677431494941e-02 + 7.0000000000000000e+00 3.4101074130169579e-01 -8.2977275336059367e-03 + 8.0000000000000000e+00 1.1711169710537390e+00 -2.8683800307386328e-03 + 9.0000000000000000e+00 1.3795209468002949e+00 2.1240574504318554e-03 + 1.0000000000000000e+01 2.0407832566284214e+00 -2.2250758683258948e-02 + 1.1000000000000000e+01 1.7893742256424379e+00 -3.1774821374275716e-03 + 1.2000000000000000e+01 3.0054184305930294e+00 -4.1004193966812433e-04 + 1.3000000000000000e+01 4.0499248597953663e+00 5.2360331095359343e-03 + 1.4000000000000000e+01 2.6056208702339498e+00 -5.3814614459000449e-03 + 1.5000000000000000e+01 2.9708883197589331e+00 -5.2003659979753952e-03 + 1.6000000000000000e+01 2.6673622820049800e+00 -1.0651975837469888e-02 + 1.7000000000000000e+01 2.2204542791015580e+00 7.8589935862505601e-03 + 1.8000000000000000e+01 2.1373687107729262e+00 -8.9550420398952653e-04 + 1.9000000000000000e+01 1.5352793098019890e+00 -2.7770837280684394e-03 + 2.0000000000000000e+01 2.7706489837980994e+00 4.0975307361660399e-03 + 2.1000000000000000e+01 4.9046555684209725e+00 -1.6192700623111076e-04 + 2.2000000000000000e+01 4.3611159782652775e+00 -3.9177345891013111e-03 + 2.3000000000000000e+01 5.7419359261320349e+00 -2.1860001243487687e-03 + 2.4000000000000000e+01 2.0687974679071655e+00 -6.1177368639936803e-04 + 2.5000000000000000e+01 1.3036187683812397e+00 -4.4745000791992316e-03 + 2.6000000000000000e+01 2.5806157558165639e+00 1.2951002025751604e-03 + 2.7000000000000000e+01 -1.9612405899512109e+00 -6.8261165812685224e-04 + 2.8000000000000000e+01 -2.7452679763192043e+00 8.4779303567145592e-04 + 2.9000000000000000e+01 -1.3123673362458537e+00 2.3030479232049698e-03 +... diff --git a/unittest/force-styles/tests/fix-output-ave_chunk.yaml b/unittest/force-styles/tests/fix-output-ave_chunk.yaml new file mode 100644 index 00000000000..38fec86a58f --- /dev/null +++ b/unittest/force-styles/tests/fix-output-ave_chunk.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:37:09 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix ave/chunk +pre_commands: "" +post_commands: | + compute molchunk all chunk/atom molecule + fix test all ave/chunk 2 5 10 molchunk vx +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 7.0000000000000000e+00 -5.2826373558534810e-03 + 1.0000000000000000e+01 3.6379225004661560e-03 + 3.0000000000000000e+00 1.3160479255107578e-03 + 3.0000000000000000e+00 -9.6092094202518614e-04 + 3.0000000000000000e+00 8.6327430528077909e-04 + 3.0000000000000000e+00 -1.5413250922773777e-03 +... diff --git a/unittest/force-styles/tests/fix-output-ave_correlate.yaml b/unittest/force-styles/tests/fix-output-ave_correlate.yaml new file mode 100644 index 00000000000..1733d55b8c7 --- /dev/null +++ b/unittest/force-styles/tests/fix-output-ave_correlate.yaml @@ -0,0 +1,25 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:42 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix ave/correlate + compute gyration +pre_commands: "" +post_commands: | + compute gyr all gyration + fix test all ave/correlate 1 5 10 c_gyr +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_array: |2 + 0.0000000000000000e+00 1.1000000000000000e+01 1.4842280670946330e+01 + 1.0000000000000000e+00 1.0000000000000000e+01 1.4841540784257631e+01 + 2.0000000000000000e+00 9.0000000000000000e+00 1.4841127147466940e+01 + 3.0000000000000000e+00 8.0000000000000000e+00 1.4841041973828839e+01 + 4.0000000000000000e+00 7.0000000000000000e+00 1.4841286115020820e+01 +... diff --git a/unittest/force-styles/tests/fix-output-ave_histo.yaml b/unittest/force-styles/tests/fix-output-ave_histo.yaml new file mode 100644 index 00000000000..e2bb1e82fdb --- /dev/null +++ b/unittest/force-styles/tests/fix-output-ave_histo.yaml @@ -0,0 +1,40 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:40 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix ave/histo +pre_commands: "" +post_commands: | + fix test all ave/histo 2 5 10 -2.0 2.0 20 vx mode vector +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 4 1.4500000000000000e+02 0.0000000000000000e+00 -4.3235494787580805e-02 3.3069818949898681e-02 +global_array: | + -1.8999999999999999e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.7000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.2999999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.1000000000000001e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -8.9999999999999991e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -6.9999999999999996e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -2.9999999999999982e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -9.9999999999999867e-02 6.2000000000000000e+01 4.2758620689655175e-01 + 1.0000000000000009e-01 8.3000000000000000e+01 5.7241379310344831e-01 + 3.0000000000000027e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 7.0000000000000018e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 9.0000000000000036e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 1.1000000000000001e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.3000000000000003e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.7000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.9000000000000004e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/fix-output-ave_histo_weight.yaml b/unittest/force-styles/tests/fix-output-ave_histo_weight.yaml new file mode 100644 index 00000000000..fe24e81abcb --- /dev/null +++ b/unittest/force-styles/tests/fix-output-ave_histo_weight.yaml @@ -0,0 +1,40 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:41 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix ave/histo/weight +pre_commands: "" +post_commands: | + fix test all ave/histo/weight 2 5 10 -2.0 2.0 20 vx vy mode vector +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 4 1.4491145457908283e+02 0.0000000000000000e+00 -4.3235494787580805e-02 5.0446857379187429e-02 +global_array: | + -1.8999999999999999e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.7000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.2999999999999998e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -1.1000000000000001e+00 0.0000000000000000e+00 0.0000000000000000e+00 + -8.9999999999999991e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -6.9999999999999996e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -2.9999999999999982e-01 0.0000000000000000e+00 0.0000000000000000e+00 + -9.9999999999999867e-02 9.7045633051881453e+01 6.6968917904913128e-01 + 1.0000000000000009e-01 4.7865821527201327e+01 3.3031082095086839e-01 + 3.0000000000000027e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 5.0000000000000000e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 7.0000000000000018e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 9.0000000000000036e-01 0.0000000000000000e+00 0.0000000000000000e+00 + 1.1000000000000001e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.3000000000000003e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.5000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.7000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1.9000000000000004e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/fix-output-ave_time.yaml b/unittest/force-styles/tests/fix-output-ave_time.yaml new file mode 100644 index 00000000000..465f0e10658 --- /dev/null +++ b/unittest/force-styles/tests/fix-output-ave_time.yaml @@ -0,0 +1,20 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:21:50 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix ave/time + compute gyration +pre_commands: "" +post_commands: | + compute gyr all gyration + fix test all ave/time 1 10 10 c_gyr mode scalar +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_scalar: 3.8528674535190732 +... diff --git a/unittest/force-styles/tests/fix-output-numdiff.yaml b/unittest/force-styles/tests/fix-output-numdiff.yaml new file mode 100644 index 00000000000..6561cee0956 --- /dev/null +++ b/unittest/force-styles/tests/fix-output-numdiff.yaml @@ -0,0 +1,47 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:42 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix numdiff +pre_commands: "" +post_commands: | + fix test all numdiff 10 0.0001 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +peratom_data: |2 + 1.0000000000000000e+00 7.2725858466355930e+01 1.2861560258130567e+02 3.7754134405076911e+01 + 2.0000000000000000e+00 1.5855999486973360e+01 6.0128003360659932e+00 -2.6137486256345710e+01 + 3.0000000000000000e+00 -9.8397509828771490e+01 -2.3451828037934774e+01 3.2328811955721903e+01 + 4.0000000000000000e+00 -1.5457782629368921e+01 -2.6460273851967031e+01 1.1268942043045627e+01 + 5.0000000000000000e+00 -4.7168308349228028e+01 -5.0431547967662027e+01 -1.4594932780482850e+01 + 6.0000000000000000e+00 -1.2820191354023791e+02 1.2485469580667541e+02 -2.2288873105253515e+02 + 7.0000000000000000e+00 -2.5226615377391681e+01 1.9761711139665294e+01 -2.0800071338271664e+01 + 8.0000000000000000e+00 -2.0215848890074994e+01 -3.2590305477242509e+00 2.2728861515673771e+02 + 9.0000000000000000e+00 1.6103449829643068e+01 3.6182460902693947e+01 1.0735232845547671e+02 + 1.0000000000000000e+01 1.7854441711506297e+02 -1.6131700062857135e+02 -1.5144190634373444e+02 + 1.1000000000000000e+01 -2.0838923109920415e+01 -1.7483369913691149e+01 -6.5179726681208194e+00 + 1.2000000000000000e+01 2.4490090841027268e+01 -3.6296257249546215e+00 -2.8026843478698993e+01 + 1.3000000000000000e+01 -4.9535056035665548e+00 1.1658899304336501e+01 -9.6748290786763391e-01 + 1.4000000000000000e+01 1.7198154592108494e+01 -4.7217923511766458e+00 9.1224276388857106e-01 + 1.5000000000000000e+01 9.1314247003992932e+00 -1.0985629644437722e+01 1.3527131484067922e+01 + 1.6000000000000000e+01 2.3941459990624026e+01 -2.1298621965115672e+01 3.6019619037404027e+01 + 1.7000000000000000e+01 2.5004660309946303e+00 -4.0218137871761428e+00 4.9059449759170093e+00 + 1.8000000000000000e+01 4.7809874007498365e+00 7.4230083853876749e+00 -1.3521346651543809e+01 + 1.9000000000000000e+01 5.7515918911121844e+00 3.7593132182678346e+00 6.7773555804251373e+00 + 2.0000000000000000e+01 -1.0551291107390171e+01 -1.1214976368592033e+01 6.7752511111507374e+00 + 2.1000000000000000e+01 -7.2137603069677425e+00 -6.1535165588111340e+00 1.3078428298456402e+01 + 2.2000000000000000e+01 -1.3507766165616886e+01 -4.9433935453180311e+00 -1.2284639663278085e+01 + 2.3000000000000000e+01 2.0712187356082268e+01 1.1107336930820111e+01 -7.8352649893531634e-01 + 2.4000000000000000e+01 5.9012461119323234e+00 -2.5045317520948629e+01 1.4335204636495291e+01 + 2.5000000000000000e+01 -2.1144980763097010e+01 1.6459372290000829e+00 -1.7244572072456776e+01 + 2.6000000000000000e+01 1.5233340664622119e+01 2.3389798681421325e+01 2.8895089519664907e+00 + 2.7000000000000000e+01 8.7097789122481117e+00 -1.8716367154070213e+01 9.6687730322742027e+00 + 2.8000000000000000e+01 -2.0084846529755396e+01 7.1247431449705800e+00 -1.3052170737353208e+01 + 2.9000000000000000e+01 1.1382597533042826e+01 1.1597796468265642e+01 3.3793923014968641e+00 +... diff --git a/unittest/force-styles/tests/fix-output-numdiff_virial.yaml b/unittest/force-styles/tests/fix-output-numdiff_virial.yaml new file mode 100644 index 00000000000..cf11bf43fa6 --- /dev/null +++ b/unittest/force-styles/tests/fix-output-numdiff_virial.yaml @@ -0,0 +1,19 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 16:34:43 2026 +epsilon: 1e-08 +timestep: 0.25 +skip_tests: +prerequisites: | + atom full + fix numdiff/virial +pre_commands: "" +post_commands: | + fix test all numdiff/virial 10 0.0001 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +global_vector: |- + 6 1.3662979516313275e+04 1.2275256609643900e+04 8.2546279684771016e+03 3.2964605798169083e+02 1.6952869181937315e+03 -5.4949996076126163e+03 +... diff --git a/unittest/force-styles/tests/min-abcfire.yaml b/unittest/force-styles/tests/min-abcfire.yaml new file mode 100644 index 00000000000..718ac0a6296 --- /dev/null +++ b/unittest/force-styles/tests/min-abcfire.yaml @@ -0,0 +1,22 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:25:57 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize fire +pre_commands: "" +post_commands: | + min_style fire + min_modify abcfire yes +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.0831636531619 +global_scalar: 3.1498649091390485 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-boxrelax-aniso.yaml b/unittest/force-styles/tests/min-boxrelax-aniso.yaml new file mode 100644 index 00000000000..55c867d9399 --- /dev/null +++ b/unittest/force-styles/tests/min-boxrelax-aniso.yaml @@ -0,0 +1,23 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:25:58 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize cg + fix box/relax +pre_commands: "" +post_commands: | + fix boxrel all box/relax aniso 0.0 + min_style cg +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 545.0104623815023 +global_scalar: 2519.1713135382506 +global_vector: |- + 6 1.5063023206222637e+01 1.5063182616381210e+01 1.5150000000000006e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-boxrelax-iso.yaml b/unittest/force-styles/tests/min-boxrelax-iso.yaml new file mode 100644 index 00000000000..f3c4181cd59 --- /dev/null +++ b/unittest/force-styles/tests/min-boxrelax-iso.yaml @@ -0,0 +1,23 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:25:58 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize cg + fix box/relax +pre_commands: "" +post_commands: | + fix boxrel all box/relax iso 0.0 + min_style cg +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 540.4604041377248 +global_scalar: 2550.291192526002 +global_vector: |- + 6 1.5150000000000006e+01 1.5150000000000006e+01 1.5150000000000006e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-cg-backtrack.yaml b/unittest/force-styles/tests/min-cg-backtrack.yaml new file mode 100644 index 00000000000..b4228de731d --- /dev/null +++ b/unittest/force-styles/tests/min-cg-backtrack.yaml @@ -0,0 +1,22 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:25:59 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize cg +pre_commands: "" +post_commands: | + min_style cg + min_modify line backtrack +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.01176879768215 +global_scalar: 0.5589947947572321 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-cg-dmax.yaml b/unittest/force-styles/tests/min-cg-dmax.yaml new file mode 100644 index 00000000000..e0bdf7ef171 --- /dev/null +++ b/unittest/force-styles/tests/min-cg-dmax.yaml @@ -0,0 +1,22 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:00 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize cg +pre_commands: "" +post_commands: | + min_style cg + min_modify dmax 0.05 +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.00810495055705 +global_scalar: 0.822168116844438 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-cg-forcezero.yaml b/unittest/force-styles/tests/min-cg-forcezero.yaml new file mode 100644 index 00000000000..d1a039936d3 --- /dev/null +++ b/unittest/force-styles/tests/min-cg-forcezero.yaml @@ -0,0 +1,22 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:00 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize cg +pre_commands: "" +post_commands: | + min_style cg + min_modify line forcezero +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.00455186966363 +global_scalar: 0.6674935617949385 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-cg.yaml b/unittest/force-styles/tests/min-cg.yaml new file mode 100644 index 00000000000..0630a91fc85 --- /dev/null +++ b/unittest/force-styles/tests/min-cg.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:01 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize cg +pre_commands: "" +post_commands: | + min_style cg +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.01555428309322 +global_scalar: 3.7240461310405326 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-fire-verlet.yaml b/unittest/force-styles/tests/min-fire-verlet.yaml new file mode 100644 index 00000000000..765063bc243 --- /dev/null +++ b/unittest/force-styles/tests/min-fire-verlet.yaml @@ -0,0 +1,22 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:02 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize fire +pre_commands: "" +post_commands: | + min_style fire + min_modify integrator verlet +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.03622124771005 +global_scalar: 1.297777470174007 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-fire.yaml b/unittest/force-styles/tests/min-fire.yaml new file mode 100644 index 00000000000..2609c42e3f1 --- /dev/null +++ b/unittest/force-styles/tests/min-fire.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:27:24 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize fire +pre_commands: "" +post_commands: | + min_style fire +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.07065457727984 +global_scalar: 2.6159087987863936 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-hftn.yaml b/unittest/force-styles/tests/min-hftn.yaml new file mode 100644 index 00000000000..ca3b27f670b --- /dev/null +++ b/unittest/force-styles/tests/min-hftn.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:03 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize hftn +pre_commands: "" +post_commands: | + min_style hftn +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 225.5619469891987 +global_scalar: 1.0945206111823549 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-quickmin.yaml b/unittest/force-styles/tests/min-quickmin.yaml new file mode 100644 index 00000000000..d2569b94703 --- /dev/null +++ b/unittest/force-styles/tests/min-quickmin.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:04 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize quickmin +pre_commands: "" +post_commands: | + min_style quickmin +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.76886504155777 +global_scalar: 12.380089172345322 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/min-sd.yaml b/unittest/force-styles/tests/min-sd.yaml new file mode 100644 index 00000000000..dd864b319b4 --- /dev/null +++ b/unittest/force-styles/tests/min-sd.yaml @@ -0,0 +1,21 @@ +--- +lammps_version: 4 Jul 2026 +tags: generated +date_generated: Thu Jul 9 18:26:05 2026 +epsilon: 0.001 +skip_tests: +prerequisites: | + atom full + minimize sd +pre_commands: "" +post_commands: | + min_style sd +input_file: in.fourmol +input_coeffs: coeffs.fourmol +natoms: 29 +init_energy: 612.8591176848338 +run_energy: 226.70116779502106 +global_scalar: 9.659343383143069 +global_vector: |- + 6 1.5000000000000000e+01 1.5000000000000000e+01 1.5000000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... diff --git a/unittest/force-styles/tests/mol-pair-e3b.yaml b/unittest/force-styles/tests/mol-pair-e3b.yaml index cf92c6e4a34..70c41e80fc6 100644 --- a/unittest/force-styles/tests/mol-pair-e3b.yaml +++ b/unittest/force-styles/tests/mol-pair-e3b.yaml @@ -1,7 +1,7 @@ --- lammps_version: 17 Feb 2022 date_generated: Fri Mar 18 22:17:30 2022 -epsilon: 5e-14 +epsilon: 5e-12 skip_tests: prerequisites: ! | atom full diff --git a/unittest/formats/test_file_operations.cpp b/unittest/formats/test_file_operations.cpp index 4aa7da884b5..efcad08834d 100644 --- a/unittest/formats/test_file_operations.cpp +++ b/unittest/formats/test_file_operations.cpp @@ -20,8 +20,11 @@ #include "gmock/gmock.h" #include "gtest/gtest.h" +#include #include #include +#include +#include using namespace LAMMPS_NS; @@ -398,6 +401,59 @@ TEST_F(FileOperationsTest, write_restart) delete_file("triclinic.restart"); } +TEST_F(FileOperationsTest, corrupted_restart) +{ + BEGIN_HIDE_OUTPUT(); + command("echo none"); + command("region box block -2 2 -2 2 -2 2"); + command("create_box 1 box"); + command("create_atoms 1 single 0.0 0.0 0.0"); + command("mass 1 1.0"); + command("run 0 post no"); + command("write_restart good.restart"); + command("clear"); + END_HIDE_OUTPUT(); + + std::ifstream in("good.restart", std::ios::binary); + std::vector image((std::istreambuf_iterator(in)), std::istreambuf_iterator()); + in.close(); + ASSERT_GT(image.size(), 0); + + // corrupt the stored length of the group name "all": the length int + // precedes the string. must trigger a clean error, not a crash. + + const char pattern[] = {4, 0, 0, 0, 'a', 'l', 'l', '\0'}; + auto pos = std::search(image.begin(), image.end(), pattern, pattern + sizeof(pattern)); + if (pos != image.end()) { + auto patched = image; + const int bad = -1; + memcpy(&patched[pos - image.begin()], &bad, sizeof(int)); + std::ofstream out("corrupt.restart", std::ios::binary); + out.write(patched.data(), patched.size()); + out.close(); + TEST_FAILURE(".*ERROR: Invalid group name length in restart file.*", + command("read_restart corrupt.restart");); + BEGIN_HIDE_OUTPUT(); + command("clear"); + END_HIDE_OUTPUT(); + delete_file("corrupt.restart"); + } + + // truncated restart files must give a clean error, not a crash + + for (auto fraction : {0.25, 0.5, 0.9}) { + std::ofstream out("truncated.restart", std::ios::binary); + out.write(image.data(), (std::streamsize)(image.size() * fraction)); + out.close(); + TEST_FAILURE(".*ERROR.*", command("read_restart truncated.restart");); + BEGIN_HIDE_OUTPUT(); + command("clear"); + END_HIDE_OUTPUT(); + } + delete_file("truncated.restart"); + delete_file("good.restart"); +} + TEST_F(FileOperationsTest, write_data) { BEGIN_HIDE_OUTPUT(); diff --git a/unittest/granular/tests/dem04-opencyl-rim-3d.yaml b/unittest/granular/tests/dem04-opencyl-rim-3d.yaml new file mode 100644 index 00000000000..06e574f94c4 --- /dev/null +++ b/unittest/granular/tests/dem04-opencyl-rim-3d.yaml @@ -0,0 +1,63 @@ +--- +lammps_version: 30 Mar 2026 +tags: granular +date_generated: Fri Jul 3 13:07:49 2026 +epsilon: 1e-10 +skip_tests: +prerequisites: | + atom sphere + pair granular +pre_commands: | + units lj + dimension 3 + boundary f f f + atom_style sphere + region box block -3.0 3.0 -3.0 3.0 -3.0 3.0 units box + create_box 1 box + create_atoms 1 single 1.45 0.0 0.25 units box + set group all diameter ${diam} density ${dens} + velocity all set ${vx0} 0.0 ${vz0} + comm_modify vel yes + neighbor 0.3 bin + timestep 2.0e-4 +post_commands: | + region cyl cylinder z 0.0 0.0 ${rad} ${zlo} ${zhi} units box open 3 + fix wreg all wall/gran/region granular hooke ${knorm} ${en} tangential linear_history ${kt} ${gt} ${xmu} damping coeff_restitution region cyl + fix integr all nve/sphere +input_file: +natoms: 1 +variables: | + diam 1.0 + dens 1.0 + knorm 1.0e4 + en 0.9 + kt 2857.0 + gt 50.0 + xmu 0.5 + rad 1.0 + zlo 0.0 + zhi 2.0 + vx0 -0.43 + vz0 -0.26 +pair_style: granular +pair_coeff: | + * * hooke ${knorm} ${en} tangential linear_history ${kt} ${gt} ${xmu} damping coeff_restitution +run_segments: |- + 600 600 800 +run_pos: |2 + 0 1 1.4649172516992330e+00 0.0000000000000000e+00 2.5590025675929823e-01 + 1 1 1.5133734660423841e+00 0.0000000000000000e+00 2.8047164415352149e-01 + 2 1 1.5779817518332522e+00 0.0000000000000000e+00 3.1323349401248585e-01 +run_vel: |2 + 0 1 4.0380178619273527e-01 0.0000000000000000e+00 2.0476156161839568e-01 + 1 1 4.0380178619273527e-01 0.0000000000000000e+00 2.0476156161839568e-01 + 2 1 4.0380178619273527e-01 0.0000000000000000e+00 2.0476156161839568e-01 +run_torque: |2 + 0 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 2 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +run_omega: |2 + 0 1 0.0000000000000000e+00 1.3665989122173849e-02 0.0000000000000000e+00 + 1 1 0.0000000000000000e+00 1.3665989122173849e-02 0.0000000000000000e+00 + 2 1 0.0000000000000000e+00 1.3665989122173849e-02 0.0000000000000000e+00 +... diff --git a/unittest/graphics/CMakeLists.txt b/unittest/graphics/CMakeLists.txt new file mode 100644 index 00000000000..a4f9f823c72 --- /dev/null +++ b/unittest/graphics/CMakeLists.txt @@ -0,0 +1,86 @@ +# -*- CMake -*- file for tests of dump image and GRAPHICS package rendering + +function(extract_tags out yaml_file) + file(STRINGS ${yaml_file} TAGS_LINE REGEX "^tags:") + string(REPLACE "tags:" "" TAGS_LINE "${TAGS_LINE}") + string(REGEX MATCHALL "[^, \t\r\n]+" TAGS "${TAGS_LINE}") + set(${out} "${TAGS}" PARENT_SCOPE) +endfunction() + +function(extract_nprocs out yaml_file) + file(STRINGS ${yaml_file} NPROCS_LINE REGEX "^nprocs:") + string(REPLACE "nprocs:" "" NPROCS_LINE "${NPROCS_LINE}") + string(STRIP "${NPROCS_LINE}" NPROCS_LINE) + if(NOT NPROCS_LINE) + set(NPROCS_LINE 1) + endif() + set(${out} "${NPROCS_LINE}" PARENT_SCOPE) +endfunction() + +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + string(REPLACE "/" "\\\\" TEST_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/tests") +else() + set(TEST_INPUT_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/tests) +endif() + +add_executable(test_dump_image + ../yaml_writer.cpp + test_config_reader.cpp + test_dump_image.cpp) +if(YAML_FOUND) + target_compile_definitions(test_dump_image PRIVATE TEST_INPUT_FOLDER=${TEST_INPUT_FOLDER}) +else() + # we always use static linkage with local compiled libyaml + target_compile_definitions(test_dump_image PRIVATE TEST_INPUT_FOLDER=${TEST_INPUT_FOLDER} YAML_DECLARE_STATIC) +endif() +target_include_directories(test_dump_image PRIVATE "${LAMMPS_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/..") +target_link_libraries(test_dump_image PRIVATE GTest::GMock Yaml::Yaml lammps) + +# propagate sanitizer options to test tools +if(ENABLE_SANITIZER AND (NOT (ENABLE_SANITIZER STREQUAL "none"))) + target_compile_options(test_dump_image PUBLIC -fsanitize=${ENABLE_SANITIZER}) + target_link_options(test_dump_image PUBLIC -fsanitize=${ENABLE_SANITIZER}) +endif() + +# prepare environment for testers +set(GRAPHICS_TEST_ENVIRONMENT "OMP_PROC_BIND=false") +list(APPEND GRAPHICS_TEST_ENVIRONMENT "OMP_NUM_THREADS=4") +list(APPEND GRAPHICS_TEST_ENVIRONMENT "LAMMPS_POTENTIALS=${LAMMPS_POTENTIALS_DIR}") +get_property(BUILD_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(BUILD_IS_MULTI_CONFIG) + set(LAMMPS_LIB_PATH ${CMAKE_BINARY_DIR}/$) +else() + set(LAMMPS_LIB_PATH ${CMAKE_BINARY_DIR}) +endif() +if(APPLE) + list(APPEND GRAPHICS_TEST_ENVIRONMENT "DYLD_LIBRARY_PATH=${LAMMPS_LIB_PATH}:$ENV{DYLD_LIBRARY_PATH}") +elseif(WIN32) + list(APPEND GRAPHICS_TEST_ENVIRONMENT "LAMMPSDLLPATH=${LAMMPS_LIB_PATH}") +else() + list(APPEND GRAPHICS_TEST_ENVIRONMENT "LD_LIBRARY_PATH=${LAMMPS_LIB_PATH}:$ENV{LD_LIBRARY_PATH}") +endif() + +# register all YAML files; tests with nprocs > 1 need an MPI launcher +file(GLOB GRAPHICS_TESTS LIST_DIRECTORIES false CONFIGURE_DEPENDS ${TEST_INPUT_FOLDER}/*.yaml) +foreach(TEST ${GRAPHICS_TESTS}) + string(REGEX REPLACE "^.*tests.(.*)\.yaml" "GRAPHICS:\\1" TNAME ${TEST}) + extract_tags(TEST_TAGS ${TEST}) + list(FIND TEST_TAGS "no${CMAKE_SYSTEM_NAME}" _SKIPME) + if(_SKIPME GREATER_EQUAL 0) + continue() + endif() + extract_nprocs(TEST_NPROCS ${TEST}) + if(TEST_NPROCS GREATER 1) + if(BUILD_MPI AND MPIEXEC_EXECUTABLE) + add_test(NAME ${TNAME} + COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${TEST_NPROCS} + $ ${TEST}) + else() + continue() + endif() + else() + add_test(NAME ${TNAME} COMMAND test_dump_image ${TEST}) + endif() + set_tests_properties(${TNAME} PROPERTIES ENVIRONMENT "${GRAPHICS_TEST_ENVIRONMENT}") + set_tests_properties(${TNAME} PROPERTIES LABELS "${TEST_TAGS}") +endforeach() diff --git a/unittest/graphics/README.md b/unittest/graphics/README.md new file mode 100644 index 00000000000..b7e700d5a07 --- /dev/null +++ b/unittest/graphics/README.md @@ -0,0 +1,99 @@ +# Tests for dump image and GRAPHICS package rendering + +The `test_dump_image` driver renders a scene described in a test YAML file +with the `dump image` command and compares sampled pixel data of the rendered +image against reference data stored directly in the same YAML file. No +reference image files are needed. The sampling scheme was validated against +deliberately introduced rendering regressions and toolchain variations before +this harness was written (see `plans/graphics-sampling-experiment/` notes in +the corresponding pull request). + +## How images are compared + +Two complementary sets of reference data are stored per test: + +- `row_means` / `col_means`: mean RGB values of every pixel row and column + (full-image coverage; any localized or diffuse change shows up in some + row or column mean). Compared against `epsilon_projection` (default 0.5 + on the 0-255 scale). +- `sample_blocks`: mean RGB values of small pixel blocks (default 3x3) on a + uniform grid (default stride 16). Compared against `epsilon_blocks` + (default 2.0). Mainly used to localize a failure to an image position. + +Serial rendering is bit-deterministic and was found to be bit-identical +across compilers and optimization levels; the tolerances leave headroom for +different libm implementations. Rendered images legitimately depend on the +MPI rank count (pixel-level depth ties composite differently and SSAO +partitions its random stream by rank), therefore each test carries an +`nprocs` key and is skipped for any other rank count. Tests with +`nprocs: 1` run serially; tests with larger values are registered with the +MPI launcher by CMake and exercise the parallel image compositing. + +## Test YAML format + +```yaml +--- +lammps_version: +tags: graphics +date_generated: +epsilon_projection: 0.5 # tolerance for row/column mean RGB values +epsilon_blocks: 2.0 # tolerance for sampled block mean RGB values +nprocs: 1 # required MPI rank count +prerequisites: ! | # styles that must be present in the build + atom full + fix graphics/arrows +setup_commands: ! | # scene setup incl. the commands under test + ... + dump viz all image 1 ${imagefile} type type size 200 200 ... + dump_modify viz ... +run_commands: ! | # commands that trigger the render + run 0 +image_size: 200 200 # expected image dimensions +sampling: 3 16 # block size and grid stride in pixels +row_means: ... # reference data, created by the generator +col_means: ... +sample_blocks: ... +``` + +Notes for writing scenes: + +- The image file name must be given as `${imagefile}`; the driver defines + this variable (it contains the `*` placeholder required by dump image). + The variable `${input_dir}` points to this `tests/` folder for data files. +- When multiple frames are written, the frame with the highest timestep + number is compared. +- Keep images small (about 200x200): the tests run in well under a second + and the reference data stays compact. +- Verify that the option under test actually changes the image: options can + be silently ignored in some combinations (e.g. `dump_modify acolor` has no + effect when the dump colors atoms by element). Render the scene with and + without the option and compare before committing a test. +- `autobond` searches the pair neighbor list, so it draws nothing on + molecular systems with default `special_bonds 0 0 0` settings (bonded + pairs are excluded from the neighbor list). Test it on systems without + a bond topology, or set `special_bonds lj/coul 1.0 1.0 1.0`. +- `dump_modify btrans` only applies when bonds are *not* colored by atom: + with `bond atom ...` the two bond halves follow the transparency of + their respective atoms (`atrans`) instead. +- Continuous color maps (`amap`/`bmap`/`gmap` styles `ca`/`cf`) require the + first entry value to be the literal `min` and the last to be `max`; + discrete maps (`da`/`df`) require a final catch-all `min max ` + entry. +- Stochastic features are fine as long as they are seeded: SSAO and the + region `points` draw style are reproducible. + +## Creating or updating reference data + +Build with `-D ENABLE_TESTING=on`, then run from the build folder: + +``` +test_dump_image -u # update in place +test_dump_image -g # write new file +mpirun -np 4 test_dump_image -u # 4-rank reference +``` + +Start from a YAML file without the reference keys (`row_means`, `col_means`, +`sample_blocks`) or from a copy of an existing test. The generator renders +the scene, samples the image, and writes the completed file, recording the +rank count it ran with. On a comparison failure the test keeps the rendered +image as `.failed.ppm` for visual inspection. diff --git a/unittest/graphics/test_config.h b/unittest/graphics/test_config.h new file mode 100644 index 00000000000..0b1310d6730 --- /dev/null +++ b/unittest/graphics/test_config.h @@ -0,0 +1,90 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/ Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef TEST_CONFIG_H +#define TEST_CONFIG_H + +#include +#include +#include +#include + +struct rgb_t { + double r, g, b; +}; + +struct block_t { + int y, x; + rgb_t mean; +}; + +class TestConfig { +public: + std::string lammps_version; + std::string date_generated; + std::string basename; + std::vector tags; + std::vector> prerequisites; + // scene setup: box/atoms/styles plus the dump image and dump_modify + // commands under test. the image file name must be given as + // ${imagefile}; the test driver defines that variable. + std::vector setup_commands; + // commands that trigger the render, usually just "run 0" + std::vector run_commands; + // required MPI rank count: rendered images legitimately differ with the + // number of ranks (depth-tie compositing, SSAO), so each reference is + // only valid for one rank count + int nprocs; + // reference image dimensions + int image_width, image_height; + // uniform sampling block edge length and grid stride (pixels) + int block_size, block_stride; + // max allowed deviation of per-row/per-column mean RGB values (0-255 scale) + double epsilon_projection; + // max allowed deviation of sampled block mean RGB values (0-255 scale) + double epsilon_blocks; + // reference data: per-row and per-column mean RGB plus uniform grid blocks + std::vector row_means; + std::vector col_means; + std::vector sample_blocks; + + TestConfig() : + lammps_version(""), date_generated(""), basename(""), nprocs(1), image_width(0), + image_height(0), block_size(3), block_stride(16), epsilon_projection(0.5), + epsilon_blocks(2.0) + { + tags.clear(); + prerequisites.clear(); + setup_commands.clear(); + run_commands.clear(); + row_means.clear(); + col_means.clear(); + sample_blocks.clear(); + } + TestConfig(const TestConfig &) = delete; + TestConfig &operator=(const TestConfig &) = delete; + + [[nodiscard]] std::string tags_line() const + { + if (tags.size() > 0) { + std::stringstream line; + line << tags[0]; + for (size_t i = 1; i < tags.size(); i++) + line << ", " << tags[i]; + return line.str(); + } + return "generated"; + } +}; + +#endif diff --git a/unittest/graphics/test_config_reader.cpp b/unittest/graphics/test_config_reader.cpp new file mode 100644 index 00000000000..817ed2c8562 --- /dev/null +++ b/unittest/graphics/test_config_reader.cpp @@ -0,0 +1,153 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "test_config_reader.h" +#include "test_config.h" +#include "utils.h" +#include "yaml.h" + +#include +#include + +using LAMMPS_NS::utils::split_words; + +TestConfigReader::TestConfigReader(TestConfig &config) : config(config) +{ + consumers["lammps_version"] = &TestConfigReader::lammps_version; + consumers["date_generated"] = &TestConfigReader::date_generated; + consumers["tags"] = &TestConfigReader::tags; + consumers["prerequisites"] = &TestConfigReader::prerequisites; + consumers["setup_commands"] = &TestConfigReader::setup_commands; + consumers["run_commands"] = &TestConfigReader::run_commands; + consumers["nprocs"] = &TestConfigReader::nprocs; + consumers["image_size"] = &TestConfigReader::image_size; + consumers["sampling"] = &TestConfigReader::sampling; + consumers["epsilon_projection"] = &TestConfigReader::epsilon_projection; + consumers["epsilon_blocks"] = &TestConfigReader::epsilon_blocks; + consumers["row_means"] = &TestConfigReader::row_means; + consumers["col_means"] = &TestConfigReader::col_means; + consumers["sample_blocks"] = &TestConfigReader::sample_blocks; +} + +void TestConfigReader::lammps_version(const yaml_event_t &event) +{ + config.lammps_version = (char *)event.data.scalar.value; +} + +void TestConfigReader::date_generated(const yaml_event_t &event) +{ + config.date_generated = (char *)event.data.scalar.value; +} + +void TestConfigReader::tags(const yaml_event_t &event) +{ + config.tags = split_words((char *)event.data.scalar.value); +} + +void TestConfigReader::prerequisites(const yaml_event_t &event) +{ + config.prerequisites.clear(); + std::stringstream data((char *)event.data.scalar.value); + std::string key, value; + + while (true) { + data >> key >> value; + if (data.eof()) break; + config.prerequisites.emplace_back(key, value); + } +} + +void TestConfigReader::setup_commands(const yaml_event_t &event) +{ + config.setup_commands.clear(); + std::stringstream data((char *)event.data.scalar.value); + std::string line; + + while (std::getline(data, line, '\n')) + config.setup_commands.push_back(line); +} + +void TestConfigReader::run_commands(const yaml_event_t &event) +{ + config.run_commands.clear(); + std::stringstream data((char *)event.data.scalar.value); + std::string line; + + while (std::getline(data, line, '\n')) + config.run_commands.push_back(line); +} + +void TestConfigReader::nprocs(const yaml_event_t &event) +{ + config.nprocs = atoi((char *)event.data.scalar.value); +} + +void TestConfigReader::image_size(const yaml_event_t &event) +{ + std::stringstream data((char *)event.data.scalar.value); + data >> config.image_width >> config.image_height; +} + +void TestConfigReader::sampling(const yaml_event_t &event) +{ + std::stringstream data((char *)event.data.scalar.value); + data >> config.block_size >> config.block_stride; +} + +void TestConfigReader::epsilon_projection(const yaml_event_t &event) +{ + config.epsilon_projection = atof((char *)event.data.scalar.value); +} + +void TestConfigReader::epsilon_blocks(const yaml_event_t &event) +{ + config.epsilon_blocks = atof((char *)event.data.scalar.value); +} + +void TestConfigReader::parse_rgb_lines(const yaml_event_t &event, std::vector &values) +{ + values.clear(); + std::stringstream data((char *)event.data.scalar.value); + std::string line; + + while (std::getline(data, line, '\n')) { + std::stringstream item(line); + rgb_t rgb; + item >> rgb.r >> rgb.g >> rgb.b; + if (!item.fail()) values.push_back(rgb); + } +} + +void TestConfigReader::row_means(const yaml_event_t &event) +{ + parse_rgb_lines(event, config.row_means); +} + +void TestConfigReader::col_means(const yaml_event_t &event) +{ + parse_rgb_lines(event, config.col_means); +} + +void TestConfigReader::sample_blocks(const yaml_event_t &event) +{ + config.sample_blocks.clear(); + std::stringstream data((char *)event.data.scalar.value); + std::string line; + + while (std::getline(data, line, '\n')) { + std::stringstream item(line); + block_t block; + item >> block.y >> block.x >> block.mean.r >> block.mean.g >> block.mean.b; + if (!item.fail()) config.sample_blocks.push_back(block); + } +} diff --git a/unittest/graphics/test_config_reader.h b/unittest/graphics/test_config_reader.h new file mode 100644 index 00000000000..9cad0236fc7 --- /dev/null +++ b/unittest/graphics/test_config_reader.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/ Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef TEST_CONFIG_READER_H +#define TEST_CONFIG_READER_H + +#include "test_config.h" +#include "yaml_reader.h" + +class TestConfigReader : public YamlReader { + TestConfig &config; + +public: + TestConfigReader(TestConfig &config); + +protected: + void lammps_version(const yaml_event_t &event); + void date_generated(const yaml_event_t &event); + void tags(const yaml_event_t &event); + void prerequisites(const yaml_event_t &event); + void setup_commands(const yaml_event_t &event); + void run_commands(const yaml_event_t &event); + void nprocs(const yaml_event_t &event); + void image_size(const yaml_event_t &event); + void sampling(const yaml_event_t &event); + void epsilon_projection(const yaml_event_t &event); + void epsilon_blocks(const yaml_event_t &event); + void row_means(const yaml_event_t &event); + void col_means(const yaml_event_t &event); + void sample_blocks(const yaml_event_t &event); + +private: + void parse_rgb_lines(const yaml_event_t &event, std::vector &values); +}; + +#endif diff --git a/unittest/graphics/test_dump_image.cpp b/unittest/graphics/test_dump_image.cpp new file mode 100644 index 00000000000..560f3e11b84 --- /dev/null +++ b/unittest/graphics/test_dump_image.cpp @@ -0,0 +1,518 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +// Test driver for dump image and GRAPHICS package rendering. +// +// A test YAML file describes a scene (setup commands including the dump +// image and dump_modify commands under test) and stores sampled reference +// pixel data from the rendered image directly in the YAML file: +// per-row and per-column mean RGB values (full-image coverage) plus mean +// RGB values of small blocks on a uniform grid (failure localization). +// See README.md in this folder for the YAML format and how the sampling +// scheme was validated. + +#include "test_config.h" +#include "test_config_reader.h" +#include "yaml_writer.h" + +#include "fmt/format.h" +#include "info.h" +#include "input.h" +#include "lammps.h" +#include "platform.h" +#include "utils.h" +#include "version.h" + +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +using LAMMPS_NS::Info; +using LAMMPS_NS::LAMMPS; +using LAMMPS_NS::utils::split_words; +using LAMMPS_NS::utils::trim; +namespace platform = LAMMPS_NS::platform; + +// common read-only data available to all tests +TestConfig test_config; +bool verbose = false; +#if defined(TEST_INPUT_FOLDER) +#define STRINGIFY(val) XSTR(val) +#define XSTR(val) #val +std::string INPUT_FOLDER = STRINGIFY(TEST_INPUT_FOLDER); +#undef STRINGIFY +#undef XSTR +#else +std::string INPUT_FOLDER = "."; +#endif + +/* ---------------------------------------------------------------------- */ +// minimal 8-bit RGB image with PPM (P6) reader + +struct Image { + int width = 0; + int height = 0; + std::vector data; + + double val(int y, int x, int c) const { return (double)data[(y * width + x) * 3 + c]; } +}; + +static bool read_ppm(const std::string &filename, Image &img) +{ + std::ifstream in(filename, std::ios::binary); + if (!in) return false; + std::string raw((std::istreambuf_iterator(in)), std::istreambuf_iterator()); + + // parse header: magic, width, height, maxval; '#' starts a comment line + std::size_t pos = 0; + std::vector tokens; + while ((pos < raw.size()) && (tokens.size() < 4)) { + if (isspace(raw[pos])) { + ++pos; + } else if (raw[pos] == '#') { + while ((pos < raw.size()) && (raw[pos] != '\n')) + ++pos; + } else { + std::size_t begin = pos; + while ((pos < raw.size()) && !isspace(raw[pos])) + ++pos; + tokens.push_back(raw.substr(begin, pos - begin)); + } + } + if ((tokens.size() < 4) || (tokens[0] != "P6") || (tokens[3] != "255")) return false; + ++pos; // single whitespace character after maxval + img.width = std::stoi(tokens[1]); + img.height = std::stoi(tokens[2]); + const std::size_t npixels = (std::size_t)img.width * img.height * 3; + if (raw.size() - pos < npixels) return false; + img.data.assign(raw.begin() + pos, raw.begin() + pos + npixels); + return true; +} + +/* ---------------------------------------------------------------------- */ +// sampling: row/column mean RGB projections and uniform grid of blocks + +static std::vector project_rows(const Image &img) +{ + std::vector means(img.height); + for (int y = 0; y < img.height; ++y) { + double sum[3] = {0.0, 0.0, 0.0}; + for (int x = 0; x < img.width; ++x) + for (int c = 0; c < 3; ++c) + sum[c] += img.val(y, x, c); + means[y] = {sum[0] / img.width, sum[1] / img.width, sum[2] / img.width}; + } + return means; +} + +static std::vector project_cols(const Image &img) +{ + std::vector means(img.width); + for (int x = 0; x < img.width; ++x) { + double sum[3] = {0.0, 0.0, 0.0}; + for (int y = 0; y < img.height; ++y) + for (int c = 0; c < 3; ++c) + sum[c] += img.val(y, x, c); + means[x] = {sum[0] / img.height, sum[1] / img.height, sum[2] / img.height}; + } + return means; +} + +static rgb_t block_mean(const Image &img, int cy, int cx, int size) +{ + const int half = size / 2; + double sum[3] = {0.0, 0.0, 0.0}; + for (int y = cy - half; y <= cy + half; ++y) + for (int x = cx - half; x <= cx + half; ++x) + for (int c = 0; c < 3; ++c) + sum[c] += img.val(y, x, c); + const double norm = (double)size * size; + return {sum[0] / norm, sum[1] / norm, sum[2] / norm}; +} + +static std::vector> block_centers(int width, int height, int size, int stride) +{ + std::vector> centers; + const int offset = size / 2 + 1; + for (int y = offset; y < height - offset; y += stride) + for (int x = offset; x < width - offset; x += stride) + centers.emplace_back(y, x); + return centers; +} + +static double max_rgb_diff(const rgb_t &one, const rgb_t &two) +{ + double diff = fabs(one.r - two.r); + diff = std::max(diff, fabs(one.g - two.g)); + diff = std::max(diff, fabs(one.b - two.b)); + return diff; +} + +/* ---------------------------------------------------------------------- */ +// rendering: set up a LAMMPS instance, run the scene, locate the image + +// image files are written as -step.ppm in the working directory + +static void purge_images(const TestConfig &cfg) +{ + const std::string prefix = cfg.basename + "-step"; + for (const auto &file : platform::list_directory(".")) { + if ((file.rfind(prefix, 0) == 0) && LAMMPS_NS::utils::strmatch(file, "\\.ppm$")) + platform::unlink(file); + } +} + +// find the rendered image with the highest timestep number + +static std::string find_image(const TestConfig &cfg) +{ + const std::string prefix = cfg.basename + "-step"; + std::string found; + long beststep = -1; + for (const auto &file : platform::list_directory(".")) { + if ((file.rfind(prefix, 0) != 0) || !LAMMPS_NS::utils::strmatch(file, "\\.ppm$")) continue; + const std::string num = file.substr(prefix.size(), file.size() - prefix.size() - 4); + if (!LAMMPS_NS::utils::is_integer(num)) continue; + const long step = std::stol(num); + if (step > beststep) { + beststep = step; + found = file; + } + } + return found; +} + +static LAMMPS *init_lammps(const TestConfig &cfg) +{ + LAMMPS::argv args = {"DumpImageTest", "-log", "none", "-nocite"}; + if (verbose) { + args.emplace_back("-echo"); + args.emplace_back("screen"); + } else { + args.emplace_back("-screen"); + args.emplace_back("none"); + } + auto *lmp = new LAMMPS(args, MPI_COMM_WORLD); + + // check if the GRAPHICS package and all prerequisite styles are available + Info info(lmp); + int nfail = 0; + if (!info.has_style("dump", "image")) ++nfail; + for (const auto &prerequisite : cfg.prerequisites) { + if (!info.has_style(prerequisite.first, prerequisite.second)) ++nfail; + } + if (nfail > 0) { + delete lmp; + return nullptr; + } + + lmp->input->one(fmt::format("variable input_dir string \"{}\"", INPUT_FOLDER)); + lmp->input->one(fmt::format("variable imagefile string {}-step*.ppm", cfg.basename)); + for (const auto &line : cfg.setup_commands) + lmp->input->one(line); + for (const auto &line : cfg.run_commands) + lmp->input->one(line); + return lmp; +} + +// render the scene of the current test config and read back the image. +// returns false when prerequisite styles are missing. all file handling +// happens on MPI rank 0; other ranks return an empty image. + +static bool render_scene(const TestConfig &cfg, Image &img, std::string &imagefile) +{ + int me; + MPI_Comm_rank(MPI_COMM_WORLD, &me); + if (me == 0) purge_images(cfg); + MPI_Barrier(MPI_COMM_WORLD); + + LAMMPS *lmp = init_lammps(cfg); + int okay = (lmp != nullptr) ? 1 : 0; + MPI_Allreduce(MPI_IN_PLACE, &okay, 1, MPI_INT, MPI_MIN, MPI_COMM_WORLD); + // delete the LAMMPS instance so all files are flushed and closed + delete lmp; + if (!okay) return false; + + if (me == 0) { + imagefile = find_image(cfg); + if (!imagefile.empty() && !read_ppm(imagefile, img)) img = Image(); + } + return true; +} + +/* ---------------------------------------------------------------------- */ + +TEST(DumpImage, compare) +{ + int me, nprocs; + MPI_Comm_rank(MPI_COMM_WORLD, &me); + MPI_Comm_size(MPI_COMM_WORLD, &nprocs); + + // rendered images legitimately depend on the rank count: pixel-level + // depth ties composite differently and SSAO slices its RNG stream by rank + if (nprocs != test_config.nprocs) + GTEST_SKIP() << "test reference requires exactly " << test_config.nprocs + << " MPI ranks, running on " << nprocs; + + Image img; + std::string imagefile; + if (!render_scene(test_config, img, imagefile)) { + GTEST_SKIP() << "One or more prerequisite styles are not available in this LAMMPS build"; + } + + // image checks are done on rank 0 only, which writes the dump image file + if (me != 0) return; + + ASSERT_FALSE(imagefile.empty()) << "no rendered image file found"; + ASSERT_GT(img.width, 0) << "could not read image file " << imagefile; + ASSERT_EQ(img.width, test_config.image_width); + ASSERT_EQ(img.height, test_config.image_height); + ASSERT_EQ(test_config.row_means.size(), (std::size_t)img.height); + ASSERT_EQ(test_config.col_means.size(), (std::size_t)img.width); + + // full-image coverage: per-row and per-column mean RGB projections + + double maxdiff = 0.0; + int worst = -1; + auto rows = project_rows(img); + for (std::size_t i = 0; i < rows.size(); ++i) { + const double diff = max_rgb_diff(rows[i], test_config.row_means[i]); + if (diff > maxdiff) { + maxdiff = diff; + worst = (int)i; + } + } + EXPECT_LE(maxdiff, test_config.epsilon_projection) + << "row mean RGB projections differ most at row " << worst; + + maxdiff = 0.0; + worst = -1; + auto cols = project_cols(img); + for (std::size_t i = 0; i < cols.size(); ++i) { + const double diff = max_rgb_diff(cols[i], test_config.col_means[i]); + if (diff > maxdiff) { + maxdiff = diff; + worst = (int)i; + } + } + EXPECT_LE(maxdiff, test_config.epsilon_projection) + << "column mean RGB projections differ most at column " << worst; + + // failure localization: mean RGB of small blocks on a uniform grid + + maxdiff = 0.0; + int worsty = -1; + int worstx = -1; + for (const auto &block : test_config.sample_blocks) { + const auto mean = block_mean(img, block.y, block.x, test_config.block_size); + const double diff = max_rgb_diff(mean, block.mean); + if (diff > maxdiff) { + maxdiff = diff; + worsty = block.y; + worstx = block.x; + } + } + EXPECT_LE(maxdiff, test_config.epsilon_blocks) + << "sample blocks differ most at pixel y=" << worsty << " x=" << worstx; + + // keep the rendered image for inspection when the comparison failed + + if (::testing::Test::HasFailure()) { + const std::string keep = test_config.basename + ".failed.ppm"; + std::rename(imagefile.c_str(), keep.c_str()); + std::cerr << "Rendered image kept as: " << keep << std::endl; + } + purge_images(test_config); +} + +/* ---------------------------------------------------------------------- */ +// generate reference sample data from the rendered scene into a new YAML file + +static void generate_yaml_file(const char *outfile, const TestConfig &config) +{ + int me, nprocs; + MPI_Comm_rank(MPI_COMM_WORLD, &me); + MPI_Comm_size(MPI_COMM_WORLD, &nprocs); + + Image img; + std::string imagefile; + if (!render_scene(config, img, imagefile)) { + if (me == 0) { + std::cerr << "One or more prerequisite styles are not available " + "in this LAMMPS configuration:\n"; + for (const auto &prerequisite : config.prerequisites) + std::cerr << " " << prerequisite.first << " style " << prerequisite.second + << "\n"; + } + return; + } + if (me != 0) return; + if (imagefile.empty() || (img.width == 0)) { + std::cerr << "Failed to render or read an image for this scene\n"; + return; + } + + YamlWriter writer(outfile); + + // header + writer.emit("lammps_version", LAMMPS_VERSION); + writer.emit("tags", config.tags_line()); + time_t now = time(nullptr); + writer.emit("date_generated", trim(ctime(&now))); + writer.emit("epsilon_projection", config.epsilon_projection); + writer.emit("epsilon_blocks", config.epsilon_blocks); + // the reference data is only valid for the rank count it was created with + writer.emit("nprocs", nprocs); + + std::string block; + for (const auto &prerequisite : config.prerequisites) + block += fmt::format("{} {}\n", prerequisite.first, prerequisite.second); + writer.emit_block("prerequisites", block); + + block.clear(); + for (const auto &line : config.setup_commands) + block += line + "\n"; + writer.emit_block("setup_commands", block); + + block.clear(); + for (const auto &line : config.run_commands) + block += line + "\n"; + writer.emit_block("run_commands", block); + + writer.emit("image_size", fmt::format("{} {}", img.width, img.height)); + writer.emit("sampling", fmt::format("{} {}", config.block_size, config.block_stride)); + + block.clear(); + for (const auto &mean : project_rows(img)) + block += fmt::format("{:.2f} {:.2f} {:.2f}\n", mean.r, mean.g, mean.b); + writer.emit_block("row_means", block); + + block.clear(); + for (const auto &mean : project_cols(img)) + block += fmt::format("{:.2f} {:.2f} {:.2f}\n", mean.r, mean.g, mean.b); + writer.emit_block("col_means", block); + + block.clear(); + for (const auto ¢er : + block_centers(img.width, img.height, config.block_size, config.block_stride)) { + const auto mean = block_mean(img, center.first, center.second, config.block_size); + block += fmt::format("{} {} {:.2f} {:.2f} {:.2f}\n", center.first, center.second, mean.r, + mean.g, mean.b); + } + writer.emit_block("sample_blocks", block); + + purge_images(config); +} + +/* ---------------------------------------------------------------------- */ + +static bool read_yaml_file(const char *infile, TestConfig &config) +{ + auto reader = TestConfigReader(config); + if (reader.parse_file(infile)) return false; + config.basename = reader.get_basename(); + return true; +} + +static void usage(std::ostream &out, const char *name) +{ + out << "usage: " << name << " [OPTIONS]\n\n" + << "Available options:\n" + << " -g regenerate sample data in new YAML file\n" + << " -u update sample data in original YAML file\n" + << " -d set folder for scene input files\n" + << " -v run tests with verbose output\n" + << std::endl; +} + +int main(int argc, char **argv) +{ + MPI_Init(&argc, &argv); + ::testing::InitGoogleMock(&argc, argv); + + if (argc < 2) { + usage(std::cerr, argv[0]); + MPI_Finalize(); + return 1; + } + + if (!read_yaml_file(argv[1], test_config)) { + std::cerr << "Error parsing yaml file: " << argv[1] << std::endl; + MPI_Finalize(); + return 2; + } + + // handle arguments passed via environment variable + if (const char *var = getenv("TEST_ARGS")) { + std::vector env = split_words(var); + for (const auto &arg : env) { + if (arg == "-u") { + generate_yaml_file(argv[1], test_config); + MPI_Finalize(); + return 0; + } else if (arg == "-v") { + verbose = true; + } + } + } + + int iarg = 2; + while (iarg < argc) { + if (strcmp(argv[iarg], "-g") == 0) { + if (iarg + 1 < argc) { + generate_yaml_file(argv[iarg + 1], test_config); + MPI_Finalize(); + return 0; + } else { + usage(std::cerr, argv[0]); + MPI_Finalize(); + return 1; + } + } else if (strcmp(argv[iarg], "-u") == 0) { + generate_yaml_file(argv[1], test_config); + MPI_Finalize(); + return 0; + } else if (strcmp(argv[iarg], "-d") == 0) { + if (iarg + 1 < argc) { + INPUT_FOLDER = argv[iarg + 1]; + iarg += 2; + } else { + usage(std::cerr, argv[0]); + MPI_Finalize(); + return 1; + } + } else if (strcmp(argv[iarg], "-v") == 0) { + verbose = true; + ++iarg; + } else { + std::cerr << "unknown option: " << argv[iarg] << "\n\n"; + usage(std::cerr, argv[0]); + MPI_Finalize(); + return 1; + } + } + + int rv = RUN_ALL_TESTS(); + MPI_Finalize(); + return rv; +} diff --git a/unittest/graphics/tests/data.cubes-and-pyramids b/unittest/graphics/tests/data.cubes-and-pyramids new file mode 100644 index 00000000000..2a6d697f6bb --- /dev/null +++ b/unittest/graphics/tests/data.cubes-and-pyramids @@ -0,0 +1,68 @@ +LAMMPS data file for polygons: cubes, moment of inertia I = m edge^2/ 6 +2 atoms +2 bodies +2 atom types +0 6 xlo xhi +0 6 ylo yhi +0 6 zlo zhi + +Atoms + +1 1 1 1 1.5 1.5 1.5 +2 2 1 1 4.0 4.0 4.0 + +Bodies + +1 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 +2 3 58 +5 8 5 +0.72 0.72 0.8 0 0 0 +0 0 1.6 +1 1 -0.4 +1 -1 -0.4 +-1 -1 -0.4 +-1 1 -0.4 +0 1 +0 2 +0 3 +0 4 +1 2 +2 3 +3 4 +4 1 +1 2 3 4 +1 0 2 -1 +2 0 3 -1 +3 0 4 -1 +1 0 4 -1 +0.5 + diff --git a/unittest/graphics/tests/data.peptide b/unittest/graphics/tests/data.peptide new file mode 100644 index 00000000000..f9dfb6e4853 --- /dev/null +++ b/unittest/graphics/tests/data.peptide @@ -0,0 +1,6531 @@ +LAMMPS Description + + 2004 atoms + 1365 bonds + 786 angles + 207 dihedrals + 12 impropers + + 14 atom types + 18 bond types + 31 angle types + 21 dihedral types + 2 improper types + + 36.840194 64.211560 xlo xhi + 41.013691 68.385058 ylo yhi + 29.768095 57.139462 zlo zhi + +Masses + + 1 12.0110 + 2 12.0110 + 3 15.9990 + 4 1.0080 + 5 14.0070 + 6 12.0110 + 7 12.0110 + 8 12.0110 + 9 15.9990 + 10 1.0080 + 11 1.0080 + 12 32.0660 + 13 16.0000 + 14 1.0100 + +Pair Coeffs + + 1 0.110000 3.563595 0.110000 3.563595 + 2 0.080000 3.670503 0.010000 3.385415 + 3 0.120000 3.029056 0.120000 2.494516 + 4 0.022000 2.351973 0.022000 2.351973 + 5 0.200000 3.296325 0.200000 2.761786 + 6 0.020000 4.053589 0.010000 3.385415 + 7 0.055000 3.875410 0.010000 3.385415 + 8 0.070000 3.550053 0.070000 3.550053 + 9 0.152100 3.153782 0.152100 3.153782 + 10 0.046000 0.400014 0.046000 0.400014 + 11 0.030000 2.420037 0.030000 2.420037 + 12 0.450000 3.563595 0.450000 3.563595 + 13 0.152100 3.150570 0.152100 3.150570 + 14 0.046000 0.400014 0.046000 0.400014 + +Bond Coeffs + + 1 249.999999 1.490000 + 2 620.000001 1.230000 + 3 370.000000 1.345000 + 4 322.000001 1.111000 + 5 319.999999 1.430000 + 6 440.000000 0.997000 + 7 222.500001 1.538000 + 8 330.000001 1.080000 + 9 230.000000 1.490000 + 10 309.000001 1.111000 + 11 305.000000 1.375000 + 12 340.000001 1.080000 + 13 334.300000 1.411000 + 14 545.000001 0.960000 + 15 222.500001 1.530000 + 16 198.000000 1.818000 + 17 239.999999 1.816000 + 18 450.000000 0.957200 + +Angle Coeffs + + 1 33.000000 109.500000 30.000000 2.163000 + 2 50.000000 120.000000 0.000000 0.000000 + 3 34.000000 123.000000 0.000000 0.000000 + 4 80.000000 121.000000 0.000000 0.000000 + 5 80.000000 116.500000 0.000000 0.000000 + 6 80.000000 122.500000 0.000000 0.000000 + 7 35.500000 108.400000 5.400000 1.802000 + 8 50.000000 107.000000 0.000000 0.000000 + 9 70.000000 113.500000 0.000000 0.000000 + 10 48.000000 108.000000 0.000000 0.000000 + 11 35.000000 117.000000 0.000000 0.000000 + 12 51.800000 107.500000 0.000000 0.000000 + 13 33.430000 110.100000 22.530000 2.179000 + 14 52.000000 108.000000 0.000000 0.000000 + 15 50.000000 109.500000 0.000000 0.000000 + 16 35.000000 111.000000 0.000000 0.000000 + 17 45.800000 122.300000 0.000000 0.000000 + 18 49.300000 107.500000 0.000000 0.000000 + 19 40.000000 120.000000 35.000000 2.416200 + 20 30.000000 120.000000 22.000000 2.152500 + 21 45.200000 120.000000 0.000000 0.000000 + 22 65.000000 108.000000 0.000000 0.000000 + 23 35.500000 109.000000 5.400000 1.802000 + 24 36.000000 115.000000 0.000000 0.000000 + 25 58.350000 113.500000 11.160000 2.561000 + 26 58.000000 114.500000 0.000000 0.000000 + 27 26.500000 110.100000 22.530000 2.179000 + 28 34.000000 95.000000 0.000000 0.000000 + 29 46.100000 111.300000 0.000000 0.000000 + 30 51.500000 109.500000 0.000000 0.000000 + 31 55.000000 104.520000 0.000000 0.000000 + +Dihedral Coeffs + + 1 0.200000 1 180 1.000000 + 2 1.800000 1 0 1.000000 + 3 0.000000 1 0 1.000000 + 4 1.600000 1 0 0.500000 + 5 2.500000 2 180 0.500000 + 6 2.500000 2 180 1.000000 + 7 0.600000 1 0 1.000000 + 8 0.200000 3 0 1.000000 + 9 0.230000 2 180 1.000000 + 10 0.040000 3 0 1.000000 + 11 1.400000 1 0 1.000000 + 12 3.100000 2 180 1.000000 + 13 4.200000 2 180 1.000000 + 14 3.100000 2 180 0.500000 + 15 0.990000 2 180 1.000000 + 16 2.400000 2 180 1.000000 + 17 0.195000 3 0 1.000000 + 18 0.240000 1 180 0.500000 + 19 0.370000 3 0 0.500000 + 20 0.280000 3 0 1.000000 + 21 0.010000 3 0 1.000000 + +Improper Coeffs + + 1 120.000000 0.000000 + 2 20.000000 0.000000 + +Atoms + + 1 1 1 0.510 43.99993 58.52678 36.78550 0 0 0 + 2 1 2 -0.270 45.10395 58.23499 35.86693 0 0 0 + 3 1 3 -0.510 43.81519 59.54928 37.43995 0 0 0 + 4 1 4 0.090 45.71714 57.34797 36.13434 0 0 0 + 5 1 4 0.090 45.72261 59.13657 35.67007 0 0 0 + 6 1 4 0.090 44.66624 58.09539 34.85538 0 0 0 + 7 1 5 -0.470 43.28193 57.47427 36.91953 0 0 0 + 8 1 6 0.070 42.07157 57.45486 37.62418 0 0 0 + 9 1 1 0.510 42.19985 57.57789 39.12163 0 0 0 + 10 1 3 -0.510 41.88641 58.62251 39.70398 0 0 0 + 11 1 7 -0.180 41.25052 56.15304 37.41811 0 0 0 + 12 1 8 0.000 40.88511 55.94638 35.97460 0 0 0 + 13 1 8 -0.115 41.48305 54.96372 35.11223 0 0 0 + 14 1 8 -0.115 39.74003 56.60996 35.46443 0 0 0 + 15 1 8 -0.115 41.02111 54.75715 33.80764 0 0 0 + 16 1 8 -0.115 39.26180 56.39194 34.12024 0 0 0 + 17 1 8 0.110 39.92330 55.46092 33.27135 0 0 0 + 18 1 9 -0.540 39.48164 55.22919 31.91865 0 0 0 + 19 1 10 0.310 43.60633 56.61693 36.52744 0 0 0 + 20 1 4 0.090 41.49619 58.31145 37.30543 0 0 0 + 21 1 4 0.090 41.88498 55.29476 37.72657 0 0 0 + 22 1 4 0.090 40.30899 56.19690 38.00627 0 0 0 + 23 1 11 0.115 42.31528 54.36176 35.44606 0 0 0 + 24 1 11 0.115 39.26330 57.31216 36.13230 0 0 0 + 25 1 11 0.115 41.62695 54.10606 33.19490 0 0 0 + 26 1 11 0.115 38.42147 56.98236 33.78612 0 0 0 + 27 1 10 0.430 38.78233 55.86217 31.74004 0 0 0 + 28 1 5 -0.470 42.79933 56.56370 39.79000 0 0 0 + 29 1 7 -0.020 42.96709 56.75379 41.28116 0 0 0 + 30 1 1 0.510 43.83019 55.68988 41.92255 0 0 0 + 31 1 3 -0.510 44.98521 55.93104 42.21713 0 0 0 + 32 1 10 0.310 43.13466 55.75696 39.30966 0 0 0 + 33 1 4 0.090 42.04692 56.86721 41.83507 0 0 0 + 34 1 4 0.090 43.52938 57.66324 41.43329 0 0 0 + 35 1 5 -0.470 43.26792 54.43342 42.07043 0 0 0 + 36 1 7 -0.020 43.92411 53.28930 42.63327 0 0 0 + 37 1 1 0.510 43.51012 53.02289 44.10510 0 0 0 + 38 1 3 -0.510 42.35086 53.07863 44.50806 0 0 0 + 39 1 10 0.310 42.28859 54.34993 41.90323 0 0 0 + 40 1 4 0.090 44.98464 53.47473 42.54797 0 0 0 + 41 1 4 0.090 43.49715 52.54787 41.97419 0 0 0 + 42 1 5 -0.470 44.51925 52.64535 44.88133 0 0 0 + 43 1 6 0.070 44.47588 52.35054 46.24397 0 0 0 + 44 1 1 0.510 45.40218 53.34579 46.94730 0 0 0 + 45 1 3 -0.510 45.23520 54.55893 46.92038 0 0 0 + 46 1 7 -0.180 44.77960 50.82831 46.50232 0 0 0 + 47 1 8 0.000 43.72184 49.84551 45.98093 0 0 0 + 48 1 8 -0.115 44.14810 49.00477 44.97195 0 0 0 + 49 1 8 -0.115 42.43499 49.66652 46.53541 0 0 0 + 50 1 8 -0.115 43.26154 48.00434 44.46769 0 0 0 + 51 1 8 -0.115 41.54732 48.79670 45.95416 0 0 0 + 52 1 8 -0.115 41.98220 47.90746 44.95574 0 0 0 + 53 1 10 0.310 45.39510 52.50937 44.42482 0 0 0 + 54 1 4 0.090 43.51312 52.58974 46.67092 0 0 0 + 55 1 4 0.090 44.89709 50.54313 47.56965 0 0 0 + 56 1 4 0.090 45.72096 50.49337 46.01654 0 0 0 + 57 1 11 0.115 45.13573 49.07933 44.54134 0 0 0 + 58 1 11 0.115 42.07869 50.34816 47.29358 0 0 0 + 59 1 11 0.115 43.47793 47.29281 43.68456 0 0 0 + 60 1 11 0.115 40.52625 48.76134 46.30425 0 0 0 + 61 1 11 0.115 41.35446 47.13287 44.54059 0 0 0 + 62 1 5 -0.470 46.41448 52.86278 47.68291 0 0 0 + 63 1 6 0.070 47.25136 53.68184 48.51163 0 0 0 + 64 1 1 0.510 48.33905 54.40097 47.73886 0 0 0 + 65 1 3 -0.510 49.27132 53.85220 47.16549 0 0 0 + 66 1 7 -0.180 47.88329 52.75681 49.60227 0 0 0 + 67 1 7 -0.140 48.82515 53.51102 50.61578 0 0 0 + 68 1 12 -0.090 48.12492 55.00373 51.43039 0 0 0 + 69 1 2 -0.220 47.70783 54.12980 53.04072 0 0 0 + 70 1 10 0.310 46.67199 51.90088 47.73231 0 0 0 + 71 1 4 0.090 46.64593 54.43552 48.99310 0 0 0 + 72 1 4 0.090 48.41361 51.90817 49.11968 0 0 0 + 73 1 4 0.090 47.08748 52.35196 50.26341 0 0 0 + 74 1 4 0.090 49.16067 52.81305 51.41238 0 0 0 + 75 1 4 0.090 49.73705 53.67062 50.00155 0 0 0 + 76 1 4 0.090 47.18593 54.84215 53.71488 0 0 0 + 77 1 4 0.090 48.69939 53.91624 53.49408 0 0 0 + 78 1 4 0.090 47.19749 53.18294 52.76264 0 0 0 + 79 1 5 -0.470 48.34472 55.71775 47.80498 0 0 0 + 80 1 2 -0.110 49.37792 56.51754 47.29492 0 0 0 + 81 1 10 0.310 47.51777 56.11617 48.19410 0 0 0 + 82 1 4 0.090 50.41495 56.13038 47.38980 0 0 0 + 83 1 4 0.090 49.23515 57.51193 47.76940 0 0 0 + 84 1 4 0.090 49.28612 56.52094 46.18773 0 0 0 + 85 2 13 -0.834 52.28049 45.72878 41.48140 -1 0 1 + 86 2 14 0.417 51.97210 46.07066 40.64218 -1 0 1 + 87 2 14 0.417 52.43689 44.79855 41.31868 -1 0 1 + 88 3 13 -0.834 43.84472 45.66062 47.17660 -2 -1 -1 + 89 3 14 0.417 43.42120 44.88337 46.81226 -2 -1 -1 + 90 3 14 0.417 44.31099 46.04907 46.43636 -2 -1 -1 + 91 4 13 -0.834 51.27805 50.25403 54.67397 0 0 -1 + 92 4 14 0.417 50.81295 50.23728 53.83753 0 0 -1 + 93 4 14 0.417 52.00273 49.63953 54.55795 0 0 -1 + 94 5 13 -0.834 44.71976 53.72011 56.43834 -1 0 -1 + 95 5 14 0.417 44.56050 53.84218 55.50241 -1 0 -1 + 96 5 14 0.417 44.91937 52.78829 56.52828 -1 0 -1 + 97 6 13 -0.834 37.07074 62.07204 53.35752 -1 -1 -1 + 98 6 14 0.417 64.17057 61.77089 52.49043 -2 -1 -1 + 99 6 14 0.417 37.90147 62.52273 53.20573 -1 -1 -1 + 100 7 13 -0.834 38.31817 66.10834 49.17406 0 -1 0 + 101 7 14 0.417 37.39300 65.93985 48.99534 0 -1 0 + 102 7 14 0.417 38.36506 66.20528 50.12520 0 -1 0 + 103 8 13 -0.834 60.90915 45.97690 35.53863 -1 -1 1 + 104 8 14 0.417 61.19898 46.87819 35.39745 -1 -1 1 + 105 8 14 0.417 59.98680 45.97855 35.28269 -1 -1 1 + 106 9 13 -0.834 54.33913 64.47210 51.00391 -1 -2 0 + 107 9 14 0.417 54.43191 63.71377 50.42724 -1 -2 0 + 108 9 14 0.417 55.16289 64.94980 50.90662 -1 -2 0 + 109 10 13 -0.834 44.58017 54.03749 53.84708 1 0 -1 + 110 10 14 0.417 43.87040 54.43768 53.34476 1 0 -1 + 111 10 14 0.417 45.02999 53.47261 53.21873 1 0 -1 + 112 11 13 -0.834 45.48693 52.12363 34.38241 0 -1 1 + 113 11 14 0.417 45.46898 52.67450 33.59981 0 -1 1 + 114 11 14 0.417 44.61476 52.22113 34.76457 0 -1 1 + 115 12 13 -0.834 60.15770 61.68799 54.74753 1 0 -2 + 116 12 14 0.417 59.23977 61.46439 54.59378 1 0 -2 + 117 12 14 0.417 60.43785 61.08922 55.43980 1 0 -2 + 118 13 13 -0.834 60.74732 66.72156 42.80906 1 -2 0 + 119 13 14 0.417 60.34713 66.21969 42.09898 1 -2 0 + 120 13 14 0.417 60.92444 66.07344 43.49082 1 -2 0 + 121 14 13 -0.834 60.82245 64.17281 50.54212 0 0 0 + 122 14 14 0.417 61.43571 64.88448 50.35863 0 0 0 + 123 14 14 0.417 60.87804 64.04633 51.48930 0 0 0 + 124 15 13 -0.834 36.92704 63.01353 56.05215 0 -1 0 + 125 15 14 0.417 37.10744 62.17054 56.46815 0 -1 0 + 126 15 14 0.417 64.06237 62.79109 55.15157 -1 -1 0 + 127 16 13 -0.834 48.35559 58.70568 56.14001 1 0 0 + 128 16 14 0.417 48.11655 59.48087 55.63191 1 0 0 + 129 16 14 0.417 47.93212 58.83502 56.98865 1 0 0 + 130 17 13 -0.834 58.14651 57.18542 51.08241 0 -1 -1 + 131 17 14 0.417 57.88523 56.72609 51.88052 0 -1 -1 + 132 17 14 0.417 57.35121 57.63116 50.79076 0 -1 -1 + 133 18 13 -0.834 58.09837 59.68005 36.16995 -1 0 0 + 134 18 14 0.417 58.25901 58.76822 36.41283 -1 0 0 + 135 18 14 0.417 58.56239 60.19049 36.83355 -1 0 0 + 136 19 13 -0.834 52.29019 60.51169 50.55611 0 -2 1 + 137 19 14 0.417 52.61972 60.01708 51.30645 0 -2 1 + 138 19 14 0.417 52.55621 59.99722 49.79401 0 -2 1 + 139 20 13 -0.834 41.36642 50.33705 42.98530 0 -1 -1 + 140 20 14 0.417 41.27846 50.09969 43.90844 0 -1 -1 + 141 20 14 0.417 40.99321 51.21659 42.92708 0 -1 -1 + 142 21 13 -0.834 53.76920 67.02645 32.18667 -1 0 1 + 143 21 14 0.417 53.59447 67.18509 31.25901 -1 0 1 + 144 21 14 0.417 54.65308 67.36647 32.32596 -1 0 1 + 145 22 13 -0.834 57.83691 45.33663 46.94671 0 0 -2 + 146 22 14 0.417 57.36287 45.59552 46.15647 0 0 -2 + 147 22 14 0.417 58.62995 44.91017 46.62197 0 0 -2 + 148 23 13 -0.834 60.34518 45.83000 45.57964 -1 0 0 + 149 23 14 0.417 60.61871 44.93757 45.79176 -1 0 0 + 150 23 14 0.417 61.09971 46.21212 45.13141 -1 0 0 + 151 24 13 -0.834 55.97902 46.85046 56.80163 0 1 1 + 152 24 14 0.417 56.57528 46.69952 30.16370 0 1 2 + 153 24 14 0.417 55.81156 47.79276 56.81850 0 1 1 + 154 25 13 -0.834 57.54668 45.52135 31.46139 -1 0 1 + 155 25 14 0.417 58.36291 46.00311 31.32743 -1 0 1 + 156 25 14 0.417 57.54151 45.31312 32.39566 -1 0 1 + 157 26 13 -0.834 58.03029 52.86783 46.33564 -1 -1 0 + 158 26 14 0.417 58.13662 52.56730 47.23820 -1 -1 0 + 159 26 14 0.417 58.81317 52.55269 45.88396 -1 -1 0 + 160 27 13 -0.834 62.89253 60.86549 46.75131 -2 -1 0 + 161 27 14 0.417 63.83924 60.74010 46.81653 -2 -1 0 + 162 27 14 0.417 62.51896 60.12788 47.23361 -2 -1 0 + 163 28 13 -0.834 43.29171 48.58106 31.82206 -1 0 2 + 164 28 14 0.417 43.07532 49.46362 32.12290 -1 0 2 + 165 28 14 0.417 43.82286 48.21072 32.52701 -1 0 2 + 166 29 13 -0.834 64.19867 44.17673 45.81391 -1 1 -1 + 167 29 14 0.417 63.72986 44.44010 45.02202 -1 1 -1 + 168 29 14 0.417 37.02069 43.24876 45.68087 0 1 -1 + 169 30 13 -0.834 50.42749 42.01163 53.60484 0 2 0 + 170 30 14 0.417 51.03177 41.90084 52.87081 0 2 0 + 171 30 14 0.417 50.77279 42.76181 54.08882 0 2 0 + 172 31 13 -0.834 38.63739 61.71113 49.95150 1 0 0 + 173 31 14 0.417 38.55432 62.15607 49.10808 1 0 0 + 174 31 14 0.417 37.81718 61.22751 50.04950 1 0 0 + 175 32 13 -0.834 61.47262 53.02922 33.08309 -1 -1 0 + 176 32 14 0.417 61.21894 52.67931 33.93717 -1 -1 0 + 177 32 14 0.417 61.89351 53.86564 33.28182 -1 -1 0 + 178 33 13 -0.834 54.44545 60.06011 48.63522 -1 0 1 + 179 33 14 0.417 54.80032 60.94424 48.72810 -1 0 1 + 180 33 14 0.417 54.09041 60.03614 47.74662 -1 0 1 + 181 34 13 -0.834 56.34364 60.90201 52.60838 -1 -1 0 + 182 34 14 0.417 56.48857 60.19161 53.23333 -1 -1 0 + 183 34 14 0.417 56.17362 61.67024 53.15351 -1 -1 0 + 184 35 13 -0.834 56.05881 51.84328 55.76103 -1 0 0 + 185 35 14 0.417 55.59060 51.75146 54.93121 -1 0 0 + 186 35 14 0.417 55.46974 52.35732 56.31335 -1 0 0 + 187 36 13 -0.834 39.00621 42.74743 30.97845 0 0 1 + 188 36 14 0.417 39.67620 42.11390 30.72152 0 0 1 + 189 36 14 0.417 39.43456 43.29673 31.63499 0 0 1 + 190 37 13 -0.834 46.77585 55.39774 30.24026 0 1 0 + 191 37 14 0.417 46.10274 54.90237 29.77360 0 1 0 + 192 37 14 0.417 46.39626 56.26890 30.35527 0 1 0 + 193 38 13 -0.834 45.10722 57.60431 31.54688 -1 0 0 + 194 38 14 0.417 44.80783 58.50032 31.70105 -1 0 0 + 195 38 14 0.417 44.44237 57.22463 30.97238 -1 0 0 + 196 39 13 -0.834 43.94230 46.99244 34.45668 -2 1 1 + 197 39 14 0.417 44.62010 46.49140 34.00306 -2 1 1 + 198 39 14 0.417 44.38150 47.79794 34.72964 -2 1 1 + 199 40 13 -0.834 51.39443 50.96507 34.69072 -1 1 0 + 200 40 14 0.417 51.18729 50.42829 35.45570 -1 1 0 + 201 40 14 0.417 51.33198 51.86665 35.00616 -1 1 0 + 202 41 13 -0.834 58.96398 48.19727 42.98856 -2 1 0 + 203 41 14 0.417 58.42587 48.90112 42.62618 -2 1 0 + 204 41 14 0.417 58.82383 48.25054 43.93397 -2 1 0 + 205 42 13 -0.834 62.89335 41.94260 37.40820 0 0 0 + 206 42 14 0.417 62.48690 41.07818 37.46980 0 0 0 + 207 42 14 0.417 63.01802 42.08284 36.46957 0 0 0 + 208 43 13 -0.834 54.19388 47.88689 36.24110 -1 0 1 + 209 43 14 0.417 54.32054 48.63090 35.65235 -1 0 1 + 210 43 14 0.417 53.24370 47.78935 36.30358 -1 0 1 + 211 44 13 -0.834 39.19734 57.40342 41.28495 0 0 -2 + 212 44 14 0.417 39.05428 57.72940 40.39641 0 0 -2 + 213 44 14 0.417 39.30846 56.45861 41.17895 0 0 -2 + 214 45 13 -0.834 52.85483 61.73749 54.63897 0 0 0 + 215 45 14 0.417 53.34938 62.52765 54.42147 0 0 0 + 216 45 14 0.417 53.01046 61.14656 53.90221 0 0 0 + 217 46 13 -0.834 47.09467 62.01384 35.02302 1 0 1 + 218 46 14 0.417 47.54527 61.47644 35.67448 1 0 1 + 219 46 14 0.417 47.10116 62.89626 35.39385 1 0 1 + 220 47 13 -0.834 46.80497 49.60334 37.05700 0 0 1 + 221 47 14 0.417 46.70216 49.79770 36.12540 0 0 1 + 222 47 14 0.417 45.91311 49.45393 37.37084 0 0 1 + 223 48 13 -0.834 63.21969 59.12311 54.43455 -1 -1 -1 + 224 48 14 0.417 63.94585 59.72833 54.28405 -1 -1 -1 + 225 48 14 0.417 63.63016 58.34481 54.81141 -1 -1 -1 + 226 49 13 -0.834 59.88416 59.64215 44.04914 -2 1 0 + 227 49 14 0.417 59.74255 59.14412 44.85422 -2 1 0 + 228 49 14 0.417 59.02635 60.01323 43.84248 -2 1 0 + 229 50 13 -0.834 40.50825 42.85328 50.81112 -1 1 0 + 230 50 14 0.417 40.34650 43.39801 51.58141 -1 1 0 + 231 50 14 0.417 39.63964 42.69867 50.43985 -1 1 0 + 232 51 13 -0.834 63.77522 64.97067 44.83010 -2 0 0 + 233 51 14 0.417 37.00507 65.56132 45.28388 -1 0 0 + 234 51 14 0.417 64.14243 64.88383 43.95041 -2 0 0 + 235 52 13 -0.834 62.47161 67.86189 47.38235 -1 0 -1 + 236 52 14 0.417 61.58819 67.64608 47.08360 -1 0 -1 + 237 52 14 0.417 62.79136 67.05596 47.78790 -1 0 -1 + 238 53 13 -0.834 43.90800 54.16107 50.35199 0 0 0 + 239 53 14 0.417 43.96769 53.24711 50.07388 0 0 0 + 240 53 14 0.417 43.72593 54.64554 49.54677 0 0 0 + 241 54 13 -0.834 63.46829 44.63390 34.73615 -1 1 1 + 242 54 14 0.417 62.63731 45.04623 34.97217 -1 1 1 + 243 54 14 0.417 64.11050 45.03645 35.32075 -1 1 1 + 244 55 13 -0.834 37.30679 58.22047 51.04345 0 0 0 + 245 55 14 0.417 38.18596 58.37862 50.69950 0 0 0 + 246 55 14 0.417 36.85723 59.06017 50.94824 0 0 0 + 247 56 13 -0.834 58.72649 42.45768 31.23820 -1 1 -1 + 248 56 14 0.417 59.43634 42.77561 30.68028 -1 1 -1 + 249 56 14 0.417 58.76581 41.50474 31.15690 -1 1 -1 + 250 57 13 -0.834 52.47101 42.85691 41.60986 0 1 -1 + 251 57 14 0.417 51.62289 42.91562 41.16997 0 1 -1 + 252 57 14 0.417 52.53109 41.94497 41.89448 0 1 -1 + 253 58 13 -0.834 60.63476 59.78356 56.53663 -2 -1 -1 + 254 58 14 0.417 60.87428 58.86269 56.43247 -2 -1 -1 + 255 58 14 0.417 59.72615 59.76269 56.83705 -2 -1 -1 + 256 59 13 -0.834 52.78127 57.47386 30.66786 -1 -1 0 + 257 59 14 0.417 52.55495 58.26092 30.17228 -1 -1 0 + 258 59 14 0.417 53.05203 56.84104 30.00267 -1 -1 0 + 259 60 13 -0.834 46.04848 57.65321 54.89998 0 3 -1 + 260 60 14 0.417 46.96883 57.71336 55.15607 0 3 -1 + 261 60 14 0.417 46.02768 57.98076 54.00081 0 3 -1 + 262 61 13 -0.834 60.39356 51.43705 35.66109 -1 1 -1 + 263 61 14 0.417 60.57739 52.08235 36.34376 -1 1 -1 + 264 61 14 0.417 59.59475 50.99860 35.95414 -1 1 -1 + 265 62 13 -0.834 50.32338 62.46972 35.65752 -1 0 2 + 266 62 14 0.417 51.24156 62.23287 35.52678 -1 0 2 + 267 62 14 0.417 49.89601 61.64851 35.90085 -1 0 2 + 268 63 13 -0.834 38.23983 45.11908 50.02773 0 1 0 + 269 63 14 0.417 38.61336 45.27494 50.89515 0 1 0 + 270 63 14 0.417 38.91224 45.42406 49.41856 0 1 0 + 271 64 13 -0.834 58.93720 57.36605 46.08362 -3 0 0 + 272 64 14 0.417 58.65753 56.63297 46.63190 -3 0 0 + 273 64 14 0.417 58.29914 58.05674 46.26268 -3 0 0 + 274 65 13 -0.834 47.99806 43.44789 47.43046 -1 0 0 + 275 65 14 0.417 48.39580 43.78289 46.62684 -1 0 0 + 276 65 14 0.417 47.85848 44.22523 47.97128 -1 0 0 + 277 66 13 -0.834 51.26744 52.05593 47.09995 -1 0 0 + 278 66 14 0.417 51.36736 52.09873 46.14894 -1 0 0 + 279 66 14 0.417 50.33779 52.22629 47.25149 -1 0 0 + 280 67 13 -0.834 39.06132 52.11517 46.39010 0 0 -1 + 281 67 14 0.417 38.53402 51.36282 46.65876 0 0 -1 + 282 67 14 0.417 39.47133 52.42190 47.19884 0 0 -1 + 283 68 13 -0.834 60.17907 58.95174 50.22759 -1 1 0 + 284 68 14 0.417 60.34080 59.56538 50.94420 -1 1 0 + 285 68 14 0.417 59.41497 58.44908 50.50992 -1 1 0 + 286 69 13 -0.834 40.47698 59.65154 34.92537 0 -1 1 + 287 69 14 0.417 40.89044 60.49055 35.12877 0 -1 1 + 288 69 14 0.417 41.17964 59.12336 34.54648 0 -1 1 + 289 70 13 -0.834 60.12998 66.51474 47.03971 -1 0 -1 + 290 70 14 0.417 59.26620 66.39701 47.43506 -1 0 -1 + 291 70 14 0.417 60.21358 65.78625 46.42443 -1 0 -1 + 292 71 13 -0.834 49.25986 47.27506 43.03372 -1 0 1 + 293 71 14 0.417 49.11810 48.15331 42.68041 -1 0 1 + 294 71 14 0.417 49.86162 47.40550 43.76662 -1 0 1 + 295 72 13 -0.834 41.48105 63.65699 31.84433 0 0 1 + 296 72 14 0.417 41.11022 64.48589 32.14713 0 0 1 + 297 72 14 0.417 40.89461 63.37379 31.14281 0 0 1 + 298 73 13 -0.834 47.82875 47.97039 54.56720 0 2 0 + 299 73 14 0.417 46.99167 47.50633 54.55352 0 2 0 + 300 73 14 0.417 47.60488 48.87558 54.35102 0 2 0 + 301 74 13 -0.834 62.36735 58.64445 48.35778 -2 1 0 + 302 74 14 0.417 62.88767 57.90867 48.68045 -2 1 0 + 303 74 14 0.417 61.65918 58.73544 48.99531 -2 1 0 + 304 75 13 -0.834 52.09508 65.08907 32.87560 0 0 0 + 305 75 14 0.417 52.67402 65.75058 32.49683 0 0 0 + 306 75 14 0.417 52.41855 64.97003 33.76859 0 0 0 + 307 76 13 -0.834 39.06932 41.62988 40.69498 1 1 0 + 308 76 14 0.417 39.51114 41.04433 40.08003 1 1 0 + 309 76 14 0.417 38.93584 42.43936 40.20186 1 1 0 + 310 77 13 -0.834 37.68325 49.50718 46.00750 0 2 0 + 311 77 14 0.417 64.11601 49.67107 45.91568 -1 2 0 + 312 77 14 0.417 37.90845 48.96991 45.24796 0 2 0 + 313 78 13 -0.834 53.00757 59.49351 52.98404 -2 1 -1 + 314 78 14 0.417 52.16721 59.28329 53.39127 -2 1 -1 + 315 78 14 0.417 53.61000 58.83023 53.32076 -2 1 -1 + 316 79 13 -0.834 51.89369 64.75001 56.68467 1 0 0 + 317 79 14 0.417 51.88079 65.63682 56.32462 1 0 0 + 318 79 14 0.417 52.40589 64.82531 30.11841 1 0 1 + 319 80 13 -0.834 48.43261 63.10155 32.63566 0 0 1 + 320 80 14 0.417 47.68021 63.01753 32.04993 0 0 1 + 321 80 14 0.417 48.13916 62.71424 33.46035 0 0 1 + 322 81 13 -0.834 62.41171 68.18251 30.67168 0 -1 2 + 323 81 14 0.417 61.79235 41.16145 30.03143 0 0 2 + 324 81 14 0.417 63.18314 67.94790 30.15584 0 -1 2 + 325 82 13 -0.834 42.57575 41.32197 37.66791 0 0 1 + 326 82 14 0.417 42.98116 41.36016 36.80164 0 0 1 + 327 82 14 0.417 42.32522 42.22654 37.85569 0 0 1 + 328 83 13 -0.834 50.17315 67.44398 36.91606 0 -2 0 + 329 83 14 0.417 50.08765 67.03449 37.77701 0 -2 0 + 330 83 14 0.417 50.35347 66.71621 36.32101 0 -2 0 + 331 84 13 -0.834 39.70163 60.45247 40.03790 0 -2 -1 + 332 84 14 0.417 38.85282 60.01540 40.10676 0 -2 -1 + 333 84 14 0.417 40.20579 60.11563 40.77858 0 -2 -1 + 334 85 13 -0.834 51.74323 42.80814 51.33239 0 0 -1 + 335 85 14 0.417 52.44810 43.22892 51.82466 0 0 -1 + 336 85 14 0.417 51.80961 43.17998 50.45286 0 0 -1 + 337 86 13 -0.834 51.34695 47.68316 36.38089 0 0 1 + 338 86 14 0.417 50.77701 46.92707 36.52138 0 0 1 + 339 86 14 0.417 51.27109 47.87031 35.44523 0 0 1 + 340 87 13 -0.834 62.66950 50.66085 43.15883 -2 0 0 + 341 87 14 0.417 63.57796 50.36318 43.11051 -2 0 0 + 342 87 14 0.417 62.24654 50.26548 42.39659 -2 0 0 + 343 88 13 -0.834 46.37996 60.13914 31.06428 -2 -1 1 + 344 88 14 0.417 46.89125 59.89673 31.83632 -2 -1 1 + 345 88 14 0.417 45.51811 60.37092 31.41028 -2 -1 1 + 346 89 13 -0.834 50.23251 41.17559 46.18435 0 1 2 + 347 89 14 0.417 49.40509 68.16142 45.89628 0 0 2 + 348 89 14 0.417 50.55747 67.94506 46.85395 0 0 2 + 349 90 13 -0.834 56.10446 66.70018 42.60390 0 -2 1 + 350 90 14 0.417 56.27454 67.42915 42.00732 0 -2 1 + 351 90 14 0.417 56.27819 67.05729 43.47483 0 -2 1 + 352 91 13 -0.834 55.53824 48.43866 51.97225 -1 0 1 + 353 91 14 0.417 56.26440 48.96682 52.30388 -1 0 1 + 354 91 14 0.417 55.26306 48.88494 51.17140 -1 0 1 + 355 92 13 -0.834 37.88016 52.62502 33.55552 0 -1 0 + 356 92 14 0.417 37.58757 51.72397 33.41859 0 -1 0 + 357 92 14 0.417 38.51960 52.77804 32.85986 0 -1 0 + 358 93 13 -0.834 50.40592 66.14455 39.40035 -1 -2 -1 + 359 93 14 0.417 49.74974 66.37168 40.05920 -1 -2 -1 + 360 93 14 0.417 50.22642 65.22843 39.18876 -1 -2 -1 + 361 94 13 -0.834 59.56315 43.63477 50.02876 -1 0 0 + 362 94 14 0.417 60.08533 44.36640 50.35782 -1 0 0 + 363 94 14 0.417 60.10101 42.86112 50.19730 -1 0 0 + 364 95 13 -0.834 57.16125 61.75981 55.17964 0 0 -1 + 365 95 14 0.417 56.45534 61.68609 55.82189 0 0 -1 + 366 95 14 0.417 57.38335 62.69087 55.17297 0 0 -1 + 367 96 13 -0.834 54.81274 43.48714 43.13392 -1 2 1 + 368 96 14 0.417 53.88771 43.40698 42.90124 -1 2 1 + 369 96 14 0.417 54.97915 42.74512 43.71525 -1 2 1 + 370 97 13 -0.834 41.23040 49.49766 49.75568 0 -2 0 + 371 97 14 0.417 40.54278 49.43865 49.09241 0 -2 0 + 372 97 14 0.417 41.81904 48.76959 49.55653 0 -2 0 + 373 98 13 -0.834 54.20957 45.39084 54.97428 -1 0 0 + 374 98 14 0.417 54.66721 46.06623 55.47493 -1 0 0 + 375 98 14 0.417 53.74016 44.87996 55.63374 -1 0 0 + 376 99 13 -0.834 61.27515 64.38553 39.98716 -1 0 1 + 377 99 14 0.417 61.56153 64.23410 40.88787 -1 0 1 + 378 99 14 0.417 60.44736 63.91029 39.91542 -1 0 1 + 379 100 13 -0.834 55.67284 58.14856 42.21767 -1 1 2 + 380 100 14 0.417 55.46369 57.24253 42.44485 -1 1 2 + 381 100 14 0.417 56.62771 58.19397 42.26677 -1 1 2 + 382 101 13 -0.834 43.66528 51.07118 53.71174 0 0 0 + 383 101 14 0.417 42.87715 50.89079 53.19934 0 0 0 + 384 101 14 0.417 43.37793 51.68815 54.38481 0 0 0 + 385 102 13 -0.834 39.90899 44.53973 36.42818 0 2 0 + 386 102 14 0.417 39.84006 43.65427 36.07118 0 2 0 + 387 102 14 0.417 40.52179 44.98683 35.84438 0 2 0 + 388 103 13 -0.834 51.24695 66.96031 48.71611 -1 -1 1 + 389 103 14 0.417 50.88275 67.26607 49.54684 -1 -1 1 + 390 103 14 0.417 52.19366 66.95318 48.85726 -1 -1 1 + 391 104 13 -0.834 55.15911 56.17347 57.08906 -1 0 0 + 392 104 14 0.417 55.86241 55.65189 56.70232 -1 0 0 + 393 104 14 0.417 54.93977 55.71619 30.52949 -1 0 1 + 394 105 13 -0.834 37.33282 54.30424 56.96734 0 0 0 + 395 105 14 0.417 64.15558 54.97773 29.99806 -1 0 1 + 396 105 14 0.417 64.13467 53.88397 56.32293 -1 0 0 + 397 106 13 -0.834 53.07827 51.20543 32.31512 -1 0 1 + 398 106 14 0.417 52.39494 50.78813 31.79057 -1 0 1 + 399 106 14 0.417 52.65819 51.38698 33.15584 -1 0 1 + 400 107 13 -0.834 43.06086 51.65229 35.75926 1 1 1 + 401 107 14 0.417 42.70958 52.01746 36.57135 1 1 1 + 402 107 14 0.417 43.42908 50.80682 36.01586 1 1 1 + 403 108 13 -0.834 53.92253 56.24460 34.48089 0 0 1 + 404 108 14 0.417 53.22007 56.39276 35.11401 0 0 1 + 405 108 14 0.417 54.59075 55.76600 34.97147 0 0 1 + 406 109 13 -0.834 61.71524 66.84153 38.60005 -1 -1 0 + 407 109 14 0.417 61.25397 66.04877 38.87388 -1 -1 0 + 408 109 14 0.417 62.23260 67.09437 39.36467 -1 -1 0 + 409 110 13 -0.834 43.52824 62.78695 41.49939 0 -1 -1 + 410 110 14 0.417 43.61050 61.97218 41.00379 0 -1 -1 + 411 110 14 0.417 43.53140 63.47437 40.83330 0 -1 -1 + 412 111 13 -0.834 51.13822 55.54090 53.50461 0 1 -2 + 413 111 14 0.417 50.69587 56.38179 53.62064 0 1 -2 + 414 111 14 0.417 51.43262 55.54828 52.59383 0 1 -2 + 415 112 13 -0.834 46.94709 50.11761 31.92599 0 0 0 + 416 112 14 0.417 47.19652 51.02564 31.75423 0 0 0 + 417 112 14 0.417 46.57462 49.81059 31.09941 0 0 0 + 418 113 13 -0.834 47.96666 45.13049 44.46108 -1 2 -1 + 419 113 14 0.417 47.01871 45.24108 44.53489 -1 2 -1 + 420 113 14 0.417 48.26343 45.91034 43.99202 -1 2 -1 + 421 114 13 -0.834 44.43868 43.44849 32.90814 -1 -1 1 + 422 114 14 0.417 43.86055 43.24165 33.64245 -1 -1 1 + 423 114 14 0.417 45.31670 43.24154 33.22828 -1 -1 1 + 424 115 13 -0.834 61.07172 47.80130 53.14504 -1 1 -1 + 425 115 14 0.417 61.34864 48.71600 53.19864 -1 1 -1 + 426 115 14 0.417 60.72118 47.60538 54.01394 -1 1 -1 + 427 116 13 -0.834 51.38727 44.10864 54.92855 -1 0 -1 + 428 116 14 0.417 50.77962 44.80360 55.18160 -1 0 -1 + 429 116 14 0.417 52.05111 44.10744 55.61815 -1 0 -1 + 430 117 13 -0.834 41.05585 60.12319 49.44785 1 -1 0 + 431 117 14 0.417 41.72702 60.76812 49.67116 1 -1 0 + 432 117 14 0.417 40.24373 60.62784 49.40265 1 -1 0 + 433 118 13 -0.834 50.88548 68.33364 33.37284 -1 0 -1 + 434 118 14 0.417 50.48275 67.46671 33.32310 -1 0 -1 + 435 118 14 0.417 51.82702 68.16119 33.37343 -1 0 -1 + 436 119 13 -0.834 38.79644 59.29061 55.22446 1 1 -1 + 437 119 14 0.417 38.82887 59.83550 56.01077 1 1 -1 + 438 119 14 0.417 39.26097 59.79985 54.56028 1 1 -1 + 439 120 13 -0.834 56.31813 41.68729 51.11871 -2 0 -1 + 440 120 14 0.417 55.45155 41.35580 51.35412 -2 0 -1 + 441 120 14 0.417 56.14879 42.34135 50.44062 -2 0 -1 + 442 121 13 -0.834 45.53697 59.28154 47.22033 -1 0 -1 + 443 121 14 0.417 45.45062 59.55577 46.30733 -1 0 -1 + 444 121 14 0.417 46.00774 59.99977 47.64313 -1 0 -1 + 445 122 13 -0.834 60.47636 43.28130 46.20944 -1 0 -1 + 446 122 14 0.417 60.97762 42.59184 45.77396 -1 0 -1 + 447 122 14 0.417 59.72992 42.82584 46.59884 -1 0 -1 + 448 123 13 -0.834 58.49080 48.18289 45.77215 0 0 -1 + 449 123 14 0.417 58.74342 47.25991 45.74879 0 0 -1 + 450 123 14 0.417 58.17926 48.32386 46.66621 0 0 -1 + 451 124 13 -0.834 50.93473 56.12663 41.58575 -1 0 0 + 452 124 14 0.417 50.36171 56.05214 42.34885 -1 0 0 + 453 124 14 0.417 50.40135 56.57242 40.92771 -1 0 0 + 454 125 13 -0.834 60.55008 41.95542 56.22749 -1 0 -1 + 455 125 14 0.417 59.65163 41.78987 55.94175 -1 0 -1 + 456 125 14 0.417 61.09463 41.59967 55.52524 -1 0 -1 + 457 126 13 -0.834 58.58373 51.69338 48.78985 -1 1 0 + 458 126 14 0.417 58.38773 52.01803 49.66874 -1 1 0 + 459 126 14 0.417 58.66973 50.74614 48.89756 -1 1 0 + 460 127 13 -0.834 37.82769 45.69808 30.85100 0 1 3 + 461 127 14 0.417 38.37007 45.10637 31.37248 0 1 3 + 462 127 14 0.417 37.14646 45.99401 31.45481 0 1 3 + 463 128 13 -0.834 50.96455 60.06361 33.68049 0 0 0 + 464 128 14 0.417 51.72055 60.15430 34.26055 0 0 0 + 465 128 14 0.417 51.05673 60.77997 33.05234 0 0 0 + 466 129 13 -0.834 46.43413 68.11245 51.48833 -1 0 -1 + 467 129 14 0.417 46.82151 41.36005 50.86943 -1 1 -1 + 468 129 14 0.417 47.09847 67.43153 51.59433 -1 0 -1 + 469 130 13 -0.834 61.79997 47.41648 57.05141 -1 -1 0 + 470 130 14 0.417 62.68713 47.23872 56.73898 -1 -1 0 + 471 130 14 0.417 61.48917 46.57417 30.01195 -1 -1 1 + 472 131 13 -0.834 45.30689 46.58119 54.43763 0 1 -1 + 473 131 14 0.417 45.67282 45.73922 54.70859 0 1 -1 + 474 131 14 0.417 44.46622 46.35973 54.03705 0 1 -1 + 475 132 13 -0.834 62.60829 48.56385 49.02640 -1 1 0 + 476 132 14 0.417 62.44761 48.65968 48.08766 -1 1 0 + 477 132 14 0.417 62.98242 47.68753 49.11762 -1 1 0 + 478 133 13 -0.834 63.49107 56.77075 38.74961 -1 0 2 + 479 133 14 0.417 63.12281 56.39554 39.54952 -1 0 2 + 480 133 14 0.417 62.84612 57.42058 38.47033 -1 0 2 + 481 134 13 -0.834 50.74846 48.34849 33.46075 0 0 1 + 482 134 14 0.417 50.75342 49.30521 33.43086 0 0 1 + 483 134 14 0.417 50.91203 48.07929 32.55686 0 0 1 + 484 135 13 -0.834 44.40923 67.37148 56.42156 0 0 0 + 485 135 14 0.417 43.93400 67.78902 29.76856 0 0 1 + 486 135 14 0.417 44.94884 66.70468 56.84633 0 0 0 + 487 136 13 -0.834 44.25343 64.95349 43.22104 0 0 0 + 488 136 14 0.417 44.13229 64.08173 42.84472 0 0 0 + 489 136 14 0.417 44.01188 65.55470 42.51643 0 0 0 + 490 137 13 -0.834 46.68300 67.52863 32.69859 -1 -1 0 + 491 137 14 0.417 46.68369 68.22637 33.35389 -1 -1 0 + 492 137 14 0.417 47.60248 67.43099 32.45106 -1 -1 0 + 493 138 13 -0.834 57.25376 61.01737 33.86507 -2 1 1 + 494 138 14 0.417 57.40827 60.52366 34.67043 -2 1 1 + 495 138 14 0.417 57.35792 60.37307 33.16488 -2 1 1 + 496 139 13 -0.834 57.39946 54.16835 56.70699 0 -1 -1 + 497 139 14 0.417 57.31939 53.23092 56.53080 0 -1 -1 + 498 139 14 0.417 57.32300 54.24112 30.28699 0 -1 0 + 499 140 13 -0.834 52.36697 48.69246 41.49227 -1 1 0 + 500 140 14 0.417 51.78735 47.93629 41.40021 -1 1 0 + 501 140 14 0.417 53.21603 48.31702 41.72547 -1 1 0 + 502 141 13 -0.834 54.69200 49.57915 45.55048 0 0 -1 + 503 141 14 0.417 54.95958 48.66911 45.42211 0 0 -1 + 504 141 14 0.417 55.28513 50.08439 44.99446 0 0 -1 + 505 142 13 -0.834 37.26724 53.17896 42.50469 1 -1 -1 + 506 142 14 0.417 63.93194 53.34801 43.12782 0 -1 -1 + 507 142 14 0.417 36.94831 52.45044 41.97199 1 -1 -1 + 508 143 13 -0.834 42.56283 66.92379 33.49577 -1 0 1 + 509 143 14 0.417 41.71356 66.58931 33.20750 -1 0 1 + 510 143 14 0.417 43.03645 66.14842 33.79697 -1 0 1 + 511 144 13 -0.834 61.43331 45.62855 38.97695 0 1 1 + 512 144 14 0.417 61.20190 45.98514 39.83458 0 1 1 + 513 144 14 0.417 62.31351 45.96414 38.80708 0 1 1 + 514 145 13 -0.834 49.37935 56.26031 56.72879 1 1 0 + 515 145 14 0.417 49.03977 57.11146 56.45221 1 1 0 + 516 145 14 0.417 48.60052 55.75658 56.96530 1 1 0 + 517 146 13 -0.834 63.13959 56.23999 49.92079 -1 0 -1 + 518 146 14 0.417 63.72474 55.58123 50.29478 -1 0 -1 + 519 146 14 0.417 63.40966 57.06154 50.33112 -1 0 -1 + 520 147 13 -0.834 58.55937 66.56287 54.17345 -1 0 0 + 521 147 14 0.417 59.28260 66.81524 53.59945 -1 0 0 + 522 147 14 0.417 58.28559 67.38088 54.58834 -1 0 0 + 523 148 13 -0.834 55.49901 62.14366 46.01274 -1 0 -1 + 524 148 14 0.417 55.08057 61.57956 45.36238 -1 0 -1 + 525 148 14 0.417 55.53371 63.00495 45.59652 -1 0 -1 + 526 149 13 -0.834 48.09589 47.38106 38.97384 0 1 0 + 527 149 14 0.417 47.94178 48.02346 38.28116 0 1 0 + 528 149 14 0.417 47.26125 47.32494 39.43910 0 1 0 + 529 150 13 -0.834 40.27661 53.03711 48.83757 0 0 0 + 530 150 14 0.417 40.32476 53.91333 49.21992 0 0 0 + 531 150 14 0.417 41.18363 52.81848 48.62365 0 0 0 + 532 151 13 -0.834 36.85277 41.68065 44.81488 1 2 0 + 533 151 14 0.417 36.95709 68.34807 45.45504 1 1 0 + 534 151 14 0.417 37.14062 41.29651 43.98673 1 2 0 + 535 152 13 -0.834 37.74881 65.81650 33.58759 -1 0 1 + 536 152 14 0.417 37.69052 65.99217 34.52673 -1 0 1 + 537 152 14 0.417 37.02193 65.21970 33.40951 -1 0 1 + 538 153 13 -0.834 63.01838 46.13766 43.99274 -2 0 0 + 539 153 14 0.417 62.72780 46.33504 43.10232 -2 0 0 + 540 153 14 0.417 63.75125 46.73459 44.14387 -2 0 0 + 541 154 13 -0.834 43.83288 53.92104 38.64974 0 2 1 + 542 154 14 0.417 44.46072 53.30394 39.02556 0 2 1 + 543 154 14 0.417 44.17373 54.10726 37.77488 0 2 1 + 544 155 13 -0.834 54.48021 41.30441 45.39416 1 1 -2 + 545 155 14 0.417 54.42996 67.86451 44.88861 1 0 -2 + 546 155 14 0.417 54.84291 41.03852 46.23914 1 1 -2 + 547 156 13 -0.834 51.26407 63.10699 50.73012 0 0 -2 + 548 156 14 0.417 51.64016 62.23294 50.83411 0 0 -2 + 549 156 14 0.417 51.56733 63.39797 49.87011 0 0 -2 + 550 157 13 -0.834 54.61161 63.67709 53.56970 0 1 1 + 551 157 14 0.417 55.55339 63.81655 53.47054 0 1 1 + 552 157 14 0.417 54.24805 63.87070 52.70565 0 1 1 + 553 158 13 -0.834 46.57444 42.69363 30.13287 -1 0 1 + 554 158 14 0.417 45.93025 42.28051 30.70783 -1 0 1 + 555 158 14 0.417 47.27305 42.04459 30.04973 -1 0 1 + 556 159 13 -0.834 37.92811 50.36816 42.31352 1 1 0 + 557 159 14 0.417 38.62401 50.90050 42.69899 1 1 0 + 558 159 14 0.417 38.11553 50.37135 41.37484 1 1 0 + 559 160 13 -0.834 40.53318 48.69302 33.52502 -1 0 0 + 560 160 14 0.417 40.10720 48.55075 32.67972 -1 0 0 + 561 160 14 0.417 41.22323 49.33057 33.34173 -1 0 0 + 562 161 13 -0.834 58.20095 45.48345 42.83426 1 0 -1 + 563 161 14 0.417 58.76156 46.25356 42.92849 1 0 -1 + 564 161 14 0.417 58.80813 44.74348 42.83158 1 0 -1 + 565 162 13 -0.834 59.85909 67.06752 31.43173 -1 1 0 + 566 162 14 0.417 59.95062 66.12180 31.54782 -1 1 0 + 567 162 14 0.417 60.75672 67.38534 31.33437 -1 1 0 + 568 163 13 -0.834 48.48808 51.17807 55.92072 -2 0 0 + 569 163 14 0.417 49.24951 51.62602 55.55219 -2 0 0 + 570 163 14 0.417 48.81105 50.30745 56.15303 -2 0 0 + 571 164 13 -0.834 47.51169 45.69616 48.99410 0 0 -1 + 572 164 14 0.417 48.36822 46.03425 48.73281 0 0 -1 + 573 164 14 0.417 47.56201 45.62598 49.94740 0 0 -1 + 574 165 13 -0.834 51.10678 64.23082 47.99167 0 -2 -1 + 575 165 14 0.417 51.33188 65.16116 47.98611 0 -2 -1 + 576 165 14 0.417 50.15837 64.21415 48.12002 0 -2 -1 + 577 166 13 -0.834 42.97263 56.29674 30.18230 0 0 0 + 578 166 14 0.417 42.45756 55.50818 30.01170 0 0 0 + 579 166 14 0.417 42.79675 56.86516 56.80386 0 0 -1 + 580 167 13 -0.834 44.45917 53.64338 31.85015 -1 0 0 + 581 167 14 0.417 44.64093 54.17218 31.07325 -1 0 0 + 582 167 14 0.417 43.66299 53.15965 31.63030 -1 0 0 + 583 168 13 -0.834 52.20677 49.92062 48.65330 1 0 0 + 584 168 14 0.417 52.24176 50.63538 49.28902 1 0 0 + 585 168 14 0.417 52.01918 50.35058 47.81890 1 0 0 + 586 169 13 -0.834 45.94013 51.43638 56.49888 0 0 0 + 587 169 14 0.417 46.89200 51.34153 56.53372 0 0 0 + 588 169 14 0.417 45.60504 50.66051 56.94833 0 0 0 + 589 170 13 -0.834 45.61845 41.38709 48.05698 1 0 0 + 590 170 14 0.417 46.42604 41.83441 47.80406 1 0 0 + 591 170 14 0.417 45.31743 41.85685 48.83477 1 0 0 + 592 171 13 -0.834 47.68232 42.84819 52.92728 0 1 0 + 593 171 14 0.417 47.61830 42.41414 52.07654 0 1 0 + 594 171 14 0.417 48.39202 42.39011 53.37758 0 1 0 + 595 172 13 -0.834 37.01774 65.84057 36.39542 1 -1 0 + 596 172 14 0.417 36.84918 65.13561 37.02061 1 -1 0 + 597 172 14 0.417 63.52368 66.19949 36.19938 0 -1 0 + 598 173 13 -0.834 51.52891 58.65207 39.31760 -1 -3 -1 + 599 173 14 0.417 51.57384 59.35596 39.96472 -1 -3 -1 + 600 173 14 0.417 51.00435 59.01522 38.60403 -1 -3 -1 + 601 174 13 -0.834 49.06578 54.25781 44.33488 0 -1 -1 + 602 174 14 0.417 48.81980 55.18018 44.26437 0 -1 -1 + 603 174 14 0.417 49.41695 54.17018 45.22104 0 -1 -1 + 604 175 13 -0.834 47.03819 42.38557 34.31948 -1 -1 0 + 605 175 14 0.417 47.39035 41.82883 35.01393 -1 -1 0 + 606 175 14 0.417 47.47024 43.23019 34.44673 -1 -1 0 + 607 176 13 -0.834 41.64025 43.65472 38.33192 0 1 0 + 608 176 14 0.417 41.17224 44.02383 37.58295 0 1 0 + 609 176 14 0.417 41.46027 44.26142 39.05008 0 1 0 + 610 177 13 -0.834 61.41261 58.14241 37.49312 -2 0 0 + 611 177 14 0.417 61.24368 59.06676 37.67551 -2 0 0 + 612 177 14 0.417 60.57871 57.80631 37.16465 -2 0 0 + 613 178 13 -0.834 48.58355 55.60536 32.34542 0 -2 -2 + 614 178 14 0.417 48.05292 55.64371 31.54969 0 -2 -2 + 615 178 14 0.417 49.00004 56.46561 32.39784 0 -2 -2 + 616 179 13 -0.834 51.18618 52.33768 44.26866 0 -1 0 + 617 179 14 0.417 50.47419 52.97535 44.21659 0 -1 0 + 618 179 14 0.417 51.18053 51.90159 43.41657 0 -1 0 + 619 180 13 -0.834 63.77008 46.64985 53.45124 -2 0 -1 + 620 180 14 0.417 37.25943 46.94040 53.14955 -1 0 -1 + 621 180 14 0.417 63.15834 47.28506 53.07904 -2 0 -1 + 622 181 13 -0.834 37.28071 56.79400 31.30862 1 1 0 + 623 181 14 0.417 37.34297 57.68998 31.63963 1 1 0 + 624 181 14 0.417 36.99543 56.89301 30.40030 1 1 0 + 625 182 13 -0.834 38.98742 57.66608 44.07685 1 0 1 + 626 182 14 0.417 39.04152 57.61214 43.12270 1 0 1 + 627 182 14 0.417 39.46043 56.89430 44.38805 1 0 1 + 628 183 13 -0.834 64.13749 51.25767 48.28997 0 -1 0 + 629 183 14 0.417 64.05120 52.19840 48.13566 0 -1 0 + 630 183 14 0.417 63.26932 50.90255 48.09918 0 -1 0 + 631 184 13 -0.834 41.02949 42.14202 43.02064 0 0 -1 + 632 184 14 0.417 40.60130 42.82178 43.54104 0 0 -1 + 633 184 14 0.417 40.43829 41.99723 42.28189 0 0 -1 + 634 185 13 -0.834 49.87332 48.21836 52.83028 0 1 0 + 635 185 14 0.417 49.13733 48.15035 53.43849 0 1 0 + 636 185 14 0.417 50.32176 47.37567 52.90100 0 1 0 + 637 186 13 -0.834 56.06860 48.51217 38.12813 -1 1 0 + 638 186 14 0.417 56.55702 47.73454 38.39826 -1 1 0 + 639 186 14 0.417 55.52690 48.21357 37.39762 -1 1 0 + 640 187 13 -0.834 54.22718 59.47740 40.22374 -1 0 1 + 641 187 14 0.417 53.93839 59.03820 39.42377 -1 0 1 + 642 187 14 0.417 54.74005 58.81629 40.68868 -1 0 1 + 643 188 13 -0.834 60.09461 46.88146 32.04739 -1 0 -1 + 644 188 14 0.417 60.91535 46.43611 31.83683 -1 0 -1 + 645 188 14 0.417 60.13630 47.02716 32.99253 -1 0 -1 + 646 189 13 -0.834 45.18646 44.57845 41.54076 0 0 0 + 647 189 14 0.417 44.28239 44.89208 41.51774 0 0 0 + 648 189 14 0.417 45.34481 44.23786 40.66033 0 0 0 + 649 190 13 -0.834 42.47099 45.68692 31.56356 1 0 1 + 650 190 14 0.417 43.26152 45.18821 31.76995 1 0 1 + 651 190 14 0.417 42.78187 46.58070 31.41951 1 0 1 + 652 191 13 -0.834 41.23413 47.67043 41.85221 0 1 0 + 653 191 14 0.417 41.04508 48.58329 42.06946 0 1 0 + 654 191 14 0.417 40.84394 47.54379 40.98737 0 1 0 + 655 192 13 -0.834 48.84750 60.39708 36.57115 0 0 0 + 656 192 14 0.417 48.57626 59.48478 36.46920 0 0 0 + 657 192 14 0.417 48.59448 60.62409 37.46597 0 0 0 + 658 193 13 -0.834 56.78263 43.55464 49.12966 -1 0 -1 + 659 193 14 0.417 56.56851 44.25428 48.51250 -1 0 -1 + 660 193 14 0.417 57.66563 43.76469 49.43365 -1 0 -1 + 661 194 13 -0.834 59.52236 53.66894 43.24587 -1 2 0 + 662 194 14 0.417 59.44365 54.61174 43.10041 -1 2 0 + 663 194 14 0.417 59.73284 53.58637 44.17598 -1 2 0 + 664 195 13 -0.834 63.61393 61.54696 40.57053 -1 -1 1 + 665 195 14 0.417 36.90989 60.94398 40.24291 0 -1 1 + 666 195 14 0.417 63.74510 61.55794 41.51864 -1 -1 1 + 667 196 13 -0.834 54.91742 43.16160 33.69639 0 0 -1 + 668 196 14 0.417 55.84062 43.16106 33.94925 0 0 -1 + 669 196 14 0.417 54.73416 44.07060 33.45898 0 0 -1 + 670 197 13 -0.834 41.09699 64.92982 48.38401 0 -1 -1 + 671 197 14 0.417 40.19042 64.83711 48.67687 0 -1 -1 + 672 197 14 0.417 41.27055 64.13206 47.88433 0 -1 -1 + 673 198 13 -0.834 49.09688 60.43369 49.80048 0 0 -1 + 674 198 14 0.417 49.75346 61.03633 50.14971 0 0 -1 + 675 198 14 0.417 49.51718 59.57440 49.83534 0 0 -1 + 676 199 13 -0.834 45.06873 45.25146 44.50830 0 1 0 + 677 199 14 0.417 45.08807 45.11881 43.56053 0 1 0 + 678 199 14 0.417 44.41198 44.63084 44.82413 0 1 0 + 679 200 13 -0.834 37.63886 45.88962 36.45768 0 0 2 + 680 200 14 0.417 38.32892 45.23766 36.58017 0 0 2 + 681 200 14 0.417 37.24627 45.98938 37.32495 0 0 2 + 682 201 13 -0.834 45.25770 47.01692 51.04211 -1 0 -2 + 683 201 14 0.417 45.49830 47.82868 50.59555 -1 0 -2 + 684 201 14 0.417 46.08295 46.68269 51.39354 -1 0 -2 + 685 202 13 -0.834 63.44567 60.77839 50.98507 -2 0 0 + 686 202 14 0.417 62.95029 60.46072 51.74001 -2 0 0 + 687 202 14 0.417 62.77774 61.08133 50.36998 -2 0 0 + 688 203 13 -0.834 48.00038 59.99003 33.31045 0 1 1 + 689 203 14 0.417 48.92391 59.89924 33.54518 0 1 1 + 690 203 14 0.417 47.68314 60.70831 33.85788 0 1 1 + 691 204 13 -0.834 51.29617 53.45952 36.10138 -1 -1 1 + 692 204 14 0.417 50.79623 53.20605 36.87731 -1 -1 1 + 693 204 14 0.417 51.41983 54.40421 36.19363 -1 -1 1 + 694 205 13 -0.834 48.55343 45.13540 34.47517 0 0 0 + 695 205 14 0.417 48.10547 45.97105 34.34382 0 0 0 + 696 205 14 0.417 49.13373 45.28879 35.22081 0 0 0 + 697 206 13 -0.834 48.34844 61.02741 54.77908 1 -1 -1 + 698 206 14 0.417 47.77364 61.75290 55.02301 1 -1 -1 + 699 206 14 0.417 49.14675 61.17253 55.28690 1 -1 -1 + 700 207 13 -0.834 38.97661 48.73541 31.27301 2 -1 0 + 701 207 14 0.417 38.86774 47.99634 30.67453 2 -1 0 + 702 207 14 0.417 38.60214 49.48112 30.80404 2 -1 0 + 703 208 13 -0.834 56.37687 61.69299 40.12439 0 -1 -1 + 704 208 14 0.417 56.35009 61.71409 39.16778 0 -1 -1 + 705 208 14 0.417 55.62486 61.15580 40.37371 0 -1 -1 + 706 209 13 -0.834 47.86700 41.38854 36.76722 -1 0 0 + 707 209 14 0.417 48.79854 41.26117 36.94678 -1 0 0 + 708 209 14 0.417 47.57553 42.00602 37.43804 -1 0 0 + 709 210 13 -0.834 43.22089 60.92576 39.48904 -1 -1 0 + 710 210 14 0.417 42.70029 60.20976 39.85311 -1 -1 0 + 711 210 14 0.417 43.25319 60.74538 38.54954 -1 -1 0 + 712 211 13 -0.834 56.26248 49.03317 34.29585 -1 0 0 + 713 211 14 0.417 56.69244 49.86416 34.09381 -1 0 0 + 714 211 14 0.417 55.61194 48.92467 33.60212 -1 0 0 + 715 212 13 -0.834 47.52063 49.37901 51.21673 1 0 0 + 716 212 14 0.417 48.35964 48.95385 51.03909 1 0 0 + 717 212 14 0.417 47.47856 49.43746 52.17122 1 0 0 + 718 213 13 -0.834 62.35532 56.31018 41.33556 0 0 0 + 719 213 14 0.417 62.07506 57.22150 41.42032 0 0 0 + 720 213 14 0.417 62.92184 56.16192 42.09274 0 0 0 + 721 214 13 -0.834 61.09797 64.53756 45.11003 -1 0 1 + 722 214 14 0.417 61.11801 63.59600 44.93887 -1 0 1 + 723 214 14 0.417 61.95676 64.85132 44.82670 -1 0 1 + 724 215 13 -0.834 51.22661 62.08872 31.93454 0 0 0 + 725 215 14 0.417 51.98994 62.65586 32.04369 0 0 0 + 726 215 14 0.417 50.47877 62.65171 32.13456 0 0 0 + 727 216 13 -0.834 40.65443 48.64853 54.43476 0 0 -1 + 728 216 14 0.417 40.25608 47.97845 54.99023 0 0 -1 + 729 216 14 0.417 41.58025 48.64240 54.67776 0 0 -1 + 730 217 13 -0.834 39.34873 63.07587 52.07209 1 1 -1 + 731 217 14 0.417 39.17266 63.98076 51.81438 1 1 -1 + 732 217 14 0.417 39.29792 62.57948 51.25523 1 1 -1 + 733 218 13 -0.834 45.66307 65.90840 47.75613 -1 0 0 + 734 218 14 0.417 44.99427 65.52542 48.32381 -1 0 0 + 735 218 14 0.417 45.75913 66.80721 48.07102 -1 0 0 + 736 219 13 -0.834 45.83158 51.91442 38.93974 0 0 0 + 737 219 14 0.417 46.07939 51.87422 39.86344 0 0 0 + 738 219 14 0.417 45.49928 51.03877 38.74210 0 0 0 + 739 220 13 -0.834 58.03934 67.88594 44.36036 -1 1 -1 + 740 220 14 0.417 58.69084 68.22520 43.74661 -1 1 -1 + 741 220 14 0.417 58.24719 68.31309 45.19138 -1 1 -1 + 742 221 13 -0.834 57.23319 66.95459 30.42832 0 0 0 + 743 221 14 0.417 56.95316 66.93560 31.34345 0 0 0 + 744 221 14 0.417 58.18154 66.82998 30.46491 0 0 0 + 745 222 13 -0.834 60.87005 44.72970 53.74755 -1 0 -1 + 746 222 14 0.417 60.02694 44.42275 53.41412 -1 0 -1 + 747 222 14 0.417 61.31963 45.07903 52.97808 -1 0 -1 + 748 223 13 -0.834 50.61352 50.44308 31.66369 0 -1 0 + 749 223 14 0.417 50.38691 49.95555 30.87173 0 -1 0 + 750 223 14 0.417 50.16704 51.28387 31.56391 0 -1 0 + 751 224 13 -0.834 42.70363 42.07925 34.73823 0 1 0 + 752 224 14 0.417 42.74630 41.15512 34.49249 0 1 0 + 753 224 14 0.417 41.77538 42.23983 34.90796 0 1 0 + 754 225 13 -0.834 50.34157 43.80796 44.49841 -1 1 0 + 755 225 14 0.417 49.44649 44.14718 44.50119 -1 1 0 + 756 225 14 0.417 50.24323 42.86994 44.66171 -1 1 0 + 757 226 13 -0.834 62.39528 64.92163 33.72829 -3 -1 1 + 758 226 14 0.417 61.94679 64.42233 34.41078 -3 -1 1 + 759 226 14 0.417 61.94061 64.68505 32.91986 -3 -1 1 + 760 227 13 -0.834 46.62188 47.13429 41.79430 0 1 1 + 761 227 14 0.417 46.21721 46.28415 41.62178 0 1 1 + 762 227 14 0.417 47.40198 46.92861 42.30946 0 1 1 + 763 228 13 -0.834 41.35469 54.31275 56.45453 0 0 -1 + 764 228 14 0.417 41.79769 53.47653 56.31055 0 0 -1 + 765 228 14 0.417 40.57273 54.26794 55.90425 0 0 -1 + 766 229 13 -0.834 48.43878 42.20000 49.94999 0 0 0 + 767 229 14 0.417 49.34431 42.29756 50.24447 0 0 0 + 768 229 14 0.417 48.41583 42.63350 49.09688 0 0 0 + 769 230 13 -0.834 37.29829 50.04209 33.34795 0 1 0 + 770 230 14 0.417 36.96213 49.51969 34.07619 0 1 0 + 771 230 14 0.417 37.98470 49.49933 32.96002 0 1 0 + 772 231 13 -0.834 58.91995 56.17895 33.02333 -1 0 0 + 773 231 14 0.417 59.83980 56.43785 32.96791 -1 0 0 + 774 231 14 0.417 58.89269 55.54120 33.73661 -1 0 0 + 775 232 13 -0.834 39.86900 65.81481 43.81866 0 0 -1 + 776 232 14 0.417 40.31483 64.99515 43.60502 0 0 -1 + 777 232 14 0.417 40.41298 66.21397 44.49762 0 0 -1 + 778 233 13 -0.834 62.71324 65.93556 51.55400 -1 0 0 + 779 233 14 0.417 62.38032 66.39597 52.32436 -1 0 0 + 780 233 14 0.417 63.52336 65.52245 51.85285 -1 0 0 + 781 234 13 -0.834 59.23324 49.58642 31.35843 0 0 0 + 782 234 14 0.417 59.28102 48.68976 31.69001 0 0 0 + 783 234 14 0.417 59.95115 50.04304 31.79700 0 0 0 + 784 235 13 -0.834 41.02310 67.21389 51.60243 0 0 0 + 785 235 14 0.417 41.77450 67.79064 51.74021 0 0 0 + 786 235 14 0.417 40.36922 67.76899 51.17753 0 0 0 + 787 236 13 -0.834 41.38918 62.43794 34.42449 0 0 1 + 788 236 14 0.417 41.26665 63.14612 33.79227 0 0 1 + 789 236 14 0.417 42.30454 62.51275 34.69423 0 0 1 + 790 237 13 -0.834 52.28796 56.01034 50.59905 0 -1 -1 + 791 237 14 0.417 53.14113 56.07317 51.02851 0 -1 -1 + 792 237 14 0.417 52.14509 55.07070 50.48548 0 -1 -1 + 793 238 13 -0.834 53.25204 66.52198 39.76351 0 -1 0 + 794 238 14 0.417 52.30774 66.44732 39.62571 0 -1 0 + 795 238 14 0.417 53.47725 67.38617 39.41895 0 -1 0 + 796 239 13 -0.834 59.77604 60.82055 48.12264 -1 -1 -1 + 797 239 14 0.417 59.80699 60.05926 48.70205 -1 -1 -1 + 798 239 14 0.417 58.96049 60.71611 47.63253 -1 -1 -1 + 799 240 13 -0.834 48.99693 51.07559 36.89084 0 -1 1 + 800 240 14 0.417 48.22315 50.55308 37.10175 0 -1 1 + 801 240 14 0.417 48.88824 51.30348 35.96753 0 -1 1 + 802 241 13 -0.834 50.67863 62.63916 55.60559 1 0 -2 + 803 241 14 0.417 51.43406 62.16856 55.25331 1 0 -2 + 804 241 14 0.417 51.05760 63.36945 56.09477 1 0 -2 + 805 242 13 -0.834 41.05301 64.77947 55.72335 1 -1 -1 + 806 242 14 0.417 41.95836 64.58666 55.96711 1 -1 -1 + 807 242 14 0.417 41.07998 65.67647 55.39035 1 -1 -1 + 808 243 13 -0.834 59.16096 63.30207 34.55147 0 -1 2 + 809 243 14 0.417 58.62636 62.51316 34.64131 0 -1 2 + 810 243 14 0.417 59.80830 63.23451 35.25333 0 -1 2 + 811 244 13 -0.834 59.86542 53.52546 55.50419 0 -1 -1 + 812 244 14 0.417 60.26921 53.79963 56.32761 0 -1 -1 + 813 244 14 0.417 58.96256 53.83773 55.56399 0 -1 -1 + 814 245 13 -0.834 56.48528 44.99075 44.65443 1 0 0 + 815 245 14 0.417 55.84854 44.49932 44.13551 1 0 0 + 816 245 14 0.417 57.18258 45.20803 44.03571 1 0 0 + 817 246 13 -0.834 37.25407 54.85866 36.86076 0 -1 -1 + 818 246 14 0.417 37.37951 55.31820 36.03050 0 -1 -1 + 819 246 14 0.417 36.91899 55.52805 37.45731 0 -1 -1 + 820 247 13 -0.834 54.42875 47.21339 48.23883 -1 -1 -1 + 821 247 14 0.417 54.60966 48.13349 48.43097 -1 -1 -1 + 822 247 14 0.417 54.44092 47.16092 47.28312 -1 -1 -1 + 823 248 13 -0.834 42.61226 41.78391 40.84493 1 0 1 + 824 248 14 0.417 41.98531 41.90233 41.55849 1 0 1 + 825 248 14 0.417 42.35866 42.43623 40.19194 1 0 1 + 826 249 13 -0.834 37.83522 41.95649 50.31377 0 0 -2 + 827 249 14 0.417 37.42231 42.81133 50.19124 0 0 -2 + 828 249 14 0.417 37.46684 41.41031 49.61934 0 0 -2 + 829 250 13 -0.834 44.80898 44.15062 49.20688 0 -1 0 + 830 250 14 0.417 44.80289 44.55594 48.33975 0 -1 0 + 831 250 14 0.417 45.29722 44.76463 49.75537 0 -1 0 + 832 251 13 -0.834 37.44321 44.03405 38.75076 1 0 1 + 833 251 14 0.417 37.12277 44.06014 39.65235 1 0 1 + 834 251 14 0.417 64.13547 43.56266 38.26824 0 0 1 + 835 252 13 -0.834 38.82113 46.15070 46.12915 1 0 0 + 836 252 14 0.417 38.96657 46.44867 47.02709 1 0 0 + 837 252 14 0.417 38.09796 45.52731 46.19733 1 0 0 + 838 253 13 -0.834 43.08482 60.65520 45.34135 -1 0 1 + 839 253 14 0.417 42.82882 59.73347 45.30784 -1 0 1 + 840 253 14 0.417 44.00885 60.65685 45.09147 -1 0 1 + 841 254 13 -0.834 45.72190 46.51173 32.51384 1 0 0 + 842 254 14 0.417 46.00925 45.78294 31.96381 1 0 0 + 843 254 14 0.417 46.53186 46.95248 32.77064 1 0 0 + 844 255 13 -0.834 63.64359 44.33728 41.24417 -1 0 0 + 845 255 14 0.417 63.60411 43.61794 41.87443 -1 0 0 + 846 255 14 0.417 62.76926 44.36407 40.85550 -1 0 0 + 847 256 13 -0.834 48.53353 66.27879 51.60437 0 0 -1 + 848 256 14 0.417 49.21611 66.24938 50.93396 0 0 -1 + 849 256 14 0.417 48.67507 65.48862 52.12577 0 0 -1 + 850 257 13 -0.834 54.11962 54.32751 39.83526 -1 1 1 + 851 257 14 0.417 53.37975 54.47391 39.24585 -1 1 1 + 852 257 14 0.417 53.95747 53.46346 40.21391 -1 1 1 + 853 258 13 -0.834 53.72785 66.08707 44.78384 -1 -1 0 + 854 258 14 0.417 54.65423 65.85662 44.85413 -1 -1 0 + 855 258 14 0.417 53.26300 65.26936 44.96130 -1 -1 0 + 856 259 13 -0.834 39.06287 51.40870 53.96063 0 0 -1 + 857 259 14 0.417 39.12854 51.34243 53.00796 0 0 -1 + 858 259 14 0.417 38.38057 52.06341 54.10916 0 0 -1 + 859 260 13 -0.834 58.77064 49.77012 37.45292 0 0 0 + 860 260 14 0.417 59.49652 49.20688 37.72142 0 0 0 + 861 260 14 0.417 57.98575 49.25379 37.63621 0 0 0 + 862 261 13 -0.834 37.94204 48.36591 35.22049 -1 0 0 + 863 261 14 0.417 37.94000 47.48368 35.59187 -1 0 0 + 864 261 14 0.417 38.86901 48.59216 35.14453 -1 0 0 + 865 262 13 -0.834 47.05754 54.06564 40.63628 0 -2 1 + 866 262 14 0.417 47.01965 53.22193 41.08679 0 -2 1 + 867 262 14 0.417 46.68660 54.68838 41.26145 0 -2 1 + 868 263 13 -0.834 46.01283 65.88108 53.59469 0 0 0 + 869 263 14 0.417 45.30729 66.50296 53.77277 0 0 0 + 870 263 14 0.417 46.76378 66.42902 53.36650 0 0 0 + 871 264 13 -0.834 45.32546 67.91008 39.11365 -1 -1 0 + 872 264 14 0.417 44.38981 67.96233 38.91853 -1 -1 0 + 873 264 14 0.417 45.70517 67.47097 38.35257 -1 -1 0 + 874 265 13 -0.834 55.39761 51.53823 53.16553 -1 1 -1 + 875 265 14 0.417 54.64975 52.10179 53.36389 -1 1 -1 + 876 265 14 0.417 55.78119 51.91789 52.37499 -1 1 -1 + 877 266 13 -0.834 57.06415 51.22923 32.75117 -1 -1 0 + 878 266 14 0.417 56.79908 52.11139 32.49079 -1 -1 0 + 879 266 14 0.417 57.98399 51.16910 32.49322 -1 -1 0 + 880 267 13 -0.834 50.05222 47.30342 45.67457 0 0 -2 + 881 267 14 0.417 49.85957 46.82324 46.47990 0 0 -2 + 882 267 14 0.417 50.60617 46.70964 45.16781 0 0 -2 + 883 268 13 -0.834 50.46819 45.47822 52.51129 0 1 -1 + 884 268 14 0.417 50.78823 45.07196 53.31677 0 1 -1 + 885 268 14 0.417 51.03886 45.13243 51.82499 0 1 -1 + 886 269 13 -0.834 47.44130 61.30175 47.80124 0 0 0 + 887 269 14 0.417 48.02715 60.89314 48.43850 0 0 0 + 888 269 14 0.417 47.98636 61.43626 47.02595 0 0 0 + 889 270 13 -0.834 41.31630 52.47434 39.71677 1 0 0 + 890 270 14 0.417 41.07609 52.94514 40.51485 1 0 0 + 891 270 14 0.417 42.05418 52.96849 39.35955 1 0 0 + 892 271 13 -0.834 55.90762 58.63213 50.47814 0 1 0 + 893 271 14 0.417 55.80273 59.37784 51.06903 0 1 0 + 894 271 14 0.417 55.41449 58.87554 49.69468 0 1 0 + 895 272 13 -0.834 42.23424 55.62725 53.35280 0 1 -1 + 896 272 14 0.417 41.62946 55.10926 53.88399 0 1 -1 + 897 272 14 0.417 41.75761 56.43615 53.16647 0 1 -1 + 898 273 13 -0.834 62.31754 63.97065 42.48774 0 0 1 + 899 273 14 0.417 63.27023 64.05391 42.44669 0 0 1 + 900 273 14 0.417 62.16851 63.13573 42.93152 0 0 1 + 901 274 13 -0.834 60.93154 49.79182 56.13812 0 -1 0 + 902 274 14 0.417 61.38991 48.97402 56.33134 0 -1 0 + 903 274 14 0.417 60.29808 49.88575 56.84955 0 -1 0 + 904 275 13 -0.834 50.39572 45.11274 36.60756 0 1 -1 + 905 275 14 0.417 50.88541 44.33834 36.33051 0 1 -1 + 906 275 14 0.417 50.38352 45.05976 37.56322 0 1 -1 + 907 276 13 -0.834 46.57204 43.12189 39.29488 -1 2 -1 + 908 276 14 0.417 46.48449 42.17951 39.43813 -1 2 -1 + 909 276 14 0.417 47.49357 43.30747 39.47547 -1 2 -1 + 910 277 13 -0.834 54.39979 41.37518 38.62483 0 0 1 + 911 277 14 0.417 54.27469 42.27221 38.31511 0 0 1 + 912 277 14 0.417 54.57135 68.24024 37.83080 0 -1 1 + 913 278 13 -0.834 60.57638 52.40343 41.12327 -1 1 -1 + 914 278 14 0.417 60.40196 53.27982 40.78010 -1 1 -1 + 915 278 14 0.417 60.37657 52.46726 42.05721 -1 1 -1 + 916 279 13 -0.834 61.77806 59.06524 41.98029 0 0 0 + 917 279 14 0.417 62.58317 59.36537 42.40214 0 0 0 + 918 279 14 0.417 61.10430 59.16112 42.65342 0 0 0 + 919 280 13 -0.834 43.46789 48.64833 54.88223 0 1 -2 + 920 280 14 0.417 43.60676 49.48200 54.43286 0 1 -2 + 921 280 14 0.417 43.74339 47.98554 54.24895 0 1 -2 + 922 281 13 -0.834 51.98628 58.37454 48.60562 -1 0 0 + 923 281 14 0.417 51.81372 57.54909 49.05852 -1 0 0 + 924 281 14 0.417 52.67545 58.16319 47.97583 -1 0 0 + 925 282 13 -0.834 55.00551 65.64176 56.63926 0 -1 -1 + 926 282 14 0.417 55.59134 66.11131 29.86167 0 -1 0 + 927 282 14 0.417 54.80211 66.27584 55.95165 0 -1 -1 + 928 283 13 -0.834 55.02996 52.59142 50.59986 -1 1 0 + 929 283 14 0.417 54.13615 52.66743 50.26585 -1 1 0 + 930 283 14 0.417 55.48513 53.35419 50.24316 -1 1 0 + 931 284 13 -0.834 37.39245 67.88600 56.81733 0 -1 -1 + 932 284 14 0.417 38.13326 41.09044 56.62787 0 0 -1 + 933 284 14 0.417 37.74351 67.00148 56.71419 0 -1 -1 + 934 285 13 -0.834 42.83234 60.22766 53.36959 0 0 0 + 935 285 14 0.417 43.51497 59.86233 52.80672 0 0 0 + 936 285 14 0.417 43.27782 60.90528 53.87815 0 0 0 + 937 286 13 -0.834 59.24806 43.81265 38.44265 1 0 0 + 938 286 14 0.417 59.12140 43.55748 39.35647 1 0 0 + 939 286 14 0.417 60.07673 44.29174 38.43991 1 0 0 + 940 287 13 -0.834 61.29263 60.52642 52.74164 -1 1 -1 + 941 287 14 0.417 61.73918 60.02180 53.42149 -1 1 -1 + 942 287 14 0.417 60.93759 61.28711 53.20156 -1 1 -1 + 943 288 13 -0.834 63.43980 43.30119 30.90384 -1 1 0 + 944 288 14 0.417 63.34979 42.36405 30.73085 -1 1 0 + 945 288 14 0.417 64.20504 43.56693 30.39393 -1 1 0 + 946 289 13 -0.834 57.11924 59.06522 54.48909 -1 0 0 + 947 289 14 0.417 57.40605 59.83488 54.98062 -1 0 0 + 948 289 14 0.417 57.59698 58.33614 54.88463 -1 0 0 + 949 290 13 -0.834 51.89759 59.82680 44.82923 1 1 -1 + 950 290 14 0.417 51.33588 59.94068 44.06258 1 1 -1 + 951 290 14 0.417 51.32846 60.01914 45.57443 1 1 -1 + 952 291 13 -0.834 57.64696 65.49112 47.86068 -1 0 0 + 953 291 14 0.417 57.31105 65.98457 48.60895 -1 0 0 + 954 291 14 0.417 57.73765 64.59519 48.18521 -1 0 0 + 955 292 13 -0.834 50.35232 57.73892 32.55459 0 1 0 + 956 292 14 0.417 51.07441 57.69034 31.92813 0 1 0 + 957 292 14 0.417 50.48339 58.57180 33.00777 0 1 0 + 958 293 13 -0.834 46.20166 60.82812 38.38269 0 1 1 + 959 293 14 0.417 46.12191 61.76977 38.53504 0 1 1 + 960 293 14 0.417 45.30555 60.53505 38.21735 0 1 1 + 961 294 13 -0.834 41.42660 51.46433 55.94150 1 0 -1 + 962 294 14 0.417 40.58025 51.71240 55.56944 1 0 -1 + 963 294 14 0.417 41.63094 50.62307 55.53311 1 0 -1 + 964 295 13 -0.834 56.72642 53.95840 32.00323 0 -1 0 + 965 295 14 0.417 57.12177 54.49254 32.69216 0 -1 0 + 966 295 14 0.417 55.80349 54.21231 32.00259 0 -1 0 + 967 296 13 -0.834 43.25852 41.40642 31.27656 0 1 0 + 968 296 14 0.417 43.58058 42.21308 31.67880 0 1 0 + 969 296 14 0.417 43.16985 68.16459 32.00619 0 0 0 + 970 297 13 -0.834 54.50477 52.62435 30.30235 -2 1 0 + 971 297 14 0.417 54.04985 52.22243 31.04245 -2 1 0 + 972 297 14 0.417 54.36900 53.56465 30.41915 -2 1 0 + 973 298 13 -0.834 38.11258 59.33341 36.21749 1 0 0 + 974 298 14 0.417 38.95754 58.91929 36.04205 1 0 0 + 975 298 14 0.417 38.14750 60.16192 35.73940 1 0 0 + 976 299 13 -0.834 39.65020 64.70254 40.48616 -1 0 1 + 977 299 14 0.417 39.87581 65.58596 40.19474 -1 0 1 + 978 299 14 0.417 39.66086 64.17611 39.68676 -1 0 1 + 979 300 13 -0.834 63.26661 53.84973 48.10281 -1 1 1 + 980 300 14 0.417 63.38261 54.75210 48.40032 -1 1 1 + 981 300 14 0.417 62.32830 53.68505 48.19603 -1 1 1 + 982 301 13 -0.834 43.65966 61.04202 50.03088 0 0 0 + 983 301 14 0.417 44.11377 60.35973 50.52538 0 0 0 + 984 301 14 0.417 44.30508 61.74317 49.94108 0 0 0 + 985 302 13 -0.834 61.75204 50.20037 32.39414 0 0 0 + 986 302 14 0.417 62.04749 51.09027 32.58663 0 0 0 + 987 302 14 0.417 62.55370 49.67736 32.38826 0 0 0 + 988 303 13 -0.834 53.79071 58.98335 36.25336 -1 -2 -1 + 989 303 14 0.417 53.17711 58.26833 36.42220 -1 -2 -1 + 990 303 14 0.417 54.65389 58.60140 36.41235 -1 -2 -1 + 991 304 13 -0.834 50.47963 50.13918 42.58243 1 -1 -2 + 992 304 14 0.417 51.28111 49.63880 42.42915 1 -1 -2 + 993 304 14 0.417 50.33279 50.61369 41.76419 1 -1 -2 + 994 305 13 -0.834 50.28770 49.02182 56.79391 1 -1 -2 + 995 305 14 0.417 50.66164 48.14920 56.91622 1 -1 -2 + 996 305 14 0.417 50.60501 49.30063 55.93493 1 -1 -2 + 997 306 13 -0.834 41.36930 46.36343 34.87469 1 1 0 + 998 306 14 0.417 42.25704 46.59841 34.60463 1 1 0 + 999 306 14 0.417 40.85961 47.16333 34.74582 1 1 0 + 1000 307 13 -0.834 61.15349 47.47016 41.71779 0 1 0 + 1001 307 14 0.417 61.50139 48.29469 41.37818 0 1 0 + 1002 307 14 0.417 60.28203 47.69385 42.04454 0 1 0 + 1003 308 13 -0.834 58.35337 46.83622 34.81712 0 0 1 + 1004 308 14 0.417 57.63221 46.22391 34.67141 0 0 1 + 1005 308 14 0.417 57.97297 47.69883 34.65146 0 0 1 + 1006 309 13 -0.834 38.79812 57.92803 48.26323 1 -2 -1 + 1007 309 14 0.417 38.67444 56.98130 48.33141 1 -2 -1 + 1008 309 14 0.417 39.70990 58.06987 48.51776 1 -2 -1 + 1009 310 13 -0.834 42.15963 57.96891 45.03230 1 0 0 + 1010 310 14 0.417 42.11698 57.98663 45.98839 1 0 0 + 1011 310 14 0.417 41.83611 57.10021 44.79371 1 0 0 + 1012 311 13 -0.834 55.17551 54.72671 36.49400 0 -1 0 + 1013 311 14 0.417 55.26386 53.77738 36.57890 0 -1 0 + 1014 311 14 0.417 55.36463 55.06457 37.36939 0 -1 0 + 1015 312 13 -0.834 58.64573 63.28550 41.10609 -1 -2 -1 + 1016 312 14 0.417 58.98147 62.66636 41.75429 -1 -2 -1 + 1017 312 14 0.417 57.90273 62.83419 40.70545 -1 -2 -1 + 1018 313 13 -0.834 49.96498 59.98797 42.54359 0 -1 0 + 1019 313 14 0.417 50.57886 60.48612 42.00390 0 -1 0 + 1020 313 14 0.417 49.10600 60.17526 42.16501 0 -1 0 + 1021 314 13 -0.834 57.54750 44.35075 52.12722 -1 -1 -1 + 1022 314 14 0.417 57.86221 43.84739 51.37633 -1 -1 -1 + 1023 314 14 0.417 56.76423 44.79718 51.80558 -1 -1 -1 + 1024 315 13 -0.834 58.07892 59.46258 41.31930 1 -1 0 + 1025 315 14 0.417 58.27344 60.10968 41.99729 1 -1 0 + 1026 315 14 0.417 57.80524 59.98199 40.56328 1 -1 0 + 1027 316 13 -0.834 42.21869 44.49848 55.65511 2 1 0 + 1028 316 14 0.417 42.77458 44.78017 56.38166 2 1 0 + 1029 316 14 0.417 42.83052 44.15513 55.00395 2 1 0 + 1030 317 13 -0.834 56.38334 63.45614 43.52622 -1 -1 0 + 1031 317 14 0.417 55.66283 63.62998 42.92052 -1 -1 0 + 1032 317 14 0.417 56.48976 64.27319 44.01338 -1 -1 0 + 1033 318 13 -0.834 43.21354 46.04700 52.52965 1 1 0 + 1034 318 14 0.417 43.24360 45.09879 52.40226 1 1 0 + 1035 318 14 0.417 43.99839 46.37328 52.08943 1 1 0 + 1036 319 13 -0.834 55.96174 45.94863 35.39660 -1 0 1 + 1037 319 14 0.417 55.64687 46.44680 36.15088 -1 0 1 + 1038 319 14 0.417 55.28305 46.06527 34.73174 -1 0 1 + 1039 320 13 -0.834 47.36406 54.82690 34.84439 -1 -1 2 + 1040 320 14 0.417 47.90093 54.86776 34.05295 -1 -1 2 + 1041 320 14 0.417 47.23152 53.89118 34.99640 -1 -1 2 + 1042 321 13 -0.834 49.62685 50.00229 45.27362 1 0 -2 + 1043 321 14 0.417 49.70876 49.05477 45.38192 1 0 -2 + 1044 321 14 0.417 49.82566 50.15634 44.35005 1 0 -2 + 1045 322 13 -0.834 49.58249 46.02940 55.43310 -1 0 -2 + 1046 322 14 0.417 49.10378 46.80060 55.12924 -1 0 -2 + 1047 322 14 0.417 49.31802 45.92761 56.34739 -1 0 -2 + 1048 323 13 -0.834 51.72150 51.53491 51.55558 0 -1 -1 + 1049 323 14 0.417 51.50292 52.17946 50.88251 0 -1 -1 + 1050 323 14 0.417 52.14568 52.04382 52.24646 0 -1 -1 + 1051 324 13 -0.834 37.98107 56.66338 52.98024 0 1 0 + 1052 324 14 0.417 37.64467 57.53823 52.78607 0 1 0 + 1053 324 14 0.417 38.15999 56.27913 52.12200 0 1 0 + 1054 325 13 -0.834 59.20226 51.55233 53.16877 -1 1 0 + 1055 325 14 0.417 59.68851 51.88535 53.92302 -1 1 0 + 1056 325 14 0.417 58.63621 50.87031 53.53025 -1 1 0 + 1057 326 13 -0.834 45.75783 63.62117 39.24032 1 1 -1 + 1058 326 14 0.417 46.25179 64.38626 39.53508 1 1 -1 + 1059 326 14 0.417 44.85376 63.80686 39.49409 1 1 -1 + 1060 327 13 -0.834 58.00953 52.38584 37.67148 -1 1 1 + 1061 327 14 0.417 58.24242 51.47235 37.50553 -1 1 1 + 1062 327 14 0.417 57.26453 52.33853 38.27062 -1 1 1 + 1063 328 13 -0.834 50.62838 66.20855 42.36072 0 0 -1 + 1064 328 14 0.417 51.45434 66.68250 42.45770 0 0 -1 + 1065 328 14 0.417 49.99531 66.87945 42.10506 0 0 -1 + 1066 329 13 -0.834 53.69444 52.39171 45.41982 1 0 0 + 1067 329 14 0.417 53.84961 51.45739 45.55855 1 0 0 + 1068 329 14 0.417 52.75879 52.45359 45.22750 1 0 0 + 1069 330 13 -0.834 38.34038 60.92162 30.12773 2 0 0 + 1070 330 14 0.417 39.08908 61.47644 29.90887 2 0 0 + 1071 330 14 0.417 38.64185 60.39196 30.86585 2 0 0 + 1072 331 13 -0.834 48.03336 64.84935 43.13262 -1 0 -2 + 1073 331 14 0.417 48.90813 65.00919 43.48682 -1 0 -2 + 1074 331 14 0.417 47.46214 65.43367 43.63114 -1 0 -2 + 1075 332 13 -0.834 39.68760 66.88962 36.60665 2 0 0 + 1076 332 14 0.417 38.74743 66.72116 36.66944 2 0 0 + 1077 332 14 0.417 40.05009 66.08888 36.22764 2 0 0 + 1078 333 13 -0.834 51.94118 65.49897 51.83197 0 -1 -2 + 1079 333 14 0.417 52.71282 65.06165 51.47204 0 -1 -2 + 1080 333 14 0.417 51.22446 64.88225 51.68297 0 -1 -2 + 1081 334 13 -0.834 43.33066 57.53264 55.09930 -1 0 -2 + 1082 334 14 0.417 43.05496 56.76932 54.59178 -1 0 -2 + 1083 334 14 0.417 44.28179 57.55937 54.99503 -1 0 -2 + 1084 335 13 -0.834 47.70128 45.69178 52.17773 -1 3 -1 + 1085 335 14 0.417 47.54566 44.86273 52.63016 -1 3 -1 + 1086 335 14 0.417 48.58530 45.94693 52.44163 -1 3 -1 + 1087 336 13 -0.834 58.71603 41.81571 40.73899 -1 0 0 + 1088 336 14 0.417 57.77048 41.84330 40.88539 -1 0 0 + 1089 336 14 0.417 58.81275 41.43332 39.86682 -1 0 0 + 1090 337 13 -0.834 57.56034 60.98533 43.60766 0 -1 0 + 1091 337 14 0.417 56.67639 60.61816 43.59917 0 -1 0 + 1092 337 14 0.417 57.42830 61.92611 43.72486 0 -1 0 + 1093 338 13 -0.834 44.68088 65.08579 34.27880 -1 0 2 + 1094 338 14 0.417 45.54678 65.09564 34.68668 -1 0 2 + 1095 338 14 0.417 44.45037 64.15818 34.22739 -1 0 2 + 1096 339 13 -0.834 54.98236 48.04093 42.26075 0 0 0 + 1097 339 14 0.417 55.16505 47.86552 43.18384 0 0 0 + 1098 339 14 0.417 55.70493 48.59999 41.97513 0 0 0 + 1099 340 13 -0.834 60.57099 56.88773 56.53671 0 0 1 + 1100 340 14 0.417 60.67151 56.21616 29.83998 0 0 2 + 1101 340 14 0.417 61.34465 56.78824 55.98192 0 0 1 + 1102 341 13 -0.834 48.05045 49.69974 47.93542 -1 0 0 + 1103 341 14 0.417 48.70922 49.23613 48.45249 -1 0 0 + 1104 341 14 0.417 48.26410 49.48583 47.02721 -1 0 0 + 1105 342 13 -0.834 40.63207 55.77589 49.21695 1 0 -1 + 1106 342 14 0.417 40.84917 56.26844 50.00847 1 0 -1 + 1107 342 14 0.417 41.40772 55.85904 48.66226 1 0 -1 + 1108 343 13 -0.834 61.66015 42.71355 39.91223 0 0 0 + 1109 343 14 0.417 61.87748 41.86774 40.30419 0 0 0 + 1110 343 14 0.417 61.98864 42.65380 39.01514 0 0 0 + 1111 344 13 -0.834 38.52157 65.12766 57.04010 0 -1 -1 + 1112 344 14 0.417 38.04157 64.32142 56.85084 0 -1 -1 + 1113 344 14 0.417 39.36310 65.01535 56.59799 0 -1 -1 + 1114 345 13 -0.834 54.26556 44.72348 38.61852 -1 0 0 + 1115 345 14 0.417 54.65781 45.53245 38.94708 -1 0 0 + 1116 345 14 0.417 54.97105 44.29396 38.13473 -1 0 0 + 1117 346 13 -0.834 55.38993 55.61246 43.96322 -1 0 1 + 1118 346 14 0.417 54.74535 54.99107 43.62461 -1 0 1 + 1119 346 14 0.417 55.11835 55.77119 44.86726 -1 0 1 + 1120 347 13 -0.834 56.42023 55.00369 50.06211 -1 -1 0 + 1121 347 14 0.417 55.77599 55.59187 50.45611 -1 -1 0 + 1122 347 14 0.417 56.93756 54.68448 50.80151 -1 -1 0 + 1123 348 13 -0.834 45.79495 66.88952 36.56670 1 1 -1 + 1124 348 14 0.417 45.28578 66.71904 35.77429 1 1 -1 + 1125 348 14 0.417 46.57709 67.34552 36.25591 1 1 -1 + 1126 349 13 -0.834 62.75278 45.54084 32.23733 0 0 0 + 1127 349 14 0.417 62.61586 44.79986 31.64705 0 0 0 + 1128 349 14 0.417 62.96974 45.14017 33.07913 0 0 0 + 1129 350 13 -0.834 57.50625 65.62986 39.74454 0 0 0 + 1130 350 14 0.417 57.73342 64.85584 40.25983 0 0 0 + 1131 350 14 0.417 57.07082 66.21286 40.36642 0 0 0 + 1132 351 13 -0.834 55.96293 62.10636 50.17062 0 1 -1 + 1133 351 14 0.417 56.24333 61.70901 50.99507 0 1 -1 + 1134 351 14 0.417 56.67888 62.69531 49.93234 0 1 -1 + 1135 352 13 -0.834 37.45010 41.11856 53.00894 0 0 0 + 1136 352 14 0.417 37.99062 41.49514 53.70339 0 0 0 + 1137 352 14 0.417 37.83337 41.45341 52.19826 0 0 0 + 1138 353 13 -0.834 40.59344 47.85232 38.52244 1 0 1 + 1139 353 14 0.417 41.31256 47.71502 37.90580 1 0 1 + 1140 353 14 0.417 40.21612 48.69426 38.26747 1 0 1 + 1141 354 13 -0.834 60.77214 62.31711 30.33695 0 2 -1 + 1142 354 14 0.417 59.83662 62.43212 30.17023 0 2 -1 + 1143 354 14 0.417 60.97856 61.45964 29.96496 0 2 -1 + 1144 355 13 -0.834 47.83829 64.26042 48.43592 0 1 -1 + 1145 355 14 0.417 47.12209 64.85952 48.22523 0 1 -1 + 1146 355 14 0.417 47.44823 63.38856 48.37295 0 1 -1 + 1147 356 13 -0.834 38.69679 45.31108 42.13672 1 1 0 + 1148 356 14 0.417 39.20464 45.52138 41.35308 1 1 0 + 1149 356 14 0.417 37.90440 44.89009 41.80335 1 1 0 + 1150 357 13 -0.834 38.90832 47.67164 52.69089 0 1 0 + 1151 357 14 0.417 39.51269 48.14149 53.26554 0 1 0 + 1152 357 14 0.417 38.42834 48.36117 52.23218 0 1 0 + 1153 358 13 -0.834 45.13879 48.98199 29.96256 0 2 1 + 1154 358 14 0.417 44.63649 48.48457 30.60794 0 2 1 + 1155 358 14 0.417 44.70163 48.80464 56.50106 0 2 0 + 1156 359 13 -0.834 54.78460 57.58368 54.24956 1 1 -1 + 1157 359 14 0.417 54.71436 57.34891 55.17486 1 1 -1 + 1158 359 14 0.417 55.60599 58.07122 54.18735 1 1 -1 + 1159 360 13 -0.834 40.77006 67.09387 46.34204 0 0 1 + 1160 360 14 0.417 40.91087 66.51539 47.09156 0 0 1 + 1161 360 14 0.417 41.47386 67.73986 46.40192 0 0 1 + 1162 361 13 -0.834 53.75960 49.21723 54.03526 1 0 -1 + 1163 361 14 0.417 54.17778 50.07537 53.96484 1 0 -1 + 1164 361 14 0.417 54.18187 48.68822 53.35846 1 0 -1 + 1165 362 13 -0.834 46.41755 62.84035 30.52059 0 0 1 + 1166 362 14 0.417 46.37357 61.90548 30.72136 0 0 1 + 1167 362 14 0.417 46.76359 62.87829 57.00030 0 0 0 + 1168 363 13 -0.834 51.27491 42.28113 30.83818 0 -1 0 + 1169 363 14 0.417 51.18814 42.11416 31.77671 0 -1 0 + 1170 363 14 0.417 50.41560 42.60836 30.57220 0 -1 0 + 1171 364 13 -0.834 52.36258 42.54738 46.83477 0 -1 -1 + 1172 364 14 0.417 51.62853 42.02025 46.51928 0 -1 -1 + 1173 364 14 0.417 53.11771 42.22680 46.34158 0 -1 -1 + 1174 365 13 -0.834 40.11442 46.69570 48.71466 3 -2 1 + 1175 365 14 0.417 39.89820 47.61495 48.55824 3 -2 1 + 1176 365 14 0.417 40.87520 46.72352 49.29493 3 -2 1 + 1177 366 13 -0.834 56.56957 65.78976 45.32589 0 -2 -1 + 1178 366 14 0.417 56.86196 65.56407 46.20896 0 -2 -1 + 1179 366 14 0.417 57.34222 66.16870 44.90678 0 -2 -1 + 1180 367 13 -0.834 38.37373 47.63723 43.98242 2 0 0 + 1181 367 14 0.417 38.78516 47.21384 44.73589 2 0 0 + 1182 367 14 0.417 38.73588 47.18051 43.22315 2 0 0 + 1183 368 13 -0.834 45.69445 49.36872 40.50736 -1 0 -2 + 1184 368 14 0.417 44.73771 49.39892 40.51002 -1 0 -2 + 1185 368 14 0.417 45.90701 48.47357 40.77155 -1 0 -2 + 1186 369 13 -0.834 53.93830 54.76570 31.99728 0 -1 0 + 1187 369 14 0.417 53.94849 55.50033 32.61083 0 -1 0 + 1188 369 14 0.417 53.13070 54.29402 32.20107 0 -1 0 + 1189 370 13 -0.834 58.79125 64.07093 37.97498 -1 -1 -2 + 1190 370 14 0.417 58.48296 64.72380 38.60343 -1 -1 -2 + 1191 370 14 0.417 58.20942 64.16977 37.22136 -1 -1 -2 + 1192 371 13 -0.834 51.76123 61.42281 40.82794 0 -1 0 + 1193 371 14 0.417 52.69114 61.24136 40.69160 0 -1 0 + 1194 371 14 0.417 51.74755 62.21395 41.36660 0 -1 0 + 1195 372 13 -0.834 44.28377 63.70509 53.71234 -1 -2 -1 + 1196 372 14 0.417 44.98211 64.35001 53.59994 -1 -2 -1 + 1197 372 14 0.417 43.75271 63.78587 52.92008 -1 -2 -1 + 1198 373 13 -0.834 61.50835 48.76378 34.91047 0 0 -1 + 1199 373 14 0.417 61.23254 49.09753 34.05678 0 0 -1 + 1200 373 14 0.417 61.51672 49.53447 35.47812 0 0 -1 + 1201 374 13 -0.834 61.51337 41.63477 44.26291 -1 -1 0 + 1202 374 14 0.417 62.42662 41.58544 44.54543 -1 -1 0 + 1203 374 14 0.417 61.34749 68.16405 43.83907 -1 -2 0 + 1204 375 13 -0.834 57.73267 43.39213 33.64792 0 -1 0 + 1205 375 14 0.417 58.46456 43.28438 34.25535 0 -1 0 + 1206 375 14 0.417 58.09278 43.15396 32.79362 0 -1 0 + 1207 376 13 -0.834 63.51473 49.31549 51.59705 -1 1 -1 + 1208 376 14 0.417 63.13045 49.03534 50.76631 -1 1 -1 + 1209 376 14 0.417 62.84038 49.86142 52.00137 -1 1 -1 + 1210 377 13 -0.834 58.21462 44.79010 54.73553 -1 -1 -1 + 1211 377 14 0.417 58.08068 43.94884 55.17209 -1 -1 -1 + 1212 377 14 0.417 57.81645 44.67856 53.87224 -1 -1 -1 + 1213 378 13 -0.834 57.08090 55.14561 52.86183 0 -2 1 + 1214 378 14 0.417 57.05215 55.46811 53.76261 0 -2 1 + 1215 378 14 0.417 57.69965 54.41575 52.88786 0 -2 1 + 1216 379 13 -0.834 60.83502 54.45436 45.82182 1 0 -1 + 1217 379 14 0.417 61.05342 55.38616 45.83857 1 0 -1 + 1218 379 14 0.417 60.79443 54.20077 46.74392 1 0 -1 + 1219 380 13 -0.834 60.86442 48.23162 37.95658 0 0 2 + 1220 380 14 0.417 61.77710 48.43881 37.75572 0 0 2 + 1221 380 14 0.417 60.87611 47.30540 38.19788 0 0 2 + 1222 381 13 -0.834 43.21478 43.26953 44.97859 2 1 -1 + 1223 381 14 0.417 42.50778 42.78849 44.54850 2 1 -1 + 1224 381 14 0.417 43.42173 42.74895 45.75474 2 1 -1 + 1225 382 13 -0.834 39.01904 49.57571 48.28198 1 -1 -1 + 1226 382 14 0.417 38.68877 49.32064 47.42052 1 -1 -1 + 1227 382 14 0.417 38.42357 50.26661 48.57234 1 -1 -1 + 1228 383 13 -0.834 47.20253 45.34580 30.26781 0 0 1 + 1229 383 14 0.417 47.05738 44.40526 30.16508 0 0 1 + 1230 383 14 0.417 46.80592 45.73631 56.86044 0 0 0 + 1231 384 13 -0.834 44.57742 55.88746 33.53830 0 -1 0 + 1232 384 14 0.417 45.13093 56.49768 33.05096 0 -1 0 + 1233 384 14 0.417 44.41092 55.17196 32.92464 0 -1 0 + 1234 385 13 -0.834 42.17091 64.36626 51.74369 1 0 0 + 1235 385 14 0.417 41.78583 65.24128 51.69570 1 0 0 + 1236 385 14 0.417 41.41926 63.77568 51.79343 1 0 0 + 1237 386 13 -0.834 43.82615 43.47821 52.97551 0 0 0 + 1238 386 14 0.417 43.64099 42.56407 52.76025 0 0 0 + 1239 386 14 0.417 44.58924 43.43914 53.55207 0 0 0 + 1240 387 13 -0.834 63.58286 63.91035 38.47173 0 -1 -1 + 1241 387 14 0.417 64.14591 63.71296 39.22023 0 -1 -1 + 1242 387 14 0.417 62.70901 64.01191 38.84896 0 -1 -1 + 1243 388 13 -0.834 57.85225 42.19019 46.82252 1 1 -2 + 1244 388 14 0.417 57.61712 42.29475 47.74450 1 1 -2 + 1245 388 14 0.417 57.29406 42.81537 46.36013 1 1 -2 + 1246 389 13 -0.834 57.90802 64.30101 52.26362 1 0 1 + 1247 389 14 0.417 58.43907 64.81717 52.87010 1 0 1 + 1248 389 14 0.417 58.54387 63.78888 51.76396 1 0 1 + 1249 390 13 -0.834 53.18379 66.68791 54.05156 1 -2 0 + 1250 390 14 0.417 52.23394 66.79510 54.00115 1 -2 0 + 1251 390 14 0.417 53.33447 65.77140 53.82015 1 -2 0 + 1252 391 13 -0.834 56.95394 68.26036 36.42711 -1 1 1 + 1253 391 14 0.417 56.91362 41.83232 36.58445 -1 2 1 + 1254 391 14 0.417 57.79173 67.98998 36.80292 -1 1 1 + 1255 392 13 -0.834 64.19252 44.20158 54.88143 0 0 0 + 1256 392 14 0.417 64.09322 45.07899 54.51194 0 0 0 + 1257 392 14 0.417 63.39239 43.74201 54.62684 0 0 0 + 1258 393 13 -0.834 63.10536 65.42626 48.53464 0 0 0 + 1259 393 14 0.417 62.79665 64.63036 48.10166 0 0 0 + 1260 393 14 0.417 62.77768 65.35429 49.43112 0 0 0 + 1261 394 13 -0.834 49.28836 66.20367 32.27628 1 -1 0 + 1262 394 14 0.417 49.46858 65.88738 33.16155 1 -1 0 + 1263 394 14 0.417 49.29197 65.41476 31.73420 1 -1 0 + 1264 395 13 -0.834 46.11216 66.09570 44.77896 0 -1 0 + 1265 395 14 0.417 45.90309 66.07762 45.71287 0 -1 0 + 1266 395 14 0.417 45.36137 65.67813 44.35683 0 -1 0 + 1267 396 13 -0.834 41.43943 50.30026 52.32584 1 0 0 + 1268 396 14 0.417 41.39866 49.93140 51.44351 1 0 0 + 1269 396 14 0.417 40.92759 49.69528 52.86275 1 0 0 + 1270 397 13 -0.834 54.69177 57.80859 32.50623 0 -1 -1 + 1271 397 14 0.417 53.99890 57.66594 31.86139 0 -1 -1 + 1272 397 14 0.417 54.37599 57.37325 33.29806 0 -1 -1 + 1273 398 13 -0.834 43.56781 46.79065 37.17838 0 1 0 + 1274 398 14 0.417 43.18325 46.24795 36.49004 0 1 0 + 1275 398 14 0.417 44.03819 46.17194 37.73711 0 1 0 + 1276 399 13 -0.834 55.33436 45.90772 50.69068 -1 0 0 + 1277 399 14 0.417 55.55455 46.77982 51.01809 -1 0 0 + 1278 399 14 0.417 55.09425 46.04877 49.77488 -1 0 0 + 1279 400 13 -0.834 56.15383 51.87018 43.92178 -1 0 1 + 1280 400 14 0.417 55.25073 52.12373 44.11256 -1 0 1 + 1281 400 14 0.417 56.65027 52.68628 43.98319 -1 0 1 + 1282 401 13 -0.834 62.38946 50.01240 45.94802 0 1 -2 + 1283 401 14 0.417 62.43815 50.07607 44.99418 0 1 -2 + 1284 401 14 0.417 61.47369 50.19932 46.15457 0 1 -2 + 1285 402 13 -0.834 53.60920 58.35575 46.37412 0 0 1 + 1286 402 14 0.417 53.25556 59.03071 45.79481 0 0 1 + 1287 402 14 0.417 53.24753 57.53627 46.03666 0 0 1 + 1288 403 13 -0.834 43.13375 42.07203 50.04429 1 0 0 + 1289 403 14 0.417 43.76099 42.76922 49.85267 1 0 0 + 1290 403 14 0.417 42.35437 42.53016 50.35879 1 0 0 + 1291 404 13 -0.834 47.41498 59.41146 52.77687 -1 -1 0 + 1292 404 14 0.417 47.81303 59.83868 53.53534 -1 -1 0 + 1293 404 14 0.417 48.01011 59.60512 52.05261 -1 -1 0 + 1294 405 13 -0.834 63.75607 47.28104 38.80571 0 2 -1 + 1295 405 14 0.417 63.78573 48.20840 38.57042 0 2 -1 + 1296 405 14 0.417 37.08655 47.17376 39.44769 1 2 -1 + 1297 406 13 -0.834 46.67594 56.20863 44.42866 1 1 0 + 1298 406 14 0.417 45.82140 56.15280 44.00100 1 1 0 + 1299 406 14 0.417 46.48292 56.12468 45.36243 1 1 0 + 1300 407 13 -0.834 62.54251 68.21194 54.20445 0 -1 1 + 1301 407 14 0.417 63.31640 41.15490 53.73696 0 0 1 + 1302 407 14 0.417 62.78865 67.34176 54.51819 0 -1 1 + 1303 408 13 -0.834 60.27010 54.96049 39.87633 0 0 0 + 1304 408 14 0.417 59.62959 55.67175 39.88547 0 0 0 + 1305 408 14 0.417 61.04761 55.33233 40.29281 0 0 0 + 1306 409 13 -0.834 40.02595 44.30132 44.29580 0 -2 0 + 1307 409 14 0.417 39.70595 44.75009 45.07839 0 -2 0 + 1308 409 14 0.417 39.56836 44.72725 43.57092 0 -2 0 + 1309 410 13 -0.834 54.20011 41.08252 35.61017 0 1 0 + 1310 410 14 0.417 55.10396 68.23613 35.83794 0 0 0 + 1311 410 14 0.417 54.27044 41.57221 34.79072 0 1 0 + 1312 411 13 -0.834 60.64478 45.93023 50.84376 1 1 -1 + 1313 411 14 0.417 60.80088 46.54647 51.55941 1 1 -1 + 1314 411 14 0.417 61.20574 46.24077 50.13303 1 1 -1 + 1315 412 13 -0.834 44.55137 44.47403 38.16771 1 0 -1 + 1316 412 14 0.417 45.28189 43.86333 38.26597 1 0 -1 + 1317 412 14 0.417 43.77025 43.93754 38.30281 1 0 -1 + 1318 413 13 -0.834 58.08933 62.76987 30.45191 1 -1 0 + 1319 413 14 0.417 57.64138 63.31997 29.80927 1 -1 0 + 1320 413 14 0.417 57.43674 62.11708 30.70545 1 -1 0 + 1321 414 13 -0.834 55.65273 56.71117 38.74877 1 0 1 + 1322 414 14 0.417 56.53260 56.59636 39.10779 1 0 1 + 1323 414 14 0.417 55.14964 55.98047 39.10825 1 0 1 + 1324 415 13 -0.834 55.50009 51.16952 38.77962 0 0 0 + 1325 415 14 0.417 54.95350 51.23711 37.99672 0 0 0 + 1326 415 14 0.417 55.53220 50.23190 38.96963 0 0 0 + 1327 416 13 -0.834 47.64702 52.79911 31.71446 0 -1 0 + 1328 416 14 0.417 48.52504 53.09556 31.47481 0 -1 0 + 1329 416 14 0.417 47.06032 53.44853 31.32681 0 -1 0 + 1330 417 13 -0.834 49.26727 42.35880 39.18566 1 1 -2 + 1331 417 14 0.417 50.02784 42.93912 39.15429 1 1 -2 + 1332 417 14 0.417 49.46495 41.74196 39.89040 1 1 -2 + 1333 418 13 -0.834 47.22542 64.65021 35.82232 1 -1 0 + 1334 418 14 0.417 46.76114 65.20346 36.45050 1 -1 0 + 1335 418 14 0.417 47.98585 65.16966 35.56120 1 -1 0 + 1336 419 13 -0.834 58.53686 56.85468 40.78587 1 1 0 + 1337 419 14 0.417 58.45283 56.63469 41.71365 1 1 0 + 1338 419 14 0.417 58.36285 57.79507 40.74550 1 1 0 + 1339 420 13 -0.834 50.09436 46.17981 48.16619 -1 -1 -2 + 1340 420 14 0.417 50.67249 45.42897 48.30138 -1 -1 -2 + 1341 420 14 0.417 50.49629 46.88624 48.67183 -1 -1 -2 + 1342 421 13 -0.834 42.30297 57.95379 33.48633 0 -1 1 + 1343 421 14 0.417 41.56921 57.39445 33.23136 0 -1 1 + 1344 421 14 0.417 43.00718 57.34235 33.70193 0 -1 1 + 1345 422 13 -0.834 45.76518 43.79811 54.82490 0 -1 0 + 1346 422 14 0.417 46.45133 43.55343 54.20397 0 -1 0 + 1347 422 14 0.417 45.87205 43.18693 55.55379 0 -1 0 + 1348 423 13 -0.834 59.33326 61.34125 37.96927 -1 -1 1 + 1349 423 14 0.417 59.29007 62.29004 38.08827 -1 -1 1 + 1350 423 14 0.417 59.90006 61.03609 38.67769 -1 -1 1 + 1351 424 13 -0.834 40.95662 63.48104 42.72192 1 -1 0 + 1352 424 14 0.417 40.33618 63.69074 42.02383 1 -1 0 + 1353 424 14 0.417 41.73946 63.17568 42.26346 1 -1 0 + 1354 425 13 -0.834 38.13662 59.25720 46.08402 1 -1 -1 + 1355 425 14 0.417 38.31499 59.03616 46.99811 1 -1 -1 + 1356 425 14 0.417 38.55502 58.55783 45.58196 1 -1 -1 + 1357 426 13 -0.834 48.88681 66.85051 54.82298 1 -2 0 + 1358 426 14 0.417 49.16879 67.45078 54.13275 1 -2 0 + 1359 426 14 0.417 49.42353 66.06836 54.69484 1 -2 0 + 1360 427 13 -0.834 45.88049 57.05477 48.46508 0 0 -1 + 1361 427 14 0.417 45.73709 57.90911 48.05793 0 0 -1 + 1362 427 14 0.417 45.83791 57.22701 49.40569 0 0 -1 + 1363 428 13 -0.834 39.37333 50.31613 37.93447 0 1 0 + 1364 428 14 0.417 39.11456 50.97624 37.29140 0 1 0 + 1365 428 14 0.417 38.97424 50.60960 38.75352 0 1 0 + 1366 429 13 -0.834 37.89753 62.82745 47.39297 0 -1 0 + 1367 429 14 0.417 38.39122 62.78202 46.57414 0 -1 0 + 1368 429 14 0.417 37.01605 63.08963 47.12747 0 -1 0 + 1369 430 13 -0.834 43.16514 41.31420 47.01379 0 1 0 + 1370 430 14 0.417 42.71409 41.22965 47.85382 0 1 0 + 1371 430 14 0.417 44.05112 68.36565 47.18386 0 0 0 + 1372 431 13 -0.834 47.03179 42.44477 42.46475 1 0 0 + 1373 431 14 0.417 46.12350 42.65285 42.24573 1 0 0 + 1374 431 14 0.417 47.53228 43.19970 42.15516 1 0 0 + 1375 432 13 -0.834 55.35894 54.15040 46.85340 0 -1 0 + 1376 432 14 0.417 54.76544 53.43667 46.61975 0 -1 0 + 1377 432 14 0.417 56.17133 53.71318 47.10853 0 -1 0 + 1378 433 13 -0.834 47.00663 55.28313 38.22800 -1 -2 1 + 1379 433 14 0.417 46.53490 56.00706 38.63987 -1 -2 1 + 1380 433 14 0.417 47.07459 54.61953 38.91449 -1 -2 1 + 1381 434 13 -0.834 57.16336 58.62297 32.33349 -1 0 2 + 1382 434 14 0.417 57.63330 57.80350 32.48798 -1 0 2 + 1383 434 14 0.417 56.24209 58.36680 32.29014 -1 0 2 + 1384 435 13 -0.834 37.23245 47.62479 56.34765 0 1 -1 + 1385 435 14 0.417 37.24274 47.21497 55.48268 0 1 -1 + 1386 435 14 0.417 37.36000 46.89905 56.95860 0 1 -1 + 1387 436 13 -0.834 48.77030 41.06015 29.86683 2 1 0 + 1388 436 14 0.417 48.81141 67.97117 56.39997 2 0 -1 + 1389 436 14 0.417 49.05230 67.78232 30.51123 2 0 0 + 1390 437 13 -0.834 49.10149 56.15638 36.66346 0 0 1 + 1391 437 14 0.417 48.50786 55.61659 36.14146 0 0 1 + 1392 437 14 0.417 48.61812 56.33305 37.47053 0 0 1 + 1393 438 13 -0.834 58.15731 59.39698 29.96092 0 -1 1 + 1394 438 14 0.417 58.20240 59.10993 30.87296 0 -1 1 + 1395 438 14 0.417 57.30076 59.81721 29.88367 0 -1 1 + 1396 439 13 -0.834 59.37068 41.03089 37.87324 1 0 0 + 1397 439 14 0.417 59.56889 41.95335 37.71194 1 0 0 + 1398 439 14 0.417 60.22643 67.97433 37.90167 1 -1 0 + 1399 440 13 -0.834 38.32241 55.03397 50.58952 1 0 0 + 1400 440 14 0.417 38.22793 54.19584 50.13692 1 0 0 + 1401 440 14 0.417 39.21785 55.31153 50.39614 1 0 0 + 1402 441 13 -0.834 36.94673 59.01778 33.00159 1 -1 2 + 1403 441 14 0.417 36.95260 59.97305 32.94091 1 -1 2 + 1404 441 14 0.417 63.71798 58.82680 33.72245 0 -1 2 + 1405 442 13 -0.834 62.50746 54.84239 54.03343 0 -1 0 + 1406 442 14 0.417 61.69710 54.35984 54.19681 0 -1 0 + 1407 442 14 0.417 63.09119 54.20097 53.62833 0 -1 0 + 1408 443 13 -0.834 40.59690 62.80012 38.69405 1 -1 1 + 1409 443 14 0.417 41.53881 62.90970 38.82458 1 -1 1 + 1410 443 14 0.417 40.36980 62.03187 39.21794 1 -1 1 + 1411 444 13 -0.834 37.67477 67.71471 42.59127 0 -1 -1 + 1412 444 14 0.417 38.12213 68.13627 41.85751 0 -1 -1 + 1413 444 14 0.417 38.28279 67.03643 42.88534 0 -1 -1 + 1414 445 13 -0.834 42.73681 50.65782 33.30839 1 1 0 + 1415 445 14 0.417 42.84587 51.15085 34.12157 1 1 0 + 1416 445 14 0.417 42.32631 51.27747 32.70527 1 1 0 + 1417 446 13 -0.834 37.13349 57.05842 55.81927 0 0 0 + 1418 446 14 0.417 37.95375 57.53453 55.68979 0 0 0 + 1419 446 14 0.417 36.99014 56.59807 54.99236 0 0 0 + 1420 447 13 -0.834 61.08039 63.50929 36.52096 -1 0 0 + 1421 447 14 0.417 60.44389 63.87414 37.13579 -1 0 0 + 1422 447 14 0.417 61.70642 63.04107 37.07331 -1 0 0 + 1423 448 13 -0.834 57.12289 46.04019 38.75954 0 0 0 + 1424 448 14 0.417 56.81351 45.55997 39.52760 0 0 0 + 1425 448 14 0.417 57.99543 45.68504 38.58988 0 0 0 + 1426 449 13 -0.834 45.45003 49.45347 49.54397 0 0 -1 + 1427 449 14 0.417 45.96611 49.34591 48.74502 0 0 -1 + 1428 449 14 0.417 46.09930 49.60861 50.22999 0 0 -1 + 1429 450 13 -0.834 37.77009 64.51990 42.66941 1 0 0 + 1430 450 14 0.417 38.49339 64.80040 43.23011 1 0 0 + 1431 450 14 0.417 38.14071 64.50928 41.78694 1 0 0 + 1432 451 13 -0.834 45.78323 57.65378 39.37062 1 0 0 + 1433 451 14 0.417 46.03758 58.03295 40.21190 1 0 0 + 1434 451 14 0.417 44.96217 58.09258 39.14803 1 0 0 + 1435 452 13 -0.834 56.96672 60.41636 47.59314 0 -1 1 + 1436 452 14 0.417 56.18373 60.11455 48.05365 0 -1 1 + 1437 452 14 0.417 56.65889 61.13663 47.04297 0 -1 1 + 1438 453 13 -0.834 52.44356 65.82746 35.82081 -1 -1 0 + 1439 453 14 0.417 53.10567 65.14225 35.91211 -1 -1 0 + 1440 453 14 0.417 52.93741 66.64611 35.86748 -1 -1 0 + 1441 454 13 -0.834 50.70912 51.42252 40.30021 0 0 -1 + 1442 454 14 0.417 50.97387 50.70177 39.72866 0 0 -1 + 1443 454 14 0.417 50.17774 51.98938 39.74116 0 0 -1 + 1444 455 13 -0.834 39.22290 45.94023 39.69239 2 1 -1 + 1445 455 14 0.417 39.63836 46.66722 39.22859 2 1 -1 + 1446 455 14 0.417 38.97218 45.32685 39.00164 2 1 -1 + 1447 456 13 -0.834 43.73041 61.86387 55.46954 2 0 0 + 1448 456 14 0.417 43.61274 62.32163 56.30192 2 0 0 + 1449 456 14 0.417 43.90401 62.55964 54.83549 2 0 0 + 1450 457 13 -0.834 61.51877 56.42039 33.84869 0 0 1 + 1451 457 14 0.417 62.17805 55.74211 33.70200 0 0 1 + 1452 457 14 0.417 62.00943 57.15723 34.21276 0 0 1 + 1453 458 13 -0.834 51.72050 63.63199 42.34406 1 0 1 + 1454 458 14 0.417 51.24482 64.43296 42.56407 1 0 1 + 1455 458 14 0.417 52.62118 63.92057 42.19669 1 0 1 + 1456 459 13 -0.834 54.73666 56.51839 51.73687 0 0 -1 + 1457 459 14 0.417 54.77503 56.56844 52.69200 0 0 -1 + 1458 459 14 0.417 54.91702 57.41111 51.44234 0 0 -1 + 1459 460 13 -0.834 50.97984 54.35591 33.27919 0 1 0 + 1460 460 14 0.417 50.47200 55.12727 33.02747 0 1 0 + 1461 460 14 0.417 50.36917 53.82187 33.78725 0 1 0 + 1462 461 13 -0.834 44.82656 54.45280 36.09973 1 0 2 + 1463 461 14 0.417 45.75766 54.23599 36.14740 1 0 2 + 1464 461 14 0.417 44.76968 55.11700 35.41283 1 0 2 + 1465 462 13 -0.834 58.05791 56.64716 55.29041 1 1 0 + 1466 462 14 0.417 58.98499 56.81997 55.45441 1 1 0 + 1467 462 14 0.417 57.82639 55.96338 55.91897 1 1 0 + 1468 463 13 -0.834 55.95112 61.02029 30.79757 1 0 1 + 1469 463 14 0.417 55.28483 61.63344 30.48711 1 0 1 + 1470 463 14 0.417 55.45357 60.27206 31.12748 1 0 1 + 1471 464 13 -0.834 54.80996 46.88659 45.41700 -1 0 0 + 1472 464 14 0.417 55.42348 46.16300 45.28950 -1 0 0 + 1473 464 14 0.417 54.08129 46.68997 44.82826 -1 0 0 + 1474 465 13 -0.834 60.19361 64.43268 31.92053 0 -1 2 + 1475 465 14 0.417 60.05792 63.85315 32.67017 0 -1 2 + 1476 465 14 0.417 60.47170 63.84993 31.21392 0 -1 2 + 1477 466 13 -0.834 45.55496 65.56032 30.88251 0 -1 1 + 1478 466 14 0.417 45.97644 64.70102 30.89691 0 -1 1 + 1479 466 14 0.417 45.82502 65.97384 31.70248 0 -1 1 + 1480 467 13 -0.834 52.92714 44.06759 29.88429 0 1 0 + 1481 467 14 0.417 52.39641 43.38446 30.29405 0 1 0 + 1482 467 14 0.417 53.79372 43.96686 30.27818 0 1 0 + 1483 468 13 -0.834 40.71534 55.31247 44.93070 1 0 0 + 1484 468 14 0.417 39.81994 55.07165 45.16841 1 0 0 + 1485 468 14 0.417 41.16802 54.47609 44.82218 1 0 0 + 1486 469 13 -0.834 64.04777 59.80626 42.91634 0 -1 -1 + 1487 469 14 0.417 37.09051 60.51146 43.41377 1 -1 -1 + 1488 469 14 0.417 37.01609 59.00291 43.31068 1 -1 -1 + 1489 470 13 -0.834 57.05030 49.72625 41.88829 -1 1 1 + 1490 470 14 0.417 56.75150 50.53290 42.30818 -1 1 1 + 1491 470 14 0.417 57.52176 50.02159 41.10935 -1 1 1 + 1492 471 13 -0.834 62.59447 67.67898 41.14714 -2 -2 1 + 1493 471 14 0.417 63.45155 67.57764 41.56112 -2 -2 1 + 1494 471 14 0.417 61.96974 67.40478 41.81854 -2 -2 1 + 1495 472 13 -0.834 62.98029 58.34420 35.34278 0 0 1 + 1496 472 14 0.417 62.45371 58.26151 36.13783 0 0 1 + 1497 472 14 0.417 63.83636 58.64077 35.65169 0 0 1 + 1498 473 13 -0.834 63.44584 56.74146 44.14484 0 1 -2 + 1499 473 14 0.417 64.13590 56.53036 44.77371 0 1 -2 + 1500 473 14 0.417 62.70665 57.02149 44.68470 0 1 -2 + 1501 474 13 -0.834 44.05905 56.56929 51.60681 1 0 -1 + 1502 474 14 0.417 43.57850 56.15764 52.32504 1 0 -1 + 1503 474 14 0.417 43.90344 55.99747 50.85512 1 0 -1 + 1504 475 13 -0.834 37.49588 59.31379 39.05252 0 0 0 + 1505 475 14 0.417 37.07904 58.45297 39.09112 0 0 0 + 1506 475 14 0.417 37.58867 59.49374 38.11696 0 0 0 + 1507 476 13 -0.834 54.75747 41.52122 56.48609 -1 1 0 + 1508 476 14 0.417 54.79987 42.39714 56.86981 -1 1 0 + 1509 476 14 0.417 54.80582 41.67034 55.54179 -1 1 0 + 1510 477 13 -0.834 42.91665 58.39379 47.91495 1 0 0 + 1511 477 14 0.417 43.70923 58.91951 47.80683 1 0 0 + 1512 477 14 0.417 42.28811 58.98861 48.32409 1 0 0 + 1513 478 13 -0.834 60.63731 64.78822 56.03697 -2 1 -1 + 1514 478 14 0.417 60.86485 63.91302 56.35082 -2 1 -1 + 1515 478 14 0.417 60.50973 65.30321 56.83369 -2 1 -1 + 1516 479 13 -0.834 52.85180 54.69512 43.09842 0 0 1 + 1517 479 14 0.417 52.31485 55.13373 42.43846 0 0 1 + 1518 479 14 0.417 53.08000 53.85428 42.70200 0 0 1 + 1519 480 13 -0.834 51.49497 54.97356 38.95012 -2 1 -1 + 1520 480 14 0.417 50.77717 54.34090 38.97811 -2 1 -1 + 1521 480 14 0.417 51.51597 55.35169 39.82923 -2 1 -1 + 1522 481 13 -0.834 40.46924 62.02458 56.36341 1 0 -1 + 1523 481 14 0.417 40.45814 61.65439 55.48076 1 0 -1 + 1524 481 14 0.417 40.81799 62.90856 56.24853 1 0 -1 + 1525 482 13 -0.834 52.26692 56.29032 45.24820 0 2 1 + 1526 482 14 0.417 51.65227 56.79794 44.71834 0 2 1 + 1527 482 14 0.417 52.43092 55.49973 44.73408 0 2 1 + 1528 483 13 -0.834 53.46372 44.63556 52.39623 -1 1 1 + 1529 483 14 0.417 53.51664 45.03502 53.26448 -1 1 1 + 1530 483 14 0.417 54.08491 45.13343 51.86474 -1 1 1 + 1531 484 13 -0.834 42.90202 49.87822 40.32919 0 2 1 + 1532 484 14 0.417 42.40392 49.63281 41.10889 0 2 1 + 1533 484 14 0.417 42.31302 50.45172 39.83885 0 2 1 + 1534 485 13 -0.834 43.07357 64.57931 39.44006 2 1 1 + 1535 485 14 0.417 42.79300 64.80186 38.55237 2 1 1 + 1536 485 14 0.417 43.26869 65.42268 39.84860 2 1 1 + 1537 486 13 -0.834 38.86691 42.35197 55.12826 1 1 -1 + 1538 486 14 0.417 38.06621 42.87541 55.16185 1 1 -1 + 1539 486 14 0.417 39.52681 42.89488 55.55954 1 1 -1 + 1540 487 13 -0.834 59.15412 47.19863 55.46904 0 -1 0 + 1541 487 14 0.417 59.83963 46.99833 56.10636 0 -1 0 + 1542 487 14 0.417 58.74433 46.35364 55.28381 0 -1 0 + 1543 488 13 -0.834 52.12071 45.94110 44.23903 1 1 0 + 1544 488 14 0.417 51.89927 45.05144 44.51416 1 1 0 + 1545 488 14 0.417 52.26697 45.87115 43.29566 1 1 0 + 1546 489 13 -0.834 41.73140 52.23741 31.27732 0 0 1 + 1547 489 14 0.417 40.84403 52.55314 31.44796 0 0 1 + 1548 489 14 0.417 41.81503 52.26011 30.32405 0 0 1 + 1549 490 13 -0.834 38.46034 66.01701 52.27886 1 0 -1 + 1550 490 14 0.417 39.39276 66.02392 52.49517 1 0 -1 + 1551 490 14 0.417 38.11246 66.80769 52.69121 1 0 -1 + 1552 491 13 -0.834 42.13838 67.12262 54.88509 0 0 -3 + 1553 491 14 0.417 42.22460 67.38235 53.96784 0 0 -3 + 1554 491 14 0.417 42.96673 67.38388 55.28736 0 0 -3 + 1555 492 13 -0.834 37.89607 66.86351 46.16867 -1 -1 -1 + 1556 492 14 0.417 38.03129 66.98073 47.10899 -1 -1 -1 + 1557 492 14 0.417 38.75367 66.60168 45.83369 -1 -1 -1 + 1558 493 13 -0.834 40.37538 58.21424 30.88318 0 -1 0 + 1559 493 14 0.417 41.23010 58.63566 30.79307 0 -1 0 + 1560 493 14 0.417 40.45502 57.40101 30.38463 0 -1 0 + 1561 494 13 -0.834 54.56531 48.85249 32.17940 1 -2 2 + 1562 494 14 0.417 54.90082 48.98086 31.29216 1 -2 2 + 1563 494 14 0.417 54.03604 49.63141 32.35086 1 -2 2 + 1564 495 13 -0.834 63.56488 49.70113 37.88594 0 -1 1 + 1565 495 14 0.417 63.93261 49.40780 37.05228 0 -1 1 + 1566 495 14 0.417 63.98151 50.54765 38.04739 0 -1 1 + 1567 496 13 -0.834 39.26126 54.76920 54.71493 2 -1 2 + 1568 496 14 0.417 38.75402 55.21237 54.03483 2 -1 2 + 1569 496 14 0.417 38.67139 54.73109 55.46781 2 -1 2 + 1570 497 13 -0.834 42.78607 47.20625 49.30057 2 -1 0 + 1571 497 14 0.417 42.93670 46.34815 48.90404 2 -1 0 + 1572 497 14 0.417 43.53800 47.33917 49.87780 2 -1 0 + 1573 498 13 -0.834 59.99490 55.30114 50.55687 0 1 -1 + 1574 498 14 0.417 60.84158 55.66821 50.81111 0 1 -1 + 1575 498 14 0.417 59.38335 56.03363 50.63237 0 1 -1 + 1576 499 13 -0.834 57.95276 49.30660 54.37087 1 -1 -1 + 1577 499 14 0.417 57.34184 49.29544 55.10769 1 -1 -1 + 1578 499 14 0.417 58.55272 48.58151 54.54557 1 -1 -1 + 1579 500 13 -0.834 43.43041 64.04345 57.10111 1 -1 -1 + 1580 500 14 0.417 43.03742 64.07155 30.60210 1 -1 0 + 1581 500 14 0.417 44.26016 64.51104 29.82515 1 -1 0 + 1582 501 13 -0.834 40.71066 57.82778 50.85579 1 -1 -1 + 1583 501 14 0.417 41.04411 57.83612 51.75299 1 -1 -1 + 1584 501 14 0.417 40.96886 58.67633 50.49590 1 -1 -1 + 1585 502 13 -0.834 61.21331 60.53661 39.63578 1 -1 0 + 1586 502 14 0.417 61.87151 61.23113 39.61011 1 -1 0 + 1587 502 14 0.417 61.32085 60.13583 40.49837 1 -1 0 + 1588 503 13 -0.834 43.54081 65.33296 49.47114 1 -1 -1 + 1589 503 14 0.417 42.67637 65.41138 49.06762 1 -1 -1 + 1590 503 14 0.417 43.36562 64.99829 50.35065 1 -1 -1 + 1591 504 13 -0.834 50.27329 53.06087 30.87109 -1 0 1 + 1592 504 14 0.417 50.38769 53.42204 29.99204 -1 0 1 + 1593 504 14 0.417 50.86354 53.57620 31.42092 -1 0 1 + 1594 505 13 -0.834 40.29157 66.01889 32.67757 0 -1 0 + 1595 505 14 0.417 40.18198 66.27998 31.76320 0 -1 0 + 1596 505 14 0.417 39.39873 65.90460 33.00317 0 -1 0 + 1597 506 13 -0.834 48.15372 67.97019 44.25255 1 -1 1 + 1598 506 14 0.417 47.34263 67.52534 44.49854 1 -1 1 + 1599 506 14 0.417 47.87159 41.31478 43.68328 1 0 1 + 1600 507 13 -0.834 53.38019 63.98437 38.13827 0 0 -1 + 1601 507 14 0.417 54.19463 63.69976 37.72362 0 0 -1 + 1602 507 14 0.417 53.59582 64.82739 38.53711 0 0 -1 + 1603 508 13 -0.834 40.87597 58.12305 53.50808 0 0 0 + 1604 508 14 0.417 40.17916 58.26636 54.14852 0 0 0 + 1605 508 14 0.417 41.66044 58.48234 53.92256 0 0 0 + 1606 509 13 -0.834 38.19887 52.28056 36.30714 2 0 -1 + 1607 509 14 0.417 38.20463 53.19038 36.60452 2 0 -1 + 1608 509 14 0.417 38.09924 52.33929 35.35695 2 0 -1 + 1609 510 13 -0.834 49.63883 57.32410 43.72359 0 -1 0 + 1610 510 14 0.417 49.72446 58.17232 43.28833 0 -1 0 + 1611 510 14 0.417 48.76183 57.33851 44.10688 0 -1 0 + 1612 511 13 -0.834 42.58791 59.61362 29.86455 1 0 0 + 1613 511 14 0.417 43.07246 58.91969 56.78877 1 0 -1 + 1614 511 14 0.417 42.69535 60.38141 56.67447 1 0 -1 + 1615 512 13 -0.834 50.76111 60.95449 46.98165 -1 0 -1 + 1616 512 14 0.417 50.90477 61.15450 47.90663 -1 0 -1 + 1617 512 14 0.417 50.20825 61.66875 46.66473 -1 0 -1 + 1618 513 13 -0.834 43.18406 55.61939 48.08539 1 0 0 + 1619 513 14 0.417 43.11229 56.55752 47.90932 1 0 0 + 1620 513 14 0.417 44.01330 55.36231 47.68228 1 0 0 + 1621 514 13 -0.834 54.67377 64.76817 41.62522 1 0 1 + 1622 514 14 0.417 54.39407 65.19031 40.81294 1 0 1 + 1623 514 14 0.417 55.29742 65.38243 42.01250 1 0 1 + 1624 515 13 -0.834 53.87383 68.12810 51.72031 0 -1 0 + 1625 515 14 0.417 53.06918 41.24938 51.55887 0 0 0 + 1626 515 14 0.417 53.74278 67.72971 52.58074 0 -1 0 + 1627 516 13 -0.834 38.24785 41.26767 33.50598 2 0 0 + 1628 516 14 0.417 38.16490 67.75301 33.15337 2 -1 0 + 1629 516 14 0.417 37.95757 41.83753 32.79377 2 0 0 + 1630 517 13 -0.834 47.35008 61.96125 42.94580 2 -2 0 + 1631 517 14 0.417 47.46077 62.90828 43.03015 2 -2 0 + 1632 517 14 0.417 47.09087 61.83022 42.03373 2 -2 0 + 1633 518 13 -0.834 40.55210 54.00820 41.89137 1 -1 1 + 1634 518 14 0.417 39.80099 54.24986 41.34946 1 -1 1 + 1635 518 14 0.417 40.19429 53.40377 42.54166 1 -1 1 + 1636 519 13 -0.834 57.17705 64.40362 55.44286 1 -1 -1 + 1637 519 14 0.417 56.34510 64.78670 55.72097 1 -1 -1 + 1638 519 14 0.417 57.64987 65.12814 55.03330 1 -1 -1 + 1639 520 13 -0.834 41.86955 59.84132 42.65268 0 -1 1 + 1640 520 14 0.417 41.72011 59.11980 43.26367 0 -1 1 + 1641 520 14 0.417 42.24995 60.53605 43.19017 0 -1 1 + 1642 521 13 -0.834 61.62566 57.26645 46.18447 0 -1 -1 + 1643 521 14 0.417 60.68119 57.41642 46.22577 0 -1 -1 + 1644 521 14 0.417 61.98987 57.84356 46.85569 0 -1 -1 + 1645 522 13 -0.834 46.82701 65.68647 41.03579 0 0 0 + 1646 522 14 0.417 46.01385 65.85266 41.51264 0 0 0 + 1647 522 14 0.417 47.44009 65.38297 41.70531 0 0 0 + 1648 523 13 -0.834 54.12960 45.94549 32.81485 0 0 1 + 1649 523 14 0.417 53.25962 45.65636 32.53955 0 0 1 + 1650 523 14 0.417 54.18942 46.85072 32.50950 0 0 1 + 1651 524 13 -0.834 43.71268 59.97805 32.34985 1 1 0 + 1652 524 14 0.417 43.46300 59.27568 32.95033 1 1 0 + 1653 524 14 0.417 42.94131 60.10757 31.79808 1 1 0 + 1654 525 13 -0.834 50.10604 48.47250 49.62054 1 0 -2 + 1655 525 14 0.417 50.96037 48.77303 49.31064 1 0 -2 + 1656 525 14 0.417 50.19320 48.44287 50.57331 1 0 -2 + 1657 526 13 -0.834 54.68660 60.38920 43.62499 0 0 0 + 1658 526 14 0.417 54.62862 59.85089 42.83561 0 0 0 + 1659 526 14 0.417 53.78667 60.44045 43.94712 0 0 0 + 1660 527 13 -0.834 56.35115 44.75736 40.87552 0 -1 -1 + 1661 527 14 0.417 56.99705 44.99197 41.54186 0 -1 -1 + 1662 527 14 0.417 55.55387 44.56808 41.37024 0 -1 -1 + 1663 528 13 -0.834 48.77009 62.36934 40.44473 0 -1 0 + 1664 528 14 0.417 49.30266 62.60520 41.20432 0 -1 0 + 1665 528 14 0.417 49.04689 62.97756 39.75939 0 -1 0 + 1666 529 13 -0.834 45.88757 58.55209 41.94547 0 1 0 + 1667 529 14 0.417 46.76719 58.27665 42.20365 0 1 0 + 1668 529 14 0.417 45.35604 57.75963 42.02128 0 1 0 + 1669 530 13 -0.834 39.44116 52.22097 43.65725 1 0 2 + 1670 530 14 0.417 39.30570 52.06689 44.59221 1 0 2 + 1671 530 14 0.417 38.61744 52.60378 43.35530 1 0 2 + 1672 531 13 -0.834 43.95976 66.73852 41.23250 1 0 1 + 1673 531 14 0.417 44.64454 67.13772 40.69588 1 0 1 + 1674 531 14 0.417 43.40678 67.47232 41.50081 1 0 1 + 1675 532 13 -0.834 62.99634 65.50241 54.70446 0 -1 -1 + 1676 532 14 0.417 63.58398 64.98613 55.25617 0 -1 -1 + 1677 532 14 0.417 62.12519 65.14960 54.88585 0 -1 -1 + 1678 533 13 -0.834 62.92898 53.27582 44.77167 0 0 0 + 1679 533 14 0.417 62.08998 53.60880 45.09018 0 0 0 + 1680 533 14 0.417 62.85751 52.32504 44.85618 0 0 0 + 1681 534 13 -0.834 63.31201 43.08081 48.29805 -1 0 -1 + 1682 534 14 0.417 63.01276 42.23705 47.95930 -1 0 -1 + 1683 534 14 0.417 63.67142 43.53221 47.53431 -1 0 -1 + 1684 535 13 -0.834 47.11867 63.34781 55.06249 0 0 -1 + 1685 535 14 0.417 47.19267 64.30022 55.00160 0 0 -1 + 1686 535 14 0.417 46.22495 63.15783 54.77716 0 0 -1 + 1687 536 13 -0.834 60.37216 67.91341 52.27568 -1 0 0 + 1688 536 14 0.417 61.05051 68.14950 52.90839 -1 0 0 + 1689 536 14 0.417 60.81546 67.93922 51.42771 -1 0 0 + 1690 537 13 -0.834 60.04315 43.26291 35.25445 -1 1 1 + 1691 537 14 0.417 60.42501 44.05815 35.62593 -1 1 1 + 1692 537 14 0.417 60.79709 42.72574 35.01102 -1 1 1 + 1693 538 13 -0.834 53.03851 55.52589 47.75769 0 0 -1 + 1694 538 14 0.417 53.93635 55.46537 47.43136 0 0 -1 + 1695 538 14 0.417 52.51527 55.73342 46.98347 0 0 -1 + 1696 539 13 -0.834 37.91895 50.43697 56.37325 0 0 0 + 1697 539 14 0.417 37.51622 49.56884 56.35299 0 0 0 + 1698 539 14 0.417 38.37591 50.50915 55.53527 0 0 0 + 1699 540 13 -0.834 50.50006 63.56852 38.27177 1 1 0 + 1700 540 14 0.417 50.22462 63.18436 37.43944 1 1 0 + 1701 540 14 0.417 51.44083 63.71275 38.16986 1 1 0 + 1702 541 13 -0.834 49.44600 43.95446 42.01861 0 0 1 + 1703 541 14 0.417 49.59639 44.80378 41.60354 0 0 1 + 1704 541 14 0.417 49.73882 44.07372 42.92211 0 0 1 + 1705 542 13 -0.834 50.98365 47.23031 39.51901 1 0 1 + 1706 542 14 0.417 51.18743 48.09631 39.16579 1 0 1 + 1707 542 14 0.417 50.03928 47.13635 39.39410 1 0 1 + 1708 543 13 -0.834 45.54625 60.20130 44.30493 0 0 2 + 1709 543 14 0.417 46.27140 60.62480 43.84553 0 0 2 + 1710 543 14 0.417 45.09838 59.69256 43.62904 0 0 2 + 1711 544 13 -0.834 60.48207 53.69772 48.42686 0 0 1 + 1712 544 14 0.417 60.03677 54.31581 49.00644 0 0 1 + 1713 544 14 0.417 59.89364 52.94407 48.38216 0 0 1 + 1714 545 13 -0.834 63.04952 45.83903 48.97963 -1 1 1 + 1715 545 14 0.417 63.88202 45.63831 49.40729 -1 1 1 + 1716 545 14 0.417 62.76408 45.00498 48.60667 -1 1 1 + 1717 546 13 -0.834 40.62890 44.95273 52.60003 2 -1 -2 + 1718 546 14 0.417 41.29110 45.55853 52.26721 2 -1 -2 + 1719 546 14 0.417 40.33885 45.34348 53.42431 2 -1 -2 + 1720 547 13 -0.834 39.91743 46.12102 55.72693 -1 1 -1 + 1721 547 14 0.417 40.70381 45.68274 56.05216 -1 1 -1 + 1722 547 14 0.417 39.19323 45.65943 56.14967 -1 1 -1 + 1723 548 13 -0.834 42.06829 45.07566 41.79962 0 0 -1 + 1724 548 14 0.417 41.61985 45.91039 41.93531 0 0 -1 + 1725 548 14 0.417 41.86481 44.56390 42.58253 0 0 -1 + 1726 549 13 -0.834 44.17588 49.40877 37.86902 1 1 0 + 1727 549 14 0.417 43.85185 49.35470 38.76808 1 1 0 + 1728 549 14 0.417 43.95346 48.56183 37.48242 1 1 0 + 1729 550 13 -0.834 52.64793 63.92130 45.68237 0 1 0 + 1730 550 14 0.417 52.63502 62.96908 45.58561 0 1 0 + 1731 550 14 0.417 52.43571 64.07178 46.60356 0 1 0 + 1732 551 13 -0.834 51.57615 43.64864 38.83377 1 1 0 + 1733 551 14 0.417 51.74260 43.03820 38.11551 1 1 0 + 1734 551 14 0.417 52.20192 44.35945 38.69449 1 1 0 + 1735 552 13 -0.834 62.02099 63.12241 47.73587 0 1 0 + 1736 552 14 0.417 61.17806 62.75352 47.99973 0 1 0 + 1737 552 14 0.417 62.48263 62.39363 47.32116 0 1 0 + 1738 553 13 -0.834 38.41497 51.40373 50.93034 1 1 0 + 1739 553 14 0.417 37.60807 51.12879 50.49494 1 1 0 + 1740 553 14 0.417 38.99796 51.65996 50.21571 1 1 0 + 1741 554 13 -0.834 51.96339 44.25313 49.02477 0 0 0 + 1742 554 14 0.417 52.81680 44.60151 49.28274 0 0 0 + 1743 554 14 0.417 52.16570 43.57682 48.37831 0 0 0 + 1744 555 13 -0.834 43.58422 51.42052 49.88959 0 1 -1 + 1745 555 14 0.417 42.74054 51.00549 50.06897 0 1 -1 + 1746 555 14 0.417 44.20160 50.69175 49.82657 0 1 -1 + 1747 556 13 -0.834 52.39836 53.43568 49.29165 1 0 -1 + 1748 556 14 0.417 51.88756 52.90169 48.68323 1 0 -1 + 1749 556 14 0.417 52.64451 54.20889 48.78391 1 0 -1 + 1750 557 13 -0.834 57.76885 46.61656 49.32842 0 1 0 + 1751 557 14 0.417 57.83718 46.26991 48.43879 0 1 0 + 1752 557 14 0.417 58.65246 46.53329 49.68694 0 1 0 + 1753 558 13 -0.834 59.20868 56.75211 36.79427 0 1 -1 + 1754 558 14 0.417 59.74268 56.20033 36.22276 0 1 -1 + 1755 558 14 0.417 58.75094 56.13459 37.36470 0 1 -1 + 1756 559 13 -0.834 51.74055 42.45875 36.24184 0 1 1 + 1757 559 14 0.417 51.04879 41.79745 36.22260 0 1 1 + 1758 559 14 0.417 52.52794 41.99055 35.96429 0 1 1 + 1759 560 13 -0.834 56.37631 67.32150 33.05439 -1 0 1 + 1760 560 14 0.417 56.52797 66.39716 33.25152 -1 0 1 + 1761 560 14 0.417 56.88845 67.79399 33.71068 -1 0 1 + 1762 561 13 -0.834 54.61713 62.99597 56.69158 0 1 -1 + 1763 561 14 0.417 54.59393 63.94258 56.83172 0 1 -1 + 1764 561 14 0.417 54.12883 62.86158 55.87934 0 1 -1 + 1765 562 13 -0.834 59.12420 67.78462 34.49420 0 -1 1 + 1766 562 14 0.417 59.61921 67.94665 33.69111 0 -1 1 + 1767 562 14 0.417 59.22686 41.21594 35.00547 0 0 1 + 1768 563 13 -0.834 63.35827 53.14027 38.43168 -1 0 0 + 1769 563 14 0.417 62.48186 53.05933 38.05538 -1 0 0 + 1770 563 14 0.417 63.87715 53.55740 37.74392 -1 0 0 + 1771 564 13 -0.834 50.05518 64.80335 44.94078 1 0 -2 + 1772 564 14 0.417 50.16173 65.71408 44.66608 1 0 -2 + 1773 564 14 0.417 50.94818 64.48993 45.08424 1 0 -2 + 1774 565 13 -0.834 61.91076 61.67486 44.00650 0 -3 0 + 1775 565 14 0.417 61.40514 60.86646 44.09077 0 -3 0 + 1776 565 14 0.417 62.58390 61.60857 44.68380 0 -3 0 + 1777 566 13 -0.834 61.53884 41.33016 50.02212 -1 0 -1 + 1778 566 14 0.417 61.75835 68.35836 49.15591 -1 -1 -1 + 1779 566 14 0.417 62.19075 42.01255 50.18215 -1 0 -1 + 1780 567 13 -0.834 54.81641 49.94673 49.66324 0 -1 -1 + 1781 567 14 0.417 54.81533 50.72359 50.22249 0 -1 -1 + 1782 567 14 0.417 53.94410 49.93341 49.26932 0 -1 -1 + 1783 568 13 -0.834 60.68933 64.00249 53.56679 -1 -1 -1 + 1784 568 14 0.417 60.72666 63.10922 53.90872 -1 -1 -1 + 1785 568 14 0.417 60.37485 64.52808 54.30238 -1 -1 -1 + 1786 569 13 -0.834 55.51605 42.60469 53.96890 0 -1 0 + 1787 569 14 0.417 55.82084 42.66633 53.06360 0 -1 0 + 1788 569 14 0.417 54.99565 43.39708 54.10137 0 -1 0 + 1789 570 13 -0.834 43.79008 68.23755 52.31171 2 -1 1 + 1790 570 14 0.417 43.47705 41.06627 51.42954 2 0 1 + 1791 570 14 0.417 44.72624 68.07073 52.20206 2 -1 1 + 1792 571 13 -0.834 40.19615 44.94623 32.57234 0 0 1 + 1793 571 14 0.417 40.90940 45.49825 32.25173 0 0 1 + 1794 571 14 0.417 40.42796 44.75889 33.48196 0 0 1 + 1795 572 13 -0.834 51.93921 56.60019 36.60262 -1 0 1 + 1796 572 14 0.417 51.78399 56.35099 37.51368 -1 0 1 + 1797 572 14 0.417 51.06469 56.74242 36.24039 -1 0 1 + 1798 573 13 -0.834 61.66916 50.48338 53.29865 -1 0 -2 + 1799 573 14 0.417 61.63036 50.41309 54.25248 -1 0 -2 + 1800 573 14 0.417 60.77283 50.69388 53.03687 -1 0 -2 + 1801 574 13 -0.834 51.74160 54.87485 56.16871 0 -1 0 + 1802 574 14 0.417 50.91429 55.26706 56.44795 0 -1 0 + 1803 574 14 0.417 51.91124 55.25931 55.30869 0 -1 0 + 1804 575 13 -0.834 40.85698 68.18248 30.13155 1 -1 0 + 1805 575 14 0.417 41.30492 67.87357 56.71541 1 -1 -1 + 1806 575 14 0.417 41.55175 41.19073 30.66952 1 0 0 + 1807 576 13 -0.834 50.89809 58.89690 54.50288 -1 0 0 + 1808 576 14 0.417 50.06229 58.64352 54.89466 -1 0 0 + 1809 576 14 0.417 51.37024 59.33797 55.20914 -1 0 0 + 1810 577 13 -0.834 58.37524 67.95427 49.91095 0 1 0 + 1811 577 14 0.417 57.83519 41.29391 50.25604 0 2 0 + 1812 577 14 0.417 59.26942 68.19076 50.15744 0 1 0 + 1813 578 13 -0.834 51.40785 46.48357 30.68744 1 0 1 + 1814 578 14 0.417 52.21871 45.99275 30.55389 1 0 1 + 1815 578 14 0.417 50.76683 45.82189 30.94725 1 0 1 + 1816 579 13 -0.834 57.04032 43.52295 36.91237 0 0 0 + 1817 579 14 0.417 56.97310 44.35969 36.45239 0 0 0 + 1818 579 14 0.417 57.91622 43.53095 37.29833 0 0 0 + 1819 580 13 -0.834 48.05479 47.92450 33.11226 0 0 1 + 1820 580 14 0.417 47.68291 48.79527 32.97186 0 0 1 + 1821 580 14 0.417 48.92592 48.09081 33.47242 0 0 1 + 1822 581 13 -0.834 52.31083 59.89064 56.95945 1 -2 -1 + 1823 581 14 0.417 51.77727 60.32576 30.25310 1 -2 0 + 1824 581 14 0.417 52.84806 60.59010 56.58744 1 -2 -1 + 1825 582 13 -0.834 49.28190 53.14534 38.62511 0 0 1 + 1826 582 14 0.417 48.56647 53.70668 38.92395 0 0 1 + 1827 582 14 0.417 48.86634 52.52585 38.02526 0 0 1 + 1828 583 13 -0.834 48.15214 51.90611 34.43290 2 0 0 + 1829 583 14 0.417 48.57405 51.97443 33.57642 2 0 0 + 1830 583 14 0.417 47.22654 51.76503 34.23389 2 0 0 + 1831 584 13 -0.834 61.27546 54.09168 30.34511 0 1 1 + 1832 584 14 0.417 61.26898 53.84689 31.27046 0 1 1 + 1833 584 14 0.417 62.02427 53.62196 29.97785 0 1 1 + 1834 585 13 -0.834 47.15916 50.47662 53.78471 0 -1 0 + 1835 585 14 0.417 47.32648 50.93912 54.60588 0 -1 0 + 1836 585 14 0.417 46.29671 50.78520 53.50690 0 -1 0 + 1837 586 13 -0.834 58.58091 63.09753 49.23949 0 -1 1 + 1838 586 14 0.417 59.43607 63.50227 49.38484 0 -1 1 + 1839 586 14 0.417 58.76326 62.34843 48.67219 0 -1 1 + 1840 587 13 -0.834 55.82082 49.65937 30.11648 0 1 1 + 1841 587 14 0.417 56.52757 49.92139 30.70647 0 1 1 + 1842 587 14 0.417 55.68213 50.42183 56.92602 0 1 0 + 1843 588 13 -0.834 63.79581 52.53565 53.17702 0 -2 1 + 1844 588 14 0.417 36.89869 52.41207 52.35479 1 -2 1 + 1845 588 14 0.417 63.12882 51.84908 53.17487 0 -2 1 + 1846 589 13 -0.834 58.30874 56.36537 43.52715 0 0 3 + 1847 589 14 0.417 58.58025 56.80205 44.33452 0 0 3 + 1848 589 14 0.417 57.40732 56.09029 43.69457 0 0 3 + 1849 590 13 -0.834 38.42652 61.06904 33.48425 0 -2 -1 + 1850 590 14 0.417 39.08604 61.75763 33.56856 0 -2 -1 + 1851 590 14 0.417 38.90648 60.25628 33.64334 0 -2 -1 + 1852 591 13 -0.834 46.61439 51.58566 41.81121 1 -1 0 + 1853 591 14 0.417 46.97646 51.37067 42.67082 1 -1 0 + 1854 591 14 0.417 46.41089 50.73724 41.41750 1 -1 0 + 1855 592 13 -0.834 60.01555 43.31814 42.71405 1 0 1 + 1856 592 14 0.417 60.52150 42.79903 43.33920 1 0 1 + 1857 592 14 0.417 59.90024 42.74003 41.95989 1 0 1 + 1858 593 13 -0.834 44.88246 59.34852 51.75271 1 0 -1 + 1859 593 14 0.417 45.75263 59.37400 52.15069 1 0 -1 + 1860 593 14 0.417 44.67274 58.41644 51.69374 1 0 -1 + 1861 594 13 -0.834 58.22051 53.10280 51.15729 0 -1 0 + 1862 594 14 0.417 58.53381 52.60654 51.91346 0 -1 0 + 1863 594 14 0.417 58.92607 53.72100 50.96688 0 -1 0 + 1864 595 13 -0.834 52.85332 67.67658 42.66705 0 -1 0 + 1865 595 14 0.417 53.29462 67.40699 41.86157 0 -1 0 + 1866 595 14 0.417 53.28090 67.16860 43.35652 0 -1 0 + 1867 596 13 -0.834 60.42773 53.38162 37.56585 0 0 1 + 1868 596 14 0.417 60.55482 53.97513 38.30601 0 0 1 + 1869 596 14 0.417 59.53313 53.05721 37.66924 0 0 1 + 1870 597 13 -0.834 56.52028 65.87791 50.38146 0 0 1 + 1871 597 14 0.417 56.94337 66.73645 50.39389 0 0 1 + 1872 597 14 0.417 57.02985 65.35034 50.99649 0 0 1 + 1873 598 13 -0.834 54.80064 62.49993 33.68680 1 0 1 + 1874 598 14 0.417 55.58425 61.96146 33.79744 1 0 1 + 1875 598 14 0.417 55.10591 63.27334 33.21259 1 0 1 + 1876 599 13 -0.834 44.11783 61.90196 34.52932 1 1 -1 + 1877 599 14 0.417 44.98641 61.86349 34.92975 1 1 -1 + 1878 599 14 0.417 44.21923 61.44892 33.69223 1 1 -1 + 1879 600 13 -0.834 47.64060 51.80694 44.33090 -1 -1 0 + 1880 600 14 0.417 48.33775 51.24158 44.66345 -1 -1 0 + 1881 600 14 0.417 47.96940 52.69619 44.46262 -1 -1 0 + 1882 601 13 -0.834 56.93644 64.17109 32.73010 0 -2 0 + 1883 601 14 0.417 57.35484 63.79547 31.95543 0 -2 0 + 1884 601 14 0.417 57.46604 63.85913 33.46389 0 -2 0 + 1885 602 13 -0.834 40.19928 60.95715 53.68963 1 0 -1 + 1886 602 14 0.417 41.08822 60.76154 53.39341 1 0 -1 + 1887 602 14 0.417 39.80336 61.43545 52.96114 1 0 -1 + 1888 603 13 -0.834 56.02366 41.52320 41.07986 0 1 0 + 1889 603 14 0.417 55.42766 41.48842 40.33165 0 1 0 + 1890 603 14 0.417 55.93467 42.41489 41.41631 0 1 0 + 1891 604 13 -0.834 52.35261 67.43639 29.83633 -1 0 0 + 1892 604 14 0.417 53.08703 67.77971 56.69878 -1 0 -1 + 1893 604 14 0.417 51.97673 68.20568 30.26426 -1 0 0 + 1894 605 13 -0.834 51.14102 49.90060 37.90539 1 0 1 + 1895 605 14 0.417 51.41236 49.08269 37.48865 1 0 1 + 1896 605 14 0.417 50.32915 50.13989 37.45830 1 0 1 + 1897 606 13 -0.834 48.40753 57.18555 40.43062 0 0 0 + 1898 606 14 0.417 47.74030 57.19949 39.74445 0 0 0 + 1899 606 14 0.417 48.68357 58.09814 40.51553 0 0 0 + 1900 607 13 -0.834 38.43185 54.52830 40.23522 1 -2 1 + 1901 607 14 0.417 37.76601 54.24704 40.86274 1 -2 1 + 1902 607 14 0.417 37.95756 54.62565 39.40951 1 -2 1 + 1903 608 13 -0.834 52.97765 52.38562 41.57118 0 0 0 + 1904 608 14 0.417 52.16773 52.00413 41.23247 0 0 0 + 1905 608 14 0.417 53.62059 51.67937 41.50742 0 0 0 + 1906 609 13 -0.834 52.82978 61.35779 35.40768 0 1 -2 + 1907 609 14 0.417 53.63682 61.71145 35.03372 0 1 -2 + 1908 609 14 0.417 53.10766 60.57217 35.87865 0 1 -2 + 1909 610 13 -0.834 55.37636 43.79165 30.66790 0 0 0 + 1910 610 14 0.417 55.82860 43.25432 31.31827 0 0 0 + 1911 610 14 0.417 55.97415 44.52040 30.50110 0 0 0 + 1912 611 13 -0.834 37.90570 54.55715 45.50029 1 -2 -1 + 1913 611 14 0.417 37.12871 54.09851 45.18066 1 -2 -1 + 1914 611 14 0.417 38.24821 53.99402 46.19441 1 -2 -1 + 1915 612 13 -0.834 60.01324 50.96528 45.16358 1 1 0 + 1916 612 14 0.417 59.85669 51.13906 44.23539 1 1 0 + 1917 612 14 0.417 59.48415 50.19096 45.35532 1 1 0 + 1918 613 13 -0.834 38.84394 52.32942 30.93040 2 1 0 + 1919 613 14 0.417 38.51878 51.61086 30.38802 2 1 0 + 1920 613 14 0.417 38.41000 53.10831 30.58218 2 1 0 + 1921 614 13 -0.834 38.99542 61.66171 44.80992 1 0 2 + 1922 614 14 0.417 38.78488 60.74588 44.99207 1 0 2 + 1923 614 14 0.417 39.68427 61.62223 44.14648 1 0 2 + 1924 615 13 -0.834 57.70791 41.72720 55.47643 0 1 -2 + 1925 615 14 0.417 57.25844 41.36846 56.24163 0 1 -2 + 1926 615 14 0.417 57.00496 41.93588 54.86116 0 1 -2 + 1927 616 13 -0.834 58.08999 54.20225 35.53764 0 -1 0 + 1928 616 14 0.417 58.28608 53.46338 36.11372 0 -1 0 + 1929 616 14 0.417 57.15628 54.11553 35.34551 0 -1 0 + 1930 617 13 -0.834 53.05217 52.71850 54.07873 0 0 -1 + 1931 617 14 0.417 52.72353 53.45661 54.59199 0 0 -1 + 1932 617 14 0.417 52.69237 51.94509 54.51306 0 0 -1 + 1933 618 13 -0.834 49.92059 65.13477 35.13462 0 1 1 + 1934 618 14 0.417 50.86780 65.25694 35.19866 0 1 1 + 1935 618 14 0.417 49.79534 64.18846 35.20565 0 1 1 + 1936 619 13 -0.834 41.32410 62.50943 46.98364 1 -1 0 + 1937 619 14 0.417 40.63048 62.20572 46.39807 1 -1 0 + 1938 619 14 0.417 41.96090 61.79482 46.99226 1 -1 0 + 1939 620 13 -0.834 53.94559 67.39201 49.11860 0 0 0 + 1940 620 14 0.417 54.46912 66.60137 48.98810 0 0 0 + 1941 620 14 0.417 54.03461 67.58755 50.05138 0 0 0 + 1942 621 13 -0.834 62.73724 52.28919 56.37358 -2 0 0 + 1943 621 14 0.417 61.94239 51.76764 56.26203 -2 0 0 + 1944 621 14 0.417 63.44036 51.64333 56.44233 -2 0 0 + 1945 622 13 -0.834 40.38118 67.16060 39.18721 2 1 1 + 1946 622 14 0.417 41.33280 67.21360 39.09858 2 1 1 + 1947 622 14 0.417 40.05780 67.12713 38.28691 2 1 1 + 1948 623 13 -0.834 62.86517 42.00727 34.57539 -1 0 -1 + 1949 623 14 0.417 63.37239 42.81882 34.59420 -1 0 -1 + 1950 623 14 0.417 63.40838 41.39624 34.07760 -1 0 -1 + 1951 624 13 -0.834 45.52270 49.32960 34.34348 1 -1 1 + 1952 624 14 0.417 45.92383 49.19413 33.48500 1 -1 1 + 1953 624 14 0.417 45.24004 50.24407 34.33468 1 -1 1 + 1954 625 13 -0.834 61.03811 44.77668 56.49913 1 1 0 + 1955 625 14 0.417 60.72892 43.87199 56.45248 1 1 0 + 1956 625 14 0.417 60.93423 45.11202 55.60864 1 1 0 + 1957 626 13 -0.834 37.82896 51.65548 39.75440 0 1 1 + 1958 626 14 0.417 37.05574 52.05171 39.35268 0 1 1 + 1959 626 14 0.417 38.46628 52.36806 39.80236 0 1 1 + 1960 627 13 -0.834 57.87448 65.36125 35.56679 -1 -1 0 + 1961 627 14 0.417 58.45940 64.84211 35.01489 -1 -1 0 + 1962 627 14 0.417 58.01580 66.26448 35.28319 -1 -1 0 + 1963 628 13 -0.834 41.02352 64.37669 36.41484 0 0 1 + 1964 628 14 0.417 40.85775 63.95254 37.25679 0 0 1 + 1965 628 14 0.417 41.32667 63.66948 35.84545 0 0 1 + 1966 629 13 -0.834 48.62923 67.86173 41.06030 1 0 1 + 1967 629 14 0.417 48.15680 41.13844 41.58283 1 1 1 + 1968 629 14 0.417 47.94185 67.35115 40.63246 1 0 1 + 1969 630 13 -0.834 57.99331 55.69311 47.88478 1 2 0 + 1970 630 14 0.417 57.70999 55.65425 48.79826 1 2 0 + 1971 630 14 0.417 57.37284 55.13407 47.41709 1 2 0 + 1972 631 13 -0.834 48.67013 62.47689 45.75332 -1 -1 0 + 1973 631 14 0.417 49.00300 63.35392 45.56291 -1 -1 0 + 1974 631 14 0.417 48.17776 62.23177 44.96992 -1 -1 0 + 1975 632 13 -0.834 63.70160 54.96100 33.30497 -1 0 0 + 1976 632 14 0.417 64.21034 55.41699 32.63452 -1 0 0 + 1977 632 14 0.417 36.84822 54.18301 33.51151 0 0 0 + 1978 633 13 -0.834 61.71933 50.02843 40.52579 1 0 -1 + 1979 633 14 0.417 61.89605 49.89083 39.59516 1 0 -1 + 1980 633 14 0.417 61.20325 50.83404 40.55551 1 0 -1 + 1981 634 13 -0.834 49.51254 64.46386 53.41539 0 -1 -1 + 1982 634 14 0.417 48.93704 63.81647 53.00803 0 -1 -1 + 1983 634 14 0.417 49.96102 63.98252 54.11066 0 -1 -1 + 1984 635 13 -0.834 49.54405 44.64373 31.53722 1 2 1 + 1985 635 14 0.417 49.17415 44.45447 32.39954 1 2 1 + 1986 635 14 0.417 48.78808 44.87386 30.99705 1 2 1 + 1987 636 13 -0.834 55.54392 65.92737 37.61921 0 -1 -1 + 1988 636 14 0.417 56.11408 65.75233 38.36791 0 -1 -1 + 1989 636 14 0.417 56.12096 66.32174 36.96519 0 -1 -1 + 1990 637 13 -0.834 55.12269 51.83986 35.86341 1 0 1 + 1991 637 14 0.417 55.56426 51.26412 35.23910 1 0 1 + 1992 637 14 0.417 54.23658 51.93728 35.51477 1 0 1 + 1993 638 13 -0.834 55.63681 62.23759 37.50835 1 -1 0 + 1994 638 14 0.417 55.30920 61.35525 37.33403 1 -1 0 + 1995 638 14 0.417 56.23965 62.41667 36.78672 1 -1 0 + 1996 639 13 -0.834 39.91450 42.04260 35.59226 0 0 0 + 1997 639 14 0.417 39.72903 41.27571 36.13422 0 0 0 + 1998 639 14 0.417 39.23583 42.02933 34.91737 0 0 0 + 1999 640 13 -0.834 48.26433 59.84813 40.16126 0 1 0 + 2000 640 14 0.417 48.74870 60.67004 40.23938 0 1 0 + 2001 640 14 0.417 47.50743 60.06639 39.61748 0 1 0 + 2002 641 13 -0.834 57.35097 49.28414 48.37687 1 1 1 + 2003 641 14 0.417 57.35715 48.51028 48.94022 1 1 1 + 2004 641 14 0.417 56.55074 49.75049 48.61854 1 1 1 + +Velocities + + 1 -0.000671 -0.002823 0.003832 + 2 -0.001597 0.002405 -0.003777 + 3 0.005494 0.003807 -0.002300 + 4 -0.000077 0.004524 -0.000287 + 5 0.003116 -0.007135 -0.034325 + 6 -0.006676 0.004889 -0.001939 + 7 0.003499 -0.004774 0.000159 + 8 -0.003460 0.000694 0.000994 + 9 -0.000065 -0.001353 -0.002848 + 10 -0.001260 -0.002649 0.000699 + 11 -0.002820 -0.002457 -0.005671 + 12 0.005156 -0.005914 0.000984 + 13 -0.002342 -0.001592 0.004306 + 14 0.004397 -0.000231 0.003308 + 15 -0.003258 -0.000006 0.001838 + 16 -0.001637 -0.004429 0.003154 + 17 0.007073 -0.000472 -0.003331 + 18 -0.003380 -0.001390 0.005013 + 19 -0.011019 -0.005332 -0.010451 + 20 -0.005433 0.000844 0.004938 + 21 0.002988 0.000244 -0.009941 + 22 -0.003695 0.006546 -0.007678 + 23 0.009473 0.023276 0.019457 + 24 -0.010016 -0.024193 0.018017 + 25 0.004015 0.008726 -0.000397 + 26 -0.001741 -0.001861 0.007862 + 27 -0.009771 -0.011577 -0.005703 + 28 0.003573 0.006265 -0.005932 + 29 0.004789 0.001987 -0.004620 + 30 0.008858 -0.001064 -0.001455 + 31 -0.001403 0.000613 0.002330 + 32 -0.005808 -0.001620 0.000816 + 33 -0.004160 0.001188 -0.019638 + 34 -0.006899 0.006285 0.013256 + 35 0.000717 -0.000432 -0.006883 + 36 0.002110 0.002628 -0.004683 + 37 0.000765 -0.007298 0.000289 + 38 -0.000128 -0.002893 0.004065 + 39 -0.000411 -0.021741 0.010968 + 40 0.002858 0.000302 0.000042 + 41 0.014233 -0.004599 -0.004060 + 42 -0.001473 -0.003572 -0.006228 + 43 0.009129 -0.002755 0.001456 + 44 0.003931 0.000151 0.003472 + 45 0.001621 0.005391 -0.006087 + 46 -0.004269 -0.001973 0.002735 + 47 -0.006898 -0.001187 -0.003394 + 48 -0.008556 -0.000163 -0.001387 + 49 -0.000633 -0.001754 0.011460 + 50 0.004854 -0.002902 -0.005057 + 51 0.000678 0.003272 0.006218 + 52 0.006502 0.006365 -0.000215 + 53 0.005708 0.012368 0.002955 + 54 0.008627 -0.007839 0.003177 + 55 0.004394 0.000132 0.002346 + 56 -0.004641 0.009426 -0.005548 + 57 -0.004801 -0.024766 0.002851 + 58 -0.002703 0.001589 0.007521 + 59 0.023718 -0.006559 0.003743 + 60 -0.010013 -0.042894 -0.029745 + 61 0.016140 -0.000721 -0.001747 + 62 -0.004871 0.002439 0.001990 + 63 0.009632 0.007144 0.001203 + 64 -0.001150 0.001648 -0.003018 + 65 0.006658 -0.002268 0.006874 + 66 -0.002617 0.003321 0.002230 + 67 -0.000803 0.002802 0.003258 + 68 -0.000984 -0.001579 -0.001813 + 69 0.001316 0.000607 0.003431 + 70 -0.010901 0.000580 -0.004134 + 71 0.005370 -0.003909 0.013130 + 72 -0.012282 0.007114 -0.015100 + 73 0.004641 -0.007554 0.004302 + 74 0.017455 0.013344 0.004896 + 75 0.006200 0.026885 0.020665 + 76 -0.010372 0.000470 -0.005601 + 77 -0.003368 -0.004484 0.010962 + 78 0.012416 -0.004728 0.000719 + 79 -0.005789 0.005198 -0.007541 + 80 0.005480 -0.004049 0.003455 + 81 -0.004935 0.005839 -0.006405 + 82 0.001157 -0.011200 0.018491 + 83 -0.029013 -0.016935 0.021131 + 84 -0.020335 0.020972 0.006071 + 85 0.003304 0.007374 -0.005056 + 86 0.029227 0.010776 -0.013183 + 87 0.001651 0.006570 -0.002085 + 88 0.001533 -0.009172 0.007562 + 89 0.018153 -0.022223 0.015786 + 90 -0.010012 -0.004911 0.002561 + 91 0.000435 0.003941 -0.005468 + 92 0.003301 0.001183 -0.006999 + 93 0.006788 0.011331 -0.004427 + 94 0.001392 0.005663 -0.002907 + 95 -0.001849 -0.002229 -0.003422 + 96 -0.000820 0.005872 0.004561 + 97 -0.003264 0.002461 -0.009257 + 98 0.000160 0.016954 -0.015355 + 99 -0.006597 0.011858 0.000426 + 100 0.001816 -0.005854 -0.001317 + 101 -0.001936 -0.006103 0.018111 + 102 0.024621 -0.022735 -0.000704 + 103 -0.001102 0.008384 -0.003086 + 104 0.012559 0.004375 -0.000361 + 105 0.008377 0.014814 -0.037755 + 106 -0.002851 -0.000200 -0.000722 + 107 0.010701 0.006888 -0.007831 + 108 -0.008490 0.011514 0.009399 + 109 -0.001181 0.001853 0.002176 + 110 -0.018912 -0.023868 0.006706 + 111 -0.000415 -0.001525 0.005751 + 112 -0.001172 0.001329 -0.001270 + 113 -0.006700 -0.006243 -0.006459 + 114 0.000018 0.001429 0.001376 + 115 0.001269 0.002521 0.005249 + 116 -0.002179 0.015666 0.006861 + 117 -0.007158 0.000981 0.007353 + 118 0.001047 0.000840 -0.004404 + 119 0.000974 -0.012527 0.005053 + 120 0.026729 0.008884 -0.003350 + 121 0.001181 -0.004040 -0.002037 + 122 0.006556 -0.007438 0.002656 + 123 0.005056 -0.015002 -0.003727 + 124 -0.002704 -0.003683 -0.001021 + 125 0.025048 0.007258 0.008873 + 126 0.019645 -0.020824 -0.002539 + 127 0.000061 0.001072 0.002612 + 128 0.005132 0.013203 0.018763 + 129 0.033473 0.004804 0.018651 + 130 -0.003459 -0.000309 -0.001348 + 131 -0.008088 0.023660 0.011047 + 132 0.010962 0.031994 0.008711 + 133 0.000181 -0.002894 -0.001677 + 134 0.024049 -0.000711 -0.009405 + 135 0.018702 0.003422 -0.019522 + 136 -0.000836 -0.003270 -0.005700 + 137 0.012246 0.016524 0.001525 + 138 0.006270 -0.011288 0.002224 + 139 -0.005169 0.005097 -0.000688 + 140 -0.006982 0.003044 -0.001383 + 141 0.012227 0.012767 0.004047 + 142 -0.001169 0.006070 -0.007989 + 143 0.005451 0.002569 -0.009841 + 144 0.001825 -0.002822 -0.005341 + 145 0.000911 0.004242 -0.002026 + 146 0.012072 -0.001187 -0.010498 + 147 0.007366 0.005541 0.012099 + 148 0.009820 0.000588 0.001087 + 149 0.013758 0.005140 0.015262 + 150 0.015580 0.003311 0.013079 + 151 0.002031 0.000411 0.003403 + 152 -0.001996 0.003750 0.007387 + 153 0.000790 0.000281 -0.000919 + 154 -0.004168 0.001886 -0.004993 + 155 -0.011049 0.015294 0.001052 + 156 -0.012308 0.010348 -0.003128 + 157 -0.001609 -0.004040 -0.002294 + 158 -0.005715 -0.015529 -0.005700 + 159 0.014489 0.026653 0.004024 + 160 0.004070 0.000866 0.003373 + 161 0.004691 0.005062 0.002569 + 162 0.007082 -0.019961 -0.026174 + 163 0.005501 0.000902 -0.001325 + 164 0.007503 0.001448 -0.001472 + 165 0.013628 0.003649 -0.005952 + 166 -0.000639 0.003162 -0.007271 + 167 0.007342 -0.011001 -0.016849 + 168 -0.018400 -0.004772 0.020839 + 169 0.000214 -0.000386 0.002706 + 170 -0.005862 0.010449 -0.003793 + 171 -0.013612 0.011870 -0.006417 + 172 -0.005485 0.006465 0.005343 + 173 0.001788 0.008428 0.005641 + 174 -0.018354 0.029579 0.010717 + 175 0.002627 -0.000754 0.000071 + 176 -0.018080 0.018546 0.001794 + 177 0.006754 -0.000962 -0.007786 + 178 0.002343 0.002166 0.004945 + 179 -0.001724 0.003155 0.010761 + 180 0.010728 0.003441 0.001544 + 181 -0.000849 -0.002856 0.001461 + 182 0.009366 -0.003672 -0.001935 + 183 0.016615 -0.001746 0.005238 + 184 -0.002730 -0.000316 -0.004583 + 185 -0.014755 -0.011310 0.003338 + 186 0.005862 0.008235 -0.003200 + 187 -0.003189 -0.006285 0.009536 + 188 -0.005114 -0.007060 0.006450 + 189 -0.000516 -0.008757 0.009854 + 190 -0.000859 0.005266 0.001864 + 191 0.003108 -0.007021 0.009190 + 192 -0.015949 -0.002050 0.007021 + 193 -0.007008 0.002608 -0.004583 + 194 -0.020431 -0.004004 0.008047 + 195 -0.000364 0.001236 -0.011425 + 196 0.002420 0.006931 0.002031 + 197 0.007178 0.006129 0.009924 + 198 -0.005981 0.016623 -0.013067 + 199 0.003142 -0.001394 -0.001846 + 200 0.011374 -0.002895 -0.000674 + 201 0.032698 -0.002552 0.007288 + 202 -0.005709 0.000071 0.005037 + 203 -0.013193 -0.012592 -0.008102 + 204 -0.008194 0.014723 0.003840 + 205 -0.003270 -0.006146 0.004301 + 206 0.004399 -0.010132 -0.001197 + 207 -0.030308 0.012803 0.003540 + 208 0.002110 0.002374 0.006075 + 209 -0.000845 -0.004182 -0.002795 + 210 0.002582 -0.004671 0.002224 + 211 -0.003768 0.002130 0.001339 + 212 0.022509 0.017397 0.002782 + 213 0.020609 0.006682 -0.014082 + 214 0.003956 0.004282 -0.005023 + 215 0.007499 0.004128 0.002237 + 216 0.034882 -0.005096 0.008948 + 217 -0.002552 -0.000287 -0.001907 + 218 0.025445 0.005560 -0.016526 + 219 0.002741 0.000814 -0.004654 + 220 0.002162 -0.001203 0.000936 + 221 0.004071 0.004725 0.001938 + 222 0.002393 -0.013063 -0.003950 + 223 -0.001609 -0.003218 -0.004310 + 224 -0.012550 0.009033 -0.007868 + 225 0.014344 0.000886 -0.013005 + 226 0.005863 0.010335 -0.003424 + 227 0.011104 -0.005602 -0.012415 + 228 0.001222 0.002408 0.001546 + 229 -0.002038 0.001858 0.002991 + 230 -0.017517 -0.020932 0.016099 + 231 0.005257 0.011588 -0.018236 + 232 -0.002660 -0.006193 0.003186 + 233 -0.021995 0.012375 0.004372 + 234 -0.013906 0.028004 -0.004997 + 235 0.002339 -0.001255 -0.003548 + 236 0.001689 0.005243 -0.006337 + 237 0.000498 -0.007782 -0.015260 + 238 0.001142 0.002234 0.003408 + 239 0.007521 0.004622 -0.003272 + 240 -0.001154 0.006952 0.006739 + 241 -0.000938 -0.004609 0.002499 + 242 0.004903 0.001117 0.013021 + 243 0.008126 -0.013873 -0.001075 + 244 -0.004097 0.002491 -0.002459 + 245 0.002093 -0.002989 0.010881 + 246 0.008552 0.010436 0.008330 + 247 -0.000211 0.002295 0.001935 + 248 0.004346 0.003486 0.008405 + 249 -0.006182 0.002873 -0.007955 + 250 0.002466 0.001439 -0.002302 + 251 -0.003246 0.007233 0.009469 + 252 -0.002606 0.002646 0.002563 + 253 0.000833 -0.001794 -0.003483 + 254 -0.001066 -0.001277 -0.012569 + 255 -0.003354 -0.002604 -0.016130 + 256 0.007379 0.006324 -0.003535 + 257 0.025411 0.006788 -0.010928 + 258 0.011648 0.000201 0.004051 + 259 -0.000385 -0.000823 -0.000593 + 260 -0.001070 -0.019569 0.006235 + 261 0.011350 0.009136 0.002805 + 262 -0.001688 0.002178 0.004704 + 263 -0.011748 0.007674 0.002198 + 264 -0.005358 0.003728 -0.002879 + 265 -0.004209 0.000686 -0.004990 + 266 0.000586 0.011928 0.008080 + 267 0.004512 -0.002493 -0.000297 + 268 -0.000130 0.007801 -0.005732 + 269 -0.006259 -0.000991 -0.001515 + 270 0.015560 -0.011483 0.001826 + 271 -0.003544 0.003178 0.000326 + 272 0.006639 0.005731 0.008812 + 273 -0.009361 -0.001371 -0.002830 + 274 -0.000226 0.001739 0.001787 + 275 -0.001846 -0.005637 -0.002071 + 276 0.009461 0.005629 -0.001253 + 277 0.003294 -0.005377 -0.000680 + 278 0.027740 0.013288 0.002669 + 279 0.003403 0.012169 -0.019874 + 280 -0.001383 0.000386 -0.006636 + 281 -0.005910 0.003429 -0.006992 + 282 0.002649 -0.004178 -0.006969 + 283 0.004768 -0.001680 0.000104 + 284 -0.012916 0.017467 -0.012201 + 285 0.010278 -0.007970 0.003734 + 286 0.000005 0.000300 0.006224 + 287 0.003150 -0.001535 0.007443 + 288 -0.000547 -0.003737 0.010794 + 289 0.003054 0.005656 0.000426 + 290 0.006673 0.002252 0.007300 + 291 0.004185 0.001696 0.005292 + 292 -0.001277 -0.005156 -0.001765 + 293 0.005969 -0.004326 -0.002540 + 294 -0.026915 -0.005145 0.019233 + 295 -0.003352 -0.000356 -0.001610 + 296 -0.023375 -0.003718 -0.017075 + 297 0.006387 -0.025086 0.000315 + 298 -0.005064 0.001395 0.004436 + 299 -0.004111 0.000853 -0.032909 + 300 0.000933 0.005949 0.017391 + 301 0.000607 0.002490 -0.002786 + 302 0.002638 0.008857 0.008537 + 303 0.001294 0.011357 -0.003275 + 304 -0.001798 -0.003127 -0.000795 + 305 -0.003320 0.000996 0.004122 + 306 -0.008728 -0.000634 0.002033 + 307 -0.003535 -0.002662 -0.002777 + 308 -0.005954 -0.002781 -0.004403 + 309 -0.002147 -0.001477 -0.001223 + 310 -0.002595 -0.001397 0.002359 + 311 -0.003605 -0.000224 0.015269 + 312 -0.014002 -0.002828 0.000027 + 313 0.001583 -0.005357 0.002380 + 314 -0.002955 -0.014106 -0.011581 + 315 0.000151 -0.006411 0.002865 + 316 0.004278 -0.004088 0.000114 + 317 -0.019291 0.001584 0.015204 + 318 -0.013439 -0.000674 0.010987 + 319 0.000024 0.000995 0.005326 + 320 -0.009041 0.020464 0.014139 + 321 0.004208 -0.003482 0.004723 + 322 0.001489 -0.003292 0.000500 + 323 0.000364 0.006211 0.006844 + 324 0.007467 0.021162 -0.001636 + 325 0.009527 -0.000863 -0.005483 + 326 -0.009936 0.006496 -0.014136 + 327 -0.007595 -0.006469 -0.002090 + 328 -0.002856 -0.010388 -0.000678 + 329 -0.026693 -0.007624 -0.001572 + 330 0.029582 -0.010319 0.009090 + 331 -0.009062 0.000913 0.000368 + 332 -0.019327 0.020501 -0.000560 + 333 -0.018764 -0.008632 0.002570 + 334 0.004502 0.001200 -0.008087 + 335 0.008714 -0.005091 -0.008624 + 336 0.004610 0.003623 -0.007048 + 337 0.002461 -0.000759 0.003913 + 338 0.021591 -0.013925 0.009416 + 339 -0.017190 0.002325 0.006138 + 340 0.003361 0.004027 0.006986 + 341 0.006850 0.012752 0.018496 + 342 0.019589 0.009932 -0.004987 + 343 0.000463 0.005037 -0.000723 + 344 0.008333 0.006382 -0.005532 + 345 0.004288 0.006565 0.007800 + 346 -0.001505 -0.001295 0.001190 + 347 -0.015747 0.011253 0.025149 + 348 0.014871 -0.012646 -0.016815 + 349 -0.000186 0.002115 -0.002539 + 350 0.001936 0.000958 -0.003366 + 351 -0.014299 0.007078 -0.001653 + 352 -0.000876 -0.001637 -0.002032 + 353 -0.001168 0.005556 -0.012749 + 354 -0.003162 -0.016318 -0.009468 + 355 -0.000674 -0.001888 -0.003265 + 356 0.017652 -0.009515 0.007889 + 357 0.015313 -0.006079 0.010454 + 358 -0.000964 -0.004354 0.000067 + 359 0.004137 -0.002540 0.004500 + 360 -0.011376 -0.000921 -0.006123 + 361 0.002023 0.003210 -0.000511 + 362 0.012560 -0.011698 0.016109 + 363 -0.013295 -0.009379 -0.009014 + 364 0.003315 0.003249 0.007620 + 365 -0.010739 0.000915 -0.008118 + 366 -0.015293 0.007564 -0.004343 + 367 0.000192 0.002269 -0.000485 + 368 0.002520 -0.012494 -0.004632 + 369 0.010222 0.003093 -0.002247 + 370 0.003953 0.000628 0.004147 + 371 0.001165 -0.005271 0.007550 + 372 -0.013412 -0.019696 0.026961 + 373 0.001883 0.002252 -0.003560 + 374 0.005482 -0.004609 0.002380 + 375 -0.008048 0.004473 -0.008866 + 376 -0.002663 0.001073 0.001951 + 377 0.010178 0.018964 0.000820 + 378 0.007583 -0.018984 0.016464 + 379 0.001136 0.007646 0.002719 + 380 0.006251 0.008125 0.009187 + 381 0.001284 0.011634 -0.004097 + 382 -0.000767 0.000265 -0.000818 + 383 -0.000089 0.001579 -0.002300 + 384 -0.004565 -0.011251 0.008186 + 385 0.004778 -0.000871 0.002405 + 386 0.006618 -0.002801 0.006849 + 387 0.029884 -0.012377 0.019662 + 388 -0.002799 -0.005785 0.000693 + 389 -0.006988 0.014716 -0.008738 + 390 -0.003130 0.004832 0.002982 + 391 0.000036 -0.002467 0.000498 + 392 -0.001382 -0.006847 0.003863 + 393 -0.003623 0.001391 0.001664 + 394 0.004431 0.000182 0.002043 + 395 0.007177 -0.001675 0.008884 + 396 0.000324 0.003728 0.003379 + 397 0.004107 -0.000618 0.000098 + 398 0.019272 -0.008832 -0.013192 + 399 -0.025041 0.027976 -0.020594 + 400 0.002982 -0.002889 -0.005826 + 401 0.010564 -0.003899 -0.002078 + 402 0.005218 -0.003308 -0.010357 + 403 0.002304 -0.003833 -0.008812 + 404 -0.013421 -0.017603 -0.023172 + 405 -0.003134 -0.000582 0.001712 + 406 -0.003398 -0.002176 0.001635 + 407 -0.015813 0.008046 0.010515 + 408 0.003940 -0.004144 -0.002666 + 409 0.008428 -0.002203 -0.004077 + 410 -0.004859 0.004207 -0.016803 + 411 -0.022714 0.005614 0.004119 + 412 -0.000677 -0.000486 0.001019 + 413 0.004137 0.001524 0.004810 + 414 -0.011495 -0.003293 -0.002498 + 415 -0.004277 -0.004620 -0.002973 + 416 0.005727 -0.002611 0.021922 + 417 0.009759 0.016284 -0.017136 + 418 0.001140 -0.003169 0.001021 + 419 0.002072 0.019101 -0.019824 + 420 0.029356 -0.011686 0.004675 + 421 0.001175 0.002540 0.001846 + 422 0.009479 -0.017538 0.002696 + 423 0.008327 0.028039 -0.001246 + 424 0.002971 -0.004730 0.000069 + 425 0.010168 -0.005904 -0.016535 + 426 0.009223 0.011295 0.006248 + 427 -0.003323 0.000861 0.005020 + 428 -0.005244 0.001685 -0.001864 + 429 0.000994 0.014826 0.000976 + 430 -0.002795 0.003958 -0.004848 + 431 0.010698 -0.011688 -0.000537 + 432 0.008158 0.021591 -0.003259 + 433 0.000363 0.002223 0.004053 + 434 -0.002225 0.004315 -0.010042 + 435 -0.000151 -0.000572 0.000675 + 436 0.006996 -0.000559 0.003307 + 437 -0.011410 -0.004708 0.006782 + 438 -0.015909 0.022113 0.004877 + 439 -0.002401 -0.002279 0.002655 + 440 -0.002478 0.000164 0.005849 + 441 -0.003545 0.002314 0.007358 + 442 0.002189 0.006935 -0.001251 + 443 -0.007190 0.031224 0.006804 + 444 0.004661 -0.003296 0.013412 + 445 0.003709 0.001514 -0.003921 + 446 0.015678 0.007604 0.000133 + 447 -0.004648 -0.004474 -0.027064 + 448 0.001807 -0.004146 0.004203 + 449 0.029598 0.003434 0.012408 + 450 -0.004603 -0.006201 0.002287 + 451 -0.003031 -0.004136 -0.006564 + 452 0.009003 0.019264 0.004529 + 453 -0.000188 0.010449 0.001077 + 454 0.003891 0.002752 0.005629 + 455 0.001092 0.012776 0.008682 + 456 -0.002762 0.015371 -0.005857 + 457 0.002697 -0.003406 -0.002865 + 458 0.007823 -0.013511 0.002023 + 459 -0.030492 -0.008107 -0.020624 + 460 0.000483 0.001162 0.002651 + 461 0.002571 -0.007508 -0.009384 + 462 -0.010774 -0.027329 0.003619 + 463 0.005791 0.000086 0.004298 + 464 0.008820 0.016257 -0.002226 + 465 0.000317 -0.014932 -0.013621 + 466 0.003540 0.001551 -0.001349 + 467 0.008241 0.020014 0.019807 + 468 -0.004258 -0.010227 -0.029599 + 469 0.007640 0.001287 -0.003128 + 470 0.004600 -0.001555 -0.010230 + 471 0.007870 0.002461 0.000094 + 472 0.001001 0.005160 -0.001529 + 473 0.006073 0.015127 0.022819 + 474 0.006356 -0.012345 -0.003131 + 475 -0.005549 -0.000151 0.001312 + 476 -0.015747 0.009610 0.004075 + 477 0.009345 0.004620 -0.013632 + 478 -0.005694 -0.004777 0.002781 + 479 -0.015785 0.018249 0.008919 + 480 0.007264 0.001342 -0.012954 + 481 -0.002601 -0.003124 -0.001775 + 482 -0.010924 -0.002942 0.001676 + 483 0.020644 0.001519 0.001050 + 484 -0.003829 -0.001681 0.001973 + 485 -0.009248 -0.008096 0.002166 + 486 -0.004627 -0.003317 0.000426 + 487 0.004750 0.008629 -0.001691 + 488 -0.009177 0.001481 0.019567 + 489 -0.000748 -0.004703 -0.011184 + 490 -0.000930 -0.004032 -0.001796 + 491 -0.007051 -0.001375 -0.004647 + 492 -0.000505 0.005436 -0.004029 + 493 -0.000767 -0.000313 -0.004426 + 494 0.007019 0.022441 0.008035 + 495 0.002030 -0.018016 0.012244 + 496 -0.000430 -0.004092 0.001186 + 497 0.012447 -0.008156 0.016405 + 498 -0.008008 0.011043 -0.000527 + 499 0.001752 0.001451 -0.008850 + 500 -0.001696 0.002950 -0.000035 + 501 0.006054 -0.001180 -0.028952 + 502 0.001434 -0.008124 -0.001958 + 503 0.001762 -0.007034 -0.009244 + 504 -0.008796 -0.004759 -0.009928 + 505 0.000249 0.001170 0.006380 + 506 -0.005081 0.014461 -0.003259 + 507 -0.002522 0.001324 0.007841 + 508 0.003441 0.001538 0.006742 + 509 0.007735 -0.006583 0.003492 + 510 0.009681 0.006088 0.008608 + 511 -0.006695 -0.001970 0.000807 + 512 0.004268 0.004052 0.001263 + 513 -0.004129 -0.012886 -0.007489 + 514 -0.002878 0.001158 0.006535 + 515 -0.007680 -0.001896 0.002953 + 516 -0.000917 -0.006257 -0.002762 + 517 -0.001401 -0.003523 -0.005778 + 518 -0.001854 0.007834 0.015061 + 519 -0.010095 0.007049 -0.021128 + 520 -0.000766 -0.000153 0.007009 + 521 0.009064 -0.003223 0.017921 + 522 0.000864 -0.000043 0.007876 + 523 -0.001025 0.001319 -0.006573 + 524 -0.006395 0.000755 -0.002686 + 525 -0.032670 0.007943 0.004175 + 526 0.002953 0.006520 0.004065 + 527 0.009139 -0.008077 -0.010889 + 528 -0.002820 0.012454 -0.005504 + 529 -0.008727 0.003418 0.002451 + 530 -0.007112 -0.005703 0.023446 + 531 -0.011285 0.014165 -0.019563 + 532 -0.002562 0.003192 -0.002295 + 533 -0.003618 0.007211 0.002298 + 534 0.010325 0.001834 0.002853 + 535 0.002563 0.000345 -0.002878 + 536 0.002396 0.022293 -0.006961 + 537 0.001693 -0.002677 0.010576 + 538 -0.001561 0.000734 0.001793 + 539 -0.008542 0.015338 0.007321 + 540 -0.015880 0.015140 0.014642 + 541 0.001092 0.000090 0.000997 + 542 -0.004522 -0.004004 0.003687 + 543 0.003258 -0.006156 0.000500 + 544 -0.001608 0.002026 0.003790 + 545 -0.010430 -0.004583 0.015482 + 546 0.002628 0.011416 0.004923 + 547 -0.002068 0.005845 0.001850 + 548 0.001194 0.007931 0.007672 + 549 -0.020261 -0.007195 -0.008896 + 550 0.005399 0.001999 0.000211 + 551 0.004420 0.012603 0.006214 + 552 0.007790 0.005534 0.000006 + 553 -0.004249 0.001186 -0.000260 + 554 0.006385 -0.014925 0.000020 + 555 0.009902 0.016988 -0.004080 + 556 0.006637 -0.003469 0.000450 + 557 -0.002010 0.011423 -0.004361 + 558 -0.009074 0.013716 -0.002539 + 559 0.003243 -0.003710 -0.002565 + 560 -0.000480 -0.009433 0.000267 + 561 0.002981 -0.005587 -0.010088 + 562 0.002665 0.008169 0.002667 + 563 -0.001817 0.009035 0.022525 + 564 0.005689 0.010678 0.000603 + 565 0.003217 0.002617 0.001072 + 566 0.025108 0.001061 -0.027288 + 567 -0.003091 0.028727 0.028529 + 568 0.003991 -0.002246 0.002528 + 569 0.011195 -0.007917 0.010511 + 570 -0.006686 -0.007088 -0.000640 + 571 0.005302 0.003751 0.001484 + 572 0.001250 0.007658 -0.006666 + 573 0.018145 -0.005375 0.000139 + 574 -0.003857 0.003583 0.000238 + 575 0.006752 0.001063 0.004538 + 576 -0.006479 0.014326 -0.017669 + 577 0.001793 0.003661 0.002509 + 578 0.010186 -0.003147 0.008687 + 579 -0.001160 -0.005645 -0.003812 + 580 -0.002296 0.006997 0.000837 + 581 -0.031138 0.017223 0.000984 + 582 0.002587 -0.007480 0.015277 + 583 0.000288 -0.000668 0.001548 + 584 0.016041 -0.004051 0.004629 + 585 -0.025116 0.003224 0.009356 + 586 -0.000853 0.003188 0.004014 + 587 -0.001700 -0.004491 0.006716 + 588 -0.008947 -0.009004 -0.023328 + 589 0.005432 -0.003893 -0.001000 + 590 -0.019524 0.021049 -0.035976 + 591 0.009404 0.004475 -0.004525 + 592 -0.006508 -0.002709 0.000481 + 593 0.010852 -0.015643 0.005754 + 594 0.006526 0.026156 0.009018 + 595 -0.004611 -0.001841 0.002205 + 596 -0.013411 -0.011893 -0.011510 + 597 -0.002150 -0.000804 -0.006730 + 598 -0.002593 -0.000356 0.003104 + 599 0.009483 0.002951 -0.001362 + 600 -0.015523 -0.003843 0.010828 + 601 -0.001229 0.003953 0.000471 + 602 -0.017788 0.002114 0.033354 + 603 0.015187 -0.017947 -0.007994 + 604 -0.001335 -0.000196 0.007281 + 605 0.015188 0.007448 0.005030 + 606 -0.001538 0.002386 -0.009662 + 607 -0.001172 0.004261 0.002894 + 608 -0.002229 0.015661 0.009134 + 609 0.017428 0.004976 0.006974 + 610 -0.001490 0.003604 0.004586 + 611 -0.017720 0.006222 -0.023144 + 612 0.010016 -0.015847 -0.004678 + 613 -0.002648 0.000934 0.000698 + 614 -0.011832 0.016782 0.007626 + 615 -0.005427 0.001385 0.015386 + 616 0.003669 -0.001949 0.003946 + 617 0.005164 0.000243 0.009975 + 618 -0.000161 0.003111 0.001353 + 619 0.002976 -0.004733 0.001868 + 620 -0.002832 -0.014197 -0.023534 + 621 -0.003347 -0.011551 0.000693 + 622 0.004912 0.001701 -0.000793 + 623 0.013809 0.007164 -0.016905 + 624 0.024958 -0.010962 -0.008428 + 625 0.007422 -0.002948 -0.001308 + 626 -0.016590 -0.032000 -0.001025 + 627 0.011367 0.004098 0.010259 + 628 -0.002045 -0.000742 0.000577 + 629 -0.030845 0.001448 0.030396 + 630 0.001781 -0.017639 0.014980 + 631 0.002233 -0.004427 -0.002429 + 632 0.018586 -0.001402 0.006993 + 633 -0.012356 0.003736 0.007796 + 634 -0.004338 0.007766 0.000310 + 635 0.001990 0.000209 0.007107 + 636 -0.006343 0.005190 -0.018263 + 637 -0.005455 0.000492 -0.002847 + 638 0.000522 0.006495 0.003755 + 639 -0.001841 -0.009429 -0.001507 + 640 -0.002314 -0.002516 -0.005613 + 641 0.018652 0.002237 -0.015930 + 642 -0.002326 -0.000776 -0.003132 + 643 -0.005512 -0.000623 -0.000619 + 644 -0.001015 0.005882 0.003225 + 645 0.000586 0.023218 -0.004529 + 646 -0.001138 0.000800 0.002687 + 647 0.003627 0.013371 -0.016172 + 648 0.018968 0.017228 -0.000038 + 649 -0.002086 -0.000112 -0.007393 + 650 0.016103 0.035588 0.008775 + 651 -0.038516 0.012158 -0.009536 + 652 0.002958 0.004862 -0.007554 + 653 0.024333 0.013052 -0.023133 + 654 0.002379 -0.000049 -0.006601 + 655 0.003804 -0.003076 -0.001112 + 656 -0.004763 0.002283 -0.025897 + 657 -0.036538 -0.010672 -0.010599 + 658 -0.000713 0.003957 0.002151 + 659 -0.016531 0.001472 0.004862 + 660 -0.009287 0.028134 0.010480 + 661 0.004192 -0.003835 0.000568 + 662 0.011523 0.002433 0.036479 + 663 -0.009197 -0.041577 0.000393 + 664 0.000280 -0.002373 -0.004460 + 665 0.002206 -0.003211 0.000957 + 666 0.006211 0.013469 -0.005353 + 667 -0.000522 0.001664 -0.004748 + 668 0.004459 -0.024042 -0.023029 + 669 0.011377 0.013403 0.030836 + 670 0.003382 -0.002813 0.000451 + 671 0.000766 0.000074 -0.006820 + 672 0.013252 -0.015598 0.024274 + 673 -0.003243 0.006406 -0.002570 + 674 0.019962 -0.008888 -0.019769 + 675 -0.027628 -0.005508 -0.000297 + 676 -0.007770 -0.003882 0.002155 + 677 -0.001777 0.012358 0.000036 + 678 -0.024978 0.005564 -0.015024 + 679 0.000188 0.001017 0.004117 + 680 -0.006440 -0.003105 0.019733 + 681 -0.016780 0.005575 -0.004078 + 682 0.000151 0.001697 -0.001387 + 683 -0.002925 0.000955 -0.004378 + 684 0.000826 0.008069 0.003052 + 685 -0.003543 -0.000321 -0.000587 + 686 -0.012205 0.000432 -0.005990 + 687 0.004010 0.009678 -0.003793 + 688 0.001940 -0.000340 0.003900 + 689 0.005837 0.014815 -0.005621 + 690 -0.008710 -0.017653 0.020395 + 691 -0.001931 -0.003975 -0.002577 + 692 -0.003368 -0.014386 -0.006878 + 693 -0.013782 -0.002984 0.003522 + 694 0.004968 -0.000283 -0.003322 + 695 0.019160 0.006665 -0.007077 + 696 0.022604 -0.000847 -0.016983 + 697 0.002571 0.000550 -0.007379 + 698 -0.001443 -0.002487 -0.007727 + 699 -0.011487 -0.013883 0.019460 + 700 0.001096 -0.004750 0.003965 + 701 -0.016603 -0.010473 0.014272 + 702 0.023559 -0.001392 -0.008500 + 703 -0.002022 -0.005262 -0.004485 + 704 0.002332 -0.014942 -0.004917 + 705 -0.009402 0.006267 -0.002020 + 706 -0.000288 0.003264 -0.003564 + 707 0.004565 0.033122 -0.006655 + 708 -0.018922 -0.009521 0.000208 + 709 -0.003485 0.003285 -0.000556 + 710 0.004587 -0.002798 -0.000984 + 711 -0.006054 0.007231 -0.001425 + 712 0.004718 0.000201 -0.003948 + 713 -0.014114 0.009800 -0.004955 + 714 -0.008099 -0.004168 0.008689 + 715 0.000410 -0.000654 0.009605 + 716 0.008711 0.018707 0.002740 + 717 0.003459 -0.008185 0.010239 + 718 0.003479 0.000757 0.004467 + 719 0.000433 -0.000495 0.007710 + 720 0.012945 0.003286 -0.002052 + 721 -0.010010 -0.003567 0.006956 + 722 0.005307 -0.001615 -0.002198 + 723 -0.012515 0.011984 0.016669 + 724 0.001378 -0.002186 -0.001614 + 725 0.012587 -0.019891 0.012237 + 726 0.012601 0.007024 0.014776 + 727 -0.002983 -0.001722 -0.004228 + 728 0.015268 -0.011359 -0.002815 + 729 -0.003967 0.028638 0.000653 + 730 -0.000313 -0.000495 0.001546 + 731 -0.030938 -0.009463 -0.008649 + 732 -0.033474 -0.019299 0.015331 + 733 0.000845 -0.003919 -0.003202 + 734 -0.027178 0.011071 -0.026350 + 735 -0.007741 0.001470 -0.016184 + 736 -0.001239 0.001989 -0.002789 + 737 0.011285 0.001382 -0.006222 + 738 0.022813 -0.006205 -0.006536 + 739 0.003987 -0.004190 -0.005010 + 740 -0.007915 0.002670 -0.013878 + 741 0.004194 0.006086 -0.010350 + 742 0.006539 -0.005074 0.002196 + 743 0.015306 0.008181 0.005081 + 744 0.007865 0.003022 -0.004716 + 745 -0.001784 -0.010062 0.004309 + 746 -0.002378 -0.011275 0.006933 + 747 -0.008336 -0.001053 0.004620 + 748 -0.002979 0.004768 -0.002497 + 749 -0.000959 0.004004 -0.002600 + 750 -0.019512 -0.002978 0.005044 + 751 -0.004903 -0.000550 0.000659 + 752 -0.005086 0.005639 -0.022167 + 753 -0.008131 0.001631 -0.018889 + 754 -0.001761 -0.001628 0.000503 + 755 -0.003957 -0.007199 -0.006609 + 756 0.003155 -0.001306 0.005143 + 757 0.000937 0.008247 -0.008723 + 758 0.028994 0.004889 0.007225 + 759 -0.000469 -0.025903 0.001925 + 760 -0.001834 -0.000370 -0.001605 + 761 0.007234 -0.001225 -0.019036 + 762 -0.003442 -0.001966 0.000209 + 763 0.000445 0.007510 0.001158 + 764 -0.008348 0.004439 -0.007776 + 765 -0.012793 0.011539 0.019680 + 766 0.000065 -0.000962 -0.004032 + 767 -0.002013 -0.005477 0.003901 + 768 0.003529 0.021570 0.007224 + 769 -0.002661 0.002604 -0.003268 + 770 0.005668 -0.003962 -0.004196 + 771 -0.003633 0.008263 -0.012842 + 772 0.001811 0.001915 0.002764 + 773 0.007995 -0.017893 0.012738 + 774 -0.018466 -0.002519 -0.001997 + 775 -0.002231 0.000080 0.000338 + 776 -0.020092 -0.012422 0.010443 + 777 0.017610 0.006562 -0.019411 + 778 -0.001733 0.005494 0.004582 + 779 0.013495 0.017522 0.004058 + 780 0.014733 0.026971 -0.010419 + 781 0.001950 0.000577 -0.000870 + 782 -0.025830 0.001269 0.005271 + 783 0.007534 -0.015453 0.006553 + 784 0.004959 0.000931 -0.005022 + 785 -0.008754 0.005835 0.049441 + 786 0.010447 0.012462 0.001546 + 787 -0.001107 0.002522 0.000433 + 788 0.009871 0.011686 0.008446 + 789 -0.006988 0.002247 0.021211 + 790 0.004245 0.001822 -0.000253 + 791 0.000153 -0.002603 0.008675 + 792 0.006252 0.003177 -0.013109 + 793 -0.002534 0.003863 0.000617 + 794 -0.000057 0.004391 -0.016346 + 795 0.005974 -0.000584 -0.004834 + 796 0.001827 -0.002339 -0.002010 + 797 -0.023150 0.007693 0.012507 + 798 0.012203 0.000464 -0.020004 + 799 -0.000293 -0.001883 -0.002470 + 800 -0.004248 0.006084 0.002613 + 801 -0.013517 0.015693 0.003574 + 802 -0.009450 0.005229 -0.003400 + 803 -0.015058 -0.007700 0.001796 + 804 -0.000196 -0.003546 0.002537 + 805 0.008758 -0.003257 0.005431 + 806 0.012998 -0.011952 -0.017276 + 807 0.008558 -0.002765 0.006723 + 808 -0.001470 -0.000539 0.002965 + 809 0.024028 -0.019423 -0.012788 + 810 0.003892 0.003966 -0.001573 + 811 0.000254 0.001510 0.000089 + 812 0.024395 0.007424 -0.013783 + 813 0.006830 0.017138 0.017010 + 814 -0.001535 -0.003749 -0.001708 + 815 0.013748 -0.018314 -0.006646 + 816 0.003900 0.002047 0.006451 + 817 0.006585 0.003832 -0.000629 + 818 0.021540 0.003252 0.001280 + 819 0.007897 0.007247 -0.003727 + 820 -0.002115 -0.002434 -0.005025 + 821 -0.016735 0.003360 -0.019137 + 822 0.003237 -0.017804 -0.004111 + 823 -0.003907 0.002878 -0.003988 + 824 -0.005419 -0.002010 -0.004476 + 825 -0.006449 0.003104 -0.002766 + 826 -0.013638 -0.002258 -0.002448 + 827 -0.007838 0.000023 -0.005866 + 828 -0.006633 0.001312 -0.008943 + 829 0.001696 0.003761 -0.002125 + 830 -0.001113 -0.010288 -0.008692 + 831 0.010380 0.008838 -0.015548 + 832 -0.003164 0.004544 -0.002070 + 833 -0.001495 -0.013094 -0.000890 + 834 0.011945 -0.015741 -0.003378 + 835 -0.008802 -0.001939 -0.005442 + 836 -0.002949 -0.007279 -0.004665 + 837 0.008414 -0.021459 -0.000948 + 838 0.001330 0.000622 0.000916 + 839 -0.001965 0.001331 0.006138 + 840 0.003081 -0.004825 0.007272 + 841 0.001557 -0.005770 -0.001563 + 842 0.014285 0.020628 -0.029634 + 843 -0.006815 0.003616 0.008747 + 844 0.001116 -0.003881 -0.003556 + 845 0.008316 -0.005783 -0.005256 + 846 -0.011615 0.015346 0.026431 + 847 0.004309 0.003546 -0.004311 + 848 0.007868 -0.013572 0.000073 + 849 -0.011699 0.005875 0.003604 + 850 0.000505 -0.004069 -0.002113 + 851 0.001211 -0.005770 -0.003436 + 852 -0.004651 0.001028 0.007154 + 853 -0.003913 -0.006795 -0.004733 + 854 -0.004339 -0.014527 -0.023555 + 855 -0.006756 -0.006056 -0.008714 + 856 0.007493 0.001588 -0.006408 + 857 0.020526 0.022065 -0.006921 + 858 0.010862 0.004031 -0.001655 + 859 0.003459 -0.001125 -0.001494 + 860 -0.000710 0.004855 0.022662 + 861 -0.000022 0.009082 0.012428 + 862 -0.000591 0.002648 0.002517 + 863 0.017910 0.003993 0.005847 + 864 -0.004999 0.014284 -0.016199 + 865 -0.001700 -0.002300 0.001206 + 866 -0.016994 -0.008747 -0.012103 + 867 -0.008118 -0.008616 0.003715 + 868 -0.002056 -0.003732 -0.006667 + 869 -0.002586 -0.005666 -0.002032 + 870 -0.002179 -0.001361 -0.001378 + 871 0.001952 0.000747 -0.004175 + 872 -0.000006 -0.004573 0.003592 + 873 -0.004377 -0.012174 0.000091 + 874 -0.006945 -0.004708 0.004295 + 875 -0.011724 -0.010397 0.002368 + 876 0.006805 0.012734 0.019238 + 877 0.004959 0.005871 -0.001277 + 878 -0.012228 -0.000867 -0.006672 + 879 0.014516 0.032640 0.025985 + 880 0.000767 -0.000179 0.004816 + 881 0.006242 0.002132 0.007465 + 882 0.006812 0.003103 0.007707 + 883 0.005120 -0.003059 -0.001062 + 884 -0.008255 -0.016076 -0.002362 + 885 -0.001789 -0.014152 -0.001194 + 886 -0.009000 0.001340 0.001690 + 887 -0.020559 -0.017599 0.000329 + 888 -0.003544 -0.006539 0.004087 + 889 -0.000933 0.000538 -0.001999 + 890 0.032797 0.013397 0.000525 + 891 -0.012354 -0.008526 -0.038077 + 892 0.002953 -0.002317 -0.004454 + 893 -0.029479 -0.014864 0.005868 + 894 0.019223 0.000709 -0.013773 + 895 0.002346 -0.003694 -0.004486 + 896 -0.005275 -0.001221 -0.010755 + 897 0.010883 0.001918 -0.002099 + 898 -0.000263 -0.000830 0.005518 + 899 0.000399 -0.005578 0.011643 + 900 -0.007207 -0.006080 -0.006632 + 901 -0.000868 0.002637 -0.000416 + 902 -0.003601 0.001456 0.001019 + 903 0.003465 0.009000 0.002627 + 904 -0.005492 0.001153 0.005034 + 905 0.008501 0.009963 0.005133 + 906 0.002740 0.005510 0.005387 + 907 0.001230 0.003701 -0.010904 + 908 0.005640 0.000943 -0.026378 + 909 -0.001655 0.006661 0.001080 + 910 0.000417 -0.004485 0.000899 + 911 0.004051 -0.003590 0.002016 + 912 0.010109 -0.002124 0.001500 + 913 0.002439 0.006335 0.003103 + 914 -0.006325 0.005901 0.006397 + 915 0.008058 0.002545 0.004591 + 916 -0.001774 -0.003954 -0.005522 + 917 -0.001697 -0.002110 -0.006988 + 918 0.000641 -0.012660 -0.001878 + 919 0.000840 0.002158 -0.002127 + 920 -0.006972 -0.005865 -0.019536 + 921 -0.009078 -0.009093 0.005319 + 922 -0.002466 0.001612 -0.002348 + 923 -0.007997 0.000173 -0.007016 + 924 -0.005167 0.000122 -0.004809 + 925 0.000182 0.007626 -0.005820 + 926 -0.000187 0.006758 -0.004766 + 927 -0.005146 0.010941 -0.001145 + 928 -0.001035 0.003329 -0.000156 + 929 -0.002925 0.005286 0.005381 + 930 -0.007353 0.014383 0.015446 + 931 0.001566 0.003779 -0.001844 + 932 0.014111 -0.006162 0.016836 + 933 -0.008051 -0.000942 0.006114 + 934 0.000472 0.000581 0.003898 + 935 0.010438 -0.015336 0.026259 + 936 -0.009803 0.018803 -0.011113 + 937 -0.002622 0.001845 -0.004649 + 938 0.000192 0.006195 -0.003034 + 939 -0.004379 0.004856 -0.008876 + 940 0.005312 -0.005320 -0.000644 + 941 0.004197 0.002434 0.005873 + 942 0.001054 -0.002144 -0.009156 + 943 0.001818 0.002764 0.000410 + 944 0.002489 0.005354 -0.014128 + 945 0.003819 0.010472 0.007403 + 946 0.005262 -0.000699 0.001191 + 947 -0.002052 -0.008290 0.017377 + 948 -0.012921 -0.009037 0.007720 + 949 0.002875 -0.000206 -0.005514 + 950 0.004620 -0.003924 -0.007344 + 951 0.004396 0.015332 -0.008395 + 952 -0.001773 -0.005567 0.004807 + 953 0.014650 -0.004337 0.011316 + 954 0.007355 -0.004603 0.004796 + 955 0.001050 0.002663 -0.000049 + 956 -0.000422 0.019759 -0.003121 + 957 -0.011736 0.001700 0.005445 + 958 0.002314 -0.007359 0.001422 + 959 0.000226 -0.009157 0.011161 + 960 0.002971 -0.007641 -0.001658 + 961 0.002025 0.003310 0.000085 + 962 0.003783 0.005544 -0.002440 + 963 -0.003390 -0.001680 0.007759 + 964 -0.000259 -0.001517 -0.001671 + 965 -0.009891 -0.000275 0.002930 + 966 -0.004798 -0.018121 0.000493 + 967 0.002742 0.002196 0.002639 + 968 -0.032110 0.008681 0.017593 + 969 -0.005767 -0.003804 -0.003447 + 970 -0.001025 -0.001901 0.007377 + 971 -0.025416 -0.005633 -0.009650 + 972 -0.002448 -0.002342 0.009184 + 973 0.000510 -0.004313 0.003297 + 974 -0.004244 -0.006185 -0.015114 + 975 0.002817 0.008222 0.025232 + 976 -0.005979 0.000432 0.003264 + 977 0.000348 0.000126 0.007237 + 978 -0.031461 0.008376 -0.002490 + 979 -0.003066 -0.005264 0.001528 + 980 0.000500 -0.005194 -0.000082 + 981 -0.006145 0.003915 -0.013465 + 982 -0.002081 -0.001596 0.001268 + 983 0.004918 -0.004802 -0.009499 + 984 -0.008729 0.005751 0.010881 + 985 0.002456 -0.001947 -0.001558 + 986 -0.006566 -0.000024 0.003315 + 987 0.007532 0.005898 -0.002575 + 988 -0.004247 -0.003264 -0.000409 + 989 0.002165 -0.007499 0.004990 + 990 -0.000419 0.003692 -0.004472 + 991 -0.001571 -0.000159 -0.000431 + 992 0.005413 0.009517 0.004397 + 993 -0.002643 -0.002292 -0.001478 + 994 -0.003884 0.005066 -0.000457 + 995 0.006816 0.009263 -0.003376 + 996 -0.007273 0.011919 0.000514 + 997 0.000030 0.001409 0.005477 + 998 0.005334 -0.020033 0.004464 + 999 0.016228 0.009598 -0.007106 + 1000 -0.002283 -0.004481 0.001317 + 1001 -0.002631 -0.006631 -0.004233 + 1002 0.004184 0.000805 0.014756 + 1003 0.000408 -0.003693 0.003308 + 1004 0.004530 -0.006410 -0.006453 + 1005 -0.004928 -0.003846 0.015168 + 1006 0.003101 -0.001511 0.005308 + 1007 0.014081 -0.002443 0.012313 + 1008 0.002846 0.010440 -0.000376 + 1009 0.003569 -0.002175 -0.006662 + 1010 -0.008368 -0.011644 -0.006989 + 1011 0.019824 -0.004949 -0.018661 + 1012 0.003202 -0.011850 0.003160 + 1013 0.014918 -0.009378 0.018579 + 1014 -0.002594 0.004575 -0.001959 + 1015 -0.002298 0.000413 -0.003910 + 1016 0.012837 -0.003799 -0.015681 + 1017 -0.005955 -0.000660 0.004171 + 1018 0.001582 0.000975 0.000146 + 1019 0.006776 -0.014144 -0.007821 + 1020 0.004234 -0.001693 -0.007198 + 1021 -0.001802 -0.002656 0.003257 + 1022 0.028537 0.012512 0.005966 + 1023 -0.000026 -0.011732 -0.013572 + 1024 0.006685 0.008417 -0.002619 + 1025 -0.018380 0.006240 0.006444 + 1026 0.014195 0.009753 -0.004447 + 1027 -0.000769 -0.006799 -0.003510 + 1028 -0.003532 0.013774 -0.009337 + 1029 0.005263 0.018084 -0.010946 + 1030 0.004102 0.004262 -0.002426 + 1031 -0.003256 -0.005354 0.003498 + 1032 -0.021894 -0.003478 0.016467 + 1033 0.001456 -0.004355 -0.002070 + 1034 -0.005859 -0.004113 -0.005871 + 1035 -0.005758 -0.006886 -0.016585 + 1036 0.001562 0.006459 -0.000209 + 1037 0.001331 0.004667 0.000892 + 1038 0.012898 0.027063 -0.008125 + 1039 0.002117 0.007131 0.002457 + 1040 0.026605 0.010046 0.019045 + 1041 -0.017364 0.007077 -0.014953 + 1042 -0.000452 0.009291 0.004625 + 1043 -0.011059 0.009571 0.015357 + 1044 0.027928 -0.000208 0.009437 + 1045 0.003475 -0.004274 -0.000546 + 1046 0.012160 -0.001385 -0.006922 + 1047 -0.016274 -0.008100 -0.006675 + 1048 -0.003853 -0.003278 -0.001388 + 1049 0.014697 -0.003341 -0.007454 + 1050 0.011346 -0.009086 -0.006461 + 1051 -0.001161 -0.003940 -0.002833 + 1052 0.011182 0.001281 -0.000803 + 1053 -0.001345 -0.002375 -0.003580 + 1054 0.004028 0.002256 0.000990 + 1055 0.013302 0.008212 -0.007566 + 1056 0.029179 -0.014499 0.008878 + 1057 0.000706 0.001652 0.001826 + 1058 0.000498 -0.007266 0.024956 + 1059 0.001324 -0.008155 0.011295 + 1060 0.000971 -0.006253 -0.004688 + 1061 -0.004746 -0.005680 -0.016047 + 1062 -0.000356 -0.009050 -0.006561 + 1063 -0.000866 0.005460 0.000045 + 1064 -0.006882 0.011747 0.020163 + 1065 -0.000733 0.001409 -0.010900 + 1066 -0.003804 0.003558 0.001444 + 1067 0.004513 0.002071 -0.017536 + 1068 -0.000869 -0.002704 -0.014336 + 1069 -0.003015 0.003241 -0.002075 + 1070 0.003734 -0.005456 -0.000879 + 1071 -0.006686 -0.008010 -0.008654 + 1072 -0.000541 -0.003669 -0.004373 + 1073 0.003151 -0.002513 -0.013951 + 1074 0.003979 -0.005557 0.002931 + 1075 -0.005175 -0.004387 0.000228 + 1076 -0.005613 -0.012392 -0.029351 + 1077 0.009704 0.009953 -0.015680 + 1078 -0.000915 0.003660 -0.003078 + 1079 0.002529 0.001465 0.006987 + 1080 0.000880 0.001866 -0.004217 + 1081 0.000835 -0.000410 0.000029 + 1082 0.003324 -0.009356 0.012151 + 1083 -0.000797 0.009753 -0.012613 + 1084 0.004557 -0.006851 0.000257 + 1085 0.014378 -0.010986 -0.004036 + 1086 0.001889 0.001865 0.000904 + 1087 0.003881 0.000306 -0.000266 + 1088 0.006043 -0.030376 0.018797 + 1089 -0.001012 -0.002296 0.000324 + 1090 0.007042 0.008682 0.007323 + 1091 0.010016 0.002442 -0.028255 + 1092 -0.004827 0.009414 -0.012200 + 1093 0.002178 0.003272 0.000190 + 1094 0.003486 0.001815 -0.002585 + 1095 0.006020 0.002953 -0.010998 + 1096 0.002573 -0.000704 0.002051 + 1097 -0.010233 0.004335 0.005568 + 1098 0.003397 0.002649 0.010631 + 1099 -0.000367 -0.008657 0.004003 + 1100 0.006810 -0.008282 0.003316 + 1101 -0.008301 -0.011638 -0.006525 + 1102 -0.001900 -0.008810 0.001531 + 1103 0.003628 0.008111 0.009571 + 1104 0.017147 0.000173 0.003988 + 1105 0.006161 0.005444 0.001389 + 1106 -0.033784 0.028714 -0.002486 + 1107 0.022179 0.015181 0.025221 + 1108 0.002935 0.001125 -0.009560 + 1109 0.013392 0.009490 0.002655 + 1110 0.015380 -0.002935 -0.004728 + 1111 0.002760 -0.001052 0.002516 + 1112 -0.006737 0.002302 0.012384 + 1113 -0.004649 -0.009652 -0.009326 + 1114 -0.003333 0.004385 -0.006004 + 1115 -0.014175 0.007089 0.000199 + 1116 0.009875 0.004925 0.012791 + 1117 -0.004828 0.000366 0.001718 + 1118 0.009618 -0.007069 -0.012330 + 1119 -0.021489 -0.009155 -0.001603 + 1120 -0.001360 0.002089 -0.003585 + 1121 0.003530 -0.001847 0.010254 + 1122 0.016468 0.005240 -0.014692 + 1123 0.001989 -0.000949 0.003286 + 1124 0.022107 -0.012110 -0.007316 + 1125 0.012518 -0.010337 0.015891 + 1126 0.000850 -0.001413 -0.001737 + 1127 -0.014943 0.000360 -0.000490 + 1128 -0.027983 -0.005206 0.004037 + 1129 0.011232 0.000349 -0.006679 + 1130 -0.005484 -0.003095 -0.004430 + 1131 -0.005050 -0.002005 -0.015837 + 1132 -0.000470 0.001924 0.001131 + 1133 -0.016506 0.005240 0.008171 + 1134 0.011977 -0.012388 0.003671 + 1135 -0.000818 0.001081 0.001571 + 1136 0.009956 -0.006601 -0.002667 + 1137 -0.013344 0.009962 -0.000602 + 1138 -0.004379 0.004681 0.005655 + 1139 -0.022717 0.009805 -0.016911 + 1140 -0.017223 0.002867 0.018671 + 1141 -0.000339 -0.000149 -0.001276 + 1142 0.002292 0.016872 -0.004987 + 1143 -0.012964 -0.000693 -0.007140 + 1144 -0.002149 0.004008 -0.001355 + 1145 0.012575 0.018012 -0.011467 + 1146 -0.018572 0.011663 -0.005755 + 1147 0.000951 -0.000232 0.005705 + 1148 0.001030 -0.002411 0.005162 + 1149 -0.004871 0.010528 0.006213 + 1150 -0.003431 0.005236 0.003321 + 1151 -0.006083 0.008172 0.003730 + 1152 0.021201 0.002738 -0.026021 + 1153 -0.000559 -0.001274 0.002074 + 1154 -0.000342 -0.008595 -0.003314 + 1155 -0.004563 0.013150 0.001114 + 1156 0.002547 -0.003346 0.000793 + 1157 -0.004000 0.002915 0.001908 + 1158 0.008526 -0.013385 0.001263 + 1159 0.003331 -0.001629 -0.001592 + 1160 0.012216 0.004263 0.001290 + 1161 -0.024729 0.027722 0.012828 + 1162 -0.004556 0.005331 -0.000790 + 1163 -0.001260 0.004809 0.012624 + 1164 0.009151 0.007740 0.005908 + 1165 0.006739 -0.002486 0.000962 + 1166 0.002801 -0.001010 0.007063 + 1167 0.006266 -0.009780 0.000447 + 1168 -0.001756 -0.006121 -0.000399 + 1169 0.002128 0.011752 0.003187 + 1170 -0.000744 -0.004455 -0.001624 + 1171 -0.003120 -0.007987 0.008768 + 1172 -0.001279 -0.014309 0.014916 + 1173 -0.003496 -0.005392 0.006518 + 1174 -0.005252 -0.000094 0.002610 + 1175 -0.004319 0.000327 0.003799 + 1176 0.014469 -0.001407 -0.023557 + 1177 -0.001733 0.011173 0.001097 + 1178 0.019607 0.000729 -0.008577 + 1179 -0.013430 0.021297 -0.011104 + 1180 0.005550 -0.002953 -0.004489 + 1181 -0.021164 -0.004283 0.009224 + 1182 0.020762 -0.011806 0.008058 + 1183 -0.003934 -0.006346 0.000789 + 1184 -0.004154 -0.012917 -0.000804 + 1185 0.001834 -0.003234 0.006486 + 1186 -0.003359 -0.000166 0.000482 + 1187 -0.010938 -0.009570 0.011838 + 1188 -0.006339 -0.002743 -0.017319 + 1189 -0.002008 -0.000238 -0.002842 + 1190 0.009730 0.002797 -0.000255 + 1191 0.004802 0.018470 -0.005529 + 1192 0.002978 0.003254 0.000406 + 1193 0.001762 -0.016118 0.017481 + 1194 0.009625 0.005549 -0.002833 + 1195 -0.005277 -0.000015 -0.004247 + 1196 0.008535 -0.018189 -0.023760 + 1197 -0.020839 0.008581 0.007193 + 1198 0.001976 -0.001531 0.001386 + 1199 -0.012488 -0.005613 0.004418 + 1200 0.012387 0.001324 -0.002579 + 1201 0.004612 0.001574 0.002430 + 1202 0.004011 0.024078 0.008286 + 1203 0.028635 -0.001749 -0.000378 + 1204 -0.001292 -0.004163 0.001688 + 1205 0.018917 -0.005327 -0.022863 + 1206 -0.021498 0.026796 -0.015481 + 1207 -0.004360 -0.003023 -0.007483 + 1208 0.015222 -0.007834 -0.014901 + 1209 -0.015487 -0.004003 -0.024684 + 1210 0.000162 -0.000232 -0.002511 + 1211 0.005663 0.001759 0.003041 + 1212 -0.026577 0.001752 0.009499 + 1213 -0.002118 -0.004800 0.002106 + 1214 0.012772 0.013880 -0.004149 + 1215 0.008831 0.004495 0.004278 + 1216 -0.001002 0.000396 0.000450 + 1217 0.001493 -0.000300 0.006615 + 1218 0.022789 -0.011336 -0.001626 + 1219 -0.002165 0.002305 -0.004399 + 1220 -0.001727 0.010653 0.006150 + 1221 0.001799 -0.000399 -0.015101 + 1222 -0.002535 -0.001664 0.000167 + 1223 -0.007939 0.009699 -0.003581 + 1224 -0.009214 -0.009452 -0.003331 + 1225 -0.002745 0.003249 0.011490 + 1226 0.010727 -0.015563 0.011870 + 1227 -0.003771 0.013856 -0.015486 + 1228 -0.000932 0.001513 0.000721 + 1229 -0.002528 0.000192 0.015301 + 1230 -0.027023 -0.007231 0.009659 + 1231 -0.005525 0.001099 -0.001369 + 1232 -0.002318 -0.008510 -0.009719 + 1233 -0.005945 -0.008347 0.009845 + 1234 -0.000817 -0.006097 -0.001394 + 1235 0.026844 0.005400 -0.013998 + 1236 -0.019837 0.017329 -0.010038 + 1237 -0.002691 -0.005371 -0.000786 + 1238 -0.007304 -0.006372 0.007409 + 1239 -0.014066 -0.005252 0.014237 + 1240 -0.000660 -0.004157 -0.007445 + 1241 -0.015343 -0.015681 0.000525 + 1242 -0.004856 0.008296 -0.020506 + 1243 -0.000451 -0.006253 0.005274 + 1244 -0.016626 -0.024128 0.003146 + 1245 0.003430 -0.001516 0.006995 + 1246 0.002369 0.000761 -0.000692 + 1247 -0.011034 0.017913 -0.003576 + 1248 0.014886 0.005052 0.010870 + 1249 0.000976 0.003044 0.004043 + 1250 0.002084 0.009119 -0.003484 + 1251 -0.004682 -0.003095 0.024419 + 1252 -0.001872 0.005519 -0.003878 + 1253 0.014045 0.004474 0.006660 + 1254 -0.006683 -0.012923 -0.006357 + 1255 -0.007125 -0.002296 0.002894 + 1256 -0.009126 -0.000293 0.008175 + 1257 -0.005668 -0.002902 -0.000640 + 1258 -0.009805 0.000500 -0.001546 + 1259 -0.007254 -0.007274 0.010849 + 1260 0.005786 0.004719 0.004479 + 1261 0.000767 -0.007091 -0.002809 + 1262 -0.010861 -0.024470 -0.006678 + 1263 0.010352 0.003874 -0.018616 + 1264 -0.001332 -0.000776 -0.001533 + 1265 0.005055 -0.002761 -0.000154 + 1266 0.001293 -0.010766 0.003695 + 1267 0.004101 0.005423 0.004161 + 1268 -0.006495 -0.001645 0.007645 + 1269 0.024277 0.000761 0.018148 + 1270 0.000384 -0.004677 0.001777 + 1271 -0.000305 -0.022286 0.006378 + 1272 0.014900 -0.009298 0.005029 + 1273 -0.002201 -0.002422 -0.001266 + 1274 0.002419 0.000621 -0.006170 + 1275 0.002242 -0.003567 -0.006329 + 1276 0.001155 0.006214 -0.002164 + 1277 -0.025679 0.011598 0.001775 + 1278 -0.016652 0.005061 0.002255 + 1279 -0.000163 0.000193 -0.001041 + 1280 -0.002822 -0.004131 -0.007696 + 1281 -0.007029 0.005316 -0.012422 + 1282 -0.001259 -0.001443 0.001295 + 1283 -0.000992 -0.027820 -0.000474 + 1284 -0.012190 -0.043729 -0.008054 + 1285 -0.001840 -0.001572 0.001104 + 1286 0.008311 0.001263 -0.001841 + 1287 0.001277 0.000429 -0.007113 + 1288 -0.005029 -0.002280 -0.002761 + 1289 -0.024723 0.012515 -0.012864 + 1290 -0.013845 -0.020399 0.001674 + 1291 -0.000161 0.002303 0.004199 + 1292 -0.010956 -0.010528 0.017163 + 1293 0.023554 -0.006815 0.021159 + 1294 0.000772 -0.000829 0.004462 + 1295 0.024106 -0.007189 -0.017980 + 1296 -0.011795 0.000225 0.018351 + 1297 -0.002503 0.000288 -0.000931 + 1298 -0.001901 -0.006775 -0.001166 + 1299 -0.002626 0.004209 -0.000596 + 1300 -0.003248 -0.009856 0.001496 + 1301 -0.008616 0.000206 -0.000660 + 1302 0.012991 -0.001944 0.010735 + 1303 0.000183 0.003767 -0.002207 + 1304 0.002875 0.006021 0.006091 + 1305 -0.003343 -0.008883 0.015455 + 1306 -0.003761 0.009400 -0.007147 + 1307 -0.002601 -0.012510 0.005900 + 1308 -0.013464 0.021935 0.006364 + 1309 0.007717 -0.006568 -0.004280 + 1310 0.004551 -0.013432 0.001741 + 1311 0.016676 -0.009730 -0.005415 + 1312 -0.003518 -0.000115 0.000120 + 1313 -0.018566 -0.004441 0.007076 + 1314 0.011422 0.004168 0.013848 + 1315 -0.002232 0.003004 -0.005210 + 1316 -0.004985 -0.000655 -0.007286 + 1317 -0.004756 0.005461 -0.010032 + 1318 0.003296 -0.000345 0.003797 + 1319 0.000013 0.003387 0.009258 + 1320 -0.001175 0.009021 0.016554 + 1321 0.004610 0.000563 0.001890 + 1322 0.001511 0.004957 0.010795 + 1323 -0.000517 0.009529 0.012695 + 1324 0.003561 -0.002127 -0.002139 + 1325 -0.016355 -0.004573 0.011414 + 1326 0.002437 -0.000969 0.003958 + 1327 -0.003191 0.002772 0.003706 + 1328 0.002188 0.004078 0.024902 + 1329 0.005804 0.008997 0.000514 + 1330 0.000169 -0.001823 0.006601 + 1331 -0.012837 0.016738 0.032499 + 1332 -0.003787 -0.003993 0.005792 + 1333 -0.006500 -0.001952 -0.005568 + 1334 0.004632 0.002607 -0.001417 + 1335 0.007826 -0.018417 0.003893 + 1336 0.001400 0.000629 -0.002329 + 1337 -0.026090 -0.010827 -0.007428 + 1338 0.014757 0.003359 0.005866 + 1339 0.005344 0.002452 0.000637 + 1340 0.002304 0.001516 0.008371 + 1341 0.003116 0.003502 0.000920 + 1342 0.000219 0.006872 -0.006361 + 1343 0.004872 0.004948 -0.015461 + 1344 0.002293 0.008990 -0.007103 + 1345 -0.000248 -0.001405 -0.000404 + 1346 0.016050 0.005473 0.014883 + 1347 0.000661 0.010958 0.009762 + 1348 0.002507 0.004854 0.004016 + 1349 -0.000026 0.005865 -0.004933 + 1350 -0.003541 0.012071 0.011984 + 1351 -0.000388 -0.001662 -0.002624 + 1352 -0.008781 0.002236 0.005933 + 1353 -0.002303 0.010321 -0.013971 + 1354 0.000266 0.005381 0.006218 + 1355 -0.030793 -0.017551 0.006520 + 1356 -0.001710 0.006198 0.003481 + 1357 -0.000575 0.000387 0.003498 + 1358 0.011844 0.006387 0.013823 + 1359 -0.004149 -0.001630 0.001064 + 1360 0.002966 -0.001211 -0.000529 + 1361 0.011026 0.001160 0.001568 + 1362 0.015143 -0.001234 0.000065 + 1363 0.000976 0.001952 -0.002769 + 1364 0.013527 0.011152 0.001594 + 1365 -0.000179 -0.000211 -0.002554 + 1366 -0.005351 -0.004969 -0.002979 + 1367 -0.006889 0.021662 -0.005435 + 1368 -0.002462 0.016113 0.008657 + 1369 -0.000975 0.000751 -0.000755 + 1370 -0.003243 0.006738 -0.001393 + 1371 -0.002267 -0.000779 0.003167 + 1372 0.001566 -0.003190 -0.000583 + 1373 -0.002018 -0.005136 0.012563 + 1374 -0.006828 0.007134 0.011132 + 1375 0.005244 -0.004715 -0.003319 + 1376 -0.010064 -0.001392 0.024842 + 1377 -0.003331 -0.012180 0.011450 + 1378 0.005044 -0.003538 0.000197 + 1379 0.014932 -0.005316 0.014871 + 1380 0.002959 -0.015155 -0.010790 + 1381 0.004288 0.003508 0.003045 + 1382 0.010516 0.006731 0.001181 + 1383 0.003157 0.002004 0.039661 + 1384 -0.003464 -0.000341 -0.002519 + 1385 0.000767 -0.010574 0.002375 + 1386 0.012132 0.009405 0.005728 + 1387 -0.002537 0.005096 -0.000141 + 1388 0.008455 -0.000335 0.003398 + 1389 0.000567 0.012932 0.006368 + 1390 0.007440 -0.002304 0.001444 + 1391 0.003946 0.007849 -0.005030 + 1392 0.012038 -0.016280 0.007159 + 1393 -0.001061 -0.002610 -0.000083 + 1394 0.010905 -0.006613 -0.001941 + 1395 -0.013885 -0.027620 0.005494 + 1396 0.013746 0.003525 0.007163 + 1397 0.003586 0.002644 -0.010792 + 1398 0.018544 0.013850 0.017322 + 1399 0.004571 0.000027 -0.001760 + 1400 0.012220 0.001858 -0.006751 + 1401 0.009850 -0.002003 0.019339 + 1402 -0.001383 0.002281 -0.007042 + 1403 -0.003363 0.001654 -0.017801 + 1404 0.011330 0.009635 0.005470 + 1405 0.000650 -0.001098 -0.005942 + 1406 0.005198 -0.008028 -0.003832 + 1407 0.017668 -0.005738 0.026099 + 1408 -0.001891 0.001162 0.003476 + 1409 -0.003537 0.018838 0.000972 + 1410 0.007980 0.016250 0.030292 + 1411 -0.001348 0.000197 0.004181 + 1412 -0.002255 -0.008393 -0.001355 + 1413 -0.008567 -0.008184 -0.000151 + 1414 -0.001145 0.001777 -0.004250 + 1415 -0.002565 -0.000609 -0.002622 + 1416 0.017182 0.009342 -0.008899 + 1417 -0.000336 -0.000833 -0.006619 + 1418 0.006594 -0.014023 -0.011705 + 1419 -0.010047 -0.002912 -0.003804 + 1420 0.005759 0.000406 0.005233 + 1421 -0.013174 -0.018780 -0.002966 + 1422 -0.003551 -0.005212 0.011087 + 1423 -0.001811 -0.005836 -0.002120 + 1424 -0.008296 0.022099 0.012646 + 1425 0.010130 0.006059 0.033707 + 1426 0.001039 -0.001025 -0.000459 + 1427 0.004468 0.000527 0.001539 + 1428 -0.001728 -0.005304 0.003140 + 1429 -0.000141 -0.003112 0.003400 + 1430 0.007530 -0.026022 0.005020 + 1431 -0.011982 0.032142 -0.001998 + 1432 -0.001642 0.003923 -0.003350 + 1433 0.016086 -0.002664 -0.005695 + 1434 -0.010354 0.000136 0.021071 + 1435 0.001502 -0.001507 0.005856 + 1436 -0.003359 -0.017617 -0.013060 + 1437 -0.001621 -0.013764 -0.008355 + 1438 -0.006074 0.001165 0.001910 + 1439 -0.004946 0.003618 0.011324 + 1440 -0.007761 0.002697 -0.006763 + 1441 -0.009332 0.000898 0.000750 + 1442 -0.017083 -0.010335 0.011191 + 1443 0.020780 0.013466 -0.015083 + 1444 -0.008140 -0.008032 -0.000180 + 1445 -0.001836 -0.008988 0.003973 + 1446 -0.008280 -0.004548 -0.003224 + 1447 0.000996 -0.002062 -0.001184 + 1448 -0.001863 -0.012096 0.003957 + 1449 -0.027050 0.007989 0.002157 + 1450 -0.001321 -0.000325 0.001355 + 1451 -0.006885 -0.000536 -0.022446 + 1452 0.008792 -0.007975 0.003329 + 1453 -0.003682 -0.004782 -0.002567 + 1454 -0.001180 -0.009011 0.018662 + 1455 -0.000958 -0.004899 0.013723 + 1456 0.000545 0.011919 -0.001753 + 1457 0.023799 0.010298 -0.002649 + 1458 0.014717 0.007757 -0.005400 + 1459 -0.004576 -0.007691 0.001365 + 1460 -0.006577 -0.016846 -0.022862 + 1461 -0.005206 0.003687 0.012428 + 1462 0.001923 -0.004758 -0.001993 + 1463 0.006600 0.017503 0.006935 + 1464 -0.006747 -0.003482 -0.000067 + 1465 0.000613 0.004580 0.004038 + 1466 -0.001945 0.022605 -0.000652 + 1467 0.017624 -0.001392 0.003829 + 1468 -0.003065 -0.003003 -0.000747 + 1469 -0.012664 -0.016566 -0.007030 + 1470 0.008660 -0.008358 0.004763 + 1471 -0.004008 0.000421 -0.006040 + 1472 0.003555 0.008566 -0.015842 + 1473 -0.001032 0.001700 -0.010204 + 1474 -0.000556 0.000599 0.003074 + 1475 0.001542 0.002939 0.005269 + 1476 -0.005281 -0.001944 0.003338 + 1477 -0.000195 -0.000293 -0.001004 + 1478 -0.009991 -0.005354 -0.013386 + 1479 -0.000476 -0.017594 0.007900 + 1480 0.000550 -0.000431 0.001422 + 1481 0.018094 -0.005183 0.016234 + 1482 0.010706 0.011668 -0.017772 + 1483 0.001291 0.006499 0.000951 + 1484 0.009985 -0.016962 0.009714 + 1485 0.020849 0.018365 -0.008351 + 1486 0.006940 0.004692 -0.002409 + 1487 0.022308 0.010182 -0.022897 + 1488 0.000269 0.008847 0.011834 + 1489 0.002051 0.007334 -0.000125 + 1490 -0.023048 0.013759 -0.030276 + 1491 0.023523 -0.005817 0.007754 + 1492 -0.001269 0.002979 0.001311 + 1493 -0.005596 0.006174 0.011007 + 1494 -0.009061 0.022719 0.002133 + 1495 -0.001128 0.004307 -0.002381 + 1496 -0.004340 0.013891 -0.003505 + 1497 0.001822 -0.005505 -0.001135 + 1498 -0.000910 0.001437 0.000165 + 1499 0.004510 -0.000360 -0.006425 + 1500 0.003993 0.000498 0.007321 + 1501 -0.002868 -0.000316 -0.000509 + 1502 0.000620 0.011286 0.008461 + 1503 -0.013079 -0.008157 0.007561 + 1504 -0.003002 0.003413 0.004968 + 1505 0.015262 -0.005133 0.012052 + 1506 -0.003968 -0.003643 0.003514 + 1507 0.005087 -0.001882 -0.000518 + 1508 0.000932 -0.002238 0.000800 + 1509 -0.008149 0.000695 -0.000827 + 1510 -0.001261 -0.003375 0.000333 + 1511 -0.001224 -0.004135 -0.003080 + 1512 0.009246 -0.010372 0.026354 + 1513 0.000697 -0.003200 0.001222 + 1514 -0.002319 0.003800 0.022860 + 1515 -0.018205 0.011600 -0.011416 + 1516 -0.001731 -0.001076 0.002612 + 1517 -0.004661 -0.010783 -0.001505 + 1518 0.016208 0.002810 0.004482 + 1519 0.003508 -0.001750 0.002537 + 1520 0.024576 -0.026041 -0.004083 + 1521 -0.019140 0.000844 0.001909 + 1522 -0.000341 0.001152 0.001967 + 1523 -0.020076 0.003364 0.001315 + 1524 -0.000942 0.000692 -0.003283 + 1525 -0.006519 -0.000419 0.000991 + 1526 -0.004033 0.006531 0.004791 + 1527 0.005626 0.012187 -0.014266 + 1528 0.001113 -0.004253 0.011930 + 1529 -0.010144 0.003567 0.009059 + 1530 -0.003464 0.001115 0.011591 + 1531 0.000006 0.000074 0.005751 + 1532 0.003604 0.008464 0.010627 + 1533 -0.004351 -0.009621 -0.000453 + 1534 -0.000196 -0.001160 0.002795 + 1535 -0.006855 0.001414 0.005552 + 1536 -0.000894 -0.002102 0.005053 + 1537 -0.002040 -0.005887 -0.003590 + 1538 -0.006852 -0.011947 -0.023080 + 1539 -0.016070 0.000160 0.010390 + 1540 0.004712 0.002848 -0.002998 + 1541 -0.004259 0.007840 0.008142 + 1542 -0.004861 0.004263 0.011728 + 1543 0.006968 -0.004871 0.004119 + 1544 -0.016558 -0.002046 -0.006090 + 1545 -0.006229 0.004475 0.001436 + 1546 -0.002341 -0.004733 -0.003946 + 1547 0.003563 0.004733 0.009615 + 1548 -0.013018 0.004747 -0.004733 + 1549 0.001703 -0.000331 0.003605 + 1550 0.005459 -0.002653 -0.012447 + 1551 0.013689 0.008625 -0.003301 + 1552 0.003195 0.001205 -0.000779 + 1553 -0.003336 -0.011439 -0.004979 + 1554 0.001015 0.018568 -0.007361 + 1555 -0.001647 -0.003759 0.001214 + 1556 0.015583 -0.016961 0.000384 + 1557 -0.011138 -0.013161 -0.015913 + 1558 0.005848 -0.002193 -0.007682 + 1559 0.009577 -0.005765 0.010025 + 1560 0.006984 0.005858 -0.020668 + 1561 -0.005040 0.001396 0.001932 + 1562 0.007071 0.009231 0.007700 + 1563 0.001743 0.005137 0.005850 + 1564 0.001857 0.002145 -0.004455 + 1565 -0.007462 0.014047 -0.012730 + 1566 0.013730 -0.006385 0.009586 + 1567 -0.002000 0.003453 -0.001882 + 1568 -0.009622 -0.007424 -0.003371 + 1569 -0.006993 -0.018224 -0.006858 + 1570 0.001461 0.001281 -0.002568 + 1571 0.018901 0.002357 0.001811 + 1572 -0.001592 0.019333 -0.002732 + 1573 -0.001308 -0.005730 -0.002519 + 1574 -0.014074 0.007287 0.021518 + 1575 -0.017324 -0.018775 -0.005647 + 1576 0.002340 -0.001593 0.004994 + 1577 -0.000516 0.003608 0.002676 + 1578 -0.014840 -0.017283 -0.001508 + 1579 -0.001557 -0.002471 -0.002555 + 1580 0.016654 -0.033672 0.006595 + 1581 0.013351 -0.030070 0.003443 + 1582 0.003752 0.001449 0.001862 + 1583 -0.011257 -0.002704 0.007355 + 1584 0.002139 0.006577 0.012771 + 1585 0.002251 0.002492 -0.002180 + 1586 0.010691 -0.005615 -0.001517 + 1587 -0.018738 0.016070 0.006914 + 1588 -0.001600 0.000180 0.001378 + 1589 0.004891 -0.007732 -0.013906 + 1590 -0.015149 0.011285 0.002913 + 1591 0.003944 -0.001162 -0.002407 + 1592 -0.013220 -0.006427 -0.006873 + 1593 -0.008388 0.022805 -0.011588 + 1594 0.000621 -0.004836 0.005509 + 1595 0.006148 -0.013451 0.002326 + 1596 -0.001161 -0.012639 -0.002024 + 1597 -0.005042 0.000613 0.003072 + 1598 -0.002560 -0.009516 -0.007164 + 1599 -0.007736 0.003315 0.007824 + 1600 -0.002409 -0.002549 -0.003082 + 1601 -0.002839 0.004415 -0.008830 + 1602 -0.006633 -0.001003 -0.004060 + 1603 -0.004810 -0.007495 -0.004047 + 1604 0.005200 -0.017270 0.009101 + 1605 0.000670 -0.009280 -0.012848 + 1606 -0.003830 0.001924 -0.002728 + 1607 -0.035525 0.007821 -0.020602 + 1608 0.016575 -0.019547 -0.006176 + 1609 0.003828 0.000099 -0.002605 + 1610 0.017387 0.007652 0.014875 + 1611 0.012190 0.014852 0.016071 + 1612 -0.003436 0.002187 -0.001035 + 1613 -0.005586 -0.003901 0.006033 + 1614 -0.005884 -0.005331 -0.011796 + 1615 -0.001799 -0.005019 0.004011 + 1616 0.002094 -0.028579 0.008471 + 1617 0.023334 0.020189 0.016696 + 1618 -0.000653 -0.003079 -0.001689 + 1619 -0.005925 -0.004542 -0.007489 + 1620 0.003980 0.000361 0.005598 + 1621 -0.000999 0.004025 -0.003724 + 1622 0.000058 0.024442 0.006515 + 1623 0.011473 -0.013431 0.004073 + 1624 0.002923 -0.003314 0.001931 + 1625 0.003377 -0.006029 -0.008704 + 1626 0.002413 0.015094 0.010447 + 1627 0.003654 -0.000619 -0.001261 + 1628 -0.004232 -0.000930 0.001384 + 1629 0.019160 0.000313 -0.006734 + 1630 0.003534 0.002394 -0.000501 + 1631 -0.008068 0.002953 0.008451 + 1632 0.014612 0.006975 -0.004278 + 1633 0.001620 0.003004 0.003226 + 1634 -0.007605 -0.007788 0.011245 + 1635 0.020296 -0.014907 -0.003043 + 1636 -0.002678 -0.006261 0.001869 + 1637 -0.007968 -0.013586 -0.003793 + 1638 -0.015202 -0.007224 -0.014352 + 1639 -0.005816 -0.003019 0.006480 + 1640 -0.001607 -0.004084 0.006246 + 1641 0.008520 -0.008049 0.002824 + 1642 -0.000658 -0.004008 -0.000300 + 1643 -0.000444 0.000650 -0.012168 + 1644 -0.006399 -0.006883 0.005254 + 1645 -0.001317 0.006093 0.001522 + 1646 -0.010770 -0.004270 -0.010989 + 1647 -0.005520 0.020979 0.012203 + 1648 -0.004763 0.001957 0.003649 + 1649 -0.010531 0.001095 0.022741 + 1650 0.001695 -0.009764 -0.029750 + 1651 0.000561 0.003660 0.004562 + 1652 0.004814 -0.011887 -0.011791 + 1653 0.015151 -0.017660 -0.020515 + 1654 -0.003720 -0.008154 0.002101 + 1655 -0.006836 0.005342 0.006830 + 1656 -0.008891 -0.005752 0.002656 + 1657 -0.004211 -0.006534 0.001470 + 1658 0.024344 -0.009232 0.001415 + 1659 -0.010793 -0.032076 -0.013330 + 1660 -0.000393 0.010082 -0.000260 + 1661 -0.003386 0.024037 -0.002341 + 1662 0.005231 -0.007154 0.002310 + 1663 0.004778 0.000685 -0.001247 + 1664 0.006845 -0.000146 -0.002439 + 1665 0.002831 0.001509 -0.001312 + 1666 -0.004575 0.002015 0.002231 + 1667 -0.008714 0.004773 0.019310 + 1668 -0.009036 0.006437 0.017025 + 1669 -0.001102 -0.003004 0.003294 + 1670 0.004690 0.016121 0.007181 + 1671 -0.000881 -0.003815 0.001639 + 1672 -0.000053 -0.001708 0.002633 + 1673 -0.004620 0.003536 0.000715 + 1674 -0.002636 -0.005429 0.007498 + 1675 0.002307 0.001406 0.002665 + 1676 -0.005270 -0.001969 0.007587 + 1677 0.001417 -0.009022 -0.021912 + 1678 0.000203 0.002930 -0.002177 + 1679 0.003819 0.012652 -0.002939 + 1680 -0.001040 0.005171 0.022221 + 1681 -0.001765 0.004140 -0.001020 + 1682 0.015888 -0.002384 -0.000464 + 1683 -0.019573 0.014814 -0.003047 + 1684 -0.002840 -0.000626 0.000097 + 1685 0.019011 -0.004434 -0.031132 + 1686 -0.011722 0.011711 0.019623 + 1687 -0.000720 0.008278 0.001232 + 1688 -0.000014 -0.005707 0.005722 + 1689 0.006445 -0.004607 0.004541 + 1690 -0.008451 -0.005406 -0.003097 + 1691 -0.025859 -0.004092 0.011942 + 1692 0.003198 0.017013 -0.015979 + 1693 0.001237 0.005482 0.001012 + 1694 -0.003233 0.012773 -0.012817 + 1695 -0.013658 -0.008102 0.007350 + 1696 0.004867 0.002547 -0.001769 + 1697 0.019074 -0.004173 0.005165 + 1698 0.008487 0.001064 0.000080 + 1699 0.002766 -0.001251 -0.001561 + 1700 -0.019200 0.027169 -0.007481 + 1701 0.006036 -0.028485 -0.009388 + 1702 -0.005460 0.002563 0.001784 + 1703 -0.017462 0.006398 0.005231 + 1704 -0.014453 0.005484 0.004388 + 1705 0.002956 -0.001348 0.006512 + 1706 0.009654 0.004653 0.025184 + 1707 0.006226 -0.001478 -0.018062 + 1708 0.003757 -0.000921 -0.000401 + 1709 0.004307 -0.009700 -0.007768 + 1710 0.003780 -0.012914 0.008582 + 1711 0.004846 -0.002032 -0.000808 + 1712 -0.000823 -0.002500 -0.004619 + 1713 0.014769 -0.010350 0.008970 + 1714 -0.001580 -0.000837 0.000021 + 1715 -0.002003 -0.002972 -0.000158 + 1716 -0.004469 -0.000404 0.001257 + 1717 -0.001782 0.001231 -0.003624 + 1718 -0.009550 0.008477 -0.006010 + 1719 -0.003240 -0.001801 -0.002707 + 1720 -0.003131 -0.002749 -0.002782 + 1721 -0.003319 -0.008008 -0.009572 + 1722 -0.003280 -0.008289 -0.009069 + 1723 -0.006776 0.001807 0.000809 + 1724 0.000630 0.005359 0.003033 + 1725 0.016012 0.013546 0.014364 + 1726 -0.005383 0.003683 -0.001052 + 1727 -0.000343 -0.021814 -0.000655 + 1728 0.015975 0.004809 -0.015863 + 1729 -0.002843 0.002136 0.000031 + 1730 0.008511 0.002265 -0.002748 + 1731 -0.026285 -0.002274 -0.004757 + 1732 0.005294 -0.003565 0.004694 + 1733 -0.002668 0.001103 -0.001112 + 1734 -0.009429 0.006969 -0.008965 + 1735 -0.001634 0.000110 0.001819 + 1736 -0.004942 0.001203 -0.007254 + 1737 -0.002655 0.002573 -0.003610 + 1738 -0.004831 0.005860 0.001407 + 1739 -0.014232 0.009476 0.016389 + 1740 -0.017895 0.005674 -0.009379 + 1741 0.003013 -0.002508 -0.001228 + 1742 0.000746 0.006449 -0.005992 + 1743 0.006650 -0.002762 0.000152 + 1744 0.002550 -0.008457 0.001324 + 1745 -0.001868 -0.010233 -0.023525 + 1746 0.003968 -0.007880 0.008439 + 1747 -0.000591 0.004322 -0.003592 + 1748 -0.014424 0.009132 0.003708 + 1749 0.012052 -0.004950 -0.011581 + 1750 0.001849 0.003842 -0.009164 + 1751 0.009453 -0.005684 -0.004817 + 1752 0.001564 0.018776 -0.004831 + 1753 0.000794 0.000968 -0.001710 + 1754 -0.003816 -0.004723 -0.000498 + 1755 -0.011972 0.005633 -0.006975 + 1756 -0.004635 0.005064 -0.004764 + 1757 -0.010722 0.012077 -0.027297 + 1758 -0.003376 0.000707 0.006078 + 1759 0.001092 0.005159 -0.000557 + 1760 0.014326 0.002844 -0.021424 + 1761 0.019579 -0.002405 -0.009532 + 1762 -0.000565 0.006632 0.002294 + 1763 -0.025047 0.006219 0.001583 + 1764 -0.004637 -0.007484 0.007079 + 1765 0.002563 -0.001616 -0.003316 + 1766 -0.001239 0.014897 -0.002355 + 1767 -0.001256 -0.009226 0.009450 + 1768 0.001056 0.005329 -0.003831 + 1769 -0.012555 0.037676 0.021233 + 1770 -0.005969 -0.003116 -0.014248 + 1771 0.000691 0.001302 0.002405 + 1772 -0.015733 0.001224 -0.004288 + 1773 0.006783 0.015986 -0.003342 + 1774 0.002355 0.002897 -0.002965 + 1775 -0.000435 0.005789 0.007980 + 1776 0.014211 0.000855 -0.014841 + 1777 -0.004596 -0.002169 0.000774 + 1778 0.002630 -0.027237 0.012553 + 1779 -0.000727 -0.003394 -0.009924 + 1780 0.001821 -0.001310 0.000540 + 1781 0.005476 -0.002057 0.001588 + 1782 0.008060 0.013457 -0.013767 + 1783 0.003078 -0.007047 0.009501 + 1784 -0.004392 -0.004982 0.015684 + 1785 -0.021173 -0.003917 -0.003013 + 1786 0.001492 -0.007162 -0.003460 + 1787 0.020179 0.025050 0.005018 + 1788 -0.018378 -0.021938 0.007656 + 1789 -0.000363 0.004076 -0.003991 + 1790 0.012179 0.023942 -0.003853 + 1791 0.002207 0.011773 0.006443 + 1792 0.001993 0.000538 0.002365 + 1793 0.008602 -0.013779 -0.007218 + 1794 0.007374 0.001122 0.001108 + 1795 0.003207 -0.011319 -0.004081 + 1796 0.010332 -0.007827 -0.001929 + 1797 0.001869 0.022609 0.012256 + 1798 0.001101 0.003835 0.002357 + 1799 -0.003624 0.011759 0.002745 + 1800 0.001557 -0.002337 -0.004179 + 1801 0.003327 -0.001910 -0.005250 + 1802 0.011996 0.003017 0.013309 + 1803 -0.013682 -0.002775 -0.008939 + 1804 -0.002064 -0.000934 0.000427 + 1805 -0.012146 0.024406 -0.015171 + 1806 0.005030 -0.019570 0.004311 + 1807 0.003003 0.004365 0.002257 + 1808 0.000823 0.000086 -0.005161 + 1809 -0.003001 0.001206 0.008241 + 1810 0.005602 -0.001423 0.002945 + 1811 0.000330 0.001483 -0.011075 + 1812 0.003652 0.009252 -0.000166 + 1813 0.004531 -0.000860 -0.000170 + 1814 0.018728 0.013621 0.031510 + 1815 0.011579 -0.009257 -0.004100 + 1816 0.002862 0.000330 -0.002342 + 1817 -0.003456 -0.001426 -0.004566 + 1818 -0.006589 0.018593 0.018322 + 1819 -0.001663 0.002113 0.003120 + 1820 0.002523 0.005185 0.010725 + 1821 -0.006456 -0.005159 0.018366 + 1822 -0.000677 -0.000638 0.005530 + 1823 0.006499 0.011396 0.003392 + 1824 0.000945 -0.008826 -0.007441 + 1825 -0.002582 0.001006 0.000170 + 1826 -0.000739 0.010378 -0.012944 + 1827 -0.004082 -0.009693 0.012271 + 1828 -0.002259 -0.002179 0.001812 + 1829 0.004365 0.028602 0.007523 + 1830 -0.001047 0.006781 -0.010318 + 1831 0.003053 0.002227 0.004523 + 1832 -0.004297 -0.007295 0.001900 + 1833 0.002925 0.002066 0.004473 + 1834 0.003171 0.000025 0.002189 + 1835 0.001188 0.002838 0.001014 + 1836 0.006142 0.003073 -0.003689 + 1837 0.009818 0.005253 0.006222 + 1838 0.013907 -0.003607 0.006764 + 1839 -0.000327 0.015573 -0.010930 + 1840 -0.003110 -0.005538 0.000400 + 1841 0.006244 -0.021206 -0.003853 + 1842 -0.010299 0.008474 0.021147 + 1843 -0.001053 -0.000598 0.004581 + 1844 -0.013621 0.002557 -0.003175 + 1845 -0.002495 0.000789 0.011106 + 1846 -0.000137 -0.004006 -0.000014 + 1847 -0.017819 -0.013981 0.011316 + 1848 -0.005844 -0.000863 -0.025248 + 1849 -0.002799 0.002996 -0.002499 + 1850 -0.012455 0.012490 -0.004469 + 1851 0.010514 0.009490 -0.009495 + 1852 -0.000560 -0.004144 -0.000656 + 1853 -0.007255 0.002559 0.003817 + 1854 0.004602 -0.007276 0.003469 + 1855 0.000128 0.001144 -0.008402 + 1856 0.008157 0.001721 -0.014464 + 1857 -0.004034 0.002739 -0.008982 + 1858 0.002856 0.004731 -0.003812 + 1859 0.008481 -0.004184 -0.015612 + 1860 -0.004966 0.006658 -0.006541 + 1861 0.005415 -0.007185 0.002622 + 1862 -0.000791 0.004294 0.012806 + 1863 0.006266 -0.008943 0.000048 + 1864 -0.004891 -0.000259 0.002435 + 1865 0.000775 -0.012600 0.009738 + 1866 -0.000239 0.020688 0.014963 + 1867 0.007752 0.006605 0.003522 + 1868 0.005559 0.005449 0.004823 + 1869 0.001382 0.020031 -0.009484 + 1870 0.000269 -0.000837 -0.001948 + 1871 -0.015324 0.006379 0.032972 + 1872 -0.010895 -0.006739 0.002233 + 1873 0.002406 -0.005817 -0.007929 + 1874 0.011974 0.013774 0.020789 + 1875 -0.005616 -0.012309 -0.023698 + 1876 -0.002712 -0.000118 0.000894 + 1877 -0.000559 -0.018665 -0.005699 + 1878 -0.022904 -0.016730 0.007620 + 1879 -0.006235 -0.000119 -0.005440 + 1880 -0.008616 0.001720 0.002602 + 1881 -0.019263 0.001295 0.018377 + 1882 -0.002493 0.002824 -0.002915 + 1883 0.007384 0.000692 0.003462 + 1884 -0.019228 -0.005451 0.005676 + 1885 0.002956 0.004628 -0.002177 + 1886 0.005617 0.021792 -0.005623 + 1887 -0.010771 -0.007154 -0.002600 + 1888 -0.006932 -0.006388 0.001795 + 1889 -0.026638 0.002211 0.017012 + 1890 -0.006429 -0.013703 0.021233 + 1891 0.004179 0.001508 -0.002942 + 1892 -0.015358 0.009799 -0.025507 + 1893 -0.009827 0.001263 -0.015038 + 1894 0.002515 0.004808 -0.006083 + 1895 -0.001395 -0.005178 0.010798 + 1896 0.005498 0.001296 -0.013456 + 1897 -0.006679 0.000004 0.000833 + 1898 -0.006339 0.003210 0.000555 + 1899 -0.007815 -0.000155 0.006317 + 1900 -0.003334 -0.000730 -0.000139 + 1901 -0.003197 -0.021225 -0.009098 + 1902 0.003310 -0.008203 -0.004863 + 1903 -0.007379 0.001152 -0.003847 + 1904 -0.008175 0.003836 -0.004939 + 1905 -0.007216 0.002039 -0.012076 + 1906 -0.002751 -0.006050 -0.001404 + 1907 -0.005827 0.008129 0.005351 + 1908 0.010377 0.010628 0.018761 + 1909 -0.002571 -0.007065 0.006215 + 1910 -0.004848 -0.014622 0.001577 + 1911 -0.004351 -0.002361 0.020679 + 1912 0.006139 0.001291 0.002464 + 1913 0.004939 0.003608 0.002097 + 1914 0.004274 0.000152 0.002451 + 1915 0.002989 0.000832 -0.000352 + 1916 -0.014159 -0.000914 0.002187 + 1917 0.012237 -0.003167 0.009134 + 1918 -0.004575 -0.001662 0.000082 + 1919 -0.007883 -0.002056 0.002571 + 1920 -0.003336 -0.001305 -0.000658 + 1921 0.004366 0.000439 0.001158 + 1922 -0.000155 0.003368 0.010592 + 1923 -0.014972 -0.009424 -0.018312 + 1924 -0.000613 -0.002374 0.000797 + 1925 0.007460 -0.016336 -0.000977 + 1926 -0.006787 0.004573 0.010255 + 1927 -0.002452 -0.000122 0.000124 + 1928 -0.015584 -0.009431 -0.007285 + 1929 -0.000101 0.008080 -0.015191 + 1930 0.002197 0.002310 -0.001612 + 1931 0.016237 -0.005090 0.018070 + 1932 0.001709 -0.003220 -0.011865 + 1933 -0.001150 0.000898 0.004173 + 1934 0.000323 -0.000312 -0.014495 + 1935 0.000516 -0.000491 -0.011422 + 1936 -0.005815 -0.002965 0.000187 + 1937 0.008195 0.018425 -0.027236 + 1938 -0.010921 -0.007575 -0.002217 + 1939 -0.004740 0.002745 0.006330 + 1940 0.002035 0.006523 0.010880 + 1941 -0.012191 0.004818 0.006605 + 1942 -0.003197 -0.004418 -0.003375 + 1943 0.003590 -0.017196 0.008070 + 1944 0.004548 0.006106 0.016045 + 1945 0.005444 0.002200 0.004561 + 1946 0.004448 0.009092 -0.001577 + 1947 -0.000522 0.006033 0.006559 + 1948 0.005450 0.001267 0.002269 + 1949 0.027952 -0.012604 0.001935 + 1950 -0.004826 -0.018174 0.014813 + 1951 0.005498 -0.000626 0.001156 + 1952 0.001428 -0.010472 0.000805 + 1953 -0.010198 -0.005573 -0.014564 + 1954 0.001605 -0.006572 0.005587 + 1955 -0.002403 -0.004981 0.000460 + 1956 0.010287 -0.003414 0.005774 + 1957 -0.005679 0.003540 -0.003175 + 1958 -0.005054 0.005203 -0.002733 + 1959 -0.006462 0.003843 0.002657 + 1960 -0.006606 -0.002499 -0.001538 + 1961 0.027567 -0.002565 0.034908 + 1962 0.001905 -0.003739 -0.001134 + 1963 -0.000871 0.002779 0.006534 + 1964 -0.013473 -0.002631 0.001200 + 1965 -0.008136 0.003625 0.001725 + 1966 0.002375 -0.002767 -0.000214 + 1967 0.015603 0.001192 0.006785 + 1968 -0.008229 0.002751 0.010337 + 1969 -0.002111 -0.006139 0.006236 + 1970 0.025783 -0.003684 0.015052 + 1971 -0.008026 -0.018580 0.028847 + 1972 -0.001966 -0.005103 0.002533 + 1973 0.025504 -0.012928 0.014439 + 1974 0.015919 0.008653 -0.013047 + 1975 -0.002145 -0.003853 -0.002353 + 1976 0.020573 0.023626 0.033600 + 1977 0.002418 -0.000127 0.000258 + 1978 -0.000168 -0.002747 0.002505 + 1979 0.011847 0.007945 0.003222 + 1980 0.002222 -0.001343 0.005437 + 1981 -0.004734 0.003071 -0.000955 + 1982 0.003752 -0.001882 -0.005052 + 1983 -0.008195 0.007844 0.004577 + 1984 0.007575 0.002209 -0.000466 + 1985 -0.005510 0.009650 -0.004399 + 1986 0.018263 0.019292 -0.008157 + 1987 -0.005098 -0.001581 -0.000328 + 1988 -0.004522 -0.021884 -0.005509 + 1989 -0.001598 -0.001668 0.002704 + 1990 -0.000494 0.002205 0.012458 + 1991 0.003153 0.001522 0.015672 + 1992 -0.000092 -0.002603 0.010098 + 1993 0.001919 -0.007389 0.001539 + 1994 -0.002690 -0.003376 -0.009963 + 1995 -0.005006 0.002932 -0.001670 + 1996 -0.003089 -0.005736 0.003689 + 1997 0.010713 -0.027613 -0.023000 + 1998 -0.006878 0.009457 0.006998 + 1999 -0.001817 0.000266 -0.004238 + 2000 -0.010974 0.005190 0.000117 + 2001 -0.008937 -0.003277 0.004337 + 2002 -0.000987 -0.001334 -0.004265 + 2003 -0.022280 -0.011677 -0.018343 + 2004 -0.010076 -0.005729 -0.026032 + +Bonds + + 1 3 1 7 + 2 2 1 3 + 3 1 1 2 + 4 4 2 5 + 5 4 2 6 + 6 4 2 4 + 7 6 7 19 + 8 5 7 8 + 9 1 8 9 + 10 7 8 11 + 11 8 8 20 + 12 3 9 28 + 13 2 9 10 + 14 10 11 21 + 15 9 11 12 + 16 10 11 22 + 17 11 12 14 + 18 11 12 13 + 19 12 13 23 + 20 11 13 15 + 21 12 14 24 + 22 11 14 16 + 23 11 15 17 + 24 12 15 25 + 25 11 16 17 + 26 12 16 26 + 27 13 17 18 + 28 14 18 27 + 29 5 28 29 + 30 6 28 32 + 31 1 29 30 + 32 8 29 33 + 33 8 29 34 + 34 3 30 35 + 35 2 30 31 + 36 5 35 36 + 37 6 35 39 + 38 1 36 37 + 39 8 36 40 + 40 8 36 41 + 41 2 37 38 + 42 3 37 42 + 43 6 42 53 + 44 5 42 43 + 45 1 43 44 + 46 7 43 46 + 47 8 43 54 + 48 3 44 62 + 49 2 44 45 + 50 10 46 56 + 51 10 46 55 + 52 9 46 47 + 53 11 47 48 + 54 11 47 49 + 55 11 48 50 + 56 12 48 57 + 57 11 49 51 + 58 12 49 58 + 59 11 50 52 + 60 12 50 59 + 61 11 51 52 + 62 12 51 60 + 63 12 52 61 + 64 6 62 70 + 65 5 62 63 + 66 7 63 66 + 67 1 63 64 + 68 8 63 71 + 69 2 64 65 + 70 3 64 79 + 71 15 66 67 + 72 10 66 73 + 73 10 66 72 + 74 10 67 75 + 75 10 67 74 + 76 16 67 68 + 77 17 68 69 + 78 4 69 76 + 79 4 69 78 + 80 4 69 77 + 81 5 79 80 + 82 6 79 81 + 83 4 80 84 + 84 4 80 83 + 85 4 80 82 + 86 18 85 86 + 87 18 85 87 + 88 18 88 90 + 89 18 88 89 + 90 18 91 93 + 91 18 91 92 + 92 18 94 96 + 93 18 94 95 + 94 18 97 98 + 95 18 97 99 + 96 18 100 101 + 97 18 100 102 + 98 18 103 104 + 99 18 103 105 + 100 18 106 107 + 101 18 106 108 + 102 18 109 111 + 103 18 109 110 + 104 18 112 114 + 105 18 112 113 + 106 18 115 116 + 107 18 115 117 + 108 18 118 120 + 109 18 118 119 + 110 18 121 123 + 111 18 121 122 + 112 18 124 126 + 113 18 124 125 + 114 18 127 128 + 115 18 127 129 + 116 18 130 132 + 117 18 130 131 + 118 18 133 134 + 119 18 133 135 + 120 18 136 137 + 121 18 136 138 + 122 18 139 140 + 123 18 139 141 + 124 18 142 144 + 125 18 142 143 + 126 18 145 147 + 127 18 145 146 + 128 18 148 150 + 129 18 148 149 + 130 18 151 152 + 131 18 151 153 + 132 18 154 156 + 133 18 154 155 + 134 18 157 159 + 135 18 157 158 + 136 18 160 162 + 137 18 160 161 + 138 18 163 164 + 139 18 163 165 + 140 18 166 168 + 141 18 166 167 + 142 18 169 171 + 143 18 169 170 + 144 18 172 174 + 145 18 172 173 + 146 18 175 177 + 147 18 175 176 + 148 18 178 180 + 149 18 178 179 + 150 18 181 182 + 151 18 181 183 + 152 18 184 186 + 153 18 184 185 + 154 18 187 188 + 155 18 187 189 + 156 18 190 191 + 157 18 190 192 + 158 18 193 194 + 159 18 193 195 + 160 18 196 197 + 161 18 196 198 + 162 18 199 201 + 163 18 199 200 + 164 18 202 204 + 165 18 202 203 + 166 18 205 206 + 167 18 205 207 + 168 18 208 210 + 169 18 208 209 + 170 18 211 212 + 171 18 211 213 + 172 18 214 215 + 173 18 214 216 + 174 18 217 219 + 175 18 217 218 + 176 18 220 222 + 177 18 220 221 + 178 18 223 224 + 179 18 223 225 + 180 18 226 228 + 181 18 226 227 + 182 18 229 231 + 183 18 229 230 + 184 18 232 233 + 185 18 232 234 + 186 18 235 236 + 187 18 235 237 + 188 18 238 240 + 189 18 238 239 + 190 18 241 242 + 191 18 241 243 + 192 18 244 246 + 193 18 244 245 + 194 18 247 248 + 195 18 247 249 + 196 18 250 251 + 197 18 250 252 + 198 18 253 254 + 199 18 253 255 + 200 18 256 257 + 201 18 256 258 + 202 18 259 261 + 203 18 259 260 + 204 18 262 264 + 205 18 262 263 + 206 18 265 266 + 207 18 265 267 + 208 18 268 269 + 209 18 268 270 + 210 18 271 272 + 211 18 271 273 + 212 18 274 275 + 213 18 274 276 + 214 18 277 279 + 215 18 277 278 + 216 18 280 282 + 217 18 280 281 + 218 18 283 284 + 219 18 283 285 + 220 18 286 287 + 221 18 286 288 + 222 18 289 290 + 223 18 289 291 + 224 18 292 294 + 225 18 292 293 + 226 18 295 296 + 227 18 295 297 + 228 18 298 299 + 229 18 298 300 + 230 18 301 303 + 231 18 301 302 + 232 18 304 305 + 233 18 304 306 + 234 18 307 309 + 235 18 307 308 + 236 18 310 311 + 237 18 310 312 + 238 18 313 314 + 239 18 313 315 + 240 18 316 317 + 241 18 316 318 + 242 18 319 321 + 243 18 319 320 + 244 18 322 323 + 245 18 322 324 + 246 18 325 327 + 247 18 325 326 + 248 18 328 329 + 249 18 328 330 + 250 18 331 332 + 251 18 331 333 + 252 18 334 335 + 253 18 334 336 + 254 18 337 339 + 255 18 337 338 + 256 18 340 341 + 257 18 340 342 + 258 18 343 344 + 259 18 343 345 + 260 18 346 347 + 261 18 346 348 + 262 18 349 350 + 263 18 349 351 + 264 18 352 353 + 265 18 352 354 + 266 18 355 356 + 267 18 355 357 + 268 18 358 359 + 269 18 358 360 + 270 18 361 362 + 271 18 361 363 + 272 18 364 365 + 273 18 364 366 + 274 18 367 369 + 275 18 367 368 + 276 18 370 372 + 277 18 370 371 + 278 18 373 374 + 279 18 373 375 + 280 18 376 378 + 281 18 376 377 + 282 18 379 381 + 283 18 379 380 + 284 18 382 383 + 285 18 382 384 + 286 18 385 386 + 287 18 385 387 + 288 18 388 390 + 289 18 388 389 + 290 18 391 393 + 291 18 391 392 + 292 18 394 395 + 293 18 394 396 + 294 18 397 399 + 295 18 397 398 + 296 18 400 402 + 297 18 400 401 + 298 18 403 405 + 299 18 403 404 + 300 18 406 407 + 301 18 406 408 + 302 18 409 411 + 303 18 409 410 + 304 18 412 413 + 305 18 412 414 + 306 18 415 417 + 307 18 415 416 + 308 18 418 420 + 309 18 418 419 + 310 18 421 422 + 311 18 421 423 + 312 18 424 425 + 313 18 424 426 + 314 18 427 428 + 315 18 427 429 + 316 18 430 432 + 317 18 430 431 + 318 18 433 435 + 319 18 433 434 + 320 18 436 437 + 321 18 436 438 + 322 18 439 440 + 323 18 439 441 + 324 18 442 443 + 325 18 442 444 + 326 18 445 447 + 327 18 445 446 + 328 18 448 449 + 329 18 448 450 + 330 18 451 453 + 331 18 451 452 + 332 18 454 456 + 333 18 454 455 + 334 18 457 458 + 335 18 457 459 + 336 18 460 462 + 337 18 460 461 + 338 18 463 465 + 339 18 463 464 + 340 18 466 467 + 341 18 466 468 + 342 18 469 470 + 343 18 469 471 + 344 18 472 473 + 345 18 472 474 + 346 18 475 476 + 347 18 475 477 + 348 18 478 479 + 349 18 478 480 + 350 18 481 482 + 351 18 481 483 + 352 18 484 485 + 353 18 484 486 + 354 18 487 489 + 355 18 487 488 + 356 18 490 492 + 357 18 490 491 + 358 18 493 495 + 359 18 493 494 + 360 18 496 497 + 361 18 496 498 + 362 18 499 501 + 363 18 499 500 + 364 18 502 503 + 365 18 502 504 + 366 18 505 507 + 367 18 505 506 + 368 18 508 509 + 369 18 508 510 + 370 18 511 513 + 371 18 511 512 + 372 18 514 516 + 373 18 514 515 + 374 18 517 518 + 375 18 517 519 + 376 18 520 521 + 377 18 520 522 + 378 18 523 525 + 379 18 523 524 + 380 18 526 528 + 381 18 526 527 + 382 18 529 530 + 383 18 529 531 + 384 18 532 533 + 385 18 532 534 + 386 18 535 536 + 387 18 535 537 + 388 18 538 540 + 389 18 538 539 + 390 18 541 542 + 391 18 541 543 + 392 18 544 546 + 393 18 544 545 + 394 18 547 549 + 395 18 547 548 + 396 18 550 551 + 397 18 550 552 + 398 18 553 555 + 399 18 553 554 + 400 18 556 557 + 401 18 556 558 + 402 18 559 561 + 403 18 559 560 + 404 18 562 563 + 405 18 562 564 + 406 18 565 567 + 407 18 565 566 + 408 18 568 570 + 409 18 568 569 + 410 18 571 573 + 411 18 571 572 + 412 18 574 575 + 413 18 574 576 + 414 18 577 579 + 415 18 577 578 + 416 18 580 581 + 417 18 580 582 + 418 18 583 585 + 419 18 583 584 + 420 18 586 588 + 421 18 586 587 + 422 18 589 590 + 423 18 589 591 + 424 18 592 594 + 425 18 592 593 + 426 18 595 597 + 427 18 595 596 + 428 18 598 600 + 429 18 598 599 + 430 18 601 602 + 431 18 601 603 + 432 18 604 606 + 433 18 604 605 + 434 18 607 609 + 435 18 607 608 + 436 18 610 611 + 437 18 610 612 + 438 18 613 615 + 439 18 613 614 + 440 18 616 618 + 441 18 616 617 + 442 18 619 620 + 443 18 619 621 + 444 18 622 623 + 445 18 622 624 + 446 18 625 627 + 447 18 625 626 + 448 18 628 629 + 449 18 628 630 + 450 18 631 632 + 451 18 631 633 + 452 18 634 635 + 453 18 634 636 + 454 18 637 639 + 455 18 637 638 + 456 18 640 642 + 457 18 640 641 + 458 18 643 644 + 459 18 643 645 + 460 18 646 647 + 461 18 646 648 + 462 18 649 650 + 463 18 649 651 + 464 18 652 653 + 465 18 652 654 + 466 18 655 657 + 467 18 655 656 + 468 18 658 660 + 469 18 658 659 + 470 18 661 663 + 471 18 661 662 + 472 18 664 665 + 473 18 664 666 + 474 18 667 669 + 475 18 667 668 + 476 18 670 672 + 477 18 670 671 + 478 18 673 674 + 479 18 673 675 + 480 18 676 677 + 481 18 676 678 + 482 18 679 681 + 483 18 679 680 + 484 18 682 684 + 485 18 682 683 + 486 18 685 686 + 487 18 685 687 + 488 18 688 690 + 489 18 688 689 + 490 18 691 693 + 491 18 691 692 + 492 18 694 695 + 493 18 694 696 + 494 18 697 698 + 495 18 697 699 + 496 18 700 701 + 497 18 700 702 + 498 18 703 704 + 499 18 703 705 + 500 18 706 707 + 501 18 706 708 + 502 18 709 710 + 503 18 709 711 + 504 18 712 714 + 505 18 712 713 + 506 18 715 716 + 507 18 715 717 + 508 18 718 719 + 509 18 718 720 + 510 18 721 722 + 511 18 721 723 + 512 18 724 726 + 513 18 724 725 + 514 18 727 728 + 515 18 727 729 + 516 18 730 731 + 517 18 730 732 + 518 18 733 735 + 519 18 733 734 + 520 18 736 737 + 521 18 736 738 + 522 18 739 741 + 523 18 739 740 + 524 18 742 743 + 525 18 742 744 + 526 18 745 746 + 527 18 745 747 + 528 18 748 750 + 529 18 748 749 + 530 18 751 753 + 531 18 751 752 + 532 18 754 756 + 533 18 754 755 + 534 18 757 758 + 535 18 757 759 + 536 18 760 762 + 537 18 760 761 + 538 18 763 764 + 539 18 763 765 + 540 18 766 767 + 541 18 766 768 + 542 18 769 770 + 543 18 769 771 + 544 18 772 774 + 545 18 772 773 + 546 18 775 777 + 547 18 775 776 + 548 18 778 780 + 549 18 778 779 + 550 18 781 783 + 551 18 781 782 + 552 18 784 786 + 553 18 784 785 + 554 18 787 789 + 555 18 787 788 + 556 18 790 791 + 557 18 790 792 + 558 18 793 795 + 559 18 793 794 + 560 18 796 797 + 561 18 796 798 + 562 18 799 801 + 563 18 799 800 + 564 18 802 803 + 565 18 802 804 + 566 18 805 806 + 567 18 805 807 + 568 18 808 809 + 569 18 808 810 + 570 18 811 813 + 571 18 811 812 + 572 18 814 815 + 573 18 814 816 + 574 18 817 818 + 575 18 817 819 + 576 18 820 821 + 577 18 820 822 + 578 18 823 824 + 579 18 823 825 + 580 18 826 828 + 581 18 826 827 + 582 18 829 830 + 583 18 829 831 + 584 18 832 834 + 585 18 832 833 + 586 18 835 837 + 587 18 835 836 + 588 18 838 839 + 589 18 838 840 + 590 18 841 842 + 591 18 841 843 + 592 18 844 845 + 593 18 844 846 + 594 18 847 848 + 595 18 847 849 + 596 18 850 852 + 597 18 850 851 + 598 18 853 854 + 599 18 853 855 + 600 18 856 858 + 601 18 856 857 + 602 18 859 861 + 603 18 859 860 + 604 18 862 863 + 605 18 862 864 + 606 18 865 866 + 607 18 865 867 + 608 18 868 869 + 609 18 868 870 + 610 18 871 873 + 611 18 871 872 + 612 18 874 875 + 613 18 874 876 + 614 18 877 878 + 615 18 877 879 + 616 18 880 882 + 617 18 880 881 + 618 18 883 884 + 619 18 883 885 + 620 18 886 887 + 621 18 886 888 + 622 18 889 891 + 623 18 889 890 + 624 18 892 894 + 625 18 892 893 + 626 18 895 896 + 627 18 895 897 + 628 18 898 899 + 629 18 898 900 + 630 18 901 903 + 631 18 901 902 + 632 18 904 905 + 633 18 904 906 + 634 18 907 908 + 635 18 907 909 + 636 18 910 911 + 637 18 910 912 + 638 18 913 915 + 639 18 913 914 + 640 18 916 917 + 641 18 916 918 + 642 18 919 920 + 643 18 919 921 + 644 18 922 924 + 645 18 922 923 + 646 18 925 927 + 647 18 925 926 + 648 18 928 930 + 649 18 928 929 + 650 18 931 932 + 651 18 931 933 + 652 18 934 935 + 653 18 934 936 + 654 18 937 939 + 655 18 937 938 + 656 18 940 942 + 657 18 940 941 + 658 18 943 945 + 659 18 943 944 + 660 18 946 948 + 661 18 946 947 + 662 18 949 950 + 663 18 949 951 + 664 18 952 953 + 665 18 952 954 + 666 18 955 956 + 667 18 955 957 + 668 18 958 960 + 669 18 958 959 + 670 18 961 963 + 671 18 961 962 + 672 18 964 965 + 673 18 964 966 + 674 18 967 969 + 675 18 967 968 + 676 18 970 972 + 677 18 970 971 + 678 18 973 975 + 679 18 973 974 + 680 18 976 978 + 681 18 976 977 + 682 18 979 981 + 683 18 979 980 + 684 18 982 983 + 685 18 982 984 + 686 18 985 987 + 687 18 985 986 + 688 18 988 989 + 689 18 988 990 + 690 18 991 993 + 691 18 991 992 + 692 18 994 996 + 693 18 994 995 + 694 18 997 998 + 695 18 997 999 + 696 18 1000 1001 + 697 18 1000 1002 + 698 18 1003 1005 + 699 18 1003 1004 + 700 18 1006 1007 + 701 18 1006 1008 + 702 18 1009 1011 + 703 18 1009 1010 + 704 18 1012 1013 + 705 18 1012 1014 + 706 18 1015 1017 + 707 18 1015 1016 + 708 18 1018 1020 + 709 18 1018 1019 + 710 18 1021 1023 + 711 18 1021 1022 + 712 18 1024 1025 + 713 18 1024 1026 + 714 18 1027 1028 + 715 18 1027 1029 + 716 18 1030 1032 + 717 18 1030 1031 + 718 18 1033 1034 + 719 18 1033 1035 + 720 18 1036 1037 + 721 18 1036 1038 + 722 18 1039 1041 + 723 18 1039 1040 + 724 18 1042 1043 + 725 18 1042 1044 + 726 18 1045 1046 + 727 18 1045 1047 + 728 18 1048 1050 + 729 18 1048 1049 + 730 18 1051 1053 + 731 18 1051 1052 + 732 18 1054 1056 + 733 18 1054 1055 + 734 18 1057 1058 + 735 18 1057 1059 + 736 18 1060 1062 + 737 18 1060 1061 + 738 18 1063 1064 + 739 18 1063 1065 + 740 18 1066 1068 + 741 18 1066 1067 + 742 18 1069 1071 + 743 18 1069 1070 + 744 18 1072 1074 + 745 18 1072 1073 + 746 18 1075 1077 + 747 18 1075 1076 + 748 18 1078 1079 + 749 18 1078 1080 + 750 18 1081 1082 + 751 18 1081 1083 + 752 18 1084 1085 + 753 18 1084 1086 + 754 18 1087 1089 + 755 18 1087 1088 + 756 18 1090 1092 + 757 18 1090 1091 + 758 18 1093 1095 + 759 18 1093 1094 + 760 18 1096 1097 + 761 18 1096 1098 + 762 18 1099 1100 + 763 18 1099 1101 + 764 18 1102 1103 + 765 18 1102 1104 + 766 18 1105 1107 + 767 18 1105 1106 + 768 18 1108 1110 + 769 18 1108 1109 + 770 18 1111 1112 + 771 18 1111 1113 + 772 18 1114 1116 + 773 18 1114 1115 + 774 18 1117 1119 + 775 18 1117 1118 + 776 18 1120 1121 + 777 18 1120 1122 + 778 18 1123 1124 + 779 18 1123 1125 + 780 18 1126 1128 + 781 18 1126 1127 + 782 18 1129 1130 + 783 18 1129 1131 + 784 18 1132 1133 + 785 18 1132 1134 + 786 18 1135 1137 + 787 18 1135 1136 + 788 18 1138 1140 + 789 18 1138 1139 + 790 18 1141 1142 + 791 18 1141 1143 + 792 18 1144 1146 + 793 18 1144 1145 + 794 18 1147 1149 + 795 18 1147 1148 + 796 18 1150 1152 + 797 18 1150 1151 + 798 18 1153 1155 + 799 18 1153 1154 + 800 18 1156 1158 + 801 18 1156 1157 + 802 18 1159 1160 + 803 18 1159 1161 + 804 18 1162 1164 + 805 18 1162 1163 + 806 18 1165 1166 + 807 18 1165 1167 + 808 18 1168 1170 + 809 18 1168 1169 + 810 18 1171 1172 + 811 18 1171 1173 + 812 18 1174 1175 + 813 18 1174 1176 + 814 18 1177 1179 + 815 18 1177 1178 + 816 18 1180 1182 + 817 18 1180 1181 + 818 18 1183 1185 + 819 18 1183 1184 + 820 18 1186 1187 + 821 18 1186 1188 + 822 18 1189 1190 + 823 18 1189 1191 + 824 18 1192 1194 + 825 18 1192 1193 + 826 18 1195 1196 + 827 18 1195 1197 + 828 18 1198 1199 + 829 18 1198 1200 + 830 18 1201 1202 + 831 18 1201 1203 + 832 18 1204 1205 + 833 18 1204 1206 + 834 18 1207 1209 + 835 18 1207 1208 + 836 18 1210 1212 + 837 18 1210 1211 + 838 18 1213 1214 + 839 18 1213 1215 + 840 18 1216 1218 + 841 18 1216 1217 + 842 18 1219 1221 + 843 18 1219 1220 + 844 18 1222 1224 + 845 18 1222 1223 + 846 18 1225 1226 + 847 18 1225 1227 + 848 18 1228 1229 + 849 18 1228 1230 + 850 18 1231 1232 + 851 18 1231 1233 + 852 18 1234 1236 + 853 18 1234 1235 + 854 18 1237 1239 + 855 18 1237 1238 + 856 18 1240 1242 + 857 18 1240 1241 + 858 18 1243 1244 + 859 18 1243 1245 + 860 18 1246 1248 + 861 18 1246 1247 + 862 18 1249 1250 + 863 18 1249 1251 + 864 18 1252 1254 + 865 18 1252 1253 + 866 18 1255 1256 + 867 18 1255 1257 + 868 18 1258 1259 + 869 18 1258 1260 + 870 18 1261 1263 + 871 18 1261 1262 + 872 18 1264 1265 + 873 18 1264 1266 + 874 18 1267 1268 + 875 18 1267 1269 + 876 18 1270 1271 + 877 18 1270 1272 + 878 18 1273 1274 + 879 18 1273 1275 + 880 18 1276 1277 + 881 18 1276 1278 + 882 18 1279 1280 + 883 18 1279 1281 + 884 18 1282 1283 + 885 18 1282 1284 + 886 18 1285 1286 + 887 18 1285 1287 + 888 18 1288 1289 + 889 18 1288 1290 + 890 18 1291 1293 + 891 18 1291 1292 + 892 18 1294 1295 + 893 18 1294 1296 + 894 18 1297 1299 + 895 18 1297 1298 + 896 18 1300 1302 + 897 18 1300 1301 + 898 18 1303 1304 + 899 18 1303 1305 + 900 18 1306 1308 + 901 18 1306 1307 + 902 18 1309 1311 + 903 18 1309 1310 + 904 18 1312 1314 + 905 18 1312 1313 + 906 18 1315 1317 + 907 18 1315 1316 + 908 18 1318 1320 + 909 18 1318 1319 + 910 18 1321 1323 + 911 18 1321 1322 + 912 18 1324 1325 + 913 18 1324 1326 + 914 18 1327 1329 + 915 18 1327 1328 + 916 18 1330 1332 + 917 18 1330 1331 + 918 18 1333 1334 + 919 18 1333 1335 + 920 18 1336 1337 + 921 18 1336 1338 + 922 18 1339 1340 + 923 18 1339 1341 + 924 18 1342 1344 + 925 18 1342 1343 + 926 18 1345 1347 + 927 18 1345 1346 + 928 18 1348 1350 + 929 18 1348 1349 + 930 18 1351 1352 + 931 18 1351 1353 + 932 18 1354 1355 + 933 18 1354 1356 + 934 18 1357 1358 + 935 18 1357 1359 + 936 18 1360 1362 + 937 18 1360 1361 + 938 18 1363 1365 + 939 18 1363 1364 + 940 18 1366 1368 + 941 18 1366 1367 + 942 18 1369 1370 + 943 18 1369 1371 + 944 18 1372 1373 + 945 18 1372 1374 + 946 18 1375 1377 + 947 18 1375 1376 + 948 18 1378 1379 + 949 18 1378 1380 + 950 18 1381 1382 + 951 18 1381 1383 + 952 18 1384 1385 + 953 18 1384 1386 + 954 18 1387 1388 + 955 18 1387 1389 + 956 18 1390 1392 + 957 18 1390 1391 + 958 18 1393 1395 + 959 18 1393 1394 + 960 18 1396 1397 + 961 18 1396 1398 + 962 18 1399 1401 + 963 18 1399 1400 + 964 18 1402 1403 + 965 18 1402 1404 + 966 18 1405 1406 + 967 18 1405 1407 + 968 18 1408 1409 + 969 18 1408 1410 + 970 18 1411 1412 + 971 18 1411 1413 + 972 18 1414 1416 + 973 18 1414 1415 + 974 18 1417 1419 + 975 18 1417 1418 + 976 18 1420 1422 + 977 18 1420 1421 + 978 18 1423 1425 + 979 18 1423 1424 + 980 18 1426 1428 + 981 18 1426 1427 + 982 18 1429 1430 + 983 18 1429 1431 + 984 18 1432 1434 + 985 18 1432 1433 + 986 18 1435 1436 + 987 18 1435 1437 + 988 18 1438 1439 + 989 18 1438 1440 + 990 18 1441 1442 + 991 18 1441 1443 + 992 18 1444 1445 + 993 18 1444 1446 + 994 18 1447 1448 + 995 18 1447 1449 + 996 18 1450 1451 + 997 18 1450 1452 + 998 18 1453 1455 + 999 18 1453 1454 + 1000 18 1456 1457 + 1001 18 1456 1458 + 1002 18 1459 1461 + 1003 18 1459 1460 + 1004 18 1462 1463 + 1005 18 1462 1464 + 1006 18 1465 1466 + 1007 18 1465 1467 + 1008 18 1468 1470 + 1009 18 1468 1469 + 1010 18 1471 1472 + 1011 18 1471 1473 + 1012 18 1474 1476 + 1013 18 1474 1475 + 1014 18 1477 1478 + 1015 18 1477 1479 + 1016 18 1480 1482 + 1017 18 1480 1481 + 1018 18 1483 1485 + 1019 18 1483 1484 + 1020 18 1486 1488 + 1021 18 1486 1487 + 1022 18 1489 1491 + 1023 18 1489 1490 + 1024 18 1492 1493 + 1025 18 1492 1494 + 1026 18 1495 1496 + 1027 18 1495 1497 + 1028 18 1498 1499 + 1029 18 1498 1500 + 1030 18 1501 1502 + 1031 18 1501 1503 + 1032 18 1504 1505 + 1033 18 1504 1506 + 1034 18 1507 1509 + 1035 18 1507 1508 + 1036 18 1510 1512 + 1037 18 1510 1511 + 1038 18 1513 1515 + 1039 18 1513 1514 + 1040 18 1516 1518 + 1041 18 1516 1517 + 1042 18 1519 1520 + 1043 18 1519 1521 + 1044 18 1522 1524 + 1045 18 1522 1523 + 1046 18 1525 1526 + 1047 18 1525 1527 + 1048 18 1528 1529 + 1049 18 1528 1530 + 1050 18 1531 1533 + 1051 18 1531 1532 + 1052 18 1534 1536 + 1053 18 1534 1535 + 1054 18 1537 1539 + 1055 18 1537 1538 + 1056 18 1540 1541 + 1057 18 1540 1542 + 1058 18 1543 1545 + 1059 18 1543 1544 + 1060 18 1546 1547 + 1061 18 1546 1548 + 1062 18 1549 1551 + 1063 18 1549 1550 + 1064 18 1552 1553 + 1065 18 1552 1554 + 1066 18 1555 1557 + 1067 18 1555 1556 + 1068 18 1558 1559 + 1069 18 1558 1560 + 1070 18 1561 1562 + 1071 18 1561 1563 + 1072 18 1564 1565 + 1073 18 1564 1566 + 1074 18 1567 1569 + 1075 18 1567 1568 + 1076 18 1570 1571 + 1077 18 1570 1572 + 1078 18 1573 1575 + 1079 18 1573 1574 + 1080 18 1576 1578 + 1081 18 1576 1577 + 1082 18 1579 1581 + 1083 18 1579 1580 + 1084 18 1582 1584 + 1085 18 1582 1583 + 1086 18 1585 1586 + 1087 18 1585 1587 + 1088 18 1588 1590 + 1089 18 1588 1589 + 1090 18 1591 1592 + 1091 18 1591 1593 + 1092 18 1594 1596 + 1093 18 1594 1595 + 1094 18 1597 1598 + 1095 18 1597 1599 + 1096 18 1600 1602 + 1097 18 1600 1601 + 1098 18 1603 1605 + 1099 18 1603 1604 + 1100 18 1606 1608 + 1101 18 1606 1607 + 1102 18 1609 1610 + 1103 18 1609 1611 + 1104 18 1612 1614 + 1105 18 1612 1613 + 1106 18 1615 1617 + 1107 18 1615 1616 + 1108 18 1618 1620 + 1109 18 1618 1619 + 1110 18 1621 1623 + 1111 18 1621 1622 + 1112 18 1624 1625 + 1113 18 1624 1626 + 1114 18 1627 1629 + 1115 18 1627 1628 + 1116 18 1630 1631 + 1117 18 1630 1632 + 1118 18 1633 1635 + 1119 18 1633 1634 + 1120 18 1636 1637 + 1121 18 1636 1638 + 1122 18 1639 1641 + 1123 18 1639 1640 + 1124 18 1642 1643 + 1125 18 1642 1644 + 1126 18 1645 1646 + 1127 18 1645 1647 + 1128 18 1648 1650 + 1129 18 1648 1649 + 1130 18 1651 1653 + 1131 18 1651 1652 + 1132 18 1654 1656 + 1133 18 1654 1655 + 1134 18 1657 1658 + 1135 18 1657 1659 + 1136 18 1660 1661 + 1137 18 1660 1662 + 1138 18 1663 1664 + 1139 18 1663 1665 + 1140 18 1666 1668 + 1141 18 1666 1667 + 1142 18 1669 1670 + 1143 18 1669 1671 + 1144 18 1672 1674 + 1145 18 1672 1673 + 1146 18 1675 1676 + 1147 18 1675 1677 + 1148 18 1678 1680 + 1149 18 1678 1679 + 1150 18 1681 1683 + 1151 18 1681 1682 + 1152 18 1684 1685 + 1153 18 1684 1686 + 1154 18 1687 1688 + 1155 18 1687 1689 + 1156 18 1690 1691 + 1157 18 1690 1692 + 1158 18 1693 1695 + 1159 18 1693 1694 + 1160 18 1696 1697 + 1161 18 1696 1698 + 1162 18 1699 1701 + 1163 18 1699 1700 + 1164 18 1702 1703 + 1165 18 1702 1704 + 1166 18 1705 1707 + 1167 18 1705 1706 + 1168 18 1708 1709 + 1169 18 1708 1710 + 1170 18 1711 1712 + 1171 18 1711 1713 + 1172 18 1714 1716 + 1173 18 1714 1715 + 1174 18 1717 1718 + 1175 18 1717 1719 + 1176 18 1720 1721 + 1177 18 1720 1722 + 1178 18 1723 1724 + 1179 18 1723 1725 + 1180 18 1726 1727 + 1181 18 1726 1728 + 1182 18 1729 1730 + 1183 18 1729 1731 + 1184 18 1732 1734 + 1185 18 1732 1733 + 1186 18 1735 1737 + 1187 18 1735 1736 + 1188 18 1738 1740 + 1189 18 1738 1739 + 1190 18 1741 1743 + 1191 18 1741 1742 + 1192 18 1744 1745 + 1193 18 1744 1746 + 1194 18 1747 1749 + 1195 18 1747 1748 + 1196 18 1750 1751 + 1197 18 1750 1752 + 1198 18 1753 1755 + 1199 18 1753 1754 + 1200 18 1756 1758 + 1201 18 1756 1757 + 1202 18 1759 1760 + 1203 18 1759 1761 + 1204 18 1762 1764 + 1205 18 1762 1763 + 1206 18 1765 1767 + 1207 18 1765 1766 + 1208 18 1768 1769 + 1209 18 1768 1770 + 1210 18 1771 1773 + 1211 18 1771 1772 + 1212 18 1774 1776 + 1213 18 1774 1775 + 1214 18 1777 1779 + 1215 18 1777 1778 + 1216 18 1780 1781 + 1217 18 1780 1782 + 1218 18 1783 1784 + 1219 18 1783 1785 + 1220 18 1786 1787 + 1221 18 1786 1788 + 1222 18 1789 1790 + 1223 18 1789 1791 + 1224 18 1792 1793 + 1225 18 1792 1794 + 1226 18 1795 1796 + 1227 18 1795 1797 + 1228 18 1798 1799 + 1229 18 1798 1800 + 1230 18 1801 1803 + 1231 18 1801 1802 + 1232 18 1804 1806 + 1233 18 1804 1805 + 1234 18 1807 1809 + 1235 18 1807 1808 + 1236 18 1810 1812 + 1237 18 1810 1811 + 1238 18 1813 1815 + 1239 18 1813 1814 + 1240 18 1816 1818 + 1241 18 1816 1817 + 1242 18 1819 1821 + 1243 18 1819 1820 + 1244 18 1822 1823 + 1245 18 1822 1824 + 1246 18 1825 1827 + 1247 18 1825 1826 + 1248 18 1828 1830 + 1249 18 1828 1829 + 1250 18 1831 1832 + 1251 18 1831 1833 + 1252 18 1834 1835 + 1253 18 1834 1836 + 1254 18 1837 1838 + 1255 18 1837 1839 + 1256 18 1840 1842 + 1257 18 1840 1841 + 1258 18 1843 1845 + 1259 18 1843 1844 + 1260 18 1846 1848 + 1261 18 1846 1847 + 1262 18 1849 1851 + 1263 18 1849 1850 + 1264 18 1852 1854 + 1265 18 1852 1853 + 1266 18 1855 1856 + 1267 18 1855 1857 + 1268 18 1858 1859 + 1269 18 1858 1860 + 1270 18 1861 1862 + 1271 18 1861 1863 + 1272 18 1864 1866 + 1273 18 1864 1865 + 1274 18 1867 1869 + 1275 18 1867 1868 + 1276 18 1870 1871 + 1277 18 1870 1872 + 1278 18 1873 1874 + 1279 18 1873 1875 + 1280 18 1876 1877 + 1281 18 1876 1878 + 1282 18 1879 1881 + 1283 18 1879 1880 + 1284 18 1882 1883 + 1285 18 1882 1884 + 1286 18 1885 1886 + 1287 18 1885 1887 + 1288 18 1888 1890 + 1289 18 1888 1889 + 1290 18 1891 1892 + 1291 18 1891 1893 + 1292 18 1894 1896 + 1293 18 1894 1895 + 1294 18 1897 1898 + 1295 18 1897 1899 + 1296 18 1900 1902 + 1297 18 1900 1901 + 1298 18 1903 1905 + 1299 18 1903 1904 + 1300 18 1906 1908 + 1301 18 1906 1907 + 1302 18 1909 1911 + 1303 18 1909 1910 + 1304 18 1912 1913 + 1305 18 1912 1914 + 1306 18 1915 1916 + 1307 18 1915 1917 + 1308 18 1918 1920 + 1309 18 1918 1919 + 1310 18 1921 1923 + 1311 18 1921 1922 + 1312 18 1924 1926 + 1313 18 1924 1925 + 1314 18 1927 1929 + 1315 18 1927 1928 + 1316 18 1930 1932 + 1317 18 1930 1931 + 1318 18 1933 1935 + 1319 18 1933 1934 + 1320 18 1936 1937 + 1321 18 1936 1938 + 1322 18 1939 1940 + 1323 18 1939 1941 + 1324 18 1942 1944 + 1325 18 1942 1943 + 1326 18 1945 1947 + 1327 18 1945 1946 + 1328 18 1948 1950 + 1329 18 1948 1949 + 1330 18 1951 1953 + 1331 18 1951 1952 + 1332 18 1954 1955 + 1333 18 1954 1956 + 1334 18 1957 1959 + 1335 18 1957 1958 + 1336 18 1960 1961 + 1337 18 1960 1962 + 1338 18 1963 1965 + 1339 18 1963 1964 + 1340 18 1966 1967 + 1341 18 1966 1968 + 1342 18 1969 1970 + 1343 18 1969 1971 + 1344 18 1972 1974 + 1345 18 1972 1973 + 1346 18 1975 1977 + 1347 18 1975 1976 + 1348 18 1978 1979 + 1349 18 1978 1980 + 1350 18 1981 1982 + 1351 18 1981 1983 + 1352 18 1984 1986 + 1353 18 1984 1985 + 1354 18 1987 1988 + 1355 18 1987 1989 + 1356 18 1990 1992 + 1357 18 1990 1991 + 1358 18 1993 1995 + 1359 18 1993 1994 + 1360 18 1996 1998 + 1361 18 1996 1997 + 1362 18 1999 2000 + 1363 18 1999 2001 + 1364 18 2002 2004 + 1365 18 2002 2003 + +Angles + + 1 5 2 1 7 + 2 4 2 1 3 + 3 6 3 1 7 + 4 7 4 2 5 + 5 7 5 2 6 + 6 1 1 2 5 + 7 1 1 2 6 + 8 1 1 2 4 + 9 7 4 2 6 + 10 2 1 7 8 + 11 3 1 7 19 + 12 11 8 7 19 + 13 9 7 8 11 + 14 8 7 8 9 + 15 16 11 8 20 + 16 15 9 8 20 + 17 14 9 8 11 + 18 10 7 8 20 + 19 5 8 9 28 + 20 4 8 9 10 + 21 6 10 9 28 + 22 18 12 11 22 + 23 23 21 11 22 + 24 12 8 11 12 + 25 13 8 11 21 + 26 18 12 11 21 + 27 13 8 11 22 + 28 19 13 12 14 + 29 17 11 12 14 + 30 17 11 12 13 + 31 20 15 13 23 + 32 20 12 13 23 + 33 19 12 13 15 + 34 20 12 14 24 + 35 20 16 14 24 + 36 19 12 14 16 + 37 20 13 15 25 + 38 20 17 15 25 + 39 19 13 15 17 + 40 20 14 16 26 + 41 19 14 16 17 + 42 20 17 16 26 + 43 21 15 17 18 + 44 19 15 17 16 + 45 21 16 17 18 + 46 22 17 18 27 + 47 2 9 28 29 + 48 3 9 28 32 + 49 11 29 28 32 + 50 15 30 29 34 + 51 10 28 29 33 + 52 10 28 29 34 + 53 15 30 29 33 + 54 24 33 29 34 + 55 8 28 29 30 + 56 6 31 30 35 + 57 5 29 30 35 + 58 4 29 30 31 + 59 2 30 35 36 + 60 3 30 35 39 + 61 11 36 35 39 + 62 8 35 36 37 + 63 10 35 36 41 + 64 10 35 36 40 + 65 24 40 36 41 + 66 15 37 36 40 + 67 15 37 36 41 + 68 6 38 37 42 + 69 5 36 37 42 + 70 4 36 37 38 + 71 11 43 42 53 + 72 2 37 42 43 + 73 3 37 42 53 + 74 10 42 43 54 + 75 16 46 43 54 + 76 14 44 43 46 + 77 9 42 43 46 + 78 8 42 43 44 + 79 15 44 43 54 + 80 5 43 44 62 + 81 6 45 44 62 + 82 4 43 44 45 + 83 13 43 46 55 + 84 13 43 46 56 + 85 12 43 46 47 + 86 23 55 46 56 + 87 18 47 46 56 + 88 18 47 46 55 + 89 17 46 47 49 + 90 17 46 47 48 + 91 19 48 47 49 + 92 20 50 48 57 + 93 19 47 48 50 + 94 20 47 48 57 + 95 20 51 49 58 + 96 19 47 49 51 + 97 20 47 49 58 + 98 20 48 50 59 + 99 19 48 50 52 + 100 20 52 50 59 + 101 20 52 51 60 + 102 20 49 51 60 + 103 19 49 51 52 + 104 20 50 52 61 + 105 19 50 52 51 + 106 20 51 52 61 + 107 2 44 62 63 + 108 3 44 62 70 + 109 11 63 62 70 + 110 16 66 63 71 + 111 15 64 63 71 + 112 14 64 63 66 + 113 10 62 63 71 + 114 9 62 63 66 + 115 8 62 63 64 + 116 4 63 64 65 + 117 6 65 64 79 + 118 5 63 64 79 + 119 23 72 66 73 + 120 27 67 66 73 + 121 27 67 66 72 + 122 25 63 66 67 + 123 13 63 66 73 + 124 13 63 66 72 + 125 29 68 67 75 + 126 23 74 67 75 + 127 29 68 67 74 + 128 26 66 67 68 + 129 27 66 67 74 + 130 27 66 67 75 + 131 28 67 68 69 + 132 29 68 69 76 + 133 29 68 69 77 + 134 29 68 69 78 + 135 7 76 69 78 + 136 7 76 69 77 + 137 7 77 69 78 + 138 3 64 79 81 + 139 2 64 79 80 + 140 11 80 79 81 + 141 7 83 80 84 + 142 30 79 80 84 + 143 7 82 80 83 + 144 30 79 80 83 + 145 30 79 80 82 + 146 7 82 80 84 + 147 31 86 85 87 + 148 31 89 88 90 + 149 31 92 91 93 + 150 31 95 94 96 + 151 31 98 97 99 + 152 31 101 100 102 + 153 31 104 103 105 + 154 31 107 106 108 + 155 31 110 109 111 + 156 31 113 112 114 + 157 31 116 115 117 + 158 31 119 118 120 + 159 31 122 121 123 + 160 31 125 124 126 + 161 31 128 127 129 + 162 31 131 130 132 + 163 31 134 133 135 + 164 31 137 136 138 + 165 31 140 139 141 + 166 31 143 142 144 + 167 31 146 145 147 + 168 31 149 148 150 + 169 31 152 151 153 + 170 31 155 154 156 + 171 31 158 157 159 + 172 31 161 160 162 + 173 31 164 163 165 + 174 31 167 166 168 + 175 31 170 169 171 + 176 31 173 172 174 + 177 31 176 175 177 + 178 31 179 178 180 + 179 31 182 181 183 + 180 31 185 184 186 + 181 31 188 187 189 + 182 31 191 190 192 + 183 31 194 193 195 + 184 31 197 196 198 + 185 31 200 199 201 + 186 31 203 202 204 + 187 31 206 205 207 + 188 31 209 208 210 + 189 31 212 211 213 + 190 31 215 214 216 + 191 31 218 217 219 + 192 31 221 220 222 + 193 31 224 223 225 + 194 31 227 226 228 + 195 31 230 229 231 + 196 31 233 232 234 + 197 31 236 235 237 + 198 31 239 238 240 + 199 31 242 241 243 + 200 31 245 244 246 + 201 31 248 247 249 + 202 31 251 250 252 + 203 31 254 253 255 + 204 31 257 256 258 + 205 31 260 259 261 + 206 31 263 262 264 + 207 31 266 265 267 + 208 31 269 268 270 + 209 31 272 271 273 + 210 31 275 274 276 + 211 31 278 277 279 + 212 31 281 280 282 + 213 31 284 283 285 + 214 31 287 286 288 + 215 31 290 289 291 + 216 31 293 292 294 + 217 31 296 295 297 + 218 31 299 298 300 + 219 31 302 301 303 + 220 31 305 304 306 + 221 31 308 307 309 + 222 31 311 310 312 + 223 31 314 313 315 + 224 31 317 316 318 + 225 31 320 319 321 + 226 31 323 322 324 + 227 31 326 325 327 + 228 31 329 328 330 + 229 31 332 331 333 + 230 31 335 334 336 + 231 31 338 337 339 + 232 31 341 340 342 + 233 31 344 343 345 + 234 31 347 346 348 + 235 31 350 349 351 + 236 31 353 352 354 + 237 31 356 355 357 + 238 31 359 358 360 + 239 31 362 361 363 + 240 31 365 364 366 + 241 31 368 367 369 + 242 31 371 370 372 + 243 31 374 373 375 + 244 31 377 376 378 + 245 31 380 379 381 + 246 31 383 382 384 + 247 31 386 385 387 + 248 31 389 388 390 + 249 31 392 391 393 + 250 31 395 394 396 + 251 31 398 397 399 + 252 31 401 400 402 + 253 31 404 403 405 + 254 31 407 406 408 + 255 31 410 409 411 + 256 31 413 412 414 + 257 31 416 415 417 + 258 31 419 418 420 + 259 31 422 421 423 + 260 31 425 424 426 + 261 31 428 427 429 + 262 31 431 430 432 + 263 31 434 433 435 + 264 31 437 436 438 + 265 31 440 439 441 + 266 31 443 442 444 + 267 31 446 445 447 + 268 31 449 448 450 + 269 31 452 451 453 + 270 31 455 454 456 + 271 31 458 457 459 + 272 31 461 460 462 + 273 31 464 463 465 + 274 31 467 466 468 + 275 31 470 469 471 + 276 31 473 472 474 + 277 31 476 475 477 + 278 31 479 478 480 + 279 31 482 481 483 + 280 31 485 484 486 + 281 31 488 487 489 + 282 31 491 490 492 + 283 31 494 493 495 + 284 31 497 496 498 + 285 31 500 499 501 + 286 31 503 502 504 + 287 31 506 505 507 + 288 31 509 508 510 + 289 31 512 511 513 + 290 31 515 514 516 + 291 31 518 517 519 + 292 31 521 520 522 + 293 31 524 523 525 + 294 31 527 526 528 + 295 31 530 529 531 + 296 31 533 532 534 + 297 31 536 535 537 + 298 31 539 538 540 + 299 31 542 541 543 + 300 31 545 544 546 + 301 31 548 547 549 + 302 31 551 550 552 + 303 31 554 553 555 + 304 31 557 556 558 + 305 31 560 559 561 + 306 31 563 562 564 + 307 31 566 565 567 + 308 31 569 568 570 + 309 31 572 571 573 + 310 31 575 574 576 + 311 31 578 577 579 + 312 31 581 580 582 + 313 31 584 583 585 + 314 31 587 586 588 + 315 31 590 589 591 + 316 31 593 592 594 + 317 31 596 595 597 + 318 31 599 598 600 + 319 31 602 601 603 + 320 31 605 604 606 + 321 31 608 607 609 + 322 31 611 610 612 + 323 31 614 613 615 + 324 31 617 616 618 + 325 31 620 619 621 + 326 31 623 622 624 + 327 31 626 625 627 + 328 31 629 628 630 + 329 31 632 631 633 + 330 31 635 634 636 + 331 31 638 637 639 + 332 31 641 640 642 + 333 31 644 643 645 + 334 31 647 646 648 + 335 31 650 649 651 + 336 31 653 652 654 + 337 31 656 655 657 + 338 31 659 658 660 + 339 31 662 661 663 + 340 31 665 664 666 + 341 31 668 667 669 + 342 31 671 670 672 + 343 31 674 673 675 + 344 31 677 676 678 + 345 31 680 679 681 + 346 31 683 682 684 + 347 31 686 685 687 + 348 31 689 688 690 + 349 31 692 691 693 + 350 31 695 694 696 + 351 31 698 697 699 + 352 31 701 700 702 + 353 31 704 703 705 + 354 31 707 706 708 + 355 31 710 709 711 + 356 31 713 712 714 + 357 31 716 715 717 + 358 31 719 718 720 + 359 31 722 721 723 + 360 31 725 724 726 + 361 31 728 727 729 + 362 31 731 730 732 + 363 31 734 733 735 + 364 31 737 736 738 + 365 31 740 739 741 + 366 31 743 742 744 + 367 31 746 745 747 + 368 31 749 748 750 + 369 31 752 751 753 + 370 31 755 754 756 + 371 31 758 757 759 + 372 31 761 760 762 + 373 31 764 763 765 + 374 31 767 766 768 + 375 31 770 769 771 + 376 31 773 772 774 + 377 31 776 775 777 + 378 31 779 778 780 + 379 31 782 781 783 + 380 31 785 784 786 + 381 31 788 787 789 + 382 31 791 790 792 + 383 31 794 793 795 + 384 31 797 796 798 + 385 31 800 799 801 + 386 31 803 802 804 + 387 31 806 805 807 + 388 31 809 808 810 + 389 31 812 811 813 + 390 31 815 814 816 + 391 31 818 817 819 + 392 31 821 820 822 + 393 31 824 823 825 + 394 31 827 826 828 + 395 31 830 829 831 + 396 31 833 832 834 + 397 31 836 835 837 + 398 31 839 838 840 + 399 31 842 841 843 + 400 31 845 844 846 + 401 31 848 847 849 + 402 31 851 850 852 + 403 31 854 853 855 + 404 31 857 856 858 + 405 31 860 859 861 + 406 31 863 862 864 + 407 31 866 865 867 + 408 31 869 868 870 + 409 31 872 871 873 + 410 31 875 874 876 + 411 31 878 877 879 + 412 31 881 880 882 + 413 31 884 883 885 + 414 31 887 886 888 + 415 31 890 889 891 + 416 31 893 892 894 + 417 31 896 895 897 + 418 31 899 898 900 + 419 31 902 901 903 + 420 31 905 904 906 + 421 31 908 907 909 + 422 31 911 910 912 + 423 31 914 913 915 + 424 31 917 916 918 + 425 31 920 919 921 + 426 31 923 922 924 + 427 31 926 925 927 + 428 31 929 928 930 + 429 31 932 931 933 + 430 31 935 934 936 + 431 31 938 937 939 + 432 31 941 940 942 + 433 31 944 943 945 + 434 31 947 946 948 + 435 31 950 949 951 + 436 31 953 952 954 + 437 31 956 955 957 + 438 31 959 958 960 + 439 31 962 961 963 + 440 31 965 964 966 + 441 31 968 967 969 + 442 31 971 970 972 + 443 31 974 973 975 + 444 31 977 976 978 + 445 31 980 979 981 + 446 31 983 982 984 + 447 31 986 985 987 + 448 31 989 988 990 + 449 31 992 991 993 + 450 31 995 994 996 + 451 31 998 997 999 + 452 31 1001 1000 1002 + 453 31 1004 1003 1005 + 454 31 1007 1006 1008 + 455 31 1010 1009 1011 + 456 31 1013 1012 1014 + 457 31 1016 1015 1017 + 458 31 1019 1018 1020 + 459 31 1022 1021 1023 + 460 31 1025 1024 1026 + 461 31 1028 1027 1029 + 462 31 1031 1030 1032 + 463 31 1034 1033 1035 + 464 31 1037 1036 1038 + 465 31 1040 1039 1041 + 466 31 1043 1042 1044 + 467 31 1046 1045 1047 + 468 31 1049 1048 1050 + 469 31 1052 1051 1053 + 470 31 1055 1054 1056 + 471 31 1058 1057 1059 + 472 31 1061 1060 1062 + 473 31 1064 1063 1065 + 474 31 1067 1066 1068 + 475 31 1070 1069 1071 + 476 31 1073 1072 1074 + 477 31 1076 1075 1077 + 478 31 1079 1078 1080 + 479 31 1082 1081 1083 + 480 31 1085 1084 1086 + 481 31 1088 1087 1089 + 482 31 1091 1090 1092 + 483 31 1094 1093 1095 + 484 31 1097 1096 1098 + 485 31 1100 1099 1101 + 486 31 1103 1102 1104 + 487 31 1106 1105 1107 + 488 31 1109 1108 1110 + 489 31 1112 1111 1113 + 490 31 1115 1114 1116 + 491 31 1118 1117 1119 + 492 31 1121 1120 1122 + 493 31 1124 1123 1125 + 494 31 1127 1126 1128 + 495 31 1130 1129 1131 + 496 31 1133 1132 1134 + 497 31 1136 1135 1137 + 498 31 1139 1138 1140 + 499 31 1142 1141 1143 + 500 31 1145 1144 1146 + 501 31 1148 1147 1149 + 502 31 1151 1150 1152 + 503 31 1154 1153 1155 + 504 31 1157 1156 1158 + 505 31 1160 1159 1161 + 506 31 1163 1162 1164 + 507 31 1166 1165 1167 + 508 31 1169 1168 1170 + 509 31 1172 1171 1173 + 510 31 1175 1174 1176 + 511 31 1178 1177 1179 + 512 31 1181 1180 1182 + 513 31 1184 1183 1185 + 514 31 1187 1186 1188 + 515 31 1190 1189 1191 + 516 31 1193 1192 1194 + 517 31 1196 1195 1197 + 518 31 1199 1198 1200 + 519 31 1202 1201 1203 + 520 31 1205 1204 1206 + 521 31 1208 1207 1209 + 522 31 1211 1210 1212 + 523 31 1214 1213 1215 + 524 31 1217 1216 1218 + 525 31 1220 1219 1221 + 526 31 1223 1222 1224 + 527 31 1226 1225 1227 + 528 31 1229 1228 1230 + 529 31 1232 1231 1233 + 530 31 1235 1234 1236 + 531 31 1238 1237 1239 + 532 31 1241 1240 1242 + 533 31 1244 1243 1245 + 534 31 1247 1246 1248 + 535 31 1250 1249 1251 + 536 31 1253 1252 1254 + 537 31 1256 1255 1257 + 538 31 1259 1258 1260 + 539 31 1262 1261 1263 + 540 31 1265 1264 1266 + 541 31 1268 1267 1269 + 542 31 1271 1270 1272 + 543 31 1274 1273 1275 + 544 31 1277 1276 1278 + 545 31 1280 1279 1281 + 546 31 1283 1282 1284 + 547 31 1286 1285 1287 + 548 31 1289 1288 1290 + 549 31 1292 1291 1293 + 550 31 1295 1294 1296 + 551 31 1298 1297 1299 + 552 31 1301 1300 1302 + 553 31 1304 1303 1305 + 554 31 1307 1306 1308 + 555 31 1310 1309 1311 + 556 31 1313 1312 1314 + 557 31 1316 1315 1317 + 558 31 1319 1318 1320 + 559 31 1322 1321 1323 + 560 31 1325 1324 1326 + 561 31 1328 1327 1329 + 562 31 1331 1330 1332 + 563 31 1334 1333 1335 + 564 31 1337 1336 1338 + 565 31 1340 1339 1341 + 566 31 1343 1342 1344 + 567 31 1346 1345 1347 + 568 31 1349 1348 1350 + 569 31 1352 1351 1353 + 570 31 1355 1354 1356 + 571 31 1358 1357 1359 + 572 31 1361 1360 1362 + 573 31 1364 1363 1365 + 574 31 1367 1366 1368 + 575 31 1370 1369 1371 + 576 31 1373 1372 1374 + 577 31 1376 1375 1377 + 578 31 1379 1378 1380 + 579 31 1382 1381 1383 + 580 31 1385 1384 1386 + 581 31 1388 1387 1389 + 582 31 1391 1390 1392 + 583 31 1394 1393 1395 + 584 31 1397 1396 1398 + 585 31 1400 1399 1401 + 586 31 1403 1402 1404 + 587 31 1406 1405 1407 + 588 31 1409 1408 1410 + 589 31 1412 1411 1413 + 590 31 1415 1414 1416 + 591 31 1418 1417 1419 + 592 31 1421 1420 1422 + 593 31 1424 1423 1425 + 594 31 1427 1426 1428 + 595 31 1430 1429 1431 + 596 31 1433 1432 1434 + 597 31 1436 1435 1437 + 598 31 1439 1438 1440 + 599 31 1442 1441 1443 + 600 31 1445 1444 1446 + 601 31 1448 1447 1449 + 602 31 1451 1450 1452 + 603 31 1454 1453 1455 + 604 31 1457 1456 1458 + 605 31 1460 1459 1461 + 606 31 1463 1462 1464 + 607 31 1466 1465 1467 + 608 31 1469 1468 1470 + 609 31 1472 1471 1473 + 610 31 1475 1474 1476 + 611 31 1478 1477 1479 + 612 31 1481 1480 1482 + 613 31 1484 1483 1485 + 614 31 1487 1486 1488 + 615 31 1490 1489 1491 + 616 31 1493 1492 1494 + 617 31 1496 1495 1497 + 618 31 1499 1498 1500 + 619 31 1502 1501 1503 + 620 31 1505 1504 1506 + 621 31 1508 1507 1509 + 622 31 1511 1510 1512 + 623 31 1514 1513 1515 + 624 31 1517 1516 1518 + 625 31 1520 1519 1521 + 626 31 1523 1522 1524 + 627 31 1526 1525 1527 + 628 31 1529 1528 1530 + 629 31 1532 1531 1533 + 630 31 1535 1534 1536 + 631 31 1538 1537 1539 + 632 31 1541 1540 1542 + 633 31 1544 1543 1545 + 634 31 1547 1546 1548 + 635 31 1550 1549 1551 + 636 31 1553 1552 1554 + 637 31 1556 1555 1557 + 638 31 1559 1558 1560 + 639 31 1562 1561 1563 + 640 31 1565 1564 1566 + 641 31 1568 1567 1569 + 642 31 1571 1570 1572 + 643 31 1574 1573 1575 + 644 31 1577 1576 1578 + 645 31 1580 1579 1581 + 646 31 1583 1582 1584 + 647 31 1586 1585 1587 + 648 31 1589 1588 1590 + 649 31 1592 1591 1593 + 650 31 1595 1594 1596 + 651 31 1598 1597 1599 + 652 31 1601 1600 1602 + 653 31 1604 1603 1605 + 654 31 1607 1606 1608 + 655 31 1610 1609 1611 + 656 31 1613 1612 1614 + 657 31 1616 1615 1617 + 658 31 1619 1618 1620 + 659 31 1622 1621 1623 + 660 31 1625 1624 1626 + 661 31 1628 1627 1629 + 662 31 1631 1630 1632 + 663 31 1634 1633 1635 + 664 31 1637 1636 1638 + 665 31 1640 1639 1641 + 666 31 1643 1642 1644 + 667 31 1646 1645 1647 + 668 31 1649 1648 1650 + 669 31 1652 1651 1653 + 670 31 1655 1654 1656 + 671 31 1658 1657 1659 + 672 31 1661 1660 1662 + 673 31 1664 1663 1665 + 674 31 1667 1666 1668 + 675 31 1670 1669 1671 + 676 31 1673 1672 1674 + 677 31 1676 1675 1677 + 678 31 1679 1678 1680 + 679 31 1682 1681 1683 + 680 31 1685 1684 1686 + 681 31 1688 1687 1689 + 682 31 1691 1690 1692 + 683 31 1694 1693 1695 + 684 31 1697 1696 1698 + 685 31 1700 1699 1701 + 686 31 1703 1702 1704 + 687 31 1706 1705 1707 + 688 31 1709 1708 1710 + 689 31 1712 1711 1713 + 690 31 1715 1714 1716 + 691 31 1718 1717 1719 + 692 31 1721 1720 1722 + 693 31 1724 1723 1725 + 694 31 1727 1726 1728 + 695 31 1730 1729 1731 + 696 31 1733 1732 1734 + 697 31 1736 1735 1737 + 698 31 1739 1738 1740 + 699 31 1742 1741 1743 + 700 31 1745 1744 1746 + 701 31 1748 1747 1749 + 702 31 1751 1750 1752 + 703 31 1754 1753 1755 + 704 31 1757 1756 1758 + 705 31 1760 1759 1761 + 706 31 1763 1762 1764 + 707 31 1766 1765 1767 + 708 31 1769 1768 1770 + 709 31 1772 1771 1773 + 710 31 1775 1774 1776 + 711 31 1778 1777 1779 + 712 31 1781 1780 1782 + 713 31 1784 1783 1785 + 714 31 1787 1786 1788 + 715 31 1790 1789 1791 + 716 31 1793 1792 1794 + 717 31 1796 1795 1797 + 718 31 1799 1798 1800 + 719 31 1802 1801 1803 + 720 31 1805 1804 1806 + 721 31 1808 1807 1809 + 722 31 1811 1810 1812 + 723 31 1814 1813 1815 + 724 31 1817 1816 1818 + 725 31 1820 1819 1821 + 726 31 1823 1822 1824 + 727 31 1826 1825 1827 + 728 31 1829 1828 1830 + 729 31 1832 1831 1833 + 730 31 1835 1834 1836 + 731 31 1838 1837 1839 + 732 31 1841 1840 1842 + 733 31 1844 1843 1845 + 734 31 1847 1846 1848 + 735 31 1850 1849 1851 + 736 31 1853 1852 1854 + 737 31 1856 1855 1857 + 738 31 1859 1858 1860 + 739 31 1862 1861 1863 + 740 31 1865 1864 1866 + 741 31 1868 1867 1869 + 742 31 1871 1870 1872 + 743 31 1874 1873 1875 + 744 31 1877 1876 1878 + 745 31 1880 1879 1881 + 746 31 1883 1882 1884 + 747 31 1886 1885 1887 + 748 31 1889 1888 1890 + 749 31 1892 1891 1893 + 750 31 1895 1894 1896 + 751 31 1898 1897 1899 + 752 31 1901 1900 1902 + 753 31 1904 1903 1905 + 754 31 1907 1906 1908 + 755 31 1910 1909 1911 + 756 31 1913 1912 1914 + 757 31 1916 1915 1917 + 758 31 1919 1918 1920 + 759 31 1922 1921 1923 + 760 31 1925 1924 1926 + 761 31 1928 1927 1929 + 762 31 1931 1930 1932 + 763 31 1934 1933 1935 + 764 31 1937 1936 1938 + 765 31 1940 1939 1941 + 766 31 1943 1942 1944 + 767 31 1946 1945 1947 + 768 31 1949 1948 1950 + 769 31 1952 1951 1953 + 770 31 1955 1954 1956 + 771 31 1958 1957 1959 + 772 31 1961 1960 1962 + 773 31 1964 1963 1965 + 774 31 1967 1966 1968 + 775 31 1970 1969 1971 + 776 31 1973 1972 1974 + 777 31 1976 1975 1977 + 778 31 1979 1978 1980 + 779 31 1982 1981 1983 + 780 31 1985 1984 1986 + 781 31 1988 1987 1989 + 782 31 1991 1990 1992 + 783 31 1994 1993 1995 + 784 31 1997 1996 1998 + 785 31 2000 1999 2001 + 786 31 2003 2002 2004 + +Dihedrals + + 1 6 3 1 7 8 + 2 6 2 1 7 19 + 3 4 2 1 7 8 + 4 5 2 1 7 8 + 5 6 3 1 7 19 + 6 3 3 1 2 4 + 7 3 3 1 2 6 + 8 3 3 1 2 5 + 9 3 5 2 1 7 + 10 3 4 2 1 7 + 11 3 6 2 1 7 + 12 3 19 7 8 20 + 13 1 1 7 8 9 + 14 3 1 7 8 20 + 15 2 1 7 8 11 + 16 8 9 8 11 22 + 17 3 7 8 9 10 + 18 7 7 8 9 28 + 19 8 7 8 11 21 + 20 8 7 8 11 12 + 21 3 9 8 7 19 + 22 3 11 8 9 28 + 23 8 7 8 11 22 + 24 3 11 8 7 19 + 25 10 9 8 11 12 + 26 3 20 8 9 28 + 27 8 9 8 11 21 + 28 8 20 8 11 22 + 29 8 20 8 11 21 + 30 4 8 9 28 29 + 31 5 8 9 28 29 + 32 6 10 9 28 29 + 33 11 10 9 8 11 + 34 6 10 9 28 32 + 35 3 10 9 8 20 + 36 6 8 9 28 32 + 37 9 8 11 12 13 + 38 8 12 11 8 20 + 39 9 8 11 12 14 + 40 14 14 12 13 15 + 41 13 13 12 14 24 + 42 3 13 12 11 22 + 43 14 13 12 14 16 + 44 3 14 12 11 22 + 45 3 13 12 11 21 + 46 13 11 12 14 24 + 47 12 11 12 14 16 + 48 3 14 12 11 21 + 49 13 11 12 13 23 + 50 13 14 12 13 23 + 51 12 11 12 13 15 + 52 16 23 13 15 25 + 53 13 12 13 15 25 + 54 14 12 13 15 17 + 55 14 12 14 16 17 + 56 13 12 14 16 26 + 57 16 24 14 16 26 + 58 12 13 15 17 18 + 59 13 17 15 13 23 + 60 14 13 15 17 16 + 61 12 14 16 17 18 + 62 13 17 16 14 24 + 63 14 14 16 17 15 + 64 15 16 17 18 27 + 65 13 15 17 16 26 + 66 13 18 17 15 25 + 67 15 15 17 18 27 + 68 13 16 17 15 25 + 69 13 18 17 16 26 + 70 1 9 28 29 30 + 71 3 32 28 29 33 + 72 3 9 28 29 33 + 73 3 9 28 29 34 + 74 3 32 28 29 34 + 75 3 33 29 30 35 + 76 3 30 29 28 32 + 77 3 34 29 30 35 + 78 7 28 29 30 35 + 79 3 28 29 30 31 + 80 6 29 30 35 39 + 81 4 29 30 35 36 + 82 5 29 30 35 36 + 83 3 31 30 29 34 + 84 3 31 30 29 33 + 85 6 31 30 35 39 + 86 6 31 30 35 36 + 87 1 30 35 36 37 + 88 3 39 35 36 41 + 89 3 30 35 36 40 + 90 3 30 35 36 41 + 91 3 39 35 36 40 + 92 3 40 36 37 42 + 93 3 41 36 37 42 + 94 7 35 36 37 42 + 95 3 35 36 37 38 + 96 3 37 36 35 39 + 97 6 38 37 42 53 + 98 3 38 37 36 40 + 99 6 38 37 42 43 + 100 4 36 37 42 43 + 101 6 36 37 42 53 + 102 5 36 37 42 43 + 103 3 38 37 36 41 + 104 3 37 42 43 54 + 105 1 37 42 43 44 + 106 3 53 42 43 54 + 107 2 37 42 43 46 + 108 10 44 43 46 47 + 109 3 44 43 42 53 + 110 8 42 43 46 56 + 111 8 42 43 46 55 + 112 8 42 43 46 47 + 113 3 46 43 42 53 + 114 8 44 43 46 55 + 115 8 54 43 46 56 + 116 7 42 43 44 62 + 117 3 42 43 44 45 + 118 3 46 43 44 62 + 119 3 54 43 44 62 + 120 8 54 43 46 55 + 121 8 44 43 46 56 + 122 5 43 44 62 63 + 123 6 45 44 62 70 + 124 6 43 44 62 70 + 125 4 43 44 62 63 + 126 11 45 44 43 46 + 127 3 45 44 43 54 + 128 6 45 44 62 63 + 129 9 43 46 47 48 + 130 8 47 46 43 54 + 131 9 43 46 47 49 + 132 3 49 47 46 55 + 133 13 46 47 48 57 + 134 14 49 47 48 50 + 135 3 49 47 46 56 + 136 12 46 47 48 50 + 137 12 46 47 49 51 + 138 14 48 47 49 51 + 139 13 46 47 49 58 + 140 3 48 47 46 55 + 141 3 48 47 46 56 + 142 13 48 47 49 58 + 143 13 49 47 48 57 + 144 14 47 48 50 52 + 145 16 57 48 50 59 + 146 13 47 48 50 59 + 147 16 58 49 51 60 + 148 13 47 49 51 60 + 149 14 47 49 51 52 + 150 13 48 50 52 61 + 151 14 48 50 52 51 + 152 16 59 50 52 61 + 153 13 52 50 48 57 + 154 14 49 51 52 50 + 155 13 49 51 52 61 + 156 13 52 51 49 58 + 157 16 60 51 52 61 + 158 13 51 52 50 59 + 159 13 50 52 51 60 + 160 3 70 62 63 71 + 161 2 44 62 63 66 + 162 1 44 62 63 64 + 163 3 44 62 63 71 + 164 8 62 63 66 72 + 165 8 62 63 66 67 + 166 3 71 63 64 79 + 167 3 62 63 64 65 + 168 3 64 63 62 70 + 169 8 62 63 66 73 + 170 7 62 63 64 79 + 171 8 64 63 66 67 + 172 3 66 63 64 79 + 173 8 64 63 66 72 + 174 3 66 63 62 70 + 175 8 71 63 66 73 + 176 8 64 63 66 73 + 177 8 71 63 66 72 + 178 6 63 64 79 81 + 179 6 65 64 79 80 + 180 3 65 64 63 71 + 181 4 63 64 79 80 + 182 6 65 64 79 81 + 183 5 63 64 79 80 + 184 11 65 64 63 66 + 185 8 67 66 63 71 + 186 17 63 66 67 74 + 187 17 72 66 67 75 + 188 17 63 66 67 75 + 189 17 63 66 67 68 + 190 17 73 66 67 74 + 191 17 73 66 67 75 + 192 17 72 66 67 74 + 193 19 66 67 68 69 + 194 21 68 67 66 72 + 195 18 66 67 68 69 + 196 21 68 67 66 73 + 197 20 69 68 67 74 + 198 20 69 68 67 75 + 199 20 67 68 69 77 + 200 20 67 68 69 76 + 201 20 67 68 69 78 + 202 3 81 79 80 83 + 203 3 81 79 80 84 + 204 3 64 79 80 84 + 205 3 81 79 80 82 + 206 3 64 79 80 83 + 207 3 64 79 80 82 + +Impropers + + 1 2 7 1 8 19 + 2 1 1 2 7 3 + 3 1 9 8 28 10 + 4 2 28 9 29 32 + 5 1 30 29 35 31 + 6 2 35 30 36 39 + 7 1 37 36 42 38 + 8 2 42 37 43 53 + 9 1 44 43 62 45 + 10 2 62 44 63 70 + 11 1 64 63 79 65 + 12 2 79 64 80 81 diff --git a/unittest/graphics/tests/dump-image-acolor-compute.yaml b/unittest/graphics/tests/dump-image-acolor-compute.yaml new file mode 100644 index 00000000000..90e4e19a35b --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-compute.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:54 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute ke/atom +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute ke all ke/atom + dump viz peptide image 1 ${imagefile} c_ke type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.42 127.38 128.23 + 125.52 125.25 130.49 + 124.72 124.35 131.30 + 122.49 121.97 131.69 + 121.61 120.99 133.19 + 121.07 120.40 132.75 + 118.50 117.58 133.88 + 118.60 117.83 131.14 + 121.41 120.78 131.28 + 120.92 120.42 129.04 + 120.69 120.25 127.68 + 122.22 121.72 130.07 + 121.58 121.25 126.81 + 123.48 123.23 127.26 + 125.92 125.76 128.38 + 126.53 126.36 128.93 + 127.17 127.03 129.15 + 126.56 126.41 128.96 + 126.53 126.37 128.94 + 125.18 124.52 129.39 + 123.03 121.39 132.69 + 122.64 120.73 133.32 + 121.77 119.65 133.94 + 121.17 119.28 132.50 + 119.72 118.16 129.79 + 117.67 116.22 129.30 + 117.81 116.47 128.81 + 123.19 122.33 132.68 + 123.33 122.61 131.26 + 123.73 123.08 131.04 + 123.25 122.73 129.14 + 124.33 123.05 126.83 + 125.81 123.36 127.51 + 127.14 123.75 128.92 + 126.67 123.19 128.31 + 125.19 121.77 127.97 + 120.64 116.95 129.81 + 118.90 115.53 131.09 + 116.70 114.08 131.69 + 119.20 117.16 133.78 + 118.25 114.23 130.53 + 120.38 115.37 127.88 + 120.00 114.64 126.81 + 122.97 118.24 129.19 + 122.14 117.81 132.40 + 117.61 114.25 134.63 + 117.48 114.11 135.34 + 116.73 114.96 137.56 + 114.84 110.92 136.81 + 115.54 110.19 134.08 + 116.14 109.92 130.83 + 119.85 108.53 127.61 + 121.09 109.07 131.50 + 121.14 108.30 129.50 + 119.77 106.88 129.44 + 120.06 106.86 132.25 + 118.92 106.76 135.10 + 115.31 105.94 131.29 + 115.75 108.53 131.35 + 113.19 107.56 127.39 + 113.79 110.75 125.36 + 118.77 116.27 126.38 + 123.09 119.38 130.16 + 123.94 117.73 131.16 + 123.10 116.19 132.44 + 120.47 113.16 133.02 + 119.53 112.66 132.54 + 119.08 112.58 131.94 + 118.78 113.48 130.81 + 113.92 108.47 131.94 + 113.75 108.14 132.75 + 113.71 108.92 131.48 + 116.23 112.06 132.12 + 117.91 114.46 131.24 + 118.34 116.02 127.17 + 119.03 117.91 122.95 + 125.63 125.44 126.11 + 127.47 126.98 128.66 + 127.47 126.98 128.67 + 127.48 126.98 128.69 + 127.48 126.98 128.70 + 127.05 126.79 128.39 + 125.58 124.69 130.23 + 124.45 123.59 130.47 + 122.84 122.38 131.38 + 122.78 122.52 130.76 + 118.58 116.23 133.41 + 117.77 114.78 134.14 + 115.84 112.84 135.19 + 115.34 111.95 135.04 + 116.12 113.22 133.53 + 114.34 111.49 131.56 + 115.14 113.16 127.28 + 117.19 114.11 128.85 + 118.59 114.88 130.27 + 120.97 118.26 130.76 + 123.56 121.86 132.95 + 122.94 121.46 131.37 + 122.75 121.61 128.98 + 122.38 121.75 125.80 + 124.31 124.16 125.11 + 127.23 126.88 128.28 + 127.22 126.88 128.24 + 127.20 126.87 128.19 + 127.02 126.27 128.12 + 125.71 122.91 129.12 + 124.92 121.17 131.84 + 124.02 120.21 131.46 + 120.06 116.53 133.42 + 117.54 113.98 132.89 + 113.67 110.25 134.51 + 113.43 111.64 131.38 + 117.16 116.73 131.34 + 119.77 119.42 131.00 + 119.78 119.53 127.42 + 122.66 122.48 126.97 + 124.23 124.03 128.32 + 124.20 123.87 131.16 + 122.41 122.00 132.06 + 120.77 120.28 132.71 + 120.59 119.78 133.37 + 119.99 118.25 135.04 + 118.99 117.03 137.53 + 116.50 114.53 137.09 + 115.59 113.70 134.69 + 115.63 114.10 133.15 + 117.97 115.43 128.53 + 119.84 117.47 128.06 + 123.79 120.41 131.47 + 123.64 120.03 131.81 + 119.72 115.60 131.82 + 117.61 112.69 135.28 + 115.94 111.50 133.13 + 118.25 114.04 134.72 + 115.09 111.33 130.72 + 115.35 111.76 129.71 + 114.78 110.44 129.10 + 114.50 109.92 131.97 + 116.43 111.93 137.00 + 114.93 110.86 134.44 + 115.75 112.50 133.91 + 115.53 111.94 129.87 + 117.00 112.89 128.15 + 120.02 115.91 127.02 + 119.73 115.23 126.97 + 122.02 117.91 128.28 + 118.82 115.15 132.80 + 115.94 113.17 134.50 + 114.33 112.39 136.62 + 112.78 111.10 136.43 + 111.89 110.02 134.38 + 113.83 112.25 130.73 + 113.49 112.13 126.97 + 118.14 115.70 131.47 + 120.24 118.17 131.24 + 122.14 120.44 131.54 + 121.13 119.92 129.35 + 121.21 120.70 126.83 + 122.84 122.43 126.67 + 124.69 124.26 126.42 + 126.59 126.17 127.75 + 124.46 122.88 130.29 + 123.36 121.12 132.78 + 123.23 120.86 133.69 + 122.11 119.95 131.58 + 121.36 119.56 130.43 + 120.80 119.58 127.22 + 122.19 121.72 125.30 + 125.52 125.44 126.25 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 126.48 125.67 128.61 + 125.64 124.25 129.31 + 126.08 124.47 130.22 + 125.98 124.39 130.12 + 125.57 124.13 129.32 + 124.99 123.81 128.07 + 123.89 121.70 129.07 + 124.28 121.64 131.03 + 124.10 121.36 132.66 + 123.98 121.25 131.85 + 123.95 120.22 130.04 + 124.67 120.48 130.80 + 122.65 118.13 130.25 + 121.94 118.72 132.22 + 120.62 117.79 132.68 + 118.60 115.90 132.32 + 117.08 114.14 133.34 + 115.12 112.45 134.83 + 113.25 109.64 134.72 + 112.38 107.64 133.76 + 112.53 107.45 135.37 + 113.16 107.63 134.29 + 116.16 108.92 133.87 + 119.25 111.83 133.75 + 118.88 111.25 130.06 + 114.09 107.14 128.56 + 112.45 104.83 129.00 + 108.63 103.30 131.41 + 109.89 105.61 133.94 + 111.77 105.16 134.09 + 114.86 107.74 133.57 + 114.87 106.86 132.85 + 115.09 107.60 138.47 + 111.08 104.03 135.36 + 109.58 101.08 135.81 + 106.77 99.49 135.78 + 105.47 99.17 137.71 + 103.83 97.99 139.10 + 104.31 99.34 136.29 + 104.88 98.18 134.05 + 106.16 97.11 135.97 + 107.58 96.55 137.34 + 108.83 97.23 136.74 + 108.91 98.63 129.84 + 112.55 104.88 127.13 + 112.00 106.76 125.52 + 115.42 110.16 127.71 + 118.42 114.53 130.06 + 119.48 114.17 131.99 + 120.64 115.06 130.44 + 119.96 114.15 127.30 + 122.26 116.69 127.55 + 125.00 120.25 128.41 + 122.08 117.70 129.10 + 118.92 114.81 131.72 + 120.27 116.72 134.98 + 118.20 114.72 134.12 + 117.92 114.67 133.84 + 115.55 112.97 129.15 + 115.12 113.17 126.77 + 112.09 110.47 131.16 + 112.20 109.91 136.25 + 111.58 109.80 136.91 + 106.44 104.33 138.07 + 106.57 104.41 138.00 + 107.41 105.28 133.77 + 108.74 104.86 129.72 + 113.11 108.07 131.79 + 115.95 109.62 133.01 + 110.91 103.69 135.91 + 105.62 96.69 135.34 + 104.57 94.60 141.41 + 104.66 92.81 143.94 + 103.36 90.64 142.72 + 102.56 90.73 139.97 + 100.12 90.17 140.16 + 100.56 92.92 137.00 + 106.09 100.72 136.12 + 107.90 103.42 139.09 + 105.75 102.39 136.42 + 106.41 103.31 134.53 + 109.19 105.67 132.62 + 109.94 106.15 132.07 + 112.63 108.80 131.13 + 114.16 110.28 131.66 + 115.72 111.90 131.31 + 116.97 113.77 134.00 + 115.42 112.43 134.50 + 114.12 111.33 131.40 + 114.39 112.06 128.54 + 117.98 115.95 128.06 + 121.60 120.56 127.31 + 124.36 124.19 127.08 + 126.73 126.72 127.43 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 44.78 34.78 196.33 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 101.78 100.78 132.22 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 39.11 32.44 245.33 + 66 82 93.67 71.33 85.44 + 66 98 60.11 57.89 119.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 86.44 85.44 110.44 + 82 82 81.33 28.89 113.78 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 89.00 47.11 182.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 58.33 21.56 92.89 + 130 130 41.11 33.00 186.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 113.89 113.78 117.89 + 146 130 68.11 36.22 201.11 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 28.22 20.56 133.56 + 162 130 76.89 72.11 103.33 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-fx.yaml b/unittest/graphics/tests/dump-image-acolor-fx.yaml new file mode 100644 index 00000000000..5800465d5fb --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-fx.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:52 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} fx type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.76 127.38 127.89 + 127.69 125.25 128.45 + 127.78 124.35 128.88 + 126.84 121.97 127.94 + 127.09 120.99 128.07 + 126.86 120.40 127.60 + 128.33 117.58 124.94 + 127.17 117.83 122.44 + 128.91 120.78 123.54 + 127.57 120.42 122.26 + 127.12 120.25 121.22 + 128.35 121.72 123.96 + 125.20 121.25 123.19 + 126.41 123.23 124.25 + 128.44 125.76 125.80 + 129.01 126.36 126.36 + 129.21 127.03 127.03 + 129.00 126.41 126.41 + 129.03 126.37 126.37 + 127.83 124.52 126.67 + 128.05 121.39 127.79 + 128.47 120.73 128.17 + 128.28 119.65 127.97 + 127.01 119.28 126.72 + 124.94 118.16 124.72 + 123.75 116.22 123.60 + 123.75 116.47 123.33 + 128.50 122.33 128.07 + 127.81 122.61 127.25 + 127.69 123.08 127.18 + 126.39 122.73 125.98 + 125.94 123.05 125.23 + 127.29 123.36 126.03 + 128.94 123.75 127.12 + 128.40 123.19 126.58 + 127.55 121.77 125.62 + 126.50 116.95 123.94 + 126.55 115.53 123.89 + 125.92 114.08 123.23 + 127.86 117.16 125.49 + 125.77 114.23 123.00 + 125.44 115.37 123.00 + 124.72 114.64 122.25 + 127.42 118.24 125.45 + 128.79 117.81 126.86 + 127.91 114.25 125.53 + 128.69 114.11 125.83 + 129.21 114.96 126.59 + 127.73 110.92 124.20 + 126.62 110.19 123.34 + 125.72 109.92 121.70 + 125.61 108.53 122.16 + 128.47 109.07 124.33 + 128.51 108.30 122.45 + 128.09 106.88 121.20 + 129.57 106.86 122.74 + 130.50 106.76 123.89 + 126.19 105.94 121.17 + 125.80 108.53 121.91 + 121.97 107.56 118.69 + 120.36 110.75 118.83 + 122.39 116.27 122.94 + 125.73 119.38 127.71 + 126.70 117.73 128.38 + 127.96 116.19 127.59 + 128.31 113.16 125.17 + 127.95 112.66 124.14 + 127.56 112.58 123.48 + 126.88 113.48 122.73 + 126.75 108.47 119.09 + 128.19 108.14 118.85 + 127.42 108.92 118.35 + 128.57 112.06 120.00 + 128.18 114.46 120.98 + 125.09 116.02 120.42 + 122.02 117.91 119.95 + 126.00 125.44 125.74 + 128.38 126.98 127.73 + 128.40 126.98 127.75 + 128.41 126.98 127.75 + 128.42 126.98 127.76 + 127.33 126.79 128.11 + 126.57 124.69 129.25 + 126.47 123.59 128.70 + 127.19 122.38 127.42 + 127.53 122.52 126.95 + 127.69 116.23 125.14 + 127.72 114.78 124.41 + 127.69 112.84 123.42 + 128.13 111.95 123.10 + 127.72 113.22 122.87 + 125.22 111.49 120.97 + 122.20 113.16 120.20 + 123.66 114.11 122.39 + 124.65 114.88 124.41 + 127.09 118.26 125.16 + 130.22 121.86 126.58 + 128.72 121.46 125.58 + 127.11 121.61 124.61 + 124.75 121.75 123.41 + 124.88 124.16 124.53 + 128.24 126.88 127.28 + 128.19 126.88 127.25 + 128.16 126.87 127.24 + 127.82 126.27 127.31 + 126.31 122.91 128.52 + 127.17 121.17 129.88 + 126.72 120.21 129.44 + 126.53 116.53 127.53 + 125.96 113.98 125.25 + 127.30 110.25 122.38 + 125.94 111.64 119.75 + 128.17 116.73 120.66 + 128.90 119.42 122.00 + 126.19 119.53 121.01 + 126.18 122.48 123.44 + 127.14 124.03 125.92 + 129.03 123.87 127.08 + 128.32 122.00 126.51 + 127.72 120.28 126.10 + 128.47 119.78 126.20 + 126.62 118.25 128.88 + 126.22 117.03 130.22 + 124.67 114.53 128.70 + 123.39 113.70 127.17 + 123.14 114.10 126.51 + 122.84 115.43 123.61 + 123.80 117.47 124.10 + 129.71 120.41 125.53 + 129.81 120.03 125.76 + 128.72 115.60 122.97 + 130.90 112.69 122.16 + 128.57 111.50 121.11 + 130.38 114.04 123.12 + 126.47 111.33 119.41 + 124.41 111.76 120.66 + 123.53 110.44 120.58 + 125.42 109.92 121.45 + 129.85 111.93 124.62 + 127.69 110.86 122.53 + 127.45 112.50 122.95 + 124.94 111.94 120.83 + 124.91 112.89 120.29 + 125.56 115.91 121.47 + 125.89 115.23 120.80 + 128.26 117.91 122.22 + 129.62 115.15 122.23 + 129.66 113.17 122.19 + 130.18 112.39 122.62 + 128.65 111.10 122.02 + 125.88 110.02 120.84 + 123.86 112.25 120.73 + 120.92 112.13 119.53 + 125.01 115.70 125.23 + 125.73 118.17 126.50 + 126.70 120.44 127.56 + 124.89 119.92 125.66 + 123.73 120.70 124.31 + 125.05 122.43 124.47 + 126.14 124.26 124.97 + 127.80 126.17 126.56 + 129.09 122.88 125.67 + 130.09 121.12 126.16 + 130.48 120.86 126.91 + 128.75 119.95 125.31 + 127.06 119.56 124.73 + 124.69 119.58 123.33 + 123.80 121.72 123.69 + 125.81 125.44 125.94 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.54 125.67 126.55 + 129.19 124.25 125.75 + 130.13 124.47 126.20 + 130.00 124.39 126.11 + 129.22 124.13 125.68 + 127.97 123.81 125.08 + 128.18 121.70 124.80 + 129.18 121.64 126.12 + 129.41 121.36 127.39 + 128.15 121.25 128.07 + 126.54 120.22 127.47 + 126.98 120.48 128.50 + 125.61 118.13 127.31 + 127.07 118.72 127.10 + 127.61 117.79 126.20 + 127.12 115.90 124.64 + 127.02 114.14 123.93 + 126.89 112.45 123.29 + 126.28 109.64 122.47 + 124.17 107.64 122.75 + 125.53 107.45 123.12 + 125.53 107.63 123.05 + 126.42 108.92 124.31 + 127.46 111.83 126.03 + 125.27 111.25 124.13 + 121.85 107.14 120.92 + 122.10 104.83 119.81 + 122.08 103.30 118.81 + 124.59 105.61 120.58 + 126.02 105.16 120.42 + 128.19 107.74 121.09 + 129.43 106.86 119.31 + 135.98 107.60 118.30 + 131.97 104.03 114.56 + 131.62 101.08 113.59 + 130.73 99.49 111.84 + 128.85 99.17 115.00 + 125.53 97.99 118.57 + 122.75 99.34 119.81 + 121.20 98.18 119.73 + 121.50 97.11 121.44 + 123.03 96.55 122.08 + 124.08 97.23 121.61 + 119.86 98.63 118.89 + 119.48 104.88 120.22 + 118.85 106.76 118.89 + 122.57 110.16 121.28 + 125.25 114.53 123.91 + 127.31 114.17 124.34 + 127.42 115.06 123.69 + 126.90 114.15 120.36 + 128.47 116.69 121.32 + 129.97 120.25 123.42 + 128.53 117.70 122.66 + 128.03 114.81 122.97 + 130.39 116.72 126.11 + 128.43 114.72 125.18 + 127.38 114.67 124.89 + 123.27 112.97 121.43 + 121.22 113.17 120.65 + 122.08 110.47 121.88 + 125.19 109.91 124.73 + 126.66 109.80 124.42 + 124.83 104.33 121.78 + 124.12 104.41 121.36 + 121.59 105.28 120.07 + 119.38 104.86 119.42 + 123.28 108.07 121.78 + 125.53 109.62 123.50 + 126.97 103.69 119.99 + 126.11 96.69 115.81 + 128.19 94.60 119.03 + 130.84 92.81 118.94 + 129.49 90.64 117.46 + 127.49 90.73 115.66 + 124.11 90.17 116.90 + 122.41 92.92 115.81 + 124.03 100.72 118.49 + 127.92 103.42 119.49 + 125.23 102.39 117.46 + 124.13 103.31 117.38 + 125.14 105.67 117.09 + 125.43 106.15 116.83 + 126.04 108.80 117.95 + 126.80 110.28 119.46 + 126.95 111.90 121.23 + 128.04 113.77 123.95 + 127.40 112.43 123.33 + 124.84 111.33 121.48 + 122.91 112.06 120.56 + 123.86 115.95 122.25 + 124.97 120.56 123.94 + 125.95 124.19 125.51 + 127.14 126.72 127.03 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 201.56 34.78 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 116.56 100.78 117.33 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 150.56 32.44 156.67 + 66 82 92.89 71.33 86.22 + 66 98 91.44 57.89 88.44 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 102.00 85.44 95.00 + 82 82 95.22 28.89 99.89 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 157.44 47.11 114.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 62.67 21.56 89.00 + 130 130 121.22 33.00 114.89 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 115.78 113.78 116.00 + 146 130 162.22 36.22 113.22 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.44 20.56 71.56 + 162 130 99.44 72.11 80.67 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-fy.yaml b/unittest/graphics/tests/dump-image-acolor-fy.yaml new file mode 100644 index 00000000000..bf521f74eef --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-fy.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:53 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} fy type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.62 127.38 128.03 + 126.81 125.25 129.33 + 126.55 124.35 130.11 + 125.03 121.97 129.76 + 124.75 120.99 130.41 + 124.36 120.40 130.10 + 124.59 117.58 128.69 + 124.44 117.83 125.80 + 126.75 120.78 126.42 + 125.59 120.42 124.64 + 125.17 120.25 123.19 + 126.80 121.72 125.50 + 124.38 121.25 124.02 + 125.84 123.23 125.08 + 127.82 125.76 126.61 + 128.47 126.36 127.21 + 128.77 127.03 127.73 + 128.41 126.41 127.21 + 128.47 126.37 127.22 + 126.77 124.52 128.00 + 125.11 121.39 130.75 + 125.04 120.73 131.59 + 124.45 119.65 131.81 + 123.58 119.28 130.16 + 121.84 118.16 127.83 + 120.20 116.22 127.12 + 119.75 116.47 127.31 + 124.88 122.33 131.63 + 124.62 122.61 130.35 + 124.86 123.08 130.01 + 124.13 122.73 128.25 + 125.14 123.05 126.02 + 126.86 123.36 126.46 + 128.79 123.75 127.26 + 128.25 123.19 126.73 + 127.15 121.77 126.02 + 124.94 116.95 125.51 + 124.25 115.53 126.18 + 123.47 114.08 125.69 + 125.58 117.16 127.76 + 122.56 114.23 126.21 + 121.73 115.37 126.68 + 120.83 114.64 126.13 + 124.53 118.24 128.36 + 125.70 117.81 129.93 + 124.75 114.25 128.69 + 125.14 114.11 129.38 + 126.08 114.96 129.72 + 122.66 110.92 129.25 + 120.81 110.19 129.26 + 119.08 109.92 128.31 + 118.26 108.53 129.15 + 119.48 109.07 133.18 + 118.92 108.30 131.91 + 119.41 106.88 129.82 + 121.08 106.86 131.12 + 122.89 106.76 131.53 + 120.33 105.94 127.02 + 121.57 108.53 126.11 + 119.05 107.56 121.61 + 119.08 110.75 120.11 + 120.09 116.27 125.02 + 123.09 119.38 129.47 + 123.18 117.73 131.01 + 123.91 116.19 131.25 + 124.30 113.16 129.19 + 124.29 112.66 127.80 + 123.92 112.58 127.14 + 123.50 113.48 126.11 + 120.80 108.47 125.05 + 120.50 108.14 126.53 + 120.00 108.92 125.77 + 121.31 112.06 127.26 + 122.04 114.46 127.11 + 120.98 116.02 124.54 + 120.08 117.91 121.89 + 125.69 125.44 126.06 + 127.61 126.98 128.51 + 127.61 126.98 128.53 + 127.62 126.98 128.54 + 127.62 126.98 128.56 + 127.73 126.79 127.69 + 127.97 124.69 127.84 + 127.22 123.59 127.94 + 125.89 122.38 128.71 + 125.58 122.52 128.90 + 126.59 116.23 126.13 + 127.04 114.78 124.34 + 123.42 112.84 126.83 + 122.74 111.95 128.10 + 122.68 113.22 127.89 + 119.77 111.49 126.42 + 118.44 113.16 123.98 + 119.23 114.11 126.83 + 120.13 114.88 128.93 + 123.28 118.26 129.00 + 126.91 121.86 129.88 + 125.85 121.46 128.44 + 124.89 121.61 126.85 + 123.55 121.75 124.61 + 124.58 124.16 124.83 + 127.52 126.88 127.99 + 127.50 126.88 127.96 + 127.47 126.87 127.92 + 127.52 126.27 127.61 + 127.57 122.91 127.26 + 127.70 121.17 129.35 + 126.97 120.21 129.06 + 124.44 116.53 129.57 + 123.09 113.98 128.12 + 121.92 110.25 127.73 + 120.66 111.64 125.38 + 123.25 116.73 125.86 + 124.89 119.42 126.01 + 123.48 119.53 123.72 + 124.78 122.48 124.84 + 125.92 124.03 127.12 + 127.02 123.87 129.09 + 125.98 122.00 128.86 + 125.06 120.28 128.75 + 125.29 119.78 129.40 + 124.97 118.25 130.65 + 125.10 117.03 132.09 + 123.50 114.53 130.75 + 122.33 113.70 128.72 + 122.08 114.10 127.54 + 121.34 115.43 125.20 + 122.40 117.47 125.50 + 124.36 120.41 130.90 + 123.99 120.03 131.16 + 120.91 115.60 130.33 + 121.09 112.69 131.90 + 119.69 111.50 130.31 + 122.14 114.04 131.60 + 118.92 111.33 126.95 + 118.33 111.76 126.72 + 119.39 110.44 124.72 + 121.64 109.92 125.28 + 126.61 111.93 127.86 + 125.19 110.86 125.06 + 125.64 112.50 124.69 + 123.77 111.94 121.96 + 122.97 112.89 122.22 + 123.44 115.91 123.59 + 122.64 115.23 124.02 + 123.67 117.91 126.81 + 123.02 115.15 128.91 + 122.14 113.17 129.71 + 122.61 112.39 130.19 + 121.56 111.10 129.10 + 120.14 110.02 126.58 + 120.11 112.25 124.47 + 118.50 112.13 121.93 + 123.17 115.70 127.05 + 124.29 118.17 127.92 + 125.52 120.44 128.75 + 123.91 119.92 126.64 + 123.07 120.70 124.97 + 124.03 122.43 125.50 + 125.16 124.26 125.94 + 126.89 126.17 127.47 + 126.48 122.88 128.27 + 127.02 121.12 129.30 + 127.58 120.86 129.82 + 125.99 119.95 128.06 + 125.12 119.56 126.69 + 123.53 119.58 124.51 + 123.61 121.72 123.87 + 125.88 125.44 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.41 125.67 127.68 + 127.25 124.25 127.71 + 127.91 124.47 128.44 + 127.78 124.39 128.32 + 127.20 124.13 127.69 + 126.33 123.81 126.73 + 125.93 121.70 127.04 + 126.81 121.64 128.51 + 127.28 121.36 129.53 + 126.02 121.25 130.20 + 123.75 120.22 129.81 + 124.25 120.48 130.31 + 122.43 118.13 129.69 + 123.49 118.72 130.45 + 124.50 117.79 129.32 + 124.21 115.90 127.56 + 123.91 114.14 127.06 + 124.61 112.45 125.56 + 123.44 109.64 125.34 + 120.41 107.64 126.46 + 121.11 107.45 127.55 + 120.06 107.63 128.38 + 120.48 108.92 130.21 + 121.41 111.83 131.99 + 119.56 111.25 129.62 + 115.39 107.14 127.34 + 115.70 104.83 126.22 + 114.78 103.30 126.11 + 117.07 105.61 128.09 + 117.25 105.16 129.19 + 118.58 107.74 130.69 + 119.32 106.86 129.56 + 124.62 107.60 130.67 + 120.67 104.03 126.59 + 119.81 101.08 125.80 + 119.34 99.49 124.06 + 117.69 99.17 126.76 + 113.37 97.99 130.61 + 112.54 99.34 129.98 + 110.94 98.18 130.00 + 112.37 97.11 130.38 + 114.80 96.55 130.12 + 116.14 97.23 129.50 + 115.00 98.63 123.72 + 118.08 104.88 121.60 + 118.28 106.76 119.45 + 121.88 110.16 121.95 + 124.80 114.53 124.36 + 125.92 114.17 125.74 + 125.94 115.06 125.16 + 125.92 114.15 121.23 + 127.63 116.69 121.42 + 129.37 120.25 123.14 + 126.34 117.70 124.45 + 124.85 114.81 126.17 + 126.81 116.72 129.69 + 124.45 114.72 129.16 + 123.58 114.67 128.67 + 120.17 112.97 124.53 + 118.14 113.17 123.75 + 117.54 110.47 126.44 + 119.42 109.91 130.50 + 120.67 109.80 130.36 + 118.12 104.33 128.50 + 117.92 104.41 127.58 + 116.64 105.28 125.00 + 116.70 104.86 122.08 + 121.70 108.07 123.36 + 124.70 109.62 124.34 + 123.16 103.69 123.84 + 118.14 96.69 123.65 + 118.02 94.60 129.04 + 116.63 92.81 132.77 + 114.49 90.64 132.07 + 113.39 90.73 129.69 + 113.42 90.17 127.61 + 112.97 92.92 126.34 + 117.21 100.72 126.86 + 121.23 103.42 127.07 + 118.53 102.39 124.18 + 117.60 103.31 123.95 + 118.33 105.67 123.97 + 117.38 106.15 124.88 + 118.22 108.80 125.72 + 118.91 110.28 127.38 + 119.75 111.90 128.35 + 121.33 113.77 130.59 + 120.40 112.43 130.33 + 118.48 111.33 127.81 + 117.92 112.06 125.56 + 120.20 115.95 125.91 + 123.03 120.56 125.88 + 125.19 124.19 126.26 + 126.96 126.72 127.20 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 165.56 34.78 87.33 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 111.89 100.78 122.11 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 141.33 32.44 165.89 + 66 82 80.00 71.33 99.22 + 66 98 93.44 57.89 86.44 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 100.56 85.44 96.44 + 82 82 73.56 28.89 121.67 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 96.11 47.11 175.78 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 85.33 21.56 66.33 + 130 130 64.33 33.00 171.00 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 115.22 113.78 116.56 + 146 130 117.44 36.22 158.11 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 97.33 20.56 64.44 + 162 130 85.00 72.11 95.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-fz.yaml b/unittest/graphics/tests/dump-image-acolor-fz.yaml new file mode 100644 index 00000000000..d91695371b5 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-fz.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:54 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} fz type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.89 127.38 127.75 + 128.53 125.25 127.61 + 128.97 124.35 127.68 + 128.44 121.97 126.36 + 129.00 120.99 126.18 + 128.79 120.40 125.67 + 126.14 117.58 127.12 + 123.48 117.83 126.14 + 124.36 120.78 128.10 + 122.80 120.42 127.03 + 121.53 120.25 126.81 + 124.72 121.72 127.58 + 123.86 121.25 124.55 + 124.61 123.23 126.06 + 125.81 125.76 128.43 + 126.36 126.36 129.01 + 127.03 127.03 129.21 + 126.41 126.41 129.00 + 126.37 126.37 129.03 + 127.29 124.52 127.20 + 129.91 121.39 125.94 + 130.66 120.73 126.00 + 130.73 119.65 125.52 + 129.22 119.28 124.51 + 127.07 118.16 122.59 + 125.94 116.22 121.40 + 124.84 116.47 122.21 + 128.66 122.33 127.92 + 126.94 122.61 128.12 + 126.83 123.08 128.06 + 125.69 122.73 126.69 + 125.72 123.05 125.46 + 127.19 123.36 126.14 + 129.04 123.75 127.02 + 128.45 123.19 126.52 + 127.66 121.77 125.51 + 126.95 116.95 123.49 + 127.13 115.53 123.31 + 126.97 114.08 122.19 + 128.91 117.16 124.45 + 126.80 114.23 121.97 + 126.11 115.37 122.31 + 125.00 114.64 121.97 + 127.61 118.24 125.28 + 129.12 117.81 126.53 + 128.37 114.25 125.06 + 128.90 114.11 125.61 + 129.47 114.96 126.33 + 128.45 110.92 123.47 + 128.04 110.19 122.05 + 127.39 109.92 120.25 + 126.75 108.53 121.03 + 129.00 109.07 123.80 + 126.83 108.30 124.15 + 125.36 106.88 123.89 + 127.27 106.86 125.03 + 129.12 106.76 125.10 + 126.25 105.94 121.07 + 126.56 108.53 121.14 + 122.67 107.56 117.99 + 121.50 110.75 117.69 + 122.66 116.27 122.69 + 126.59 119.38 126.81 + 127.06 117.73 128.01 + 125.99 116.19 129.57 + 124.75 113.16 128.74 + 124.33 112.66 127.60 + 123.81 112.58 127.20 + 123.44 113.48 126.18 + 122.91 108.47 122.94 + 122.98 108.14 124.03 + 122.79 108.92 122.98 + 123.73 112.06 124.83 + 124.00 114.46 125.17 + 122.22 116.02 123.31 + 120.55 117.91 121.42 + 125.69 125.44 126.05 + 127.61 126.98 128.51 + 127.61 126.98 128.53 + 127.62 126.98 128.54 + 127.62 126.98 128.56 + 127.86 126.79 127.58 + 128.41 124.69 127.42 + 128.25 123.59 126.91 + 128.28 122.38 126.31 + 128.22 122.52 126.25 + 128.91 116.23 123.92 + 129.09 114.78 123.04 + 127.99 112.84 123.18 + 127.84 111.95 123.38 + 127.33 113.22 123.25 + 124.92 111.49 121.28 + 122.08 113.16 120.34 + 122.42 114.11 123.62 + 123.17 114.88 125.90 + 125.12 118.26 127.15 + 127.97 121.86 128.81 + 126.78 121.46 127.52 + 125.57 121.61 126.16 + 123.92 121.75 124.23 + 124.66 124.16 124.75 + 127.61 126.88 127.90 + 127.58 126.88 127.87 + 127.56 126.87 127.83 + 127.93 126.27 127.20 + 130.12 122.91 124.22 + 131.75 121.17 124.38 + 131.57 120.21 123.88 + 131.15 116.53 122.74 + 130.26 113.98 120.93 + 130.00 110.25 119.67 + 126.45 111.64 119.60 + 126.48 116.73 122.62 + 127.08 119.42 123.81 + 124.78 119.53 122.42 + 125.46 122.48 124.16 + 126.97 124.03 126.08 + 128.78 123.87 127.31 + 128.30 122.00 126.54 + 127.92 120.28 125.91 + 128.22 119.78 126.47 + 129.09 118.25 126.52 + 130.55 117.03 126.64 + 129.22 114.53 125.02 + 127.43 113.70 123.62 + 126.49 114.10 123.16 + 122.88 115.43 123.66 + 123.13 117.47 124.77 + 125.86 120.41 129.39 + 126.23 120.03 129.34 + 125.02 115.60 126.69 + 126.17 112.69 126.94 + 125.53 111.50 124.46 + 128.04 114.04 125.66 + 123.69 111.33 122.20 + 121.66 111.76 123.41 + 120.76 110.44 123.34 + 123.28 109.92 123.64 + 127.62 111.93 126.85 + 124.95 110.86 125.28 + 125.08 112.50 125.31 + 123.17 111.94 122.60 + 123.92 112.89 121.27 + 125.21 115.91 121.83 + 126.35 115.23 120.34 + 128.58 117.91 121.86 + 129.60 115.15 122.21 + 129.34 113.17 122.52 + 129.03 112.39 123.77 + 127.53 111.10 123.11 + 124.97 110.02 121.75 + 123.22 112.25 121.36 + 120.89 112.13 119.58 + 126.39 115.70 123.81 + 127.28 118.17 124.94 + 128.10 120.44 126.16 + 125.94 119.92 124.59 + 124.28 120.70 123.76 + 125.39 122.43 124.14 + 126.36 124.26 124.75 + 127.97 126.17 126.37 + 129.68 122.88 124.97 + 130.74 121.12 125.14 + 131.28 120.86 125.81 + 129.75 119.95 124.31 + 127.92 119.56 123.89 + 125.26 119.58 122.76 + 124.03 121.72 123.44 + 125.86 125.44 125.90 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.70 125.67 127.39 + 127.74 124.25 127.21 + 128.47 124.47 127.86 + 128.35 124.39 127.75 + 127.72 124.13 127.17 + 126.75 123.81 126.30 + 127.05 121.70 125.92 + 128.47 121.64 126.83 + 129.49 121.36 127.31 + 128.60 121.25 127.63 + 126.67 120.22 127.33 + 127.49 120.48 127.97 + 126.16 118.13 126.75 + 126.31 118.72 127.86 + 126.95 117.79 126.86 + 126.72 115.90 125.04 + 126.72 114.14 124.25 + 126.72 112.45 123.46 + 126.31 109.64 122.46 + 124.97 107.64 121.95 + 126.17 107.45 122.47 + 126.02 107.63 122.57 + 126.36 108.92 124.37 + 126.94 111.83 126.55 + 124.52 111.25 124.89 + 121.62 107.14 121.14 + 122.66 104.83 119.26 + 123.20 103.30 117.72 + 126.00 105.61 119.17 + 127.78 105.16 118.66 + 129.04 107.74 120.22 + 129.90 106.86 119.02 + 129.39 107.60 124.83 + 123.38 104.03 123.16 + 122.33 101.08 122.78 + 118.94 99.49 123.54 + 120.92 99.17 122.92 + 125.61 97.99 118.49 + 126.06 99.34 116.47 + 124.33 98.18 116.62 + 124.44 97.11 118.50 + 123.23 96.55 121.85 + 121.41 97.23 124.27 + 118.00 98.63 120.71 + 119.16 104.88 120.53 + 118.73 106.76 119.00 + 122.22 110.16 121.61 + 125.50 114.53 123.66 + 126.78 114.17 124.89 + 126.36 115.06 124.73 + 125.00 114.15 122.28 + 126.52 116.69 123.29 + 128.22 120.25 125.18 + 127.61 117.70 123.58 + 127.90 114.81 123.11 + 130.74 116.72 125.77 + 129.03 114.72 124.58 + 128.06 114.67 124.19 + 123.85 112.97 120.83 + 121.69 113.17 120.19 + 122.69 110.47 121.28 + 125.61 109.91 124.33 + 126.75 109.80 124.28 + 124.78 104.33 121.85 + 124.05 104.41 121.46 + 121.72 105.28 119.93 + 121.75 104.86 117.02 + 125.83 108.07 118.60 + 127.41 109.62 120.68 + 125.03 103.69 121.34 + 123.94 96.69 117.87 + 126.89 94.60 120.08 + 129.44 92.81 119.98 + 129.12 90.64 117.58 + 127.21 90.73 115.89 + 128.03 90.17 113.02 + 126.64 92.92 112.69 + 127.68 100.72 116.36 + 129.44 103.42 118.83 + 126.14 102.39 116.58 + 124.89 103.31 116.56 + 123.67 105.67 118.51 + 121.78 106.15 120.47 + 121.58 108.80 122.42 + 122.48 110.28 123.80 + 123.08 111.90 125.11 + 124.77 113.77 127.25 + 124.47 112.43 126.25 + 122.69 111.33 123.61 + 121.72 112.06 121.75 + 123.23 115.95 122.87 + 124.55 120.56 124.36 + 125.78 124.19 125.67 + 127.09 126.72 127.06 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 34.78 201.56 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 116.56 100.78 117.56 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 155.78 32.44 151.44 + 66 82 93.56 71.33 85.67 + 66 98 96.00 57.89 83.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 100.67 85.44 96.33 + 82 82 155.67 28.89 39.44 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 116.00 47.11 156.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 121.11 21.56 30.56 + 130 130 122.11 33.00 114.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 116.11 113.78 115.67 + 146 130 115.67 36.22 159.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 78.78 20.56 83.11 + 162 130 97.00 72.11 83.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-id.yaml b/unittest/graphics/tests/dump-image-acolor-id.yaml new file mode 100644 index 00000000000..cb107d716a4 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-id.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:47 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} id type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.19 127.38 127.46 + 130.31 125.25 125.80 + 131.12 124.35 125.12 + 131.40 121.97 122.98 + 132.87 120.99 122.18 + 132.34 120.40 121.62 + 133.06 117.58 119.59 + 130.53 117.83 119.62 + 130.70 120.78 122.33 + 128.47 120.42 121.75 + 126.88 120.25 121.47 + 129.43 121.72 122.87 + 126.47 121.25 121.93 + 127.08 123.23 123.83 + 128.16 125.76 126.28 + 128.73 126.36 126.89 + 129.01 127.03 127.47 + 128.71 126.41 126.91 + 128.74 126.37 126.90 + 129.32 124.52 125.42 + 132.37 121.39 123.44 + 133.12 120.73 123.11 + 133.67 119.65 122.31 + 132.07 119.28 121.67 + 129.37 118.16 120.30 + 128.59 116.22 118.69 + 127.95 116.47 119.05 + 131.88 122.33 124.64 + 130.48 122.61 124.55 + 130.07 123.08 124.81 + 128.28 122.73 124.11 + 127.38 123.05 123.78 + 129.14 123.36 124.17 + 130.94 123.75 124.73 + 130.47 123.19 124.15 + 130.24 121.77 122.92 + 131.20 116.95 119.23 + 131.88 115.53 118.33 + 131.37 114.08 117.36 + 133.03 117.16 120.22 + 130.91 114.23 117.88 + 129.59 115.37 118.78 + 127.95 114.64 119.03 + 129.86 118.24 123.03 + 132.69 117.81 122.95 + 134.10 114.25 119.15 + 134.91 114.11 118.73 + 135.95 114.96 119.10 + 136.06 110.92 115.69 + 135.01 110.19 114.84 + 131.71 109.92 115.28 + 133.39 108.53 113.39 + 135.20 109.07 116.88 + 134.41 108.30 115.70 + 135.39 106.88 113.41 + 138.13 106.86 113.12 + 139.08 106.76 113.84 + 133.62 105.94 112.75 + 132.68 108.53 114.99 + 127.37 107.56 113.29 + 123.98 110.75 115.21 + 124.59 116.27 120.77 + 128.91 119.38 124.52 + 131.13 117.73 123.62 + 131.72 116.19 122.89 + 131.17 113.16 121.52 + 130.62 112.66 121.20 + 129.76 112.58 121.30 + 127.53 113.48 122.06 + 126.06 108.47 119.80 + 126.22 108.14 120.80 + 125.59 108.92 120.22 + 126.35 112.06 122.21 + 126.19 114.46 122.95 + 123.68 116.02 121.84 + 121.25 117.91 120.72 + 125.81 125.44 125.93 + 127.92 126.98 128.21 + 127.93 126.98 128.22 + 127.94 126.98 128.22 + 127.95 126.98 128.24 + 127.57 126.79 127.86 + 127.41 124.69 128.41 + 127.05 123.59 128.12 + 126.84 122.38 127.77 + 126.86 122.52 127.62 + 125.28 116.23 127.56 + 124.66 114.78 127.47 + 123.17 112.84 127.97 + 122.74 111.95 128.49 + 122.64 113.22 127.94 + 120.59 111.49 125.58 + 119.29 113.16 123.14 + 120.56 114.11 125.50 + 121.92 114.88 127.15 + 124.06 118.26 128.21 + 126.77 121.86 130.00 + 125.73 121.46 128.56 + 124.80 121.61 126.94 + 123.50 121.75 124.67 + 124.56 124.16 124.84 + 127.47 126.88 128.04 + 127.45 126.88 128.00 + 127.43 126.87 127.97 + 127.13 126.27 128.00 + 125.23 122.91 129.58 + 124.50 121.17 132.45 + 123.66 120.21 132.12 + 121.78 116.53 132.03 + 119.86 113.98 131.34 + 117.00 110.25 132.38 + 116.74 111.64 128.88 + 120.10 116.73 128.64 + 121.85 119.42 129.03 + 120.89 119.53 126.31 + 123.14 122.48 126.48 + 125.14 124.03 127.92 + 125.73 123.87 130.37 + 124.45 122.00 130.38 + 123.31 120.28 130.50 + 123.03 119.78 131.66 + 121.28 118.25 134.33 + 120.63 117.03 135.86 + 118.57 114.53 134.88 + 117.34 113.70 133.53 + 117.55 114.10 132.07 + 116.72 115.43 129.72 + 118.30 117.47 128.90 + 121.03 120.41 133.42 + 120.91 120.03 133.85 + 117.12 115.60 134.05 + 115.33 112.69 136.85 + 114.78 111.50 134.27 + 117.83 114.04 135.09 + 114.89 111.33 130.83 + 114.92 111.76 130.13 + 114.00 110.44 129.83 + 113.77 109.92 132.71 + 115.89 111.93 137.61 + 114.19 110.86 135.11 + 115.01 112.50 134.35 + 113.69 111.94 131.28 + 114.22 112.89 130.51 + 116.75 115.91 129.60 + 116.67 115.23 129.47 + 119.51 117.91 130.87 + 118.75 115.15 133.06 + 117.64 113.17 133.68 + 117.41 112.39 134.81 + 116.09 111.10 134.18 + 114.81 110.02 131.78 + 115.88 112.25 128.64 + 115.52 112.13 124.94 + 120.06 115.70 130.10 + 122.00 118.17 130.22 + 123.75 120.44 130.51 + 122.62 119.92 127.92 + 122.49 120.70 125.56 + 123.65 122.43 125.86 + 124.83 124.26 126.28 + 126.58 126.17 127.77 + 125.03 122.88 129.72 + 124.67 121.12 131.59 + 124.94 120.86 132.47 + 123.60 119.95 130.47 + 122.94 119.56 128.87 + 121.98 119.58 126.04 + 122.89 121.72 124.59 + 125.72 125.44 126.04 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.29 125.67 126.80 + 128.76 124.25 126.19 + 129.64 124.47 126.70 + 129.50 124.39 126.60 + 128.77 124.13 126.13 + 127.61 123.81 125.45 + 127.94 121.70 125.03 + 129.50 121.64 125.80 + 130.81 121.36 125.98 + 130.49 121.25 125.72 + 128.72 120.22 125.27 + 129.48 120.48 126.00 + 129.11 118.13 123.80 + 130.39 118.72 123.78 + 130.61 117.79 122.97 + 130.82 115.90 120.78 + 131.78 114.14 119.20 + 131.28 112.45 118.61 + 130.66 109.64 117.79 + 131.48 107.64 115.44 + 133.31 107.45 115.14 + 133.00 107.63 115.06 + 134.94 108.92 115.56 + 135.75 111.83 117.71 + 132.97 111.25 116.35 + 130.31 107.14 112.47 + 130.34 104.83 111.25 + 130.26 103.30 110.14 + 132.13 105.61 112.83 + 133.16 105.16 113.24 + 132.57 107.74 116.66 + 132.00 106.86 116.89 + 135.94 107.60 119.19 + 133.06 104.03 114.12 + 132.68 101.08 112.52 + 132.23 99.49 110.28 + 133.28 99.17 110.17 + 133.35 97.99 110.25 + 132.10 99.34 110.06 + 130.89 98.18 109.36 + 133.97 97.11 108.14 + 134.98 96.55 108.61 + 133.41 97.23 110.58 + 128.63 98.63 108.98 + 128.03 104.88 111.48 + 126.40 106.76 111.12 + 127.73 110.16 115.25 + 129.65 114.53 118.84 + 131.27 114.17 119.72 + 130.35 115.06 119.92 + 127.72 114.15 118.88 + 128.12 116.69 121.55 + 128.63 120.25 124.76 + 124.97 117.70 126.22 + 122.42 114.81 128.60 + 123.92 116.72 132.59 + 122.31 114.72 131.30 + 122.00 114.67 130.26 + 118.94 112.97 125.76 + 118.29 113.17 123.58 + 116.58 110.47 127.36 + 116.97 109.91 132.43 + 116.67 109.80 133.51 + 112.28 104.33 133.78 + 112.12 104.41 133.38 + 111.79 105.28 129.84 + 111.67 104.86 127.11 + 115.09 108.07 129.84 + 117.03 109.62 131.99 + 112.23 103.69 134.43 + 105.34 96.69 135.33 + 104.75 94.60 140.60 + 104.42 92.81 144.01 + 103.04 90.64 143.09 + 102.47 90.73 139.63 + 100.67 90.17 139.46 + 101.00 92.92 136.91 + 106.62 100.72 135.57 + 108.36 103.42 138.91 + 107.59 102.39 135.15 + 109.00 103.31 132.40 + 110.89 105.67 130.94 + 111.12 106.15 130.99 + 112.56 108.80 130.96 + 113.58 110.28 131.92 + 115.03 111.90 132.13 + 117.40 113.77 134.07 + 116.92 112.43 133.76 + 115.98 111.33 130.34 + 116.49 112.06 127.00 + 119.68 115.95 126.42 + 122.84 120.56 126.07 + 125.11 124.19 126.36 + 126.94 126.72 127.22 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 183.67 34.78 67.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.89 100.78 105.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 213.78 32.44 93.00 + 66 82 98.56 71.33 80.56 + 66 98 119.67 57.89 60.22 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 102.89 85.44 94.22 + 82 82 101.00 28.89 94.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 107.56 47.11 164.44 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 57.89 21.56 93.67 + 130 130 51.67 33.00 179.44 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 114.78 113.78 117.00 + 146 130 60.22 36.22 205.67 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 25.44 20.56 136.22 + 162 130 78.33 72.11 101.78 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-mass.yaml b/unittest/graphics/tests/dump-image-acolor-mass.yaml new file mode 100644 index 00000000000..77f775d4d3e --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-mass.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:47 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} mass type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.38 127.38 128.27 + 125.25 125.25 130.62 + 124.35 124.35 131.43 + 121.97 121.97 131.98 + 120.99 120.99 133.47 + 120.40 120.40 133.22 + 119.06 117.58 132.96 + 119.78 117.83 130.17 + 122.91 120.78 130.25 + 122.44 120.42 127.78 + 122.36 120.25 126.00 + 123.39 121.72 128.91 + 122.06 121.25 126.33 + 124.13 123.23 126.78 + 126.77 125.76 127.67 + 127.41 126.36 128.26 + 127.89 127.03 128.60 + 127.40 126.41 128.22 + 127.42 126.37 128.27 + 126.75 124.52 128.01 + 127.48 121.39 127.57 + 127.38 120.73 127.42 + 127.31 119.65 127.30 + 126.69 119.28 126.61 + 125.42 118.16 124.02 + 124.03 116.22 122.68 + 123.75 116.47 122.71 + 128.10 122.33 128.11 + 125.95 122.61 129.12 + 125.86 123.08 129.01 + 124.97 122.73 127.41 + 123.71 123.05 127.47 + 123.68 123.36 129.35 + 123.96 123.75 131.21 + 123.31 123.19 130.84 + 121.92 121.77 130.94 + 117.28 116.95 132.91 + 115.81 115.53 133.21 + 115.08 114.08 132.24 + 118.23 117.16 134.04 + 116.61 114.23 132.06 + 118.08 115.37 130.09 + 117.44 114.64 129.33 + 120.91 118.24 131.19 + 120.14 117.81 134.31 + 116.63 114.25 135.40 + 117.02 114.11 135.55 + 117.56 114.96 136.60 + 116.67 110.92 134.82 + 117.16 110.19 132.97 + 118.23 109.92 129.41 + 117.81 108.53 129.85 + 119.81 109.07 132.22 + 118.77 108.30 131.30 + 116.63 106.88 132.13 + 115.87 106.86 135.74 + 114.85 106.76 138.25 + 112.90 105.94 132.82 + 114.51 108.53 132.27 + 112.42 107.56 127.97 + 113.08 110.75 125.99 + 118.45 116.27 126.47 + 122.38 119.38 130.63 + 122.46 117.73 132.29 + 121.72 116.19 132.89 + 119.01 113.16 133.68 + 118.12 112.66 133.16 + 117.71 112.58 132.44 + 118.64 113.48 130.29 + 112.96 108.47 132.42 + 112.72 108.14 132.59 + 112.30 108.92 131.70 + 115.03 112.06 132.69 + 117.05 114.46 132.12 + 117.96 116.02 127.56 + 119.03 117.91 122.94 + 125.74 125.44 126.00 + 127.74 126.98 128.38 + 127.75 126.98 128.38 + 127.76 126.98 128.40 + 127.77 126.98 128.41 + 127.45 126.79 127.99 + 126.98 124.69 128.85 + 125.78 123.59 129.38 + 123.58 122.38 130.64 + 123.20 122.52 130.34 + 119.75 116.23 132.23 + 119.66 114.78 132.24 + 118.89 112.84 132.16 + 118.50 111.95 131.92 + 119.07 113.22 130.62 + 116.77 111.49 128.95 + 117.14 113.16 125.29 + 119.23 114.11 126.83 + 119.48 114.88 129.00 + 121.09 118.26 130.22 + 123.53 121.86 132.55 + 122.89 121.46 131.29 + 122.80 121.61 128.94 + 122.39 121.75 125.78 + 124.33 124.16 125.08 + 127.50 126.88 128.01 + 127.48 126.88 127.97 + 127.45 126.87 127.94 + 127.25 126.27 127.88 + 126.86 122.91 127.96 + 127.78 121.17 129.29 + 127.29 120.21 128.87 + 123.61 116.53 130.38 + 121.20 113.98 129.22 + 118.97 110.25 129.79 + 117.72 111.64 127.80 + 120.04 116.73 129.09 + 122.08 119.42 128.82 + 121.67 119.53 125.53 + 123.69 122.48 125.95 + 124.39 124.03 128.00 + 124.44 123.87 130.70 + 122.56 122.00 131.74 + 120.86 120.28 132.50 + 120.94 119.78 132.81 + 122.30 118.25 132.60 + 122.02 117.03 135.01 + 119.53 114.53 134.69 + 118.73 113.70 131.76 + 118.17 114.10 130.51 + 121.21 115.43 125.36 + 122.66 117.47 125.27 + 127.00 120.41 128.27 + 126.75 120.03 128.83 + 123.11 115.60 128.59 + 120.56 112.69 132.18 + 117.42 111.50 131.53 + 117.97 114.04 134.88 + 114.89 111.33 130.66 + 116.14 111.76 128.94 + 115.19 110.44 128.85 + 114.48 109.92 131.38 + 117.22 111.93 135.54 + 115.62 110.86 133.32 + 116.02 112.50 134.06 + 114.72 111.94 131.06 + 115.53 112.89 129.27 + 118.01 115.91 128.12 + 118.11 115.23 127.83 + 120.52 117.91 129.75 + 118.40 115.15 133.47 + 116.52 113.17 133.81 + 117.00 112.39 134.00 + 115.93 111.10 133.78 + 114.84 110.02 131.87 + 116.22 112.25 128.34 + 115.19 112.13 125.28 + 119.44 115.70 130.00 + 120.89 118.17 130.45 + 122.48 120.44 131.08 + 121.33 119.92 129.09 + 121.19 120.70 126.86 + 123.16 122.43 126.36 + 125.22 124.26 125.90 + 127.14 126.17 127.21 + 125.87 122.88 128.88 + 124.94 121.12 130.94 + 124.58 120.86 131.91 + 123.42 119.95 129.91 + 122.19 119.56 129.43 + 121.23 119.58 126.78 + 122.15 121.72 125.33 + 125.44 125.44 126.33 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 125.67 125.67 129.43 + 124.25 124.25 130.25 + 124.47 124.47 130.95 + 124.39 124.39 130.91 + 124.13 124.13 130.56 + 123.81 123.81 129.26 + 122.87 121.70 130.10 + 122.95 121.64 131.68 + 122.28 121.36 133.35 + 121.95 121.25 132.93 + 122.64 120.22 131.34 + 123.64 120.48 131.84 + 121.76 118.13 131.16 + 121.08 118.72 132.66 + 119.40 117.79 133.04 + 116.73 115.90 133.31 + 114.60 114.14 135.10 + 112.84 112.45 136.23 + 111.74 109.64 135.45 + 109.92 107.64 135.86 + 109.53 107.45 137.69 + 111.10 107.63 135.49 + 113.77 108.92 135.60 + 117.86 111.83 135.42 + 117.58 111.25 131.83 + 114.24 107.14 128.51 + 112.61 104.83 128.53 + 111.16 103.30 128.56 + 112.97 105.61 130.58 + 114.70 105.16 130.96 + 116.39 107.74 131.69 + 117.28 106.86 130.56 + 120.60 107.60 134.18 + 116.53 104.03 130.41 + 115.72 101.08 129.40 + 116.13 99.49 126.03 + 113.22 99.17 129.31 + 110.42 97.99 131.74 + 109.55 99.34 130.31 + 108.39 98.18 129.94 + 107.44 97.11 134.19 + 107.72 96.55 136.83 + 108.45 97.23 136.28 + 108.43 98.63 129.58 + 112.28 104.88 127.23 + 111.61 106.76 125.82 + 114.63 110.16 128.12 + 117.79 114.53 130.53 + 118.31 114.17 132.53 + 118.66 115.06 131.54 + 117.58 114.15 128.94 + 120.11 116.69 129.54 + 123.39 120.25 130.01 + 121.38 117.70 129.80 + 118.95 114.81 131.42 + 120.92 116.72 134.00 + 118.38 114.72 133.69 + 117.82 114.67 133.78 + 115.55 112.97 129.12 + 115.19 113.17 126.66 + 112.97 110.47 130.20 + 113.58 109.91 134.79 + 113.37 109.80 135.38 + 108.42 104.33 136.50 + 108.25 104.41 136.12 + 108.55 105.28 132.12 + 109.51 104.86 128.53 + 114.38 108.07 130.50 + 117.71 109.62 131.31 + 114.70 103.69 132.31 + 111.44 96.69 129.87 + 110.81 94.60 135.38 + 109.07 92.81 138.70 + 105.83 90.64 138.63 + 103.33 90.73 137.30 + 102.44 90.17 137.03 + 104.42 92.92 134.09 + 110.07 100.72 133.88 + 114.61 103.42 133.09 + 112.73 102.39 129.04 + 112.42 103.31 128.45 + 114.47 105.67 127.75 + 115.32 106.15 126.89 + 118.08 108.80 125.95 + 119.56 110.28 126.33 + 120.12 111.90 127.48 + 120.89 113.77 130.68 + 118.75 112.43 131.31 + 116.08 111.33 129.19 + 114.63 112.06 128.13 + 116.87 115.95 129.14 + 120.56 120.56 128.37 + 124.19 124.19 127.28 + 126.72 126.72 127.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 99.44 34.78 152.89 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 100.78 100.78 133.22 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 32.44 32.44 247.78 + 66 82 84.11 71.33 95.00 + 66 98 57.89 57.89 122.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 85.44 85.44 111.67 + 82 82 75.44 28.89 119.67 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 110.11 47.11 161.89 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 57.67 21.56 93.89 + 130 130 115.33 33.00 121.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 113.78 113.78 118.00 + 146 130 88.78 36.22 179.67 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 48.44 20.56 113.67 + 162 130 84.89 72.11 95.22 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-mol.yaml b/unittest/graphics/tests/dump-image-acolor-mol.yaml new file mode 100644 index 00000000000..3c2051812b0 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-mol.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:45 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} mol type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.38 127.38 128.27 + 125.25 125.25 130.62 + 124.35 124.35 131.43 + 121.97 121.97 131.98 + 120.99 120.99 133.47 + 120.40 120.40 133.22 + 117.58 117.58 134.43 + 117.83 117.83 131.53 + 120.78 120.78 131.68 + 120.42 120.42 129.41 + 120.25 120.25 128.10 + 121.72 121.72 130.59 + 121.25 121.25 127.15 + 123.23 123.23 127.44 + 125.76 125.76 128.47 + 126.36 126.36 129.01 + 127.03 127.03 129.21 + 126.41 126.41 129.00 + 126.37 126.37 129.03 + 124.52 124.52 129.98 + 121.39 121.39 133.66 + 120.73 120.73 134.06 + 119.65 119.65 134.96 + 119.28 119.28 134.01 + 118.16 118.16 131.28 + 116.22 116.22 130.49 + 116.47 116.47 129.72 + 122.33 122.33 133.01 + 122.61 122.61 131.59 + 123.08 123.08 131.47 + 122.73 122.73 129.65 + 123.05 123.05 128.12 + 123.36 123.36 129.68 + 123.75 123.75 131.43 + 123.19 123.19 130.97 + 121.77 121.77 131.09 + 116.95 116.95 133.23 + 115.53 115.53 133.50 + 114.08 114.08 133.26 + 117.16 117.16 135.12 + 114.23 114.23 134.46 + 115.37 115.37 132.21 + 114.64 114.64 131.23 + 118.24 118.24 133.22 + 117.81 117.81 136.57 + 114.25 114.25 137.62 + 114.11 114.11 137.80 + 114.96 114.96 138.28 + 110.92 110.92 139.93 + 110.19 110.19 138.69 + 109.92 109.92 135.78 + 108.53 108.53 137.07 + 109.07 109.07 141.53 + 108.30 108.30 140.31 + 106.88 106.88 140.46 + 106.86 106.86 142.69 + 106.76 106.76 144.35 + 105.94 105.94 139.07 + 108.53 108.53 138.11 + 107.56 107.56 132.37 + 110.75 110.75 127.83 + 116.27 116.27 128.38 + 119.38 119.38 132.76 + 117.73 117.73 136.02 + 116.19 116.19 137.51 + 113.16 113.16 138.75 + 112.66 112.66 137.65 + 112.58 112.58 136.75 + 113.48 113.48 135.16 + 108.47 108.47 136.91 + 108.14 108.14 136.78 + 108.92 108.92 134.34 + 112.06 112.06 134.93 + 114.46 114.46 134.52 + 116.02 116.02 129.50 + 117.91 117.91 124.06 + 125.44 125.44 126.31 + 126.98 126.98 128.86 + 126.98 126.98 128.88 + 126.98 126.98 128.90 + 126.98 126.98 128.92 + 126.79 126.79 128.65 + 124.69 124.69 130.74 + 123.59 123.59 130.81 + 122.38 122.38 131.77 + 122.52 122.52 131.03 + 116.23 116.23 135.59 + 114.78 114.78 136.24 + 112.84 112.84 137.09 + 111.95 111.95 137.25 + 113.22 113.22 135.60 + 111.49 111.49 133.82 + 113.16 113.16 129.28 + 114.11 114.11 131.94 + 114.88 114.88 133.00 + 118.26 118.26 132.12 + 121.86 121.86 133.67 + 121.46 121.46 132.67 + 121.61 121.61 130.13 + 121.75 121.75 126.42 + 124.16 124.16 125.26 + 126.88 126.88 128.63 + 126.88 126.88 128.58 + 126.87 126.87 128.53 + 126.27 126.27 128.87 + 122.91 122.91 131.44 + 121.17 121.17 134.47 + 120.21 120.21 134.31 + 116.53 116.53 136.53 + 113.98 113.98 136.27 + 110.25 110.25 137.63 + 111.64 111.64 132.94 + 116.73 116.73 131.56 + 119.42 119.42 131.21 + 119.53 119.53 127.69 + 122.48 122.48 127.16 + 124.03 124.03 128.37 + 123.87 123.87 131.27 + 122.00 122.00 132.31 + 120.28 120.28 133.06 + 119.78 119.78 133.97 + 118.25 118.25 136.27 + 117.03 117.03 138.31 + 114.53 114.53 137.97 + 113.70 113.70 135.99 + 114.10 114.10 134.57 + 115.43 115.43 130.85 + 117.47 117.47 129.60 + 120.41 120.41 133.75 + 120.03 120.03 134.28 + 115.60 115.60 135.18 + 112.69 112.69 138.84 + 111.50 111.50 136.53 + 114.04 114.04 138.05 + 111.33 111.33 134.05 + 111.76 111.76 133.18 + 110.44 110.44 132.93 + 109.92 109.92 135.09 + 111.93 111.93 140.23 + 110.86 110.86 137.77 + 112.50 112.50 136.65 + 111.94 111.94 132.99 + 112.89 112.89 131.62 + 115.91 115.91 130.22 + 115.23 115.23 130.72 + 117.91 117.91 131.65 + 115.15 115.15 135.79 + 113.17 113.17 136.66 + 112.39 112.39 138.09 + 111.10 111.10 137.45 + 110.02 110.02 135.53 + 112.25 112.25 131.84 + 112.13 112.13 128.34 + 115.70 115.70 132.97 + 118.17 118.17 132.85 + 120.44 120.44 133.12 + 119.92 119.92 130.50 + 120.70 120.70 127.34 + 122.43 122.43 127.08 + 124.26 124.26 126.86 + 126.17 126.17 128.18 + 122.88 122.88 131.43 + 121.12 121.12 133.86 + 120.86 120.86 134.90 + 119.95 119.95 133.19 + 119.56 119.56 132.06 + 119.58 119.58 128.44 + 121.72 121.72 125.78 + 125.44 125.44 126.33 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 125.67 125.67 129.43 + 124.25 124.25 130.25 + 124.47 124.47 130.95 + 124.39 124.39 130.91 + 124.13 124.13 130.56 + 123.81 123.81 129.26 + 121.70 121.70 131.26 + 121.64 121.64 132.50 + 121.36 121.36 133.91 + 121.25 121.25 133.63 + 120.22 120.22 133.29 + 120.48 120.48 133.72 + 118.13 118.13 133.21 + 118.72 118.72 134.79 + 117.79 117.79 134.66 + 115.90 115.90 134.14 + 114.14 114.14 135.56 + 112.45 112.45 136.62 + 109.64 109.64 136.99 + 107.64 107.64 137.72 + 107.45 107.45 139.26 + 107.63 107.63 138.10 + 108.92 108.92 139.56 + 111.83 111.83 139.91 + 111.25 111.25 136.38 + 107.14 107.14 134.57 + 104.83 104.83 136.20 + 103.30 103.30 136.25 + 105.61 105.61 137.17 + 105.16 105.16 139.47 + 107.74 107.74 139.12 + 106.86 106.86 139.22 + 107.60 107.60 144.02 + 104.03 104.03 141.61 + 101.08 101.08 142.75 + 99.49 99.49 140.97 + 99.17 99.17 141.91 + 97.99 97.99 143.75 + 99.34 99.34 140.50 + 98.18 98.18 139.86 + 97.11 97.11 143.35 + 96.55 96.55 145.00 + 97.23 97.23 144.01 + 98.63 98.63 138.46 + 104.88 104.88 134.63 + 106.76 106.76 130.67 + 110.16 110.16 132.14 + 114.53 114.53 133.59 + 114.17 114.17 136.53 + 115.06 115.06 135.06 + 114.15 114.15 132.27 + 116.69 116.69 132.21 + 120.25 120.25 132.27 + 117.70 117.70 133.09 + 114.81 114.81 135.00 + 116.72 116.72 137.26 + 114.72 114.72 136.62 + 114.67 114.67 136.79 + 112.97 112.97 131.71 + 113.17 113.17 128.69 + 110.47 110.47 132.70 + 109.91 109.91 138.34 + 109.80 109.80 138.15 + 104.33 104.33 139.69 + 104.41 104.41 139.49 + 105.28 105.28 135.40 + 104.86 104.86 133.18 + 108.07 108.07 135.72 + 109.62 109.62 137.66 + 103.69 103.69 141.36 + 96.69 96.69 142.88 + 94.60 94.60 148.28 + 92.81 92.81 151.62 + 90.64 90.64 151.95 + 90.73 90.73 149.31 + 90.17 90.17 148.78 + 92.92 92.92 143.24 + 100.72 100.72 140.16 + 103.42 103.42 142.06 + 102.39 102.39 139.06 + 103.31 103.31 136.49 + 105.67 105.67 134.94 + 106.15 106.15 135.01 + 108.80 108.80 134.50 + 110.28 110.28 134.50 + 111.90 111.90 134.08 + 113.77 113.77 136.68 + 112.43 112.43 137.22 + 111.33 111.33 133.94 + 112.06 112.06 130.72 + 115.95 115.95 130.06 + 120.56 120.56 128.37 + 124.19 124.19 127.28 + 126.72 126.72 127.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 34.78 201.56 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 100.78 100.78 133.22 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 32.44 32.44 247.78 + 66 82 71.33 71.33 107.89 + 66 98 57.89 57.89 122.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 85.44 85.44 111.67 + 82 82 28.89 28.89 164.44 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 47.11 47.11 210.67 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 21.56 21.56 130.11 + 130 130 33.00 33.00 191.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 113.78 113.78 118.00 + 146 130 36.22 36.22 220.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 20.56 20.56 141.56 + 162 130 72.11 72.11 108.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-q.yaml b/unittest/graphics/tests/dump-image-acolor-q.yaml new file mode 100644 index 00000000000..1ee90c0d4fa --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-q.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:46 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} q type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.91 127.38 127.73 + 128.62 125.25 127.50 + 129.12 124.35 127.53 + 128.49 121.97 126.31 + 128.91 120.99 126.27 + 128.60 120.40 125.86 + 127.22 117.58 126.07 + 124.95 117.83 125.29 + 125.97 120.78 127.20 + 124.37 120.42 125.86 + 123.20 120.25 125.15 + 125.65 121.72 126.64 + 124.11 121.25 124.28 + 125.14 123.23 125.76 + 126.67 125.76 127.76 + 127.26 126.36 128.42 + 127.78 127.03 128.72 + 127.26 126.41 128.36 + 127.27 126.37 128.42 + 127.26 124.52 127.50 + 128.13 121.39 127.72 + 128.56 120.73 128.11 + 128.37 119.65 127.90 + 127.08 119.28 126.67 + 124.88 118.16 124.78 + 123.58 116.22 123.76 + 122.77 116.47 124.32 + 127.31 122.33 129.28 + 126.59 122.61 128.47 + 126.60 123.08 128.28 + 125.50 122.73 126.89 + 125.67 123.05 125.49 + 127.13 123.36 126.20 + 128.74 123.75 127.33 + 128.25 123.19 126.72 + 127.44 121.77 125.73 + 126.64 116.95 123.80 + 126.97 115.53 123.48 + 125.94 114.08 123.21 + 127.78 117.16 125.55 + 125.56 114.23 123.20 + 125.52 115.37 122.90 + 125.16 114.64 121.81 + 128.01 118.24 124.89 + 130.76 117.81 124.86 + 131.62 114.25 121.66 + 131.56 114.11 122.28 + 132.60 114.96 122.44 + 128.79 110.92 122.81 + 126.72 110.19 122.40 + 125.99 109.92 120.07 + 122.47 108.53 123.92 + 123.87 109.07 128.75 + 122.17 108.30 128.36 + 120.62 106.88 128.09 + 122.67 106.86 128.86 + 124.74 106.76 129.18 + 121.70 105.94 125.64 + 122.52 108.53 125.18 + 119.74 107.56 120.95 + 120.08 110.75 119.09 + 123.02 116.27 122.31 + 127.00 119.38 126.44 + 127.36 117.73 127.73 + 126.33 116.19 129.21 + 123.73 113.16 129.48 + 122.70 112.66 128.80 + 122.06 112.58 128.55 + 120.85 113.48 128.63 + 122.53 108.47 123.30 + 126.56 108.14 120.02 + 127.52 108.92 117.48 + 130.98 112.06 116.83 + 130.86 114.46 118.11 + 127.27 116.02 118.23 + 123.25 117.91 118.72 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.90 126.98 126.98 + 128.92 126.98 126.98 + 127.70 126.79 127.72 + 127.88 124.69 127.94 + 127.72 123.59 127.44 + 127.93 122.38 126.67 + 127.97 122.52 126.50 + 125.89 116.23 126.90 + 124.33 114.78 127.30 + 122.70 112.84 127.76 + 122.35 111.95 127.97 + 121.94 113.22 127.91 + 120.62 111.49 125.25 + 119.50 113.16 122.90 + 123.84 114.11 122.20 + 127.43 114.88 121.62 + 128.25 118.26 124.02 + 129.21 121.86 127.58 + 127.87 121.46 126.44 + 126.36 121.61 125.36 + 124.36 121.75 123.81 + 124.76 124.16 124.64 + 127.75 126.88 127.76 + 127.72 126.88 127.73 + 127.69 126.87 127.70 + 127.13 126.27 128.01 + 123.41 122.91 131.21 + 121.91 121.17 134.19 + 120.96 120.21 133.97 + 121.60 116.53 131.82 + 121.97 113.98 129.12 + 123.73 110.25 125.08 + 124.48 111.64 120.62 + 129.28 116.73 119.01 + 130.34 119.42 120.30 + 127.28 119.53 119.92 + 126.67 122.48 122.96 + 127.44 124.03 125.62 + 129.53 123.87 126.57 + 129.15 122.00 125.70 + 128.87 120.28 124.94 + 129.05 119.78 125.64 + 128.03 118.25 127.58 + 129.14 117.03 128.07 + 127.86 114.53 126.36 + 126.06 113.70 125.00 + 125.50 114.10 124.16 + 120.54 115.43 125.92 + 120.88 117.47 126.34 + 121.03 120.41 133.42 + 121.12 120.03 133.62 + 121.36 115.60 129.77 + 126.17 112.69 126.02 + 127.25 111.50 121.75 + 132.75 114.04 120.14 + 129.07 111.33 116.64 + 127.25 111.76 117.80 + 123.94 110.44 120.17 + 124.20 109.92 122.72 + 126.86 111.93 127.62 + 124.53 110.86 125.70 + 124.91 112.50 125.50 + 122.58 111.94 123.19 + 122.30 112.89 122.91 + 123.34 115.91 123.69 + 123.08 115.23 123.59 + 125.20 117.91 125.29 + 126.47 115.15 125.47 + 126.81 113.17 125.03 + 126.86 112.39 125.95 + 125.95 111.10 124.69 + 124.22 110.02 122.50 + 123.00 112.25 121.57 + 121.02 112.13 119.42 + 126.83 115.70 123.39 + 127.92 118.17 124.31 + 128.75 120.44 125.50 + 126.58 119.92 123.97 + 124.84 120.70 123.20 + 124.39 122.43 125.12 + 124.64 124.26 126.48 + 126.17 126.17 128.18 + 125.47 122.88 128.84 + 126.64 121.12 128.60 + 127.67 120.86 128.46 + 125.97 119.95 127.48 + 126.23 119.56 125.56 + 124.60 119.58 123.42 + 124.63 121.72 122.85 + 126.25 125.44 125.50 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.01 125.67 127.08 + 128.28 124.25 126.67 + 129.09 124.47 127.25 + 128.96 124.39 127.14 + 128.28 124.13 126.63 + 127.20 123.81 125.86 + 126.94 121.70 126.03 + 128.33 121.64 126.97 + 129.57 121.36 127.23 + 129.37 121.25 126.85 + 127.19 120.22 126.81 + 127.58 120.48 127.89 + 126.18 118.13 126.73 + 127.44 118.72 126.72 + 127.84 117.79 125.97 + 127.42 115.90 124.35 + 127.49 114.14 123.47 + 127.53 112.45 122.67 + 126.58 109.64 122.16 + 126.00 107.64 120.93 + 127.54 107.45 121.13 + 126.94 107.63 121.55 + 126.23 108.92 124.50 + 125.69 111.83 127.36 + 122.34 111.25 126.33 + 118.36 107.14 123.84 + 117.29 104.83 124.58 + 116.05 103.30 124.83 + 119.58 105.61 125.11 + 123.31 105.16 122.42 + 128.05 107.74 120.86 + 130.34 106.86 117.74 + 132.57 107.60 121.40 + 126.46 104.03 120.35 + 123.22 101.08 121.90 + 118.92 99.49 123.92 + 118.09 99.17 126.09 + 121.11 97.99 122.61 + 121.39 99.34 121.14 + 120.42 98.18 120.41 + 121.58 97.11 120.54 + 124.14 96.55 119.48 + 125.86 97.23 117.91 + 122.73 98.63 115.89 + 121.64 104.88 118.02 + 121.48 106.76 116.25 + 122.12 110.16 121.24 + 125.06 114.53 123.92 + 125.58 114.17 126.04 + 125.10 115.06 125.98 + 122.05 114.15 125.19 + 122.58 116.69 126.72 + 123.96 120.25 128.89 + 122.79 117.70 128.18 + 122.94 114.81 127.64 + 125.86 116.72 129.86 + 125.49 114.72 127.54 + 125.50 114.67 126.68 + 121.92 112.97 122.75 + 122.61 113.17 119.28 + 126.23 110.47 117.74 + 130.40 109.91 119.42 + 130.06 109.80 120.97 + 128.59 104.33 118.05 + 128.09 104.41 117.41 + 125.56 105.28 115.98 + 121.86 104.86 116.92 + 121.98 108.07 122.74 + 122.42 109.62 126.03 + 120.36 103.69 126.28 + 113.94 96.69 128.00 + 114.55 94.60 131.82 + 116.11 92.81 132.26 + 115.59 90.64 130.28 + 117.01 90.73 126.03 + 122.56 90.17 118.32 + 125.34 92.92 112.70 + 131.15 100.72 111.09 + 136.47 103.42 110.28 + 132.02 102.39 109.94 + 127.94 103.31 113.25 + 124.31 105.67 117.75 + 119.03 106.15 123.02 + 117.31 108.80 126.11 + 116.81 110.28 128.57 + 117.75 111.90 129.10 + 120.16 113.77 130.96 + 120.69 112.43 129.74 + 120.17 111.33 126.14 + 120.90 112.06 122.58 + 123.67 115.95 122.44 + 125.42 120.56 123.49 + 126.11 124.19 125.35 + 127.17 126.72 126.99 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 90.44 34.78 162.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 120.33 100.78 113.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 205.78 32.44 101.44 + 66 82 92.67 71.33 86.56 + 66 98 109.67 57.89 70.22 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 101.11 85.44 95.78 + 82 82 108.89 28.89 86.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 157.67 47.11 114.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 45.11 21.56 106.22 + 130 130 38.00 33.00 188.33 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 116.33 113.78 115.44 + 146 130 95.78 36.22 170.67 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 68.89 20.56 92.89 + 162 130 86.67 72.11 93.56 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-type.yaml b/unittest/graphics/tests/dump-image-acolor-type.yaml new file mode 100644 index 00000000000..70306a2e427 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-type.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:45 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.90 131.03 118.31 + 126.67 128.23 118.67 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.47 126.22 123.57 + 126.21 127.37 126.14 + 126.75 127.97 126.75 + 127.03 127.98 127.03 + 126.41 127.51 126.41 + 126.37 127.53 126.37 + 127.16 127.95 124.52 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.02 126.03 118.16 + 122.77 125.03 116.86 + 125.92 126.49 124.28 + 131.51 131.43 130.38 + 130.28 130.12 129.29 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.42 127.08 125.25 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.29 131.60 116.12 + 132.55 131.18 116.23 + 134.50 132.43 119.58 + 134.35 126.00 120.88 + 132.21 123.78 122.42 + 130.34 120.26 122.33 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 130.19 124.79 127.00 + 128.15 127.10 128.76 + 126.95 129.46 128.00 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.88 125.63 119.25 + 130.40 129.56 124.50 + 128.82 126.27 123.92 + 126.45 125.02 120.19 + 128.04 126.89 119.98 + 130.07 128.41 119.95 + 126.83 125.01 117.22 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 127.36 122.20 117.42 + 131.57 124.78 121.56 + 133.46 130.98 120.30 + 133.95 132.16 119.75 + 129.34 129.95 121.17 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.76 114.22 117.22 + 124.53 113.98 115.64 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.64 128.64 128.64 + 128.65 128.65 128.65 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 128.19 132.63 125.63 + 125.31 133.38 127.00 + 126.07 128.29 124.00 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.59 121.77 121.82 + 130.34 126.06 121.81 + 131.33 129.84 123.55 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 128.20 128.20 128.20 + 128.16 128.16 128.16 + 126.87 128.53 128.53 + 126.27 128.87 128.87 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.20 124.56 131.87 + 122.47 118.94 126.38 + 124.90 116.41 120.22 + 127.53 120.10 120.79 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.27 129.35 123.87 + 132.31 129.76 122.00 + 133.06 130.09 121.89 + 133.55 130.83 122.66 + 135.03 129.28 128.05 + 137.39 129.37 129.56 + 137.03 128.43 127.05 + 134.68 126.59 125.75 + 133.26 125.27 125.39 + 124.29 118.58 129.14 + 120.86 121.36 128.43 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.58 121.09 126.06 + 125.06 120.31 122.17 + 129.16 120.91 120.91 + 127.72 117.25 115.89 + 128.72 118.37 114.83 + 128.79 117.41 112.22 + 130.94 120.34 110.53 + 133.48 126.00 112.58 + 129.47 124.28 111.74 + 127.69 125.31 113.58 + 125.51 124.22 112.91 + 126.19 125.39 113.64 + 127.03 126.63 116.41 + 128.99 126.11 115.50 + 131.25 127.78 117.97 + 133.49 125.86 115.15 + 133.90 124.77 113.17 + 135.87 125.30 112.39 + 134.72 124.43 111.10 + 132.53 122.28 110.02 + 129.78 121.50 112.25 + 126.12 118.38 112.13 + 130.44 121.51 115.70 + 130.00 122.03 118.17 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 125.66 123.19 122.43 + 126.58 125.26 124.26 + 126.17 128.18 126.17 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.69 125.53 120.48 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 135.44 133.03 115.84 + 133.77 131.68 118.22 + 131.28 129.91 123.66 + 129.81 128.66 127.47 + 125.91 124.98 126.82 + 124.21 122.55 122.29 + 123.22 122.74 121.06 + 121.81 123.45 120.01 + 123.80 125.95 121.90 + 129.72 122.50 123.58 + 134.06 119.64 123.99 + 133.01 115.71 123.58 + 131.55 117.71 125.37 + 126.05 119.52 119.16 + 122.75 121.54 118.04 + 115.93 123.34 113.24 + 118.96 128.68 108.23 + 125.55 132.72 106.36 + 126.98 132.62 105.69 + 125.85 131.53 106.58 + 129.88 131.57 105.23 + 131.05 130.74 105.93 + 130.99 129.99 109.67 + 126.03 124.86 109.50 + 123.33 123.33 114.11 + 121.34 121.12 114.69 + 120.22 120.48 121.44 + 124.86 124.14 125.29 + 124.86 125.85 126.67 + 124.41 126.75 125.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 127.19 119.38 115.08 + 135.26 125.95 113.73 + 135.13 128.53 113.58 + 134.61 127.29 109.61 + 134.03 126.59 110.48 + 130.66 125.45 112.18 + 124.20 125.06 116.50 + 125.19 128.30 121.77 + 123.73 130.36 125.47 + 123.84 132.62 124.81 + 119.94 134.78 118.29 + 124.19 139.46 112.77 + 129.50 142.28 109.10 + 130.34 142.07 106.17 + 132.37 137.56 101.47 + 138.69 126.03 99.55 + 137.40 119.41 102.41 + 138.44 115.36 109.05 + 139.41 111.74 115.45 + 136.03 110.52 113.83 + 133.21 114.06 112.23 + 131.56 116.33 111.72 + 127.28 116.19 115.93 + 123.39 117.22 119.92 + 122.01 117.36 122.78 + 120.46 116.95 124.39 + 120.72 117.33 127.41 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 59.11 134.56 59.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 107.56 90.44 159.00 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 181.00 181.00 181.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 26.56 125.22 125.22 + 130 130 57.89 33.00 166.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 123.22 80.78 172.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.89 98.11 28.44 + 162 130 108.11 90.22 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-vx.yaml b/unittest/graphics/tests/dump-image-acolor-vx.yaml new file mode 100644 index 00000000000..b9f257c5745 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-vx.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:50 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} vx type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.69 127.38 127.95 + 127.24 125.25 128.89 + 127.16 124.35 129.50 + 126.16 121.97 128.63 + 126.41 120.99 128.77 + 126.26 120.40 128.19 + 125.94 117.58 127.36 + 125.12 117.83 125.09 + 126.96 120.78 126.20 + 125.48 120.42 124.73 + 124.84 120.25 123.51 + 127.69 121.72 124.61 + 125.39 121.25 123.00 + 126.19 123.23 124.72 + 127.45 125.76 126.98 + 128.06 126.36 127.62 + 128.43 127.03 128.07 + 128.02 126.41 127.59 + 128.06 126.37 127.62 + 128.55 124.52 126.22 + 130.59 121.39 125.19 + 131.14 120.73 125.18 + 131.38 119.65 124.64 + 129.98 119.28 123.75 + 127.31 118.16 122.36 + 125.78 116.22 121.56 + 124.97 116.47 122.08 + 128.82 122.33 127.75 + 127.97 122.61 127.09 + 127.84 123.08 127.05 + 126.48 122.73 125.89 + 126.17 123.05 125.00 + 127.64 123.36 125.68 + 129.37 123.75 126.69 + 128.87 123.19 126.11 + 127.53 121.77 125.64 + 125.65 116.95 124.79 + 125.44 115.53 125.03 + 124.54 114.08 124.62 + 126.54 117.16 126.81 + 125.20 114.23 123.56 + 126.00 115.37 122.42 + 125.99 114.64 120.98 + 129.04 118.24 123.85 + 129.51 117.81 126.13 + 126.91 114.25 126.52 + 126.14 114.11 128.38 + 126.39 114.96 129.43 + 124.38 110.92 127.56 + 123.83 110.19 126.26 + 123.31 109.92 124.30 + 120.76 108.53 126.92 + 122.80 109.07 129.22 + 122.50 108.30 127.56 + 122.89 106.88 125.87 + 125.23 106.86 126.92 + 127.77 106.76 126.64 + 125.92 105.94 121.42 + 126.53 108.53 121.17 + 122.44 107.56 118.24 + 121.50 110.75 117.69 + 123.18 116.27 122.03 + 127.08 119.38 126.27 + 125.39 117.73 129.69 + 124.97 116.19 130.43 + 123.97 113.16 129.44 + 123.54 112.66 128.53 + 123.44 112.58 127.61 + 123.73 113.48 125.88 + 126.15 108.47 119.47 + 127.75 108.14 118.41 + 127.69 108.92 117.17 + 129.51 112.06 118.67 + 129.29 114.46 119.86 + 125.67 116.02 119.86 + 122.13 117.91 119.85 + 125.93 125.44 125.81 + 128.19 126.98 127.92 + 128.22 126.98 127.93 + 128.22 126.98 127.94 + 128.24 126.98 127.95 + 127.89 126.79 127.55 + 128.49 124.69 127.33 + 128.32 123.59 126.84 + 128.28 122.38 126.32 + 128.20 122.52 126.27 + 128.10 116.23 124.75 + 127.89 114.78 124.25 + 127.05 112.84 124.10 + 127.16 111.95 124.05 + 126.63 113.22 123.95 + 124.81 111.49 121.36 + 121.97 113.16 120.46 + 124.38 114.11 121.68 + 126.01 114.88 123.05 + 126.86 118.26 125.42 + 128.38 121.86 128.41 + 127.12 121.46 127.18 + 125.92 121.61 125.81 + 124.11 121.75 124.06 + 124.72 124.16 124.69 + 128.00 126.88 127.51 + 127.97 126.88 127.49 + 127.92 126.87 127.46 + 127.91 126.27 127.22 + 128.22 122.91 126.60 + 129.65 121.17 127.42 + 129.23 120.21 126.93 + 127.78 116.53 126.28 + 126.31 113.98 124.90 + 125.61 110.25 124.09 + 123.34 111.64 122.67 + 124.57 116.73 124.55 + 125.54 119.42 125.36 + 123.77 119.53 123.43 + 124.95 122.48 124.68 + 126.50 124.03 126.56 + 128.00 123.87 128.10 + 127.69 122.00 127.17 + 127.55 120.28 126.27 + 128.19 119.78 126.50 + 128.53 118.25 127.09 + 129.44 117.03 127.77 + 127.56 114.53 126.67 + 125.37 113.70 125.69 + 124.31 114.10 125.33 + 124.02 115.43 122.52 + 124.92 117.47 122.99 + 129.64 120.41 125.62 + 129.72 120.03 125.84 + 127.42 115.60 124.28 + 127.11 112.69 125.99 + 124.41 111.50 125.61 + 125.17 114.04 128.53 + 121.53 111.33 124.33 + 122.33 111.76 122.75 + 124.08 110.44 120.06 + 126.51 109.92 120.36 + 130.51 111.93 123.97 + 128.06 110.86 122.19 + 127.60 112.50 122.80 + 124.78 111.94 120.98 + 124.05 112.89 121.16 + 124.56 115.91 122.46 + 124.36 115.23 122.32 + 126.17 117.91 124.31 + 126.66 115.15 125.28 + 126.14 113.17 125.70 + 126.19 112.39 126.61 + 125.11 111.10 125.55 + 123.54 110.02 123.19 + 122.64 112.25 121.94 + 121.22 112.13 119.23 + 127.58 115.70 122.63 + 128.43 118.17 123.80 + 129.16 120.44 125.11 + 126.86 119.92 123.69 + 124.94 120.70 123.11 + 125.14 122.43 124.39 + 125.61 124.26 125.50 + 127.15 126.17 127.20 + 126.91 122.88 127.83 + 127.22 121.12 129.10 + 127.53 120.86 129.89 + 125.99 119.95 128.08 + 124.85 119.56 126.95 + 123.22 119.58 124.81 + 123.30 121.72 124.18 + 125.75 125.44 126.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 129.43 125.67 125.67 + 130.25 124.25 124.25 + 130.95 124.47 124.47 + 130.91 124.39 124.39 + 130.56 124.13 124.13 + 129.26 123.81 123.81 + 127.97 121.70 125.02 + 128.69 121.64 126.61 + 129.71 121.36 127.11 + 128.78 121.25 127.23 + 126.53 120.22 127.47 + 127.56 120.48 127.94 + 125.67 118.13 127.23 + 125.04 118.72 129.15 + 124.81 117.79 128.99 + 124.77 115.90 127.02 + 125.95 114.14 125.01 + 126.68 112.45 123.22 + 127.06 109.64 121.40 + 126.86 107.64 120.03 + 127.33 107.45 121.33 + 126.38 107.63 122.22 + 127.72 108.92 123.02 + 128.19 111.83 125.28 + 126.66 111.25 122.76 + 123.17 107.14 119.59 + 122.53 104.83 119.39 + 121.87 103.30 119.08 + 124.01 105.61 121.15 + 126.30 105.16 120.16 + 128.21 107.74 121.08 + 129.05 106.86 119.85 + 132.10 107.60 123.22 + 127.20 104.03 120.01 + 126.94 101.08 118.70 + 125.02 99.49 118.37 + 125.48 99.17 119.08 + 124.49 97.99 119.58 + 123.42 99.34 119.11 + 122.02 98.18 118.89 + 121.75 97.11 121.17 + 122.72 96.55 122.36 + 123.09 97.23 122.42 + 118.75 98.63 119.88 + 118.92 104.88 120.77 + 118.00 106.76 119.73 + 120.17 110.16 123.48 + 122.62 114.53 126.54 + 122.64 114.17 128.50 + 122.00 115.06 128.19 + 120.19 114.15 126.33 + 122.00 116.69 127.64 + 124.50 120.25 128.91 + 125.56 117.70 125.62 + 127.36 114.81 123.68 + 131.10 116.72 125.39 + 129.74 114.72 123.87 + 128.84 114.67 123.43 + 124.58 112.97 120.13 + 122.39 113.17 119.51 + 123.20 110.47 120.78 + 126.45 109.91 123.48 + 126.70 109.80 124.33 + 124.01 104.33 122.61 + 122.94 104.41 122.56 + 120.93 105.28 120.75 + 119.72 104.86 119.05 + 123.34 108.07 121.73 + 126.34 109.62 122.69 + 125.77 103.69 121.25 + 122.98 96.69 118.92 + 125.20 94.60 122.00 + 126.52 92.81 123.34 + 125.27 90.64 121.64 + 123.28 90.73 119.86 + 122.03 90.17 119.03 + 121.08 92.92 118.22 + 122.93 100.72 121.13 + 125.09 103.42 123.19 + 121.49 102.39 121.24 + 120.68 103.31 120.83 + 121.64 105.67 120.65 + 122.26 106.15 119.99 + 123.56 108.80 120.43 + 124.62 110.28 121.66 + 125.14 111.90 123.06 + 126.80 113.77 125.21 + 126.02 112.43 124.72 + 123.33 111.33 122.95 + 121.44 112.06 122.03 + 122.46 115.95 123.64 + 124.17 120.56 124.74 + 125.73 124.19 125.73 + 127.09 126.72 127.07 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 140.11 34.78 112.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 121.44 100.78 112.44 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 147.11 32.44 160.22 + 66 82 98.11 71.33 81.00 + 66 98 87.11 57.89 92.78 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 97.56 85.44 99.56 + 82 82 127.56 28.89 67.56 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 164.44 47.11 107.44 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 84.78 21.56 67.00 + 130 130 122.56 33.00 113.67 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 116.33 113.78 115.44 + 146 130 149.44 36.22 125.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 84.33 20.56 77.67 + 162 130 91.89 72.11 88.22 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-vy.yaml b/unittest/graphics/tests/dump-image-acolor-vy.yaml new file mode 100644 index 00000000000..9159f8fc468 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-vy.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:51 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} vy type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.93 127.38 127.72 + 128.75 125.25 127.39 + 129.29 124.35 127.36 + 128.53 121.97 126.27 + 128.79 120.99 126.39 + 128.34 120.40 126.14 + 128.30 117.58 124.97 + 126.40 117.83 123.82 + 127.60 120.78 125.56 + 125.99 120.42 124.21 + 125.00 120.25 123.35 + 126.93 121.72 125.38 + 124.64 121.25 123.74 + 125.86 123.23 125.05 + 127.57 125.76 126.86 + 128.20 126.36 127.48 + 128.55 127.03 127.95 + 128.16 126.41 127.46 + 128.21 126.37 127.48 + 128.51 124.52 126.25 + 130.55 121.39 125.31 + 131.25 120.73 125.31 + 131.47 119.65 124.76 + 129.87 119.28 123.87 + 127.33 118.16 122.34 + 125.82 116.22 121.52 + 125.78 116.47 121.30 + 129.75 122.33 126.84 + 128.90 122.61 126.17 + 128.65 123.08 126.22 + 127.17 122.73 125.21 + 127.23 123.05 123.94 + 129.37 123.36 123.67 + 131.22 123.75 123.95 + 130.84 123.19 123.31 + 130.46 121.77 122.41 + 129.79 116.95 120.64 + 129.41 115.53 121.05 + 127.95 114.08 121.19 + 129.32 117.16 124.03 + 127.47 114.23 121.30 + 126.95 115.37 121.46 + 126.31 114.64 120.67 + 129.15 118.24 123.75 + 131.06 117.81 124.59 + 130.70 114.25 122.73 + 130.71 114.11 123.80 + 131.89 114.96 123.89 + 130.73 110.92 121.22 + 129.68 110.19 120.44 + 128.13 109.92 119.48 + 127.22 108.53 120.54 + 129.60 109.07 123.19 + 127.42 108.30 123.58 + 125.67 106.88 123.55 + 126.98 106.86 125.33 + 129.40 106.76 125.06 + 126.46 105.94 120.89 + 127.01 108.53 120.69 + 123.34 107.56 117.31 + 122.14 110.75 117.05 + 124.39 116.27 120.94 + 128.89 119.38 124.55 + 131.35 117.73 123.62 + 132.03 116.19 123.05 + 129.93 113.16 123.16 + 128.56 112.66 123.50 + 126.94 112.58 124.12 + 125.17 113.48 124.43 + 124.09 108.47 121.76 + 124.89 108.14 122.10 + 125.06 108.92 120.67 + 126.69 112.06 121.88 + 126.70 114.46 122.47 + 124.14 116.02 121.39 + 121.53 117.91 120.45 + 125.88 125.44 125.86 + 128.08 126.98 128.03 + 128.09 126.98 128.05 + 128.10 126.98 128.06 + 128.12 126.98 128.07 + 128.00 126.79 127.43 + 128.88 124.69 126.94 + 128.74 123.59 126.43 + 128.59 122.38 126.01 + 128.43 122.52 126.05 + 127.98 116.23 124.84 + 128.01 114.78 124.11 + 128.66 112.84 122.50 + 128.79 111.95 122.43 + 128.07 113.22 122.50 + 125.66 111.49 120.53 + 123.12 113.16 119.30 + 125.52 114.11 120.52 + 127.43 114.88 121.64 + 128.75 118.26 123.53 + 130.78 121.86 126.00 + 129.24 121.46 125.07 + 127.39 121.61 124.33 + 124.92 121.75 123.25 + 124.90 124.16 124.50 + 128.00 126.88 127.50 + 127.97 126.88 127.48 + 127.94 126.87 127.46 + 128.00 126.27 127.13 + 128.90 122.91 125.92 + 130.68 121.17 126.39 + 130.31 120.21 125.83 + 129.63 116.53 124.42 + 128.44 113.98 122.78 + 128.16 110.25 121.55 + 125.36 111.64 120.66 + 126.02 116.73 123.11 + 126.58 119.42 124.33 + 124.37 119.53 122.83 + 125.39 122.48 124.23 + 127.44 124.03 125.61 + 129.60 123.87 126.49 + 129.25 122.00 125.61 + 128.94 120.28 124.89 + 129.38 119.78 125.31 + 129.85 118.25 125.75 + 131.13 117.03 126.06 + 129.92 114.53 124.30 + 128.16 113.70 122.89 + 127.27 114.10 122.36 + 125.36 115.43 121.18 + 125.83 117.47 122.07 + 129.34 120.41 125.92 + 129.28 120.03 126.28 + 127.26 115.60 124.43 + 127.98 112.69 125.11 + 125.58 111.50 124.42 + 126.43 114.04 127.27 + 122.69 111.33 123.18 + 122.90 111.76 122.17 + 125.81 110.44 118.31 + 128.73 109.92 117.61 + 133.34 111.93 120.52 + 131.22 110.86 118.71 + 131.03 112.50 119.39 + 127.31 111.94 118.47 + 125.19 112.89 120.03 + 124.56 115.91 122.46 + 124.13 115.23 122.53 + 125.78 117.91 124.69 + 127.38 115.15 124.56 + 128.22 113.17 123.64 + 129.37 112.39 123.44 + 128.65 111.10 122.00 + 126.55 110.02 120.19 + 124.73 112.25 119.84 + 122.63 112.13 117.82 + 128.24 115.70 121.98 + 128.91 118.17 123.31 + 129.57 120.44 124.68 + 127.31 119.92 123.23 + 125.44 120.70 122.61 + 125.66 122.43 123.86 + 125.89 124.26 125.22 + 127.36 126.17 126.98 + 127.82 122.88 126.92 + 128.58 121.12 127.72 + 129.03 120.86 128.37 + 127.35 119.95 126.71 + 126.05 119.56 125.75 + 124.06 119.58 123.96 + 123.66 121.72 123.81 + 125.83 125.44 125.92 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.62 125.67 127.47 + 127.61 124.25 127.34 + 128.32 124.47 128.01 + 128.20 124.39 127.90 + 127.59 124.13 127.31 + 126.64 123.81 126.42 + 125.83 121.70 127.14 + 126.48 121.64 128.81 + 127.05 121.36 129.75 + 126.90 121.25 129.33 + 126.33 120.22 127.67 + 127.73 120.48 127.75 + 128.12 118.13 124.78 + 130.15 118.72 124.03 + 130.59 117.79 123.22 + 130.41 115.90 121.36 + 131.06 114.14 119.91 + 130.75 112.45 119.36 + 130.37 109.64 118.34 + 130.91 107.64 116.05 + 131.40 107.45 116.73 + 130.66 107.63 116.97 + 132.28 108.92 117.77 + 132.75 111.83 120.63 + 130.06 111.25 119.33 + 125.42 107.14 117.34 + 124.03 104.83 117.91 + 124.18 103.30 116.72 + 126.81 105.61 118.37 + 128.55 105.16 117.89 + 130.10 107.74 119.10 + 130.37 106.86 118.53 + 134.08 107.60 121.22 + 129.07 104.03 118.17 + 127.50 101.08 118.11 + 125.58 99.49 117.80 + 125.61 99.17 118.96 + 125.73 97.99 118.34 + 124.69 99.34 117.86 + 124.55 98.18 116.41 + 127.56 97.11 115.38 + 129.26 96.55 115.62 + 128.91 97.23 116.29 + 125.19 98.63 113.19 + 125.10 104.88 114.59 + 123.37 106.76 114.37 + 125.77 110.16 118.08 + 127.19 114.53 121.97 + 127.27 114.17 124.39 + 126.41 115.06 124.69 + 124.17 114.15 123.10 + 125.25 116.69 124.56 + 126.83 120.25 126.56 + 128.28 117.70 122.89 + 130.16 114.81 120.40 + 133.68 116.72 122.17 + 132.34 114.72 120.91 + 131.22 114.67 121.04 + 126.54 112.97 118.16 + 123.89 113.17 117.97 + 125.32 110.47 118.64 + 128.77 109.91 121.16 + 129.40 109.80 121.64 + 127.71 104.33 118.91 + 126.73 104.41 118.76 + 124.06 105.28 117.58 + 122.61 104.86 116.18 + 126.14 108.07 118.94 + 128.56 109.62 120.44 + 129.19 103.69 117.81 + 127.42 96.69 114.47 + 130.97 94.60 116.20 + 132.34 92.81 117.52 + 130.94 90.64 115.97 + 128.75 90.73 114.38 + 127.92 90.17 113.12 + 125.68 92.92 113.62 + 126.15 100.72 117.93 + 127.02 103.42 121.26 + 123.68 102.39 119.06 + 122.87 103.31 118.64 + 122.98 105.67 119.31 + 123.38 106.15 118.90 + 124.36 108.80 119.62 + 125.53 110.28 120.75 + 126.08 111.90 122.11 + 128.04 113.77 123.96 + 127.33 112.43 123.39 + 124.38 111.33 121.93 + 122.17 112.06 121.29 + 122.69 115.95 123.41 + 124.30 120.56 124.61 + 125.89 124.19 125.56 + 127.15 126.72 127.02 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 148.78 34.78 103.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 117.11 100.78 116.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 182.67 32.44 124.44 + 66 82 97.56 71.33 81.56 + 66 98 102.56 57.89 77.22 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 105.11 85.44 91.89 + 82 82 107.11 28.89 88.00 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 159.56 47.11 112.44 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 95.44 21.56 56.00 + 130 130 131.44 33.00 105.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 116.44 113.78 115.33 + 146 130 168.00 36.22 107.44 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 99.11 20.56 62.89 + 162 130 92.44 72.11 87.67 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-vz.yaml b/unittest/graphics/tests/dump-image-acolor-vz.yaml new file mode 100644 index 00000000000..cf9c9dfe5d3 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-vz.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:52 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} vz type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.84 127.38 127.81 + 128.16 125.25 127.97 + 128.47 124.35 128.18 + 128.37 121.97 126.43 + 129.53 120.99 125.66 + 129.69 120.40 124.65 + 129.88 117.58 123.34 + 128.34 117.83 121.88 + 129.44 120.78 123.72 + 127.30 120.42 122.91 + 125.71 120.25 122.65 + 127.55 121.72 124.75 + 125.08 121.25 123.31 + 126.17 123.23 124.73 + 127.74 125.76 126.69 + 128.37 126.36 127.31 + 128.69 127.03 127.81 + 128.32 126.41 127.30 + 128.38 126.37 127.31 + 128.32 124.52 126.44 + 129.85 121.39 126.00 + 130.56 120.73 126.09 + 130.61 119.65 125.64 + 129.08 119.28 124.64 + 126.69 118.16 122.97 + 125.73 116.22 121.61 + 125.56 116.47 121.48 + 130.12 122.33 126.47 + 129.28 122.61 125.79 + 129.00 123.08 125.88 + 127.44 122.73 124.95 + 127.35 123.05 123.83 + 129.36 123.36 123.70 + 131.20 123.75 124.02 + 130.82 123.19 123.38 + 129.79 121.77 123.09 + 128.61 116.95 121.81 + 128.34 115.53 122.03 + 127.12 114.08 121.80 + 128.81 117.16 124.41 + 127.01 114.23 121.76 + 126.97 115.37 121.38 + 126.72 114.64 120.25 + 129.31 118.24 123.58 + 130.61 117.81 125.03 + 128.94 114.25 124.48 + 128.56 114.11 125.96 + 129.43 114.96 126.35 + 127.64 110.92 124.31 + 126.46 110.19 123.64 + 125.51 109.92 122.11 + 128.09 108.53 119.58 + 131.32 109.07 120.70 + 132.16 108.30 117.91 + 133.59 106.88 115.14 + 136.90 106.86 114.91 + 137.07 106.76 116.64 + 131.25 105.94 115.61 + 129.98 108.53 117.69 + 124.94 107.56 115.70 + 122.16 110.75 117.02 + 123.93 116.27 121.41 + 128.33 119.38 125.11 + 130.22 117.73 124.88 + 130.57 116.19 124.97 + 130.16 113.16 123.33 + 129.58 112.66 122.52 + 128.92 112.58 122.14 + 127.72 113.48 121.87 + 127.34 108.47 118.51 + 128.20 108.14 118.83 + 127.34 108.92 118.43 + 128.22 112.06 120.33 + 127.81 114.46 121.33 + 124.86 116.02 120.64 + 121.91 117.91 120.06 + 125.98 125.44 125.76 + 128.32 126.98 127.79 + 128.34 126.98 127.80 + 128.35 126.98 127.81 + 128.37 126.98 127.81 + 127.78 126.79 127.66 + 128.14 124.69 127.69 + 128.01 123.59 127.15 + 128.19 122.38 126.41 + 128.19 122.52 126.27 + 128.47 116.23 124.36 + 127.94 114.78 124.19 + 126.12 112.84 125.02 + 125.71 111.95 125.50 + 125.11 113.22 125.47 + 122.86 111.49 123.34 + 120.99 113.16 121.42 + 125.46 114.11 120.58 + 127.90 114.88 121.11 + 129.09 118.26 122.92 + 131.44 121.86 125.22 + 129.92 121.46 124.38 + 127.82 121.61 123.90 + 125.17 121.75 122.98 + 124.94 124.16 124.47 + 127.82 126.88 127.69 + 127.79 126.88 127.67 + 127.75 126.87 127.64 + 127.64 126.27 127.50 + 127.85 122.91 126.97 + 129.53 121.17 127.54 + 129.19 120.21 126.98 + 128.94 116.53 125.12 + 127.70 113.98 123.50 + 127.55 110.25 122.15 + 125.24 111.64 120.78 + 126.13 116.73 123.00 + 126.56 119.42 124.33 + 124.30 119.53 122.90 + 125.04 122.48 124.58 + 126.53 124.03 126.53 + 128.03 123.87 128.07 + 127.25 122.00 127.62 + 126.54 120.28 127.27 + 126.92 119.78 127.77 + 128.16 118.25 127.45 + 129.22 117.03 128.00 + 128.63 114.53 125.61 + 127.83 113.70 123.23 + 127.61 114.10 122.03 + 124.80 115.43 121.74 + 125.25 117.47 122.66 + 129.01 120.41 126.23 + 129.54 120.03 126.03 + 128.39 115.60 123.33 + 129.81 112.69 123.28 + 128.38 111.50 121.54 + 130.94 114.04 122.77 + 126.75 111.33 119.11 + 125.56 111.76 119.52 + 126.36 110.44 117.73 + 128.88 109.92 117.41 + 133.21 111.93 120.53 + 130.65 110.86 119.23 + 130.04 112.50 120.35 + 124.88 111.94 120.89 + 121.45 112.89 123.32 + 120.29 115.91 125.81 + 120.50 115.23 125.42 + 122.83 117.91 127.45 + 126.31 115.15 125.62 + 128.38 113.17 123.48 + 130.62 112.39 122.19 + 129.88 111.10 120.76 + 127.42 110.02 119.28 + 125.19 112.25 119.37 + 122.31 112.13 118.13 + 126.92 115.70 123.31 + 127.54 118.17 124.67 + 128.31 120.44 125.95 + 126.27 119.92 124.28 + 124.69 120.70 123.35 + 125.42 122.43 124.09 + 126.05 124.26 125.06 + 127.59 126.17 126.75 + 128.72 122.88 126.03 + 129.91 121.12 126.41 + 130.46 120.86 126.95 + 128.66 119.95 125.41 + 127.16 119.56 124.64 + 124.83 119.58 123.19 + 123.98 121.72 123.50 + 125.89 125.44 125.86 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.25 125.67 126.85 + 128.69 124.25 126.27 + 129.54 124.47 126.79 + 129.41 124.39 126.69 + 128.69 124.13 126.22 + 127.55 123.81 125.50 + 127.69 121.70 125.29 + 129.10 121.64 126.19 + 130.14 121.36 126.66 + 129.97 121.25 126.25 + 128.83 120.22 125.17 + 129.60 120.48 125.87 + 127.40 118.13 125.51 + 126.81 118.72 127.38 + 126.34 117.79 127.47 + 125.48 115.90 126.28 + 125.83 114.14 125.09 + 126.61 112.45 123.55 + 127.42 109.64 121.33 + 129.25 107.64 117.67 + 130.70 107.45 117.43 + 130.51 107.63 117.17 + 132.27 108.92 117.81 + 133.66 111.83 119.74 + 131.28 111.25 118.12 + 128.12 107.14 114.64 + 127.78 104.83 114.09 + 128.01 103.30 112.74 + 129.75 105.61 115.43 + 129.81 105.16 116.62 + 130.27 107.74 119.00 + 129.45 106.86 119.46 + 132.60 107.60 122.70 + 129.31 104.03 117.91 + 129.62 101.08 115.69 + 128.59 99.49 114.09 + 129.91 99.17 114.09 + 129.78 97.99 114.26 + 128.29 99.34 114.02 + 126.44 98.18 114.30 + 127.63 97.11 115.30 + 129.39 96.55 115.72 + 129.53 97.23 116.14 + 124.83 98.63 113.91 + 123.40 104.88 116.28 + 121.46 106.76 116.28 + 124.65 110.16 119.00 + 127.34 114.53 121.81 + 130.12 114.17 121.00 + 129.53 115.06 120.67 + 127.14 114.15 119.40 + 128.18 116.69 121.45 + 129.35 120.25 124.06 + 129.97 117.70 121.22 + 130.46 114.81 120.02 + 133.01 116.72 122.74 + 132.23 114.72 120.93 + 131.77 114.67 120.49 + 126.82 112.97 117.88 + 123.86 113.17 118.00 + 124.80 110.47 119.16 + 127.97 109.91 121.97 + 128.32 109.80 122.71 + 126.00 104.33 120.61 + 124.79 104.41 120.70 + 122.19 105.28 119.47 + 120.09 104.86 118.69 + 123.20 108.07 121.86 + 125.03 109.62 124.00 + 124.78 103.69 122.23 + 124.41 96.69 117.48 + 128.72 94.60 118.53 + 128.58 92.81 121.08 + 125.36 90.64 120.72 + 122.09 90.73 120.08 + 121.34 90.17 119.03 + 120.33 92.92 118.92 + 122.89 100.72 121.17 + 126.36 103.42 121.91 + 125.00 102.39 117.75 + 124.68 103.31 116.86 + 124.83 105.67 117.44 + 125.07 106.15 117.20 + 125.42 108.80 118.57 + 126.94 110.28 119.34 + 128.16 111.90 120.03 + 130.34 113.77 121.69 + 130.41 112.43 120.33 + 128.34 111.33 117.89 + 126.72 112.06 116.75 + 127.41 115.95 118.69 + 126.98 120.56 121.95 + 126.61 124.19 124.86 + 127.27 126.72 126.89 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 159.33 34.78 93.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 123.33 100.78 110.56 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 177.00 32.44 130.22 + 66 82 94.67 71.33 84.44 + 66 98 90.00 57.89 89.67 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 98.89 85.44 98.00 + 82 82 119.33 28.89 76.00 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 144.89 47.11 126.89 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 79.67 21.56 71.67 + 130 130 140.78 33.00 95.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 115.67 113.78 116.11 + 146 130 165.67 36.22 109.56 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 92.67 20.56 69.33 + 162 130 96.44 72.11 83.67 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-x.yaml b/unittest/graphics/tests/dump-image-acolor-x.yaml new file mode 100644 index 00000000000..d8b2c05e3fb --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-x.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:48 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} x type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.03 127.38 127.61 + 129.37 125.25 126.77 + 130.16 124.35 126.50 + 130.22 121.97 124.57 + 131.35 120.99 123.81 + 131.11 120.40 123.09 + 131.81 117.58 121.33 + 129.59 117.83 120.63 + 130.20 120.78 122.94 + 128.00 120.42 122.22 + 126.39 120.25 121.97 + 128.41 121.72 123.89 + 125.67 121.25 122.73 + 126.61 123.23 124.31 + 128.01 125.76 126.42 + 128.65 126.36 127.03 + 128.92 127.03 127.58 + 128.59 126.41 127.03 + 128.65 126.37 127.03 + 129.34 124.52 125.43 + 132.43 121.39 123.31 + 133.19 120.73 122.97 + 133.78 119.65 122.17 + 132.21 119.28 121.54 + 129.47 118.16 120.20 + 128.47 116.22 118.83 + 128.40 116.47 118.61 + 132.03 122.33 124.30 + 130.77 122.61 124.06 + 130.51 123.08 124.36 + 128.65 122.73 123.73 + 127.59 123.05 123.58 + 129.38 123.36 123.81 + 131.15 123.75 124.31 + 130.69 123.19 123.73 + 130.50 121.77 122.58 + 130.76 116.95 119.66 + 130.94 115.53 119.37 + 130.20 114.08 118.83 + 131.65 117.16 121.69 + 129.60 114.23 119.19 + 128.50 115.37 119.94 + 126.06 114.64 120.92 + 128.06 118.24 124.84 + 129.92 117.81 125.72 + 130.91 114.25 122.50 + 132.16 114.11 122.35 + 133.32 114.96 122.46 + 133.08 110.92 118.86 + 132.51 110.19 117.53 + 130.23 109.92 117.09 + 131.56 108.53 116.00 + 133.44 109.07 119.06 + 134.56 108.30 115.89 + 135.49 106.88 113.38 + 137.87 106.86 113.08 + 138.96 106.76 113.78 + 133.91 105.94 112.50 + 131.97 108.53 115.64 + 126.00 107.56 114.67 + 121.39 110.75 117.78 + 122.72 116.27 122.61 + 126.45 119.38 126.99 + 129.61 117.73 125.38 + 130.10 116.19 125.00 + 129.44 113.16 123.68 + 128.88 112.66 123.17 + 128.01 112.58 123.03 + 125.95 113.48 123.64 + 122.88 108.47 122.95 + 122.92 108.14 124.09 + 122.42 108.92 123.36 + 123.69 112.06 124.86 + 124.05 114.46 125.10 + 122.41 116.02 123.11 + 120.77 117.91 121.20 + 125.81 125.44 125.94 + 127.89 126.98 128.22 + 127.91 126.98 128.24 + 127.92 126.98 128.25 + 127.92 126.98 128.26 + 127.64 126.79 127.79 + 127.65 124.69 128.17 + 127.42 123.59 127.75 + 127.47 122.38 127.14 + 127.50 122.52 126.96 + 125.64 116.23 127.18 + 125.03 114.78 127.09 + 124.42 112.84 126.72 + 123.94 111.95 127.26 + 123.61 113.22 126.95 + 121.33 111.49 124.84 + 120.04 113.16 122.36 + 122.03 114.11 124.03 + 123.20 114.88 125.86 + 124.80 118.26 127.47 + 127.21 121.86 129.58 + 126.12 121.46 128.18 + 125.08 121.61 126.66 + 123.65 121.75 124.52 + 124.59 124.16 124.81 + 127.55 126.88 127.97 + 127.52 126.88 127.94 + 127.50 126.87 127.89 + 127.23 126.27 127.89 + 125.98 122.91 128.84 + 126.03 121.17 131.04 + 125.38 120.21 130.80 + 123.69 116.53 130.36 + 122.00 113.98 129.19 + 120.20 110.25 129.47 + 119.44 111.64 126.61 + 122.16 116.73 126.96 + 123.56 119.42 127.33 + 122.25 119.53 124.95 + 123.77 122.48 125.86 + 124.98 124.03 127.95 + 125.44 123.87 130.46 + 124.33 122.00 130.49 + 123.42 120.28 130.38 + 123.58 119.78 131.09 + 123.53 118.25 132.09 + 123.49 117.03 133.70 + 121.48 114.53 132.76 + 120.08 113.70 130.96 + 119.81 114.10 129.84 + 120.79 115.43 125.75 + 122.31 117.47 125.60 + 126.64 120.41 128.62 + 126.44 120.03 129.13 + 123.92 115.60 127.76 + 123.85 112.69 129.26 + 121.83 111.50 128.12 + 123.03 114.04 130.67 + 118.97 111.33 126.89 + 118.26 111.76 126.79 + 117.91 110.44 126.07 + 119.58 109.92 127.09 + 123.49 111.93 131.00 + 122.59 110.86 127.64 + 124.41 112.50 125.99 + 123.31 111.94 122.45 + 123.00 112.89 122.22 + 123.91 115.91 123.11 + 122.09 115.23 124.59 + 123.17 117.91 126.88 + 120.24 115.15 131.06 + 118.77 113.17 132.12 + 118.16 112.39 133.74 + 117.27 111.10 132.76 + 115.73 110.02 130.83 + 116.56 112.25 127.84 + 115.61 112.13 124.84 + 119.44 115.70 130.49 + 121.37 118.17 130.85 + 123.20 120.44 131.08 + 122.22 119.92 128.33 + 122.28 120.70 125.77 + 123.40 122.43 126.11 + 124.59 124.26 126.53 + 126.34 126.17 128.00 + 123.52 122.88 131.10 + 122.00 121.12 133.49 + 121.79 120.86 134.49 + 120.78 119.95 132.66 + 120.26 119.56 131.47 + 120.04 119.58 128.00 + 121.88 121.72 125.59 + 125.46 125.44 126.29 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.25 125.67 127.84 + 126.97 124.25 127.97 + 127.59 124.47 128.75 + 127.47 124.39 128.62 + 126.93 124.13 127.97 + 126.11 123.81 126.95 + 126.22 121.70 126.75 + 127.36 121.64 127.93 + 127.72 121.36 129.08 + 127.50 121.25 128.72 + 126.90 120.22 127.11 + 127.22 120.48 128.25 + 126.89 118.13 126.02 + 129.46 118.72 124.71 + 129.76 117.79 123.89 + 130.13 115.90 121.53 + 131.15 114.14 119.81 + 130.18 112.45 119.67 + 128.47 109.64 119.91 + 129.22 107.64 117.67 + 131.75 107.45 116.58 + 131.73 107.63 116.21 + 134.76 108.92 115.59 + 135.84 111.83 117.22 + 133.31 111.25 115.40 + 130.65 107.14 111.83 + 129.28 104.83 112.48 + 128.44 103.30 112.25 + 129.74 105.61 115.34 + 132.22 105.16 114.11 + 132.12 107.74 117.12 + 131.66 106.86 117.12 + 136.00 107.60 119.11 + 133.21 104.03 114.03 + 132.63 101.08 112.51 + 132.09 99.49 110.37 + 132.34 99.17 111.39 + 132.03 97.99 111.78 + 130.38 99.34 112.14 + 129.07 98.18 111.86 + 131.34 97.11 111.47 + 132.53 96.55 111.96 + 131.28 97.23 113.42 + 127.05 98.63 111.14 + 126.56 104.88 113.12 + 124.67 106.76 113.06 + 126.44 110.16 117.33 + 127.92 114.53 121.21 + 129.04 114.17 122.48 + 128.45 115.06 122.20 + 126.33 114.15 120.64 + 127.20 116.69 122.60 + 128.13 120.25 125.27 + 125.77 117.70 125.41 + 123.88 114.81 127.12 + 125.59 116.72 130.90 + 123.75 114.72 129.85 + 123.11 114.67 129.14 + 119.86 112.97 124.84 + 119.06 113.17 122.82 + 119.94 110.47 124.03 + 121.97 109.91 127.94 + 121.98 109.80 129.04 + 118.83 104.33 127.75 + 118.19 104.41 127.30 + 117.05 105.28 124.61 + 115.78 104.86 123.00 + 118.92 108.07 126.13 + 120.97 109.62 128.06 + 119.56 103.69 127.42 + 114.33 96.69 127.55 + 114.55 94.60 132.30 + 114.44 92.81 134.78 + 112.54 90.64 134.11 + 111.72 90.73 131.41 + 111.56 90.17 129.29 + 111.45 92.92 127.58 + 114.81 100.72 129.09 + 115.67 103.42 132.06 + 111.61 102.39 130.33 + 109.78 103.31 130.65 + 110.62 105.67 130.85 + 111.18 106.15 130.88 + 114.28 108.80 129.72 + 116.78 110.28 129.51 + 118.65 111.90 129.53 + 120.24 113.77 131.79 + 118.11 112.43 132.00 + 115.62 111.33 129.73 + 114.68 112.06 128.16 + 117.03 115.95 128.97 + 120.74 120.56 128.17 + 124.21 124.19 127.25 + 126.72 126.72 127.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 176.67 34.78 76.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 124.22 100.78 109.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 183.11 32.44 124.00 + 66 82 98.22 71.33 81.00 + 66 98 106.44 57.89 73.22 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 101.44 85.44 95.67 + 82 82 101.00 28.89 94.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 117.56 47.11 154.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 61.67 21.56 89.89 + 130 130 82.33 33.00 154.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 115.00 113.78 116.78 + 146 130 109.44 36.22 166.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 83.89 20.56 77.89 + 162 130 75.00 72.11 105.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-y.yaml b/unittest/graphics/tests/dump-image-acolor-y.yaml new file mode 100644 index 00000000000..0cf825e0fc1 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-y.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:49 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} y type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.93 127.38 127.72 + 128.75 125.25 127.39 + 129.29 124.35 127.36 + 128.51 121.97 126.28 + 128.76 120.99 126.42 + 128.30 120.40 126.17 + 128.01 117.58 125.26 + 126.04 117.83 124.19 + 127.22 120.78 125.94 + 125.64 120.42 124.57 + 124.59 120.25 123.77 + 126.41 121.72 125.90 + 124.30 121.25 124.11 + 125.59 123.23 125.32 + 127.39 125.76 127.03 + 128.03 126.36 127.66 + 128.41 127.03 128.09 + 127.99 126.41 127.63 + 128.03 126.37 127.66 + 127.58 124.52 127.17 + 128.51 121.39 127.35 + 129.02 120.73 127.64 + 128.91 119.65 127.34 + 127.56 119.28 126.17 + 125.58 118.16 124.08 + 124.45 116.22 122.89 + 124.29 116.47 122.76 + 128.77 122.33 127.83 + 127.61 122.61 127.45 + 127.48 123.08 127.40 + 126.23 122.73 126.15 + 125.64 123.05 125.53 + 126.83 123.36 126.50 + 128.21 123.75 127.85 + 127.69 123.19 127.28 + 126.58 121.77 126.61 + 124.95 116.95 125.47 + 124.97 115.53 125.50 + 124.25 114.08 124.90 + 126.36 117.16 126.97 + 124.25 114.23 124.52 + 124.46 115.37 123.96 + 122.71 114.64 124.27 + 124.81 118.24 128.07 + 126.03 117.81 129.62 + 126.24 114.25 127.19 + 127.19 114.11 127.31 + 128.41 114.96 127.39 + 127.56 110.92 124.39 + 127.35 110.19 122.75 + 125.67 109.92 121.94 + 126.97 108.53 120.77 + 128.53 109.07 124.10 + 128.50 108.30 122.31 + 128.46 106.88 120.80 + 130.74 106.86 121.61 + 130.82 106.76 123.61 + 125.75 105.94 121.59 + 123.78 108.53 123.83 + 119.22 107.56 121.09 + 116.64 110.75 122.07 + 119.08 116.27 125.82 + 122.75 119.38 130.09 + 125.03 117.73 129.88 + 125.31 116.19 129.92 + 124.69 113.16 128.62 + 124.30 112.66 127.74 + 123.58 112.58 127.26 + 122.56 113.48 126.97 + 117.42 108.47 128.24 + 117.31 108.14 128.88 + 117.19 108.92 127.75 + 119.58 112.06 128.63 + 120.83 114.46 128.33 + 120.52 116.02 125.00 + 120.13 117.91 121.84 + 125.85 125.44 125.89 + 128.00 126.98 128.12 + 128.01 126.98 128.12 + 128.03 126.98 128.13 + 128.03 126.98 128.15 + 127.71 126.79 127.72 + 127.89 124.69 127.94 + 127.57 123.59 127.58 + 127.36 122.38 127.25 + 127.31 122.52 127.17 + 127.19 116.23 125.64 + 127.00 114.78 125.12 + 129.09 112.84 122.07 + 130.25 111.95 120.94 + 129.69 113.22 120.86 + 127.19 111.49 118.99 + 124.61 113.16 117.81 + 127.53 114.11 118.49 + 129.69 114.88 119.33 + 130.56 118.26 121.47 + 132.50 121.86 124.19 + 130.81 121.46 123.48 + 128.57 121.61 123.16 + 125.58 121.75 122.58 + 125.06 124.16 124.36 + 128.24 126.88 127.28 + 128.19 126.88 127.25 + 128.15 126.87 127.24 + 128.26 126.27 126.86 + 130.21 122.91 124.62 + 133.25 121.17 123.59 + 132.90 120.21 122.72 + 133.15 116.53 120.53 + 132.57 113.98 118.63 + 133.39 110.25 116.00 + 129.63 111.64 116.22 + 128.88 116.73 120.11 + 128.88 119.42 122.00 + 126.08 119.53 121.12 + 126.27 122.48 123.36 + 127.78 124.03 125.26 + 130.16 123.87 125.95 + 129.89 122.00 124.95 + 129.69 120.28 124.12 + 130.42 119.78 124.26 + 132.16 118.25 123.47 + 133.95 117.03 123.19 + 133.62 114.53 120.45 + 132.41 113.70 118.46 + 131.41 114.10 117.78 + 129.10 115.43 117.28 + 128.55 117.47 118.53 + 132.94 120.41 121.40 + 133.71 120.03 121.33 + 133.71 115.60 117.83 + 136.46 112.69 116.14 + 133.98 111.50 115.53 + 135.07 114.04 118.30 + 130.57 111.33 115.28 + 129.00 111.76 116.08 + 127.64 110.44 116.40 + 129.75 109.92 117.14 + 134.44 111.93 119.89 + 132.34 110.86 117.77 + 131.90 112.50 118.17 + 129.41 111.94 116.03 + 129.22 112.89 115.70 + 128.81 115.91 117.47 + 128.58 115.23 117.48 + 130.36 117.91 120.03 + 132.79 115.15 119.14 + 133.37 113.17 118.14 + 133.44 112.39 118.97 + 132.56 111.10 118.06 + 129.75 110.02 116.95 + 126.76 112.25 117.80 + 122.84 112.13 117.62 + 127.30 115.70 122.94 + 127.90 118.17 124.34 + 128.59 120.44 125.67 + 126.37 119.92 124.17 + 124.58 120.70 123.46 + 125.19 122.43 124.34 + 125.90 124.26 125.22 + 127.48 126.17 126.87 + 128.88 122.88 125.86 + 130.61 121.12 125.70 + 131.50 120.86 125.92 + 129.54 119.95 124.52 + 128.21 119.56 123.59 + 125.64 119.58 122.39 + 124.53 121.72 122.95 + 126.06 125.44 125.69 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 125.72 125.67 129.38 + 124.33 124.25 130.22 + 124.57 124.47 130.93 + 124.50 124.39 130.88 + 124.22 124.13 130.50 + 123.87 123.81 129.19 + 122.58 121.70 130.38 + 122.93 121.64 131.99 + 122.78 121.36 133.34 + 122.77 121.25 132.68 + 122.12 120.22 131.85 + 122.39 120.48 132.66 + 121.17 118.13 131.09 + 123.19 118.72 131.00 + 123.00 117.79 130.81 + 122.38 115.90 129.38 + 122.08 114.14 128.88 + 121.14 112.45 129.03 + 119.05 109.64 129.71 + 118.86 107.64 127.98 + 120.70 107.45 127.94 + 121.28 107.63 127.31 + 123.64 108.92 127.11 + 125.89 111.83 127.59 + 124.42 111.25 124.98 + 121.31 107.14 121.47 + 119.95 104.83 121.95 + 119.47 103.30 121.45 + 121.66 105.61 123.53 + 123.58 105.16 122.85 + 124.65 107.74 124.62 + 125.06 106.86 123.84 + 128.68 107.60 126.61 + 125.58 104.03 121.64 + 125.08 101.08 120.54 + 124.78 99.49 118.61 + 126.08 99.17 118.47 + 126.12 97.99 117.97 + 125.19 99.34 117.35 + 124.48 98.18 116.47 + 126.83 97.11 116.11 + 128.76 96.55 116.33 + 128.66 97.23 117.03 + 124.62 98.63 114.14 + 124.31 104.88 115.35 + 122.97 106.76 114.78 + 125.89 110.16 117.94 + 127.91 114.53 121.25 + 129.56 114.17 122.06 + 129.04 115.06 121.86 + 127.26 114.15 119.92 + 128.16 116.69 121.66 + 129.16 120.25 124.25 + 128.19 117.70 122.99 + 128.37 114.81 122.66 + 130.96 116.72 125.54 + 129.53 114.72 124.08 + 128.68 114.67 123.59 + 124.42 112.97 120.26 + 123.06 113.17 118.81 + 126.25 110.47 117.72 + 130.86 109.91 119.00 + 131.63 109.80 119.28 + 130.94 104.33 115.69 + 130.15 104.41 115.37 + 127.15 105.28 114.48 + 125.75 104.86 113.06 + 129.37 108.07 115.68 + 132.25 109.62 116.78 + 134.69 103.69 112.22 + 134.34 96.69 107.09 + 139.57 94.60 106.97 + 142.93 92.81 106.40 + 141.75 90.64 104.42 + 139.23 90.73 103.09 + 139.34 90.17 101.13 + 136.71 92.92 102.11 + 135.38 100.72 107.85 + 137.37 103.42 110.66 + 133.05 102.39 109.69 + 130.68 103.31 110.82 + 129.65 105.67 112.33 + 130.21 106.15 111.88 + 130.39 108.80 113.02 + 131.85 110.28 113.38 + 132.41 111.90 114.20 + 135.18 113.77 115.91 + 135.40 112.43 115.20 + 131.97 111.33 114.30 + 128.58 112.06 114.90 + 127.69 115.95 118.40 + 126.81 120.56 122.09 + 126.64 124.19 124.81 + 127.30 126.72 126.86 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 137.89 34.78 114.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 114.33 100.78 119.56 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 113.56 32.44 193.67 + 66 82 90.56 71.33 88.44 + 66 98 104.22 57.89 75.67 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 92.44 85.44 104.56 + 82 82 88.33 28.89 106.78 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 181.11 47.11 90.67 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 102.44 21.56 48.89 + 130 130 183.44 33.00 45.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 116.56 113.78 115.22 + 146 130 215.56 36.22 45.67 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 120.44 20.56 41.67 + 162 130 99.11 72.11 81.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-acolor-z.yaml b/unittest/graphics/tests/dump-image-acolor-z.yaml new file mode 100644 index 00000000000..44b8259cb44 --- /dev/null +++ b/unittest/graphics/tests/dump-image-acolor-z.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:49 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} z type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 127.38 127.38 + 130.62 125.25 125.25 + 131.43 124.35 124.35 + 131.95 121.97 122.00 + 133.44 120.99 121.03 + 133.19 120.40 120.49 + 134.28 117.58 117.79 + 131.44 117.83 118.08 + 131.56 120.78 121.03 + 129.27 120.42 120.63 + 127.89 120.25 120.47 + 130.25 121.72 122.05 + 126.92 121.25 121.47 + 127.33 123.23 123.39 + 128.43 125.76 125.84 + 128.97 126.36 126.45 + 129.18 127.03 127.11 + 128.99 126.41 126.49 + 128.98 126.37 126.45 + 129.51 124.52 125.02 + 132.96 121.39 122.75 + 133.56 120.73 122.32 + 134.25 119.65 121.43 + 132.87 119.28 120.87 + 130.01 118.16 119.55 + 129.16 116.22 117.91 + 128.63 116.47 118.11 + 132.33 122.33 123.91 + 130.86 122.61 124.00 + 130.56 123.08 124.33 + 128.67 122.73 123.72 + 127.33 123.05 123.84 + 128.88 123.36 124.44 + 130.72 123.75 125.20 + 130.22 123.19 124.64 + 129.70 121.77 123.47 + 130.25 116.95 120.18 + 130.97 115.53 119.44 + 130.69 114.08 118.40 + 132.23 117.16 121.11 + 130.23 114.23 118.54 + 129.18 115.37 119.25 + 128.00 114.64 118.95 + 130.40 118.24 122.50 + 132.54 117.81 123.10 + 132.62 114.25 120.84 + 133.37 114.11 121.14 + 133.97 114.96 121.81 + 132.97 110.92 118.94 + 131.91 110.19 118.20 + 130.01 109.92 117.58 + 130.60 108.53 117.14 + 133.63 109.07 119.18 + 132.62 108.30 118.36 + 131.84 106.88 117.40 + 133.94 106.86 118.39 + 135.22 106.76 119.23 + 130.43 105.94 116.93 + 129.37 108.53 118.33 + 124.72 107.56 115.93 + 122.25 110.75 116.94 + 124.27 116.27 121.08 + 128.41 119.38 125.00 + 130.00 117.73 125.10 + 130.53 116.19 125.01 + 129.78 113.16 123.71 + 128.96 112.66 123.12 + 128.25 112.58 122.81 + 127.03 113.48 122.56 + 125.19 108.47 120.67 + 125.67 108.14 121.36 + 124.77 108.92 121.05 + 125.78 112.06 122.77 + 125.82 114.46 123.33 + 123.59 116.02 121.94 + 121.36 117.91 120.61 + 125.93 125.44 125.81 + 128.19 126.98 127.92 + 128.21 126.98 127.93 + 128.22 126.98 127.94 + 128.23 126.98 127.95 + 127.71 126.79 127.72 + 127.89 124.69 127.94 + 127.54 123.59 127.62 + 127.23 122.38 127.38 + 127.17 122.52 127.31 + 126.07 116.23 126.78 + 125.66 114.78 126.47 + 124.95 112.84 126.19 + 124.83 111.95 126.41 + 124.55 113.22 126.05 + 122.34 111.49 123.83 + 120.71 113.16 121.73 + 122.22 114.11 123.83 + 123.56 114.88 125.52 + 125.23 118.26 127.05 + 127.59 121.86 129.19 + 126.45 121.46 127.85 + 125.33 121.61 126.39 + 123.79 121.75 124.36 + 124.64 124.16 124.78 + 127.64 126.88 127.87 + 127.61 126.88 127.84 + 127.58 126.87 127.81 + 127.33 126.27 127.81 + 126.20 122.91 128.62 + 126.53 121.17 130.53 + 125.95 120.21 130.21 + 124.07 116.53 129.98 + 122.26 113.98 128.94 + 120.53 110.25 129.16 + 119.56 111.64 126.46 + 122.08 116.73 127.05 + 123.51 119.42 127.39 + 122.28 119.53 124.92 + 123.99 122.48 125.65 + 125.50 124.03 127.55 + 126.34 123.87 129.76 + 125.14 122.00 129.71 + 124.06 120.28 129.75 + 124.03 119.78 130.66 + 123.34 118.25 132.27 + 123.20 117.03 134.00 + 121.20 114.53 133.04 + 119.89 113.70 131.15 + 119.67 114.10 129.97 + 119.52 115.43 127.03 + 120.85 117.47 127.06 + 124.00 120.41 131.25 + 123.84 120.03 131.72 + 120.48 115.60 131.21 + 119.13 112.69 133.98 + 117.59 111.50 132.40 + 119.66 114.04 134.04 + 116.31 111.33 129.55 + 116.21 111.76 128.86 + 114.84 110.44 129.22 + 114.83 109.92 131.94 + 117.38 111.93 136.78 + 116.01 110.86 134.19 + 117.22 112.50 133.09 + 116.00 111.94 129.71 + 116.36 112.89 128.82 + 118.55 115.91 128.35 + 117.80 115.23 128.83 + 120.03 117.91 130.16 + 117.83 115.15 133.69 + 116.18 113.17 135.00 + 115.49 112.39 136.43 + 114.16 111.10 135.69 + 112.77 110.02 133.39 + 114.27 112.25 130.08 + 113.53 112.13 126.94 + 117.06 115.70 132.25 + 119.26 118.17 132.28 + 121.34 120.44 132.50 + 120.64 119.92 129.90 + 121.15 120.70 126.89 + 122.66 122.43 126.87 + 124.31 124.26 126.81 + 126.19 126.17 128.16 + 122.93 122.88 131.41 + 121.18 121.12 133.84 + 120.92 120.86 134.87 + 120.00 119.95 133.16 + 119.59 119.56 132.01 + 119.60 119.58 128.41 + 121.72 121.72 125.77 + 125.44 125.44 126.33 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.71 125.67 127.39 + 127.76 124.25 127.19 + 128.49 124.47 127.85 + 128.37 124.39 127.73 + 127.74 124.13 127.17 + 126.78 123.81 126.30 + 127.16 121.70 125.80 + 128.60 121.64 126.70 + 129.57 121.36 127.25 + 129.28 121.25 126.94 + 128.25 120.22 125.75 + 129.10 120.48 126.36 + 128.79 118.13 124.12 + 130.18 118.72 123.99 + 130.40 117.79 123.35 + 130.48 115.90 121.28 + 131.30 114.14 119.65 + 131.30 112.45 118.53 + 131.37 109.64 117.02 + 131.68 107.64 115.21 + 133.44 107.45 115.20 + 133.34 107.63 115.09 + 134.56 108.92 116.15 + 134.69 111.83 118.58 + 131.91 111.25 117.27 + 130.29 107.14 112.46 + 130.49 104.83 110.75 + 130.65 103.30 109.36 + 132.31 105.61 112.23 + 133.29 105.16 112.99 + 133.03 107.74 116.09 + 132.89 106.86 115.88 + 136.79 107.60 117.60 + 132.95 104.03 113.64 + 133.95 101.08 111.39 + 133.79 99.49 108.93 + 133.50 99.17 109.93 + 133.41 97.99 110.06 + 131.56 99.34 110.36 + 130.09 98.18 109.91 + 131.81 97.11 110.43 + 132.65 96.55 112.32 + 131.48 97.23 114.22 + 125.84 98.63 112.92 + 124.22 104.88 115.44 + 122.70 106.76 115.05 + 126.06 110.16 117.79 + 128.16 114.53 121.00 + 129.72 114.17 121.94 + 128.99 115.06 122.10 + 126.33 114.15 120.92 + 126.70 116.69 123.11 + 127.72 120.25 125.69 + 124.48 117.70 126.70 + 121.39 114.81 129.59 + 122.67 116.72 133.29 + 120.67 114.72 132.34 + 120.41 114.67 131.54 + 117.59 112.97 127.11 + 117.52 113.17 124.39 + 116.50 110.47 127.31 + 117.89 109.91 132.04 + 117.69 109.80 132.90 + 113.30 104.33 132.90 + 112.88 104.41 132.53 + 112.47 105.28 129.12 + 112.44 104.86 126.36 + 116.23 108.07 128.72 + 118.59 109.62 130.45 + 115.30 103.69 131.69 + 108.38 96.69 133.32 + 107.97 94.60 138.09 + 107.36 92.81 141.20 + 106.02 90.64 140.22 + 105.77 90.73 137.21 + 105.58 90.17 135.46 + 106.73 92.92 132.34 + 111.38 100.72 132.45 + 112.38 103.42 135.10 + 109.75 102.39 132.02 + 109.19 103.31 131.31 + 110.30 105.67 131.47 + 111.15 106.15 130.99 + 113.81 108.80 130.18 + 116.27 110.28 130.00 + 118.23 111.90 129.95 + 120.18 113.77 131.83 + 118.58 112.43 131.88 + 116.61 111.33 129.22 + 115.97 112.06 127.24 + 118.43 115.95 127.69 + 121.57 120.56 127.36 + 124.50 124.19 126.94 + 126.78 126.72 127.38 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 198.67 34.78 40.22 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.11 100.78 105.89 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 208.00 32.44 99.00 + 66 82 99.22 71.33 80.00 + 66 98 105.78 57.89 73.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 102.33 85.44 94.44 + 82 82 120.00 28.89 75.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 125.78 47.11 146.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 60.78 21.56 91.00 + 130 130 94.67 33.00 141.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 114.89 113.78 116.89 + 146 130 88.22 36.22 187.11 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 43.00 20.56 119.00 + 162 130 76.56 72.11 103.56 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-atom-off.yaml b/unittest/graphics/tests/dump-image-atom-off.yaml new file mode 100644 index 00000000000..aae3bfce899 --- /dev/null +++ b/unittest/graphics/tests/dump-image-atom-off.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:55 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 atom no + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.37 128.25 126.86 + 129.19 129.02 126.47 + 129.68 129.25 125.89 + 128.97 129.19 124.94 + 127.00 127.83 123.32 + 124.55 126.02 123.18 + 126.23 127.03 124.12 + 127.34 128.41 124.62 + 125.62 126.78 125.50 + 126.74 127.94 126.74 + 127.36 128.38 127.36 + 126.78 127.95 126.78 + 126.75 127.97 126.75 + 127.03 127.98 127.03 + 126.41 127.51 126.41 + 126.37 127.53 126.37 + 127.03 127.97 127.03 + 127.05 128.01 127.05 + 126.38 127.53 126.38 + 128.24 129.00 126.00 + 127.53 128.94 124.45 + 126.75 128.32 123.80 + 126.74 128.29 123.78 + 129.14 129.44 128.26 + 129.82 129.82 129.82 + 129.46 129.46 129.46 + 128.60 128.57 127.48 + 128.34 128.34 128.34 + 128.51 128.43 127.36 + 128.34 128.15 126.48 + 129.04 128.63 126.28 + 128.47 128.32 126.49 + 128.47 128.23 126.81 + 129.97 129.97 129.97 + 129.19 129.07 125.89 + 130.06 129.74 125.37 + 130.43 129.25 124.83 + 130.34 127.45 126.56 + 130.21 125.78 127.11 + 130.30 123.29 129.96 + 129.09 124.55 129.09 + 128.43 125.25 127.06 + 129.31 125.29 126.42 + 129.38 124.51 125.16 + 128.53 127.15 125.55 + 126.74 128.84 127.11 + 126.37 126.28 122.94 + 126.40 127.53 124.75 + 128.40 128.93 128.16 + 126.00 125.91 125.56 + 127.95 122.39 124.37 + 129.87 124.19 125.50 + 127.84 123.65 124.27 + 128.76 123.14 126.93 + 126.45 124.00 118.41 + 127.92 124.85 120.57 + 129.71 127.03 125.19 + 130.53 126.92 125.48 + 130.46 126.69 125.48 + 131.91 126.61 124.73 + 128.52 128.62 125.05 + 128.34 128.62 125.28 + 128.60 128.19 124.67 + 127.99 127.60 124.97 + 127.84 127.64 126.39 + 124.42 125.81 127.27 + 122.32 123.59 125.54 + 126.27 122.84 123.37 + 127.16 121.70 121.70 + 126.62 123.31 123.31 + 125.62 124.42 124.42 + 128.80 126.97 126.97 + 128.82 126.97 126.97 + 128.84 126.97 126.97 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.64 128.64 128.64 + 128.65 128.65 128.65 + 128.66 128.66 128.66 + 128.68 128.68 128.68 + 128.69 128.69 128.69 + 127.85 127.85 127.85 + 128.72 128.44 126.93 + 129.49 129.19 126.48 + 125.22 128.89 127.06 + 123.19 129.19 127.84 + 123.61 128.62 127.28 + 125.86 127.62 128.38 + 126.89 125.60 125.28 + 127.75 124.48 122.64 + 129.81 125.19 124.15 + 129.18 127.08 126.69 + 128.56 128.56 128.56 + 130.78 130.29 126.34 + 127.58 127.17 125.02 + 128.28 128.28 128.28 + 128.25 128.25 128.25 + 128.23 128.23 128.23 + 128.20 128.20 128.20 + 128.16 128.16 128.16 + 126.87 128.53 128.53 + 126.86 128.46 128.46 + 126.86 128.44 128.44 + 126.84 128.41 128.41 + 126.31 129.01 129.01 + 123.42 130.76 133.01 + 121.83 128.91 132.96 + 124.59 124.88 129.25 + 129.53 122.04 123.14 + 129.47 122.75 122.75 + 128.12 125.61 125.61 + 128.56 126.88 126.88 + 128.52 126.87 126.87 + 128.49 126.87 126.87 + 128.47 126.86 126.86 + 129.33 127.51 125.75 + 129.37 127.47 126.73 + 129.57 127.56 126.72 + 130.59 127.92 127.50 + 131.88 128.66 126.45 + 130.91 126.16 128.84 + 131.28 123.02 131.28 + 130.62 124.39 127.46 + 130.34 126.33 125.53 + 125.94 127.44 126.51 + 125.58 127.45 129.23 + 124.70 127.24 130.28 + 123.89 125.88 129.49 + 124.97 128.25 130.46 + 128.44 124.53 124.89 + 129.78 122.61 121.88 + 128.99 122.39 120.75 + 131.76 125.11 120.95 + 131.88 124.92 119.69 + 130.30 125.20 120.22 + 127.53 126.11 122.19 + 128.75 124.42 118.83 + 128.39 126.56 117.80 + 124.84 125.33 118.86 + 124.89 125.83 122.72 + 128.68 127.70 123.64 + 128.77 127.54 122.39 + 127.74 126.55 122.81 + 127.81 126.49 123.86 + 129.34 126.29 121.98 + 130.10 124.49 118.64 + 127.97 123.67 119.80 + 127.88 125.22 122.14 + 131.95 127.40 121.98 + 131.27 125.81 119.47 + 129.38 124.28 120.50 + 126.83 123.78 122.73 + 128.29 125.39 124.64 + 127.50 125.73 124.99 + 128.31 127.57 126.82 + 128.32 127.58 126.81 + 128.18 127.18 126.18 + 126.17 128.18 126.17 + 126.17 128.18 126.17 + 126.17 128.19 126.17 + 124.73 128.71 124.73 + 124.16 129.31 124.16 + 125.64 125.92 125.64 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.75 126.41 126.41 + 128.22 126.47 126.47 + 128.22 126.47 126.47 + 129.06 127.72 126.47 + 129.37 128.06 126.47 + 129.19 127.70 126.46 + 128.61 126.02 125.20 + 127.77 124.19 123.22 + 129.53 126.61 124.45 + 130.14 127.41 124.53 + 129.94 127.49 124.66 + 130.71 128.53 125.58 + 131.94 129.60 124.61 + 131.59 129.99 124.53 + 131.01 129.53 123.61 + 131.90 130.41 123.19 + 132.60 130.69 122.44 + 134.59 132.22 122.92 + 132.62 131.46 125.17 + 131.25 130.69 126.42 + 132.88 130.85 124.06 + 130.51 129.27 126.89 + 128.66 127.88 128.80 + 125.78 128.16 130.74 + 126.17 125.95 128.09 + 127.86 125.06 126.33 + 127.58 121.58 124.05 + 128.71 119.58 122.88 + 125.18 118.60 122.75 + 131.31 118.78 124.47 + 127.95 118.34 122.64 + 125.05 123.77 128.05 + 119.95 122.68 124.14 + 118.72 125.02 117.56 + 122.31 126.31 118.02 + 125.48 127.32 119.77 + 129.17 129.64 120.75 + 129.41 126.98 118.98 + 123.73 125.16 122.32 + 128.13 127.69 125.36 + 125.92 124.28 116.80 + 123.39 124.89 122.86 + 124.77 124.80 127.35 + 123.78 124.89 128.69 + 127.31 127.18 127.44 + 126.44 127.72 126.28 + 127.97 129.82 127.97 + 127.17 129.31 127.02 + 126.12 128.45 127.53 + 126.94 129.14 129.14 + 126.31 128.97 128.97 + 126.33 129.07 129.07 + 125.96 128.06 128.06 + 125.01 122.75 125.13 + 125.49 123.50 124.86 + 126.58 123.30 124.05 + 126.77 123.31 123.31 + 127.89 123.43 122.68 + 129.66 125.98 124.06 + 129.73 125.78 123.20 + 131.25 125.04 118.70 + 129.82 124.31 117.35 + 129.41 127.59 122.61 + 129.94 130.50 124.81 + 130.11 129.70 123.88 + 126.98 128.43 123.36 + 125.73 131.08 127.88 + 123.19 128.20 125.00 + 125.72 129.94 122.98 + 123.72 129.05 113.98 + 122.78 128.54 110.98 + 126.34 129.91 114.94 + 129.16 125.86 118.89 + 130.22 122.11 118.47 + 132.37 118.36 120.94 + 136.29 117.28 122.63 + 130.87 117.22 119.44 + 131.35 122.13 122.11 + 131.66 120.34 117.70 + 127.81 119.83 121.50 + 128.51 126.24 125.81 + 127.11 124.64 125.34 + 126.27 123.45 124.77 + 125.33 122.80 125.05 + 126.47 123.78 124.80 + 127.16 125.12 125.12 + 126.89 125.52 125.52 + 127.72 127.38 127.38 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 59.11 134.56 59.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 176.44 164.00 82.11 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 128.00 128.00 128.00 + 82 82 141.00 102.00 197.89 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 148.56 148.56 148.56 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 64.78 139.11 139.11 + 130 130 74.33 49.44 171.00 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 128.00 128.00 128.00 + 146 130 173.89 121.67 79.89 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 123.00 128.89 81.89 + 162 130 125.56 106.22 86.78 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-autobond.yaml b/unittest/graphics/tests/dump-image-autobond.yaml new file mode 100644 index 00000000000..e39ab709b5a --- /dev/null +++ b/unittest/graphics/tests/dump-image-autobond.yaml @@ -0,0 +1,599 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:32:55 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic + pair lj/cut +setup_commands: | + units lj + lattice fcc 0.8442 + region box block 0 3 0 3 0 3 + create_box 1 box + create_atoms 1 box + mass 1 1.0 + pair_style lj/cut 2.5 + pair_coeff 1 1 1.0 1.0 + neighbor 0.3 bin + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.5 view 60 30 box no 0.0 shiny 0.2 autobond 1.2 0.1 + dump_modify viz backcolor black +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 50.75 4.43 4.43 + 58.84 4.97 4.97 + 63.46 5.47 5.47 + 70.44 6.32 6.32 + 72.42 6.73 6.73 + 79.44 7.21 7.21 + 85.06 8.16 8.16 + 96.21 9.70 9.70 + 98.10 9.93 9.93 + 98.08 9.09 9.09 + 98.98 8.81 8.81 + 106.69 9.53 9.53 + 117.23 10.79 10.79 + 119.07 11.02 11.02 + 117.31 10.79 10.79 + 119.28 10.72 10.72 + 119.81 10.76 10.76 + 120.59 10.71 10.71 + 127.58 11.37 11.37 + 136.59 12.19 12.19 + 136.30 12.57 12.57 + 133.16 11.63 11.63 + 130.90 11.31 11.31 + 143.03 12.01 12.01 + 156.67 13.43 13.43 + 164.86 14.92 14.92 + 164.16 14.63 14.63 + 165.87 14.66 14.66 + 167.51 15.09 15.09 + 169.32 15.81 15.81 + 171.87 16.14 16.14 + 171.12 15.91 15.91 + 177.78 16.40 16.40 + 181.78 17.18 17.18 + 182.13 17.25 17.25 + 178.16 16.59 16.59 + 178.18 16.41 16.41 + 182.51 16.96 16.96 + 179.41 16.22 16.22 + 173.97 15.32 15.32 + 172.88 14.75 14.75 + 176.72 15.28 15.28 + 172.18 14.72 14.72 + 169.43 14.31 14.31 + 170.80 13.71 13.71 + 175.74 13.79 13.79 + 182.53 15.18 15.18 + 182.09 15.46 15.46 + 178.21 14.89 14.89 + 180.82 15.63 15.63 + 179.66 15.73 15.73 + 178.75 16.38 16.38 + 183.32 16.77 16.77 + 191.43 17.68 17.68 + 194.63 17.93 17.93 + 194.28 17.96 17.96 + 188.51 17.79 17.79 + 188.86 17.01 17.01 + 190.01 17.02 17.02 + 191.73 16.95 16.95 + 185.61 16.41 16.41 + 177.78 15.07 15.07 + 173.26 14.71 14.71 + 176.43 14.73 14.73 + 182.94 15.25 15.25 + 184.56 14.79 14.79 + 178.69 13.99 13.99 + 168.93 12.91 12.91 + 179.50 14.45 14.45 + 175.10 13.90 13.90 + 167.69 13.10 13.10 + 169.16 13.25 13.25 + 171.38 13.61 13.61 + 172.92 13.23 13.23 + 177.33 13.88 13.88 + 178.77 14.88 14.88 + 180.51 15.52 15.52 + 169.21 14.19 14.19 + 162.13 13.15 13.15 + 163.32 13.63 13.63 + 162.01 13.78 13.78 + 162.00 14.15 14.15 + 158.99 13.78 13.78 + 160.75 13.80 13.80 + 161.00 13.65 13.65 + 165.03 13.01 13.01 + 172.00 13.46 13.46 + 166.63 12.94 12.94 + 168.07 12.37 12.37 + 169.15 12.57 12.57 + 161.78 11.82 11.82 + 154.75 10.97 10.97 + 155.50 11.48 11.48 + 155.06 11.87 11.87 + 156.96 12.06 12.06 + 154.93 12.14 12.14 + 168.34 14.01 14.01 + 172.84 14.12 14.12 + 169.94 14.23 14.23 + 170.87 14.27 14.27 + 172.91 14.15 14.15 + 176.73 14.86 14.86 + 177.62 14.86 14.86 + 168.94 13.81 13.81 + 163.76 13.29 13.29 + 165.38 13.00 13.00 + 162.50 12.74 12.74 + 172.18 13.67 13.67 + 180.57 14.59 14.59 + 167.96 13.62 13.62 + 157.60 12.49 12.49 + 166.33 13.48 13.48 + 164.18 13.20 13.20 + 164.51 13.13 13.13 + 173.72 14.15 14.15 + 166.25 13.26 13.26 + 167.79 12.23 12.23 + 171.40 12.29 12.29 + 177.27 13.51 13.51 + 176.24 13.52 13.52 + 166.07 12.75 12.75 + 156.75 11.77 11.77 + 152.82 11.62 11.62 + 149.81 11.87 11.87 + 151.93 12.60 12.60 + 148.83 12.53 12.53 + 152.59 13.21 13.21 + 162.40 13.77 13.77 + 163.49 13.25 13.25 + 166.85 13.30 13.30 + 169.34 13.22 13.22 + 170.06 12.62 12.62 + 164.88 12.18 12.18 + 162.58 11.87 11.87 + 152.96 10.63 10.63 + 151.83 10.92 10.92 + 159.25 12.19 12.19 + 152.88 11.93 11.93 + 154.62 12.04 12.04 + 163.85 13.30 13.30 + 170.42 13.92 13.92 + 166.69 13.62 13.62 + 172.13 14.33 14.33 + 166.81 13.67 13.67 + 173.61 14.34 14.34 + 175.21 14.46 14.46 + 165.86 13.62 13.62 + 162.06 12.88 12.88 + 162.06 12.81 12.81 + 160.05 12.64 12.64 + 168.59 13.07 13.07 + 179.57 14.56 14.56 + 172.10 14.07 14.07 + 156.69 12.39 12.39 + 152.02 12.24 12.24 + 152.88 12.54 12.54 + 152.81 12.31 12.31 + 154.31 12.64 12.64 + 156.40 12.65 12.65 + 154.57 11.63 11.63 + 154.69 11.17 11.17 + 160.84 12.26 12.26 + 160.46 12.21 12.21 + 149.15 11.34 11.34 + 137.59 10.36 10.36 + 135.52 10.17 10.17 + 133.62 10.46 10.46 + 133.71 11.35 11.35 + 128.87 10.90 10.90 + 126.09 11.10 11.10 + 133.35 11.84 11.84 + 137.43 11.69 11.69 + 146.59 11.95 11.95 + 153.57 12.07 12.07 + 146.72 11.53 11.53 + 140.57 10.91 10.91 + 136.03 10.54 10.54 + 122.63 9.23 9.23 + 108.38 7.71 7.71 + 102.66 7.76 7.76 + 99.20 7.57 7.57 + 99.65 7.68 7.68 + 95.92 7.51 7.51 + 92.77 7.42 7.42 + 91.33 7.14 7.14 + 89.44 7.10 7.10 + 93.03 7.38 7.38 + 96.35 7.88 7.88 + 99.87 8.26 8.26 + 90.96 7.59 7.59 + 74.84 6.12 6.12 + 59.92 4.84 4.84 + 53.54 4.43 4.43 + 58.60 4.88 4.88 + 66.95 5.70 5.70 + 67.32 6.22 6.22 + 54.19 4.81 4.81 + 45.06 4.13 4.13 + 40.77 3.80 3.80 + 43.58 3.84 3.84 +col_means: | + 97.34 9.99 9.99 + 97.32 9.99 9.99 + 97.20 10.38 10.38 + 98.30 10.73 10.73 + 96.59 10.48 10.48 + 89.95 9.42 9.42 + 87.58 10.17 10.17 + 90.74 10.87 10.87 + 91.27 10.47 10.47 + 94.05 10.01 10.01 + 97.47 9.57 9.57 + 98.59 8.97 8.97 + 102.08 8.54 8.54 + 106.59 8.57 8.57 + 113.77 8.61 8.61 + 123.91 9.49 9.49 + 130.65 10.04 10.04 + 123.19 7.74 7.74 + 122.41 6.75 6.75 + 120.64 7.77 7.77 + 119.71 8.09 8.09 + 125.38 9.57 9.57 + 133.88 11.22 11.22 + 140.19 12.43 12.43 + 145.69 14.09 14.09 + 162.81 16.68 16.68 + 161.85 16.11 16.11 + 161.93 15.89 15.89 + 168.68 17.42 17.42 + 165.48 16.48 16.48 + 160.62 14.73 14.73 + 159.99 14.61 14.61 + 156.25 14.12 14.12 + 153.67 13.37 13.37 + 150.48 12.60 12.60 + 152.74 12.26 12.26 + 155.01 11.89 11.89 + 159.84 12.91 12.91 + 157.32 12.07 12.07 + 145.05 8.48 8.48 + 151.03 9.88 9.88 + 155.09 12.38 12.38 + 157.93 13.20 13.20 + 155.16 13.76 13.76 + 155.19 14.29 14.29 + 155.19 15.11 15.11 + 163.22 16.17 16.17 + 168.24 16.60 16.60 + 170.39 15.82 15.82 + 170.59 16.16 16.16 + 174.66 17.59 17.59 + 167.81 16.34 16.34 + 167.45 15.56 15.56 + 166.59 15.19 15.19 + 163.09 13.90 13.90 + 158.68 12.64 12.64 + 159.40 12.31 12.31 + 165.80 12.94 12.94 + 171.07 13.69 13.69 + 179.87 15.23 15.23 + 170.85 13.19 13.19 + 168.73 11.19 11.19 + 170.76 12.34 12.34 + 169.47 12.16 12.16 + 167.20 12.59 12.59 + 173.06 14.86 14.86 + 177.18 15.77 15.77 + 178.68 16.66 16.66 + 187.00 18.34 18.34 + 195.06 18.86 18.86 + 195.65 18.68 18.68 + 197.47 19.34 19.34 + 197.53 19.05 19.05 + 189.53 16.99 16.99 + 187.44 16.70 16.70 + 187.12 16.87 16.87 + 181.15 15.63 15.63 + 180.30 14.85 14.85 + 183.28 14.60 14.60 + 185.72 14.13 14.13 + 189.38 14.74 14.74 + 190.62 14.79 14.79 + 171.34 10.60 10.60 + 173.05 10.96 10.96 + 177.76 14.02 14.02 + 176.47 14.58 14.58 + 182.25 16.19 16.19 + 182.95 16.76 16.76 + 181.91 17.39 17.39 + 187.54 18.50 18.50 + 187.15 18.93 18.93 + 185.36 18.21 18.21 + 185.68 18.14 18.14 + 189.62 19.77 19.77 + 187.51 18.87 18.87 + 183.72 17.63 17.63 + 183.00 16.96 16.96 + 178.38 15.72 15.72 + 174.70 14.36 14.36 + 174.24 13.74 13.74 + 175.54 13.68 13.68 + 180.78 13.84 13.84 + 184.95 14.95 14.95 + 184.35 14.60 14.60 + 176.69 11.74 11.74 + 175.94 12.34 12.34 + 172.46 12.26 12.26 + 171.55 12.57 12.57 + 170.10 13.82 13.82 + 176.03 15.95 15.95 + 176.91 16.46 16.46 + 183.12 17.90 17.90 + 195.90 19.34 19.34 + 196.31 18.91 18.91 + 193.32 18.62 18.62 + 191.74 18.75 18.75 + 185.00 17.11 17.11 + 178.59 15.42 15.42 + 183.35 16.93 16.93 + 176.63 15.29 15.29 + 176.50 14.93 14.93 + 178.13 14.33 14.33 + 180.75 14.27 14.27 + 183.57 14.38 14.38 + 185.88 15.12 15.12 + 174.97 12.85 12.85 + 164.19 10.93 10.93 + 164.46 12.56 12.56 + 158.87 11.90 11.90 + 154.97 11.85 11.85 + 151.41 11.64 11.64 + 150.46 11.46 11.46 + 151.35 11.54 11.54 + 157.72 12.43 12.43 + 168.32 13.43 13.43 + 172.74 13.79 13.79 + 177.79 14.98 14.98 + 176.53 14.62 14.62 + 164.15 11.82 11.82 + 156.14 10.82 10.82 + 150.99 10.22 10.22 + 148.43 9.63 9.63 + 151.67 10.62 10.62 + 156.75 12.11 12.11 + 157.16 12.56 12.56 + 165.50 14.04 14.04 + 182.12 15.68 15.68 + 178.43 14.65 14.65 + 175.10 14.18 14.18 + 173.56 14.36 14.36 + 163.16 12.02 12.02 + 149.25 9.54 9.54 + 141.07 9.98 9.98 + 134.72 9.38 9.38 + 130.36 9.46 9.46 + 130.01 9.34 9.34 + 128.62 9.43 9.43 + 126.93 9.60 9.60 + 128.50 9.87 9.87 + 135.22 10.11 10.11 + 136.76 9.85 9.85 + 135.51 10.42 10.42 + 134.71 10.07 10.07 + 125.02 7.86 7.86 + 116.67 6.53 6.53 + 113.04 6.50 6.50 + 111.16 6.17 6.17 + 113.41 6.87 6.87 + 113.98 7.74 7.74 + 117.16 8.54 8.54 + 124.78 9.98 9.98 + 145.15 12.08 12.08 + 144.87 11.73 11.73 + 143.50 11.52 11.52 + 142.40 11.86 11.86 + 134.08 10.01 10.01 + 118.82 7.53 7.53 + 107.70 7.60 7.60 + 101.89 7.16 7.16 + 99.12 7.46 7.46 + 97.82 7.30 7.30 + 98.97 7.33 7.33 + 96.36 7.21 7.21 + 98.36 8.04 8.04 + 106.85 8.56 8.56 + 109.31 8.14 8.14 + 113.23 8.64 8.64 + 119.61 8.86 8.86 + 116.68 7.89 7.89 + 101.72 6.38 6.38 + 90.30 5.33 5.33 + 77.17 4.15 4.15 + 72.14 4.45 4.45 + 70.96 4.53 4.53 + 58.44 2.98 2.98 + 42.77 2.69 2.69 + 41.13 3.38 3.38 + 40.45 3.35 3.35 + 38.57 3.20 3.20 + 38.51 3.13 3.13 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 198.67 18.22 18.22 + 2 66 146.78 8.22 8.22 + 2 82 201.44 19.11 19.11 + 2 98 245.67 19.00 19.00 + 2 114 155.22 16.44 16.44 + 2 130 0.00 0.00 0.00 + 2 146 186.11 21.89 21.89 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 92.56 8.22 8.22 + 18 2 0.00 0.00 0.00 + 18 18 61.56 5.33 5.33 + 18 34 0.00 0.00 0.00 + 18 50 228.89 23.56 23.56 + 18 66 198.33 9.89 9.89 + 18 82 131.33 6.11 6.11 + 18 98 255.00 31.67 31.67 + 18 114 126.33 8.22 8.22 + 18 130 200.11 16.22 16.22 + 18 146 167.67 8.67 8.67 + 18 162 85.00 8.11 8.11 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 138.11 19.44 19.44 + 34 34 255.00 39.00 39.00 + 34 50 164.89 17.11 17.11 + 34 66 226.78 22.44 22.44 + 34 82 140.22 8.11 8.11 + 34 98 233.11 25.67 25.67 + 34 114 249.22 19.44 19.44 + 34 130 122.22 10.33 10.33 + 34 146 255.00 37.56 37.56 + 34 162 27.00 2.33 2.33 + 34 178 255.00 41.22 41.22 + 34 194 92.89 0.00 0.00 + 50 2 140.00 10.22 10.22 + 50 18 184.11 8.22 8.22 + 50 34 248.11 31.22 31.22 + 50 50 225.22 16.33 16.33 + 50 66 217.22 19.22 19.22 + 50 82 226.78 19.89 19.89 + 50 98 162.11 5.11 5.11 + 50 114 224.33 15.33 15.33 + 50 130 172.67 8.22 8.22 + 50 146 129.00 9.11 9.11 + 50 162 216.67 12.67 12.67 + 50 178 12.89 0.00 0.00 + 50 194 91.33 6.11 6.11 + 66 2 160.33 11.22 11.22 + 66 18 98.56 0.44 0.44 + 66 34 105.67 1.22 1.22 + 66 50 217.89 33.67 33.67 + 66 66 91.78 0.33 0.33 + 66 82 220.22 24.78 24.78 + 66 98 121.44 2.11 2.11 + 66 114 230.00 24.56 24.56 + 66 130 228.22 13.44 13.44 + 66 146 155.22 11.00 11.00 + 66 162 146.44 6.11 6.11 + 66 178 144.11 4.22 4.22 + 66 194 92.56 5.78 5.78 + 82 2 139.33 13.00 13.00 + 82 18 184.00 13.78 13.78 + 82 34 255.00 29.44 29.44 + 82 50 90.22 3.22 3.22 + 82 66 254.44 31.11 31.11 + 82 82 211.56 19.56 19.56 + 82 98 254.89 30.67 30.67 + 82 114 197.67 13.78 13.78 + 82 130 240.33 25.89 25.89 + 82 146 194.44 15.22 15.22 + 82 162 131.00 15.44 15.44 + 82 178 228.78 23.56 23.56 + 82 194 88.67 0.00 0.00 + 98 2 231.56 36.56 36.56 + 98 18 186.33 9.00 9.00 + 98 34 70.22 0.56 0.56 + 98 50 195.00 12.78 12.78 + 98 66 255.00 36.33 36.33 + 98 82 189.78 11.00 11.00 + 98 98 84.67 4.56 4.56 + 98 114 217.67 12.11 12.11 + 98 130 174.11 10.33 10.33 + 98 146 224.56 20.22 20.22 + 98 162 213.78 14.78 14.78 + 98 178 172.78 14.67 14.67 + 98 194 128.11 11.78 11.78 + 114 2 22.22 0.22 0.22 + 114 18 177.33 11.67 11.67 + 114 34 112.89 0.44 0.44 + 114 50 255.00 39.44 39.44 + 114 66 99.78 0.11 0.11 + 114 82 223.78 18.89 18.89 + 114 98 206.44 15.67 15.67 + 114 114 252.44 31.67 31.67 + 114 130 103.44 0.22 0.22 + 114 146 90.78 0.78 0.78 + 114 162 210.56 17.33 17.33 + 114 178 115.89 2.00 2.00 + 114 194 96.89 6.78 6.78 + 130 2 10.78 0.00 0.00 + 130 18 200.56 13.89 13.89 + 130 34 244.67 24.89 24.89 + 130 50 166.67 6.67 6.67 + 130 66 222.44 16.89 16.89 + 130 82 152.33 3.89 3.89 + 130 98 222.00 20.67 20.67 + 130 114 237.78 17.11 17.11 + 130 130 160.11 10.67 10.67 + 130 146 254.22 27.44 27.44 + 130 162 214.56 21.67 21.67 + 130 178 137.33 8.44 8.44 + 130 194 23.89 0.00 0.00 + 146 2 255.00 34.78 34.78 + 146 18 157.44 6.78 6.78 + 146 34 179.33 14.11 14.11 + 146 50 167.56 14.44 14.44 + 146 66 225.44 23.22 23.22 + 146 82 140.33 5.78 5.78 + 146 98 101.78 3.44 3.44 + 146 114 255.00 36.56 36.56 + 146 130 182.67 15.89 15.89 + 146 146 65.78 1.33 1.33 + 146 162 174.33 9.78 9.78 + 146 178 174.44 10.78 10.78 + 146 194 0.00 0.00 0.00 + 162 2 135.00 18.33 18.33 + 162 18 205.22 18.33 18.33 + 162 34 240.89 16.44 16.44 + 162 50 232.67 24.78 24.78 + 162 66 89.44 0.00 0.00 + 162 82 140.33 8.44 8.44 + 162 98 255.00 28.44 28.44 + 162 114 180.00 14.44 14.44 + 162 130 102.00 4.00 4.00 + 162 146 146.11 7.22 7.22 + 162 162 184.22 16.00 16.00 + 162 178 94.00 0.11 0.11 + 162 194 0.00 0.00 0.00 + 178 2 116.89 9.00 9.00 + 178 18 78.11 3.11 3.11 + 178 34 185.67 13.67 13.67 + 178 50 0.00 0.00 0.00 + 178 66 94.44 3.44 3.44 + 178 82 208.33 12.00 12.00 + 178 98 142.22 7.67 7.67 + 178 114 236.56 19.67 19.67 + 178 130 54.44 0.56 0.56 + 178 146 227.33 20.89 20.89 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 124.00 6.44 6.44 + 194 82 106.89 1.22 1.22 + 194 98 0.00 0.00 0.00 + 194 114 179.33 24.67 24.67 + 194 130 106.44 0.89 0.89 + 194 146 186.89 15.00 15.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-axes-center.yaml b/unittest/graphics/tests/dump-image-axes-center.yaml new file mode 100644 index 00000000000..369bbd773e7 --- /dev/null +++ b/unittest/graphics/tests/dump-image-axes-center.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:09 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.05 axes center 0.5 0.05 + dump_modify viz backcolor black boxcolor yellow +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 2.28 2.28 0.03 + 7.96 7.96 1.52 + 12.07 12.07 3.90 + 17.48 17.48 4.36 + 18.81 18.81 4.35 + 19.90 19.90 4.34 + 19.96 19.96 4.34 + 20.25 20.25 4.35 + 19.82 19.82 4.35 + 21.18 21.18 4.34 + 20.64 20.64 4.35 + 20.89 20.89 4.35 + 20.20 20.20 4.34 + 19.72 19.72 4.35 + 20.05 20.05 4.35 + 19.59 19.59 4.36 + 20.87 20.87 4.34 + 20.39 20.39 4.34 + 20.64 20.64 4.35 + 19.95 19.95 4.34 + 20.22 20.22 4.34 + 19.78 19.78 4.35 + 21.14 21.14 4.35 + 20.60 20.60 4.36 + 20.05 20.05 4.34 + 15.18 15.18 0.65 + 10.96 10.96 0.00 + 10.90 10.90 0.00 + 12.32 12.32 0.00 + 13.92 13.92 0.01 + 14.44 14.44 0.01 + 13.91 13.91 0.01 + 16.59 16.59 2.00 + 21.00 21.00 4.31 + 24.59 24.59 4.37 + 26.30 26.30 4.37 + 25.86 25.86 4.36 + 25.84 25.84 4.36 + 25.41 25.41 4.36 + 24.94 24.94 4.35 + 26.57 26.57 5.63 + 26.28 26.28 5.63 + 24.70 24.70 5.63 + 24.21 24.21 5.64 + 22.95 22.95 4.35 + 24.27 24.27 5.63 + 26.14 26.14 6.04 + 26.79 26.79 6.26 + 26.27 26.27 4.36 + 25.82 25.82 4.37 + 25.82 25.82 4.36 + 25.38 25.38 5.24 + 25.68 25.68 7.21 + 25.26 25.26 7.08 + 25.75 25.75 5.72 + 24.18 24.18 5.73 + 18.89 18.89 4.75 + 13.31 13.31 1.56 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.79 10.79 1.38 + 10.96 12.99 1.04 + 14.69 16.80 2.18 + 14.55 17.68 2.19 + 14.47 17.34 2.19 + 15.41 17.71 2.19 + 15.39 17.39 2.19 + 15.30 17.79 2.19 + 13.67 13.79 0.73 + 13.27 13.33 0.83 + 14.63 19.75 2.31 + 18.25 20.48 5.02 + 21.08 25.38 3.89 + 22.50 21.45 3.98 + 24.21 20.53 0.90 + 24.94 22.39 3.91 + 27.87 25.96 4.76 + 28.74 28.74 7.92 + 28.05 28.05 6.92 + 27.59 27.59 6.91 + 28.75 28.75 6.79 + 25.84 25.84 4.36 + 26.09 26.09 4.37 + 25.39 25.39 4.37 + 23.76 23.76 4.36 + 20.18 20.18 2.50 + 21.48 21.48 1.34 + 22.60 22.60 4.21 + 26.04 26.04 4.37 + 25.62 25.62 4.37 + 25.14 25.14 4.36 + 25.48 25.48 4.37 + 25.00 25.00 4.37 + 26.30 26.30 4.36 + 25.83 25.83 4.36 + 21.55 21.55 3.81 + 17.23 17.23 0.49 + 13.45 13.45 0.01 + 14.09 14.09 0.01 + 14.83 14.83 0.01 + 13.56 13.56 0.01 + 11.92 11.92 0.01 + 10.50 10.50 0.01 + 13.22 13.22 0.39 + 18.36 18.36 4.33 + 20.46 20.46 4.36 + 20.76 20.76 4.36 + 20.27 20.27 4.36 + 20.29 20.29 4.35 + 19.82 19.82 4.36 + 20.13 20.13 4.34 + 20.73 20.73 4.36 + 20.93 20.93 4.35 + 20.50 20.50 4.35 + 20.49 20.49 4.35 + 20.04 20.04 4.35 + 20.34 20.34 4.36 + 19.93 19.93 4.36 + 20.41 20.41 4.36 + 20.73 20.73 4.35 + 20.21 20.21 4.35 + 20.26 20.26 4.36 + 19.80 19.80 4.35 + 20.10 20.10 4.35 + 19.66 19.66 4.36 + 18.83 18.83 4.36 + 13.93 13.93 4.12 + 8.57 8.57 0.92 + 4.17 4.17 0.03 + 0.60 0.60 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 83.70 83.70 0.04 + 90.71 90.71 1.44 + 66.45 66.45 1.71 + 56.40 56.40 2.46 + 14.17 14.17 2.56 + 14.78 14.78 2.54 + 14.38 14.38 2.46 + 14.69 14.69 2.52 + 15.92 15.92 2.57 + 16.00 16.00 2.49 + 14.87 14.87 2.47 + 16.12 16.12 2.56 + 14.68 14.68 2.54 + 13.33 13.33 2.45 + 14.63 14.63 2.52 + 15.86 15.86 2.56 + 15.96 15.96 2.48 + 14.85 14.85 2.48 + 16.04 16.04 2.56 + 15.62 15.62 2.53 + 13.28 13.28 2.45 + 14.32 14.32 2.52 + 15.76 15.76 2.56 + 15.87 15.87 2.47 + 14.86 14.86 2.48 + 15.97 15.97 2.56 + 16.51 16.51 2.52 + 13.22 13.22 2.45 + 14.04 14.04 2.54 + 15.64 15.64 2.56 + 15.00 15.00 2.46 + 14.83 14.83 2.48 + 15.98 15.98 2.56 + 16.32 16.32 2.50 + 14.21 14.21 2.46 + 14.06 14.06 2.54 + 89.83 89.83 2.56 + 94.50 94.50 2.49 + 68.11 68.11 3.42 + 59.48 59.48 5.03 + 15.39 15.39 5.00 + 15.11 15.11 5.03 + 19.55 18.68 7.78 + 19.83 17.34 8.39 + 20.21 16.65 8.95 + 14.41 11.83 3.77 + 15.18 12.39 3.79 + 17.77 15.42 5.00 + 16.64 15.18 5.03 + 17.56 16.02 5.04 + 16.86 15.27 5.00 + 17.00 15.31 5.01 + 17.32 15.53 5.05 + 17.98 15.73 5.02 + 17.77 15.44 5.00 + 16.66 15.23 5.04 + 17.62 16.11 5.04 + 16.86 15.30 5.00 + 16.32 14.69 7.56 + 18.05 17.39 46.01 + 16.51 18.59 29.18 + 17.27 19.00 7.56 + 17.68 17.96 7.45 + 18.00 19.54 6.84 + 15.52 17.80 5.19 + 15.73 16.09 5.94 + 16.61 17.50 5.99 + 15.26 17.40 5.17 + 16.12 17.73 5.54 + 16.45 16.80 6.17 + 16.72 18.36 5.50 + 15.56 17.77 5.21 + 15.89 16.20 5.99 + 16.64 17.61 5.93 + 15.28 17.48 5.16 + 16.25 17.73 5.59 + 16.50 16.91 6.18 + 16.68 18.41 5.44 + 15.62 17.77 5.24 + 16.01 16.27 6.04 + 16.65 17.73 5.88 + 15.32 17.56 5.16 + 15.66 17.05 5.67 + 88.02 88.02 2.54 + 95.75 95.75 3.00 + 73.67 73.67 1.31 + 57.73 57.73 1.29 + 15.46 16.64 3.27 + 13.92 16.20 2.59 + 15.84 16.39 3.27 + 17.05 17.61 3.65 + 15.54 17.44 2.75 + 15.63 18.07 3.10 + 17.48 19.79 3.68 + 15.50 17.88 3.40 + 13.78 15.93 2.78 + 15.34 17.48 2.80 + 16.01 17.41 2.68 + 15.21 16.61 2.45 + 15.05 15.79 2.52 + 16.23 17.18 2.57 + 16.65 16.65 3.65 + 14.69 14.69 3.75 + 16.07 16.07 3.83 + 16.92 16.92 3.69 + 14.41 14.41 2.46 + 15.05 15.05 2.52 + 16.16 16.16 2.56 + 16.39 16.39 2.48 + 13.36 13.36 2.47 + 14.52 14.52 2.56 + 15.62 15.62 2.53 + 14.37 14.37 2.45 + 15.09 15.09 2.52 + 16.11 16.11 2.56 + 16.20 16.20 2.48 + 14.34 14.34 2.48 + 14.53 14.53 2.56 + 13.99 13.99 2.52 + 84.97 84.97 0.33 + 91.81 91.81 0.56 + 68.03 68.03 0.00 + 51.37 51.37 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 18.78 18.78 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 193.00 193.00 82.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 32.33 32.33 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 182.78 182.78 119.33 + 66 114 0.00 0.00 0.00 + 66 130 68.56 68.56 0.00 + 66 146 0.00 0.00 0.00 + 66 162 32.33 32.33 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.33 0.33 91.33 + 82 114 0.00 0.00 0.00 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 32.33 32.33 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 0.00 0.00 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 0.33 0.33 91.33 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 32.33 32.33 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 51.33 22.22 0.56 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 32.33 32.33 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 92.44 92.44 0.00 + 130 82 167.44 167.44 167.44 + 130 98 201.33 201.33 82.78 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 32.33 32.33 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 168.56 168.56 0.00 + 146 66 0.00 0.00 0.00 + 146 82 0.00 0.00 0.00 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 24.00 24.00 0.00 + 146 162 32.33 32.33 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 225.67 225.67 83.22 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 30.89 30.89 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 47.00 47.00 0.33 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-axes-lowerright.yaml b/unittest/graphics/tests/dump-image-axes-lowerright.yaml new file mode 100644 index 00000000000..883bffff7bc --- /dev/null +++ b/unittest/graphics/tests/dump-image-axes-lowerright.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:10 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.05 axes lowerright 0.3 0.03 + dump_modify viz backcolor black boxcolor yellow +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 2.28 2.28 0.03 + 7.96 7.96 1.52 + 12.07 12.07 3.90 + 17.48 17.48 4.36 + 18.81 18.81 4.35 + 19.90 19.90 4.34 + 19.96 19.96 4.34 + 20.25 20.25 4.35 + 19.82 19.82 4.35 + 21.18 21.18 4.34 + 20.64 20.64 4.35 + 20.89 20.89 4.35 + 20.20 20.20 4.34 + 19.72 19.72 4.35 + 20.05 20.05 4.35 + 19.59 19.59 4.36 + 20.87 20.87 4.34 + 20.39 20.39 4.34 + 20.64 20.64 4.35 + 19.95 19.95 4.34 + 20.22 20.22 4.34 + 19.78 19.78 4.35 + 21.14 21.14 4.35 + 20.60 20.60 4.36 + 20.05 20.05 4.34 + 15.18 15.18 0.65 + 10.96 10.96 0.00 + 10.90 10.90 0.00 + 12.32 12.32 0.00 + 13.92 13.92 0.01 + 14.44 14.44 0.01 + 13.91 13.91 0.01 + 16.59 16.59 2.00 + 21.00 21.00 4.31 + 24.59 24.59 4.37 + 26.30 26.30 4.37 + 25.86 25.86 4.36 + 25.84 25.84 4.36 + 25.41 25.41 4.36 + 24.94 24.94 4.35 + 25.29 25.29 4.36 + 25.00 25.00 4.36 + 23.43 23.43 4.36 + 22.94 22.94 4.37 + 22.95 22.95 4.35 + 24.11 24.11 4.36 + 25.45 25.45 4.36 + 26.05 26.05 4.36 + 26.27 26.27 4.36 + 25.82 25.82 4.37 + 25.82 25.82 4.36 + 25.38 25.38 4.35 + 25.66 25.66 4.35 + 25.25 25.25 4.35 + 25.74 25.74 4.35 + 24.18 24.18 4.36 + 18.89 18.89 3.38 + 13.30 13.30 0.20 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 12.05 12.05 1.28 + 12.05 12.05 1.28 + 12.05 12.05 1.28 + 12.05 12.05 1.28 + 10.78 10.78 0.01 + 15.55 15.55 0.81 + 22.06 22.06 4.50 + 25.55 25.55 6.04 + 26.43 26.43 6.13 + 25.68 25.68 5.97 + 25.18 25.18 5.75 + 25.50 25.50 4.85 + 25.05 25.05 4.84 + 26.32 26.32 4.84 + 25.84 25.84 4.84 + 26.09 26.09 4.85 + 25.39 25.39 4.85 + 23.76 23.76 4.84 + 20.18 20.18 2.98 + 21.48 21.48 1.82 + 22.60 22.60 4.69 + 26.04 26.04 4.85 + 25.62 25.62 4.85 + 25.14 25.14 4.84 + 25.48 25.48 4.85 + 25.00 25.00 4.85 + 26.30 26.30 4.84 + 25.83 25.83 4.84 + 21.55 21.55 4.29 + 17.23 17.23 0.97 + 13.45 13.45 0.49 + 14.09 14.09 0.49 + 14.83 14.83 0.49 + 13.56 13.56 0.49 + 11.92 11.92 0.49 + 12.68 14.68 1.29 + 15.30 17.46 1.72 + 21.21 21.84 5.61 + 23.39 24.71 5.68 + 25.93 26.61 7.95 + 26.02 28.11 8.65 + 21.46 24.73 4.58 + 22.02 19.86 4.39 + 24.06 23.70 7.92 + 23.27 23.27 6.91 + 23.48 23.48 6.90 + 22.93 22.93 6.79 + 20.49 20.49 4.35 + 20.04 20.04 4.35 + 20.34 20.34 4.36 + 19.93 19.93 4.36 + 20.41 20.41 4.36 + 20.73 20.73 4.35 + 20.21 20.21 4.35 + 20.26 20.26 4.36 + 19.80 19.80 4.35 + 20.10 20.10 4.35 + 19.66 19.66 4.36 + 18.83 18.83 4.36 + 13.93 13.93 4.12 + 8.57 8.57 0.92 + 4.17 4.17 0.03 + 0.60 0.60 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 83.70 83.70 0.04 + 90.71 90.71 1.44 + 66.45 66.45 1.71 + 56.40 56.40 2.46 + 14.17 14.17 2.56 + 14.78 14.78 2.54 + 14.38 14.38 2.46 + 14.69 14.69 2.52 + 15.92 15.92 2.57 + 16.00 16.00 2.49 + 14.87 14.87 2.47 + 16.12 16.12 2.56 + 14.68 14.68 2.54 + 13.33 13.33 2.45 + 14.63 14.63 2.52 + 15.86 15.86 2.56 + 15.96 15.96 2.48 + 14.85 14.85 2.48 + 16.04 16.04 2.56 + 15.62 15.62 2.53 + 13.28 13.28 2.45 + 14.32 14.32 2.52 + 15.76 15.76 2.56 + 15.87 15.87 2.47 + 14.86 14.86 2.48 + 15.97 15.97 2.56 + 16.51 16.51 2.52 + 13.22 13.22 2.45 + 14.04 14.04 2.54 + 15.64 15.64 2.56 + 15.00 15.00 2.46 + 14.83 14.83 2.48 + 15.98 15.98 2.56 + 16.32 16.32 2.50 + 14.21 14.21 2.46 + 14.06 14.06 2.54 + 89.83 89.83 2.56 + 94.50 94.50 2.49 + 68.11 68.11 3.42 + 59.48 59.48 5.03 + 15.39 15.39 5.00 + 15.11 15.11 5.03 + 15.96 15.96 5.05 + 15.23 15.23 5.00 + 15.21 15.21 5.00 + 15.47 15.47 5.04 + 15.71 15.71 5.02 + 15.42 15.42 5.00 + 15.18 15.18 5.03 + 16.02 16.02 5.04 + 15.27 15.27 5.00 + 15.31 15.31 5.01 + 15.53 15.53 5.05 + 15.73 15.73 5.02 + 15.44 15.44 5.00 + 15.23 15.23 5.04 + 16.11 16.11 5.04 + 15.30 15.30 5.00 + 14.69 14.69 5.01 + 15.59 15.59 5.05 + 15.04 15.04 5.02 + 15.52 15.52 5.00 + 15.28 15.28 5.04 + 16.20 16.20 5.04 + 15.33 15.33 5.00 + 14.81 14.81 5.01 + 15.67 15.67 5.04 + 15.09 15.09 5.00 + 15.59 15.59 5.00 + 15.31 15.31 5.04 + 16.26 16.26 5.04 + 15.35 15.35 5.00 + 14.92 14.92 5.01 + 15.75 15.75 5.04 + 15.13 15.13 5.01 + 15.66 15.66 5.00 + 15.37 15.37 5.04 + 16.27 16.27 5.04 + 15.37 15.37 4.99 + 14.99 14.99 5.03 + 15.82 15.82 5.05 + 15.18 15.18 5.02 + 15.01 15.01 5.01 + 88.02 88.02 2.54 + 95.75 95.75 3.00 + 73.67 73.67 1.31 + 57.73 57.73 1.29 + 14.70 14.70 2.50 + 13.79 13.79 2.46 + 15.12 15.12 2.55 + 15.95 15.95 2.55 + 15.24 15.24 2.46 + 15.03 15.03 2.50 + 16.38 16.38 2.57 + 14.59 14.59 2.50 + 13.46 13.46 2.46 + 15.08 15.08 2.54 + 15.87 15.87 2.54 + 15.21 15.21 2.45 + 15.05 15.05 2.52 + 16.23 16.23 2.57 + 15.49 15.49 2.49 + 13.41 13.41 2.47 + 14.79 14.79 2.56 + 15.77 15.77 2.54 + 14.41 14.41 2.46 + 15.05 15.05 2.52 + 16.16 16.16 2.56 + 16.39 16.39 2.48 + 13.36 13.36 2.47 + 14.52 14.52 2.56 + 15.62 15.62 2.53 + 14.37 14.37 2.45 + 15.09 15.09 2.52 + 16.11 16.11 2.56 + 18.51 18.51 4.79 + 18.03 18.03 6.17 + 20.87 19.66 7.70 + 15.31 13.99 2.52 + 85.92 84.97 0.33 + 92.84 91.81 0.56 + 69.54 68.03 0.00 + 52.95 51.37 0.00 + 1.49 0.00 0.00 + 0.60 0.00 0.00 + 2.04 1.27 1.27 + 2.27 1.38 5.34 + 1.28 2.15 15.79 + 2.08 2.55 2.08 + 0.47 1.27 0.47 + 0.00 1.23 0.00 + 0.21 1.27 0.21 + 1.09 1.27 1.09 + 0.01 1.21 0.01 + 0.01 0.93 0.01 + 0.91 1.27 0.91 + 0.36 1.27 0.36 + 0.00 0.55 0.00 + 0.28 1.27 0.28 + 1.03 1.27 1.03 + 0.01 1.16 0.01 + 0.02 0.98 0.02 + 0.99 1.27 0.99 + 0.28 1.27 0.28 + 0.00 0.62 0.00 + 0.36 1.27 0.36 + 0.95 1.85 0.95 + 0.43 2.08 0.43 + 0.06 1.95 0.06 + 0.17 1.27 0.17 + 0.00 0.68 0.00 + 1.16 1.16 1.16 + 1.27 1.27 1.27 + 1.27 1.27 1.27 + 1.16 1.16 1.16 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 18.78 18.78 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 193.00 193.00 82.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 32.33 32.33 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 166.56 166.56 76.89 + 66 114 0.00 0.00 0.00 + 66 130 68.56 68.56 0.00 + 66 146 0.00 0.00 0.00 + 66 162 32.33 32.33 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.00 0.00 0.00 + 82 114 0.00 0.00 0.00 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 32.33 32.33 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 0.00 0.00 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 0.00 0.00 0.00 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 32.33 32.33 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 0.00 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 32.33 32.33 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 92.44 92.44 0.00 + 130 82 0.00 0.00 0.00 + 130 98 201.33 201.33 82.78 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 32.33 32.33 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 168.56 168.56 0.00 + 146 66 0.00 0.00 0.00 + 146 82 0.00 0.00 0.00 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 24.00 24.00 0.00 + 146 162 32.33 32.33 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 225.67 225.67 83.22 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 30.89 30.89 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 47.00 47.00 0.33 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-atom.yaml b/unittest/graphics/tests/dump-image-bcolor-atom.yaml new file mode 100644 index 00000000000..77995e1c895 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-atom.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:56 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.90 131.03 118.31 + 126.67 128.23 118.67 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.47 126.22 123.57 + 126.21 127.37 126.14 + 126.75 127.97 126.75 + 127.03 127.98 127.03 + 126.41 127.51 126.41 + 126.37 127.53 126.37 + 127.16 127.95 124.52 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.02 126.03 118.16 + 122.77 125.03 116.86 + 125.92 126.49 124.28 + 131.51 131.43 130.38 + 130.28 130.12 129.29 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.42 127.08 125.25 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.29 131.60 116.12 + 132.55 131.18 116.23 + 134.50 132.43 119.58 + 134.35 126.00 120.88 + 132.21 123.78 122.42 + 130.34 120.26 122.33 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 130.19 124.79 127.00 + 128.15 127.10 128.76 + 126.95 129.46 128.00 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.88 125.63 119.25 + 130.40 129.56 124.50 + 128.82 126.27 123.92 + 126.45 125.02 120.19 + 128.04 126.89 119.98 + 130.07 128.41 119.95 + 126.83 125.01 117.22 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 127.36 122.20 117.42 + 131.57 124.78 121.56 + 133.46 130.98 120.30 + 133.95 132.16 119.75 + 129.34 129.95 121.17 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.76 114.22 117.22 + 124.53 113.98 115.64 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.64 128.64 128.64 + 128.65 128.65 128.65 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 128.19 132.63 125.63 + 125.31 133.38 127.00 + 126.07 128.29 124.00 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.59 121.77 121.82 + 130.34 126.06 121.81 + 131.33 129.84 123.55 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 128.20 128.20 128.20 + 128.16 128.16 128.16 + 126.87 128.53 128.53 + 126.27 128.87 128.87 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.20 124.56 131.87 + 122.47 118.94 126.38 + 124.90 116.41 120.22 + 127.53 120.10 120.79 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.27 129.35 123.87 + 132.31 129.76 122.00 + 133.06 130.09 121.89 + 133.55 130.83 122.66 + 135.03 129.28 128.05 + 137.39 129.37 129.56 + 137.03 128.43 127.05 + 134.68 126.59 125.75 + 133.26 125.27 125.39 + 124.29 118.58 129.14 + 120.86 121.36 128.43 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.58 121.09 126.06 + 125.06 120.31 122.17 + 129.16 120.91 120.91 + 127.72 117.25 115.89 + 128.72 118.37 114.83 + 128.79 117.41 112.22 + 130.94 120.34 110.53 + 133.48 126.00 112.58 + 129.47 124.28 111.74 + 127.69 125.31 113.58 + 125.51 124.22 112.91 + 126.19 125.39 113.64 + 127.03 126.63 116.41 + 128.99 126.11 115.50 + 131.25 127.78 117.97 + 133.49 125.86 115.15 + 133.90 124.77 113.17 + 135.87 125.30 112.39 + 134.72 124.43 111.10 + 132.53 122.28 110.02 + 129.78 121.50 112.25 + 126.12 118.38 112.13 + 130.44 121.51 115.70 + 130.00 122.03 118.17 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 125.66 123.19 122.43 + 126.58 125.26 124.26 + 126.17 128.18 126.17 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.69 125.53 120.48 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 135.44 133.03 115.84 + 133.77 131.68 118.22 + 131.28 129.91 123.66 + 129.81 128.66 127.47 + 125.91 124.98 126.82 + 124.21 122.55 122.29 + 123.22 122.74 121.06 + 121.81 123.45 120.01 + 123.80 125.95 121.90 + 129.72 122.50 123.58 + 134.06 119.64 123.99 + 133.01 115.71 123.58 + 131.55 117.71 125.37 + 126.05 119.52 119.16 + 122.75 121.54 118.04 + 115.93 123.34 113.24 + 118.96 128.68 108.23 + 125.55 132.72 106.36 + 126.98 132.62 105.69 + 125.85 131.53 106.58 + 129.88 131.57 105.23 + 131.05 130.74 105.93 + 130.99 129.99 109.67 + 126.03 124.86 109.50 + 123.33 123.33 114.11 + 121.34 121.12 114.69 + 120.22 120.48 121.44 + 124.86 124.14 125.29 + 124.86 125.85 126.67 + 124.41 126.75 125.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 127.19 119.38 115.08 + 135.26 125.95 113.73 + 135.13 128.53 113.58 + 134.61 127.29 109.61 + 134.03 126.59 110.48 + 130.66 125.45 112.18 + 124.20 125.06 116.50 + 125.19 128.30 121.77 + 123.73 130.36 125.47 + 123.84 132.62 124.81 + 119.94 134.78 118.29 + 124.19 139.46 112.77 + 129.50 142.28 109.10 + 130.34 142.07 106.17 + 132.37 137.56 101.47 + 138.69 126.03 99.55 + 137.40 119.41 102.41 + 138.44 115.36 109.05 + 139.41 111.74 115.45 + 136.03 110.52 113.83 + 133.21 114.06 112.23 + 131.56 116.33 111.72 + 127.28 116.19 115.93 + 123.39 117.22 119.92 + 122.01 117.36 122.78 + 120.46 116.95 124.39 + 120.72 117.33 127.41 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 59.11 134.56 59.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 107.56 90.44 159.00 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 181.00 181.00 181.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 26.56 125.22 125.22 + 130 130 57.89 33.00 166.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 123.22 80.78 172.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.89 98.11 28.44 + 162 130 108.11 90.22 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-dist.yaml b/unittest/graphics/tests/dump-image-bcolor-dist.yaml new file mode 100644 index 00000000000..69ecf6bb005 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-dist.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:58 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local dist + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.09 129.25 120.31 + 126.69 127.81 119.21 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 127.36 124.89 123.25 + 128.47 125.82 125.76 + 129.01 126.36 126.36 + 129.21 127.03 127.03 + 129.00 126.41 126.41 + 129.03 126.37 126.37 + 128.22 127.44 124.52 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 125.12 125.51 118.21 + 126.01 122.38 117.86 + 125.90 121.54 122.41 + 132.00 128.81 127.91 + 130.34 129.88 129.07 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 126.81 126.30 125.33 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.26 131.35 115.98 + 132.31 129.29 115.21 + 134.08 130.53 118.19 + 133.41 125.69 118.98 + 130.85 122.70 122.63 + 129.75 120.26 122.25 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.84 124.79 126.36 + 127.50 127.10 127.69 + 126.56 127.86 128.62 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.89 124.58 119.84 + 130.28 128.82 124.63 + 127.75 124.07 125.03 + 126.37 125.02 120.28 + 127.88 126.18 120.03 + 129.25 127.03 120.16 + 126.41 124.59 117.64 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.81 122.20 116.92 + 129.06 123.41 121.89 + 134.69 128.42 119.10 + 134.31 131.39 119.39 + 128.34 129.37 122.19 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.81 113.68 117.17 + 124.34 113.67 115.83 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.37 126.98 127.75 + 128.38 126.98 127.75 + 128.40 126.98 127.77 + 128.41 126.98 127.78 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.66 130.97 125.04 + 126.14 129.91 125.45 + 126.75 126.98 123.33 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 125.65 121.31 122.45 + 129.32 124.43 121.73 + 131.03 128.53 122.91 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 127.94 126.88 127.58 + 127.90 126.88 127.56 + 127.86 126.87 127.53 + 127.23 127.27 127.91 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.97 122.78 131.10 + 122.47 117.34 126.92 + 123.12 116.41 121.88 + 127.30 120.10 121.03 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.62 129.35 124.53 + 131.66 129.76 122.64 + 132.42 130.09 120.93 + 130.98 128.85 123.67 + 135.03 129.28 128.05 + 135.78 127.57 130.63 + 135.53 126.08 127.47 + 134.58 125.91 125.39 + 132.28 125.27 125.29 + 122.72 118.58 128.10 + 121.69 119.08 127.09 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.25 121.09 126.72 + 124.52 120.31 122.72 + 129.19 120.23 120.88 + 126.83 116.74 116.78 + 128.29 118.37 115.72 + 127.91 117.41 113.33 + 130.25 119.06 112.31 + 133.72 122.84 114.94 + 129.04 123.44 112.45 + 126.75 123.75 115.29 + 124.67 123.38 113.75 + 125.53 124.69 114.31 + 126.36 125.92 117.07 + 128.31 125.40 116.17 + 130.97 127.51 118.25 + 132.19 124.58 116.45 + 133.16 124.06 113.90 + 135.09 124.85 113.17 + 134.13 123.75 112.12 + 131.33 120.61 111.67 + 128.25 119.63 114.11 + 124.11 116.78 114.14 + 128.31 120.30 118.36 + 129.87 122.03 118.44 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.55 121.79 122.73 + 125.63 124.26 125.20 + 127.22 126.17 127.12 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 130.69 124.95 121.50 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.43 131.85 116.34 + 133.03 130.94 118.95 + 129.80 128.24 124.55 + 129.81 128.66 127.47 + 125.30 124.20 126.91 + 124.21 122.55 122.29 + 123.13 120.47 120.45 + 121.55 121.36 118.87 + 122.94 123.21 119.59 + 128.84 120.41 120.47 + 132.51 117.64 121.67 + 134.40 114.06 122.59 + 132.28 116.88 124.72 + 127.98 118.39 119.16 + 125.75 117.77 115.83 + 121.70 118.85 111.70 + 122.22 123.72 110.98 + 126.69 129.01 107.45 + 126.98 132.62 105.69 + 126.19 130.68 106.23 + 129.25 131.57 105.87 + 131.05 130.74 105.93 + 130.88 126.80 109.00 + 124.55 122.24 110.11 + 122.86 122.86 114.58 + 121.34 121.12 114.69 + 120.30 118.69 122.82 + 124.34 122.51 124.70 + 125.44 123.53 125.61 + 125.48 124.75 124.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.67 118.81 117.14 + 134.29 125.47 114.85 + 135.13 128.53 113.58 + 133.03 126.47 111.19 + 132.27 125.60 112.09 + 130.31 123.69 111.35 + 123.91 123.00 115.77 + 122.61 125.35 124.65 + 120.42 126.41 129.54 + 122.13 125.83 124.44 + 120.11 131.59 117.44 + 123.61 138.88 113.34 + 129.19 140.76 110.18 + 131.25 137.81 106.69 + 131.06 131.63 103.38 + 136.72 123.25 102.71 + 136.25 117.60 102.81 + 136.56 113.91 109.78 + 136.56 110.21 116.56 + 134.79 110.16 113.98 + 133.21 114.06 112.23 + 129.07 115.11 114.46 + 124.76 115.28 117.07 + 124.03 117.22 119.58 + 121.12 116.84 123.67 + 120.04 116.95 125.27 + 119.77 116.88 128.54 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 201.56 34.78 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 96.89 33.56 98.44 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 174.11 147.56 165.22 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 27.00 112.89 124.67 + 130 130 63.67 33.00 172.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 89.89 80.78 168.22 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 72.22 79.33 47.11 + 162 130 95.56 77.00 84.56 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-dx.yaml b/unittest/graphics/tests/dump-image-bcolor-dx.yaml new file mode 100644 index 00000000000..9152773e80e --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-dx.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:59 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local dx + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 130.47 129.25 118.97 + 127.09 127.81 118.81 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 126.72 124.89 124.12 + 127.66 125.82 126.77 + 128.26 126.36 127.41 + 128.60 127.03 127.90 + 128.22 126.41 127.41 + 128.27 126.37 127.42 + 128.01 127.44 124.99 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 125.03 125.51 118.47 + 125.72 122.38 118.62 + 125.73 121.54 123.04 + 131.53 128.81 128.59 + 130.28 129.88 129.13 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 126.74 126.30 125.40 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.12 131.35 116.14 + 131.20 129.29 116.31 + 132.73 130.53 119.55 + 132.06 125.69 120.33 + 131.06 122.70 122.51 + 130.15 120.26 121.84 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.09 124.79 127.00 + 126.33 127.10 128.74 + 125.57 127.86 129.50 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 127.11 124.58 119.62 + 130.38 128.82 124.52 + 126.36 124.07 126.31 + 126.08 125.02 120.57 + 127.88 126.18 120.04 + 129.20 127.03 120.22 + 126.37 124.59 117.67 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.83 122.20 116.89 + 129.66 123.41 121.29 + 134.74 128.42 119.06 + 134.33 131.39 119.37 + 128.26 129.37 122.25 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.78 113.68 117.20 + 124.06 113.67 116.11 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.37 126.98 127.75 + 128.38 126.98 127.76 + 128.39 126.98 127.77 + 128.41 126.98 127.78 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 126.98 130.97 125.72 + 124.91 129.91 126.69 + 126.34 126.98 123.73 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 124.33 121.31 123.77 + 127.45 124.43 123.60 + 130.22 128.53 123.71 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 127.58 126.88 127.92 + 127.56 126.88 127.89 + 127.54 126.87 127.86 + 126.92 127.27 128.22 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.61 122.78 131.47 + 122.78 117.34 126.61 + 123.31 116.41 121.69 + 127.40 120.10 120.92 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.34 129.35 124.81 + 131.38 129.76 122.93 + 132.14 130.09 121.21 + 132.33 128.85 122.33 + 135.03 129.28 128.05 + 135.90 127.57 130.53 + 135.80 126.08 127.20 + 134.73 125.91 125.24 + 132.97 125.27 124.61 + 124.08 118.58 126.69 + 123.08 119.08 125.71 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.89 121.09 126.08 + 124.84 120.31 122.39 + 129.40 120.23 120.67 + 127.38 116.74 116.23 + 128.84 118.37 115.17 + 126.61 117.41 114.42 + 128.29 119.06 114.12 + 131.22 122.84 117.30 + 128.47 123.44 113.03 + 126.88 123.75 115.16 + 124.72 123.38 113.69 + 125.73 124.69 114.11 + 126.56 125.92 116.87 + 128.52 125.40 115.97 + 131.07 127.51 118.16 + 132.78 124.58 115.86 + 133.42 124.06 113.64 + 135.71 124.85 112.55 + 134.00 123.75 112.25 + 130.32 120.61 112.62 + 127.69 119.63 114.62 + 124.78 116.78 113.47 + 129.16 120.30 117.59 + 129.90 122.03 118.41 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.81 121.79 122.47 + 125.89 124.26 124.94 + 127.48 126.17 126.86 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 130.62 124.95 121.56 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.31 131.85 116.46 + 133.19 130.94 118.81 + 130.16 128.24 124.19 + 129.81 128.66 127.47 + 125.23 124.20 126.97 + 124.21 122.55 122.29 + 122.89 120.47 120.73 + 120.31 121.36 120.10 + 121.44 123.21 121.31 + 126.87 120.41 122.58 + 130.78 117.64 123.62 + 134.05 114.06 123.16 + 129.88 116.88 127.00 + 126.68 118.39 120.64 + 124.75 117.77 117.06 + 120.02 118.85 114.19 + 122.75 123.72 111.25 + 127.53 129.01 106.64 + 126.98 132.62 105.69 + 125.90 130.68 106.53 + 128.88 131.57 106.23 + 131.05 130.74 105.93 + 130.34 126.80 109.51 + 124.74 122.24 109.92 + 123.06 122.86 114.39 + 121.34 121.12 114.69 + 121.34 118.69 121.78 + 123.67 122.51 125.38 + 124.64 123.53 126.42 + 124.83 124.75 125.40 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.89 118.81 116.98 + 134.41 125.47 114.72 + 135.13 128.53 113.58 + 132.44 126.47 111.78 + 131.56 125.60 112.79 + 129.19 123.69 112.48 + 123.11 123.00 116.56 + 122.09 125.35 125.17 + 120.95 126.41 129.01 + 121.50 125.83 125.07 + 120.11 131.59 117.44 + 123.95 138.88 113.01 + 129.48 140.76 109.89 + 130.51 137.81 107.42 + 130.53 131.63 103.67 + 135.69 123.25 103.48 + 136.04 117.60 102.93 + 136.41 113.91 109.89 + 134.90 110.21 118.24 + 134.19 110.16 114.58 + 133.21 114.06 112.23 + 130.00 115.11 113.53 + 127.30 115.28 114.56 + 124.67 117.22 118.94 + 121.67 116.84 123.11 + 120.58 116.95 124.72 + 120.67 116.88 127.64 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 152.67 34.78 99.89 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 99.22 33.56 96.11 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 152.78 147.56 186.56 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 30.67 112.89 121.11 + 130 130 94.33 33.00 142.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 112.78 80.78 145.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 73.44 79.33 45.78 + 162 130 99.33 77.00 80.89 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-dy.yaml b/unittest/graphics/tests/dump-image-bcolor-dy.yaml new file mode 100644 index 00000000000..f4d394c48e6 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-dy.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:00 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local dy + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.34 129.25 120.11 + 126.77 127.81 119.14 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 127.07 124.89 123.77 + 128.06 125.82 126.36 + 128.67 126.36 127.00 + 128.94 127.03 127.56 + 128.62 126.41 127.00 + 128.69 126.37 127.00 + 128.20 127.44 124.81 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.02 125.51 119.25 + 122.50 122.38 121.19 + 122.75 121.54 125.43 + 128.88 128.81 130.97 + 130.04 129.88 129.37 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.09 126.30 125.05 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.31 131.35 115.94 + 132.67 129.29 114.84 + 134.52 130.53 117.76 + 133.85 125.69 118.53 + 131.19 122.70 122.37 + 129.82 120.26 122.17 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.39 124.79 126.81 + 126.80 127.10 128.40 + 126.65 127.86 128.56 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 125.98 124.58 120.30 + 129.81 128.82 125.09 + 128.70 124.07 124.07 + 126.94 125.02 119.70 + 128.34 126.18 119.46 + 129.97 127.03 119.30 + 126.63 124.59 117.42 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.94 122.20 116.78 + 129.86 123.41 121.09 + 135.00 128.42 118.79 + 134.41 131.39 119.30 + 128.72 129.37 121.79 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 124.14 113.68 116.83 + 124.52 113.67 115.65 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.24 126.98 127.88 + 128.25 126.98 127.89 + 128.26 126.98 127.90 + 128.28 126.98 127.91 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 128.46 130.97 124.25 + 127.56 129.91 124.03 + 127.21 126.98 122.86 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.32 121.31 121.78 + 130.28 124.43 120.78 + 131.44 128.53 122.48 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 127.64 126.88 127.88 + 127.61 126.88 127.84 + 127.58 126.87 127.81 + 126.96 127.27 128.18 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 120.69 122.78 130.39 + 123.80 117.34 125.47 + 123.61 116.41 121.39 + 127.25 120.10 121.08 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.39 129.35 124.75 + 131.43 129.76 122.87 + 132.19 130.09 121.16 + 131.50 128.85 123.16 + 135.03 129.28 128.05 + 137.17 127.57 129.25 + 137.03 126.08 125.97 + 134.84 125.91 125.13 + 132.38 125.27 125.19 + 122.82 118.58 128.01 + 121.75 119.08 127.02 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 123.91 121.09 127.00 + 124.34 120.31 122.89 + 129.69 120.23 120.38 + 126.96 116.74 116.64 + 128.43 118.37 115.58 + 128.01 117.41 113.22 + 130.74 119.06 111.83 + 134.66 122.84 113.96 + 129.43 123.44 112.07 + 128.13 123.75 113.91 + 125.30 123.38 113.11 + 125.58 124.69 114.25 + 126.42 125.92 117.02 + 128.37 125.40 116.11 + 131.01 127.51 118.21 + 132.57 124.58 116.07 + 133.28 124.06 113.78 + 135.24 124.85 113.02 + 134.60 123.75 111.64 + 132.26 120.61 110.67 + 128.91 119.63 113.39 + 124.51 116.78 113.73 + 129.31 120.30 117.44 + 130.05 122.03 118.25 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.64 121.79 122.64 + 125.72 124.26 125.11 + 127.32 126.17 127.03 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.08 124.95 121.10 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 135.09 131.85 115.67 + 133.53 130.94 118.46 + 130.98 128.24 123.37 + 129.81 128.66 127.47 + 125.58 124.20 126.62 + 124.21 122.55 122.29 + 124.31 120.47 119.31 + 121.94 121.36 118.47 + 122.69 123.21 119.78 + 127.83 120.41 121.42 + 131.95 117.64 121.92 + 131.90 114.06 125.03 + 129.15 116.88 127.80 + 124.87 118.39 122.17 + 124.98 117.77 116.83 + 121.24 118.85 112.96 + 121.33 123.72 112.45 + 125.94 129.01 108.01 + 126.98 132.62 105.69 + 126.38 130.68 106.05 + 129.48 131.57 105.64 + 131.05 130.74 105.93 + 130.25 126.80 109.61 + 124.59 122.24 110.07 + 123.05 122.86 114.39 + 121.34 121.12 114.69 + 120.62 118.69 122.50 + 125.12 122.51 123.93 + 126.38 123.53 124.68 + 126.22 124.75 124.00 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 127.08 118.81 115.80 + 135.03 125.47 114.11 + 135.13 128.53 113.58 + 133.62 126.47 110.60 + 132.94 125.60 111.42 + 130.88 123.69 110.78 + 124.81 123.00 114.87 + 124.58 125.35 122.62 + 122.36 126.41 127.59 + 122.92 125.83 123.66 + 120.03 131.59 117.52 + 123.88 138.88 113.08 + 129.29 140.76 110.07 + 132.29 137.81 105.64 + 133.24 131.63 101.22 + 138.15 123.25 101.30 + 136.74 117.60 102.28 + 137.41 113.91 108.88 + 136.88 110.21 116.25 + 134.70 110.16 114.08 + 133.21 114.06 112.23 + 128.87 115.11 114.61 + 124.33 115.28 117.45 + 123.71 117.22 119.80 + 121.25 116.84 123.53 + 120.17 116.95 125.14 + 120.00 116.88 128.32 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 178.33 34.78 74.00 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 112.67 33.56 82.56 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 185.11 147.56 154.22 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 36.00 112.89 115.78 + 130 130 48.11 33.00 185.33 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 93.00 80.78 165.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 86.11 79.33 33.11 + 162 130 96.67 77.00 83.56 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-dz.yaml b/unittest/graphics/tests/dump-image-bcolor-dz.yaml new file mode 100644 index 00000000000..88300d56e27 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-dz.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:01 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local dz + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.47 129.25 119.98 + 126.81 127.81 119.11 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.14 124.89 125.45 + 125.83 125.82 128.41 + 126.36 126.36 129.01 + 127.03 127.03 129.21 + 126.41 126.41 129.00 + 126.37 126.37 129.03 + 127.16 127.44 125.58 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.36 125.51 119.14 + 123.30 122.38 121.03 + 123.10 121.54 125.67 + 129.79 128.81 130.34 + 130.12 129.88 129.29 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.39 126.30 124.75 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.10 131.35 116.15 + 131.09 129.29 116.42 + 132.59 130.53 119.69 + 131.93 125.69 120.47 + 130.53 122.70 123.03 + 129.91 120.26 122.08 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 130.06 124.79 126.14 + 127.86 127.10 127.33 + 127.41 127.86 127.81 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 127.20 124.58 119.53 + 130.44 128.82 124.47 + 129.56 124.07 123.19 + 127.00 125.02 119.65 + 128.03 126.18 119.88 + 129.74 127.03 119.67 + 126.67 124.59 117.38 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.35 122.20 117.37 + 129.38 123.41 121.56 + 133.67 128.42 120.12 + 134.01 131.39 119.69 + 128.96 129.37 121.56 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.72 113.68 117.26 + 124.24 113.67 115.94 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 127.08 126.98 128.82 + 127.08 126.98 128.84 + 127.08 126.98 128.86 + 127.08 126.98 128.88 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.28 130.97 125.42 + 125.45 129.91 126.14 + 126.52 126.98 123.56 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 124.87 121.31 123.23 + 128.22 124.43 122.84 + 130.55 128.53 123.38 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 126.95 126.88 128.56 + 126.94 126.88 128.51 + 126.94 126.87 128.46 + 126.33 127.27 128.80 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.75 122.78 131.32 + 122.54 117.34 126.86 + 122.95 116.41 122.05 + 127.31 120.10 121.02 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 129.72 129.35 125.42 + 130.76 129.76 123.55 + 131.53 130.09 121.83 + 130.49 128.85 124.16 + 135.03 129.28 128.05 + 136.38 127.57 130.05 + 136.00 126.08 127.01 + 134.53 125.91 125.44 + 132.88 125.27 124.70 + 122.62 118.58 128.21 + 121.17 119.08 127.60 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.30 121.09 126.67 + 124.54 120.31 122.69 + 129.60 120.23 120.46 + 127.00 116.74 116.60 + 128.47 118.37 115.53 + 128.59 117.41 112.64 + 131.45 119.06 111.12 + 135.40 122.84 113.25 + 129.50 123.44 111.99 + 127.36 123.75 114.68 + 124.94 123.38 113.47 + 126.14 124.69 113.69 + 126.98 125.92 116.45 + 128.94 125.40 115.55 + 131.23 127.51 118.00 + 133.33 124.58 115.31 + 133.84 124.06 113.22 + 135.54 124.85 112.71 + 134.75 123.75 111.50 + 132.26 120.61 110.67 + 129.25 119.63 113.06 + 125.25 116.78 113.00 + 129.99 120.30 116.75 + 130.06 122.03 118.25 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 125.44 121.79 121.85 + 126.52 124.26 124.31 + 128.12 126.17 126.22 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.31 124.95 120.87 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 135.22 131.85 115.56 + 133.12 130.94 118.86 + 130.01 128.24 124.33 + 129.81 128.66 127.47 + 125.88 124.20 126.32 + 124.21 122.55 122.29 + 123.00 120.47 120.62 + 120.19 121.36 120.23 + 121.29 123.21 121.45 + 127.03 120.41 122.50 + 131.04 117.64 123.36 + 132.63 114.06 124.57 + 131.73 116.88 125.53 + 126.44 118.39 120.89 + 120.67 117.77 120.92 + 114.50 118.85 118.90 + 117.34 123.72 115.94 + 126.09 129.01 108.11 + 126.98 132.62 105.69 + 126.08 130.68 106.34 + 129.12 131.57 106.00 + 131.05 130.74 105.93 + 127.93 126.80 111.06 + 123.38 122.24 111.29 + 123.27 122.86 114.17 + 121.34 121.12 114.69 + 120.75 118.69 122.38 + 123.97 122.51 125.08 + 125.00 123.53 126.06 + 125.12 124.75 125.11 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 127.13 118.81 115.75 + 135.06 125.47 114.08 + 135.13 128.53 113.58 + 133.28 126.47 110.94 + 132.49 125.60 111.88 + 129.64 123.69 112.02 + 123.71 123.00 115.98 + 123.81 125.35 123.41 + 122.06 126.41 127.91 + 121.08 125.83 125.48 + 119.25 131.59 118.28 + 124.09 138.88 112.87 + 130.20 140.76 109.17 + 132.29 137.81 105.65 + 132.22 131.63 102.23 + 137.48 123.25 101.95 + 136.65 117.60 102.36 + 137.11 113.91 109.17 + 135.12 110.21 118.01 + 133.79 110.16 114.98 + 133.21 114.06 112.23 + 130.19 115.11 113.34 + 126.59 115.28 115.27 + 124.11 117.22 119.50 + 121.30 116.84 123.48 + 120.22 116.95 125.09 + 120.43 116.88 127.88 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 34.78 201.56 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 45.00 33.56 150.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 161.67 147.56 177.89 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 35.00 112.89 116.78 + 130 130 67.33 33.00 169.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 109.78 80.78 148.44 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 78.33 79.33 40.89 + 162 130 107.22 77.00 73.00 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-engpot.yaml b/unittest/graphics/tests/dump-image-bcolor-engpot.yaml new file mode 100644 index 00000000000..f763a93e8a2 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-engpot.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:03 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local engpot + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 128.66 129.25 120.31 + 126.57 127.81 119.34 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 126.22 124.89 124.62 + 127.08 125.82 127.36 + 127.66 126.36 128.02 + 128.09 127.03 128.40 + 127.64 126.41 127.98 + 127.66 126.37 128.03 + 127.74 127.44 125.27 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.08 125.51 119.25 + 122.00 122.38 121.85 + 121.47 121.54 126.82 + 129.02 128.81 130.88 + 130.05 129.88 129.35 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 126.64 126.30 125.50 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.07 131.35 116.18 + 130.84 129.29 116.68 + 132.28 130.53 120.00 + 131.60 125.69 120.78 + 129.90 122.70 123.41 + 129.66 120.26 122.33 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.16 124.79 127.00 + 126.42 127.10 128.71 + 125.16 127.86 129.90 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.14 124.58 120.30 + 129.89 128.82 125.01 + 126.17 124.07 126.40 + 125.95 125.02 120.69 + 126.88 126.18 120.86 + 128.24 127.03 121.16 + 126.33 124.59 117.72 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.47 122.20 117.25 + 128.16 123.41 122.79 + 133.93 128.42 119.86 + 134.09 131.39 119.61 + 128.18 129.37 122.33 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.27 113.68 117.72 + 124.06 113.67 116.11 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 127.93 126.98 128.19 + 127.94 126.98 128.20 + 127.95 126.98 128.21 + 127.96 126.98 128.22 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 126.53 130.97 126.12 + 124.10 129.91 127.39 + 126.08 126.98 124.00 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 124.17 121.31 123.94 + 127.22 124.43 123.83 + 130.12 128.53 123.81 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 128.63 126.88 126.88 + 128.58 126.88 126.88 + 128.53 126.87 126.87 + 127.86 127.27 127.27 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.22 122.78 131.84 + 120.33 117.34 128.56 + 121.78 116.41 123.22 + 127.20 120.10 121.12 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 129.72 129.35 125.42 + 130.76 129.76 123.55 + 131.53 130.09 121.83 + 129.71 128.85 124.92 + 135.03 129.28 128.05 + 135.41 127.57 131.00 + 134.56 126.08 128.45 + 134.01 125.91 125.95 + 132.13 125.27 125.39 + 121.86 118.58 128.97 + 120.69 119.08 128.08 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 123.52 121.09 127.13 + 124.14 120.31 123.09 + 129.16 120.23 120.91 + 126.69 116.74 116.92 + 128.16 118.37 115.84 + 126.72 117.41 114.37 + 128.81 119.06 113.71 + 132.29 122.84 116.29 + 128.88 123.44 112.61 + 126.39 123.75 115.65 + 124.50 123.38 113.91 + 125.70 124.69 114.13 + 126.53 125.92 116.89 + 128.49 125.40 116.00 + 130.75 127.51 118.47 + 131.53 124.58 117.12 + 132.60 124.06 114.45 + 134.97 124.85 113.28 + 133.84 123.75 112.42 + 130.72 120.61 112.27 + 127.47 119.63 114.89 + 123.36 116.78 114.89 + 127.55 120.30 118.94 + 129.82 122.03 118.48 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 123.80 121.79 123.48 + 124.86 124.26 125.96 + 126.47 126.17 127.89 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 130.53 124.95 121.64 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.19 131.85 116.58 + 132.89 130.94 119.10 + 129.46 128.24 124.89 + 129.81 128.66 127.47 + 125.12 124.20 127.08 + 124.21 122.55 122.29 + 122.20 120.47 121.32 + 119.91 121.36 120.51 + 119.97 123.21 122.55 + 124.26 120.41 124.84 + 128.47 117.64 125.69 + 132.00 114.06 124.98 + 128.53 116.88 128.28 + 124.69 118.39 122.44 + 122.28 117.77 119.53 + 117.84 118.85 116.36 + 118.22 123.72 115.17 + 125.12 129.01 108.64 + 126.98 132.62 105.69 + 125.89 130.68 106.53 + 128.88 131.57 106.25 + 131.05 130.74 105.93 + 129.34 126.80 110.52 + 123.53 122.24 111.14 + 122.78 122.86 114.67 + 121.34 121.12 114.69 + 119.42 118.69 123.52 + 123.23 122.51 125.78 + 124.11 123.53 126.92 + 124.41 124.75 125.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.34 118.81 117.28 + 134.12 125.47 115.02 + 135.13 128.53 113.58 + 131.38 126.47 112.83 + 130.44 125.60 113.92 + 129.03 123.69 112.62 + 122.81 123.00 116.87 + 122.32 125.35 124.94 + 119.36 126.41 130.58 + 123.08 125.83 123.50 + 120.86 131.59 116.67 + 123.50 138.88 113.46 + 128.32 140.76 111.04 + 128.95 137.81 108.98 + 126.78 131.63 107.49 + 133.42 123.25 105.87 + 134.34 117.60 104.72 + 135.51 113.91 110.83 + 133.65 110.21 119.48 + 133.44 110.16 115.33 + 133.21 114.06 112.23 + 128.72 115.11 114.54 + 123.49 115.28 118.02 + 123.42 117.22 119.91 + 120.98 116.84 123.80 + 119.91 116.95 125.40 + 119.61 116.88 128.72 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 114.89 34.78 137.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 58.22 33.56 137.11 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 150.11 147.56 189.22 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 26.56 112.89 125.22 + 130 130 34.33 33.00 190.89 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 84.67 80.78 172.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 68.56 79.33 50.78 + 162 130 98.89 77.00 81.33 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-force.yaml b/unittest/graphics/tests/dump-image-bcolor-force.yaml new file mode 100644 index 00000000000..337057aab38 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-force.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:58 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local force + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 130.05 129.25 119.39 + 126.97 127.81 118.93 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.70 124.89 125.14 + 126.47 125.82 127.96 + 127.03 126.36 128.65 + 127.58 127.03 128.92 + 127.03 126.41 128.59 + 127.03 126.37 128.66 + 127.46 127.44 125.55 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.61 125.51 118.89 + 124.41 122.38 119.92 + 124.55 121.54 124.22 + 130.44 128.81 129.69 + 130.18 129.88 129.23 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.18 126.30 124.95 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.19 131.35 116.06 + 131.71 129.29 115.81 + 133.34 130.53 118.94 + 132.67 125.69 119.71 + 131.06 122.70 122.50 + 130.01 120.26 121.97 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.57 124.79 126.63 + 127.08 127.10 128.10 + 126.72 127.86 128.49 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 127.79 124.58 118.94 + 130.74 128.82 124.16 + 129.18 124.07 123.60 + 126.83 125.02 119.83 + 128.09 126.18 119.81 + 129.66 127.03 119.75 + 126.59 124.59 117.45 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 127.13 122.20 116.59 + 130.26 123.41 120.69 + 135.41 128.42 118.37 + 134.53 131.39 119.17 + 128.79 129.37 121.72 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 124.22 113.68 116.77 + 124.55 113.67 115.62 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 127.45 126.98 128.66 + 127.45 126.98 128.68 + 127.46 126.98 128.70 + 127.47 126.98 128.72 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.64 130.97 125.07 + 126.09 129.91 125.51 + 126.72 126.98 123.35 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 125.14 121.31 122.97 + 128.59 124.43 122.46 + 130.72 128.53 123.22 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 126.88 126.88 128.63 + 126.88 126.88 128.58 + 126.87 126.87 128.53 + 126.27 127.27 128.87 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 120.02 122.78 131.06 + 123.24 117.34 126.16 + 123.47 116.41 121.54 + 127.34 120.10 120.97 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.36 129.35 124.78 + 131.41 129.76 122.90 + 132.17 130.09 121.19 + 131.59 128.85 123.08 + 135.03 129.28 128.05 + 136.60 127.57 129.82 + 136.06 126.08 126.95 + 134.41 125.91 125.56 + 132.75 125.27 124.82 + 123.48 118.58 127.34 + 122.36 119.08 126.42 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.90 121.09 126.08 + 124.85 120.31 122.38 + 129.52 120.23 120.55 + 127.23 116.74 116.38 + 128.69 118.37 115.31 + 128.16 117.41 113.08 + 130.12 119.06 112.45 + 132.99 122.84 115.60 + 128.62 123.44 112.88 + 127.56 123.75 114.48 + 125.03 123.38 113.38 + 124.95 124.69 114.89 + 125.78 125.92 117.66 + 127.72 125.40 116.77 + 130.91 127.51 118.31 + 132.31 124.58 116.34 + 133.02 124.06 114.04 + 135.44 124.85 112.81 + 133.93 123.75 112.32 + 130.43 120.61 112.56 + 127.32 119.63 115.03 + 124.16 116.78 114.10 + 128.97 120.30 117.78 + 129.99 122.03 118.31 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.15 121.79 123.13 + 125.22 124.26 125.61 + 126.82 126.17 127.53 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.15 124.95 121.03 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.97 131.85 115.80 + 133.35 130.94 118.64 + 130.56 128.24 123.78 + 129.81 128.66 127.47 + 125.67 124.20 126.53 + 124.21 122.55 122.29 + 123.38 120.47 120.23 + 120.87 121.36 119.54 + 122.11 123.21 120.64 + 127.86 120.41 121.69 + 131.30 117.64 123.10 + 133.16 114.06 124.05 + 130.64 116.88 126.61 + 126.37 118.39 120.95 + 124.19 117.77 117.62 + 117.64 118.85 116.58 + 120.14 123.72 113.86 + 127.25 129.01 106.92 + 126.98 132.62 105.69 + 126.41 130.68 106.02 + 129.52 131.57 105.60 + 131.05 130.74 105.93 + 128.86 126.80 111.00 + 123.58 122.24 111.08 + 123.06 122.86 114.38 + 121.34 121.12 114.69 + 121.30 118.69 121.82 + 124.31 122.51 124.73 + 125.41 123.53 125.64 + 125.45 124.75 124.78 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 126.64 118.81 116.25 + 134.80 125.47 114.34 + 135.13 128.53 113.58 + 132.52 126.47 111.70 + 131.71 125.60 112.67 + 129.87 123.69 111.79 + 123.81 123.00 115.86 + 122.58 125.35 124.57 + 120.71 126.41 129.26 + 119.53 125.83 127.05 + 118.81 131.59 118.73 + 123.86 138.88 113.09 + 128.72 140.76 110.64 + 130.97 137.81 106.98 + 131.19 131.63 103.27 + 137.87 123.25 101.58 + 136.61 117.60 102.45 + 136.13 113.91 110.21 + 135.07 110.21 118.06 + 134.25 110.16 114.52 + 133.21 114.06 112.23 + 128.66 115.11 114.89 + 125.53 115.28 116.30 + 124.34 117.22 119.26 + 121.53 116.84 123.26 + 120.44 116.95 124.86 + 120.29 116.88 128.03 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 76.00 34.78 176.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 133.78 33.56 61.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 165.89 147.56 173.44 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 33.00 112.89 118.67 + 130 130 78.89 33.00 157.67 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 105.56 80.78 152.44 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 80.33 79.33 38.89 + 162 130 84.67 77.00 95.56 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-fx.yaml b/unittest/graphics/tests/dump-image-bcolor-fx.yaml new file mode 100644 index 00000000000..d7e19cfcb67 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-fx.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:01 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local fx + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.84 129.25 119.61 + 126.91 127.81 119.00 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.89 124.89 124.94 + 126.70 125.82 127.73 + 127.27 126.36 128.41 + 127.78 127.03 128.72 + 127.27 126.41 128.35 + 127.28 126.37 128.41 + 127.56 127.44 125.44 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.53 125.51 118.98 + 124.03 122.38 120.31 + 124.06 121.54 124.71 + 130.21 128.81 129.93 + 130.16 129.88 129.25 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.10 126.30 125.04 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.22 131.35 116.03 + 132.02 129.29 115.50 + 133.73 130.53 118.55 + 133.06 125.69 119.33 + 131.12 122.70 122.44 + 129.96 120.26 122.03 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.88 124.79 126.32 + 127.58 127.10 127.61 + 127.12 127.86 128.09 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 127.03 124.58 119.69 + 130.35 128.82 124.56 + 127.42 124.07 125.35 + 126.44 125.02 120.21 + 128.06 126.18 119.85 + 129.66 127.03 119.75 + 126.55 124.59 117.50 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.79 122.20 116.93 + 129.50 123.41 121.45 + 134.66 128.42 119.13 + 134.31 131.39 119.39 + 128.70 129.37 121.82 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.73 113.68 117.25 + 124.22 113.67 115.95 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 127.57 126.98 128.55 + 127.58 126.98 128.56 + 127.58 126.98 128.58 + 127.59 126.98 128.59 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.56 130.97 125.14 + 125.97 129.91 125.63 + 126.69 126.98 123.39 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 125.59 121.31 122.51 + 129.25 124.43 121.81 + 131.00 128.53 122.93 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 127.88 126.88 127.64 + 127.84 126.88 127.61 + 127.81 126.87 127.58 + 127.17 127.27 127.95 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 120.11 122.78 130.96 + 123.25 117.34 126.14 + 123.48 116.41 121.53 + 127.33 120.10 120.99 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.41 129.35 124.74 + 131.44 129.76 122.86 + 132.21 130.09 121.15 + 131.43 128.85 123.22 + 135.03 129.28 128.05 + 136.42 127.57 130.00 + 135.80 126.08 127.20 + 134.33 125.91 125.64 + 132.66 125.27 124.92 + 123.58 118.58 127.25 + 122.55 119.08 126.22 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.66 121.09 126.32 + 124.72 120.31 122.50 + 129.47 120.23 120.61 + 127.15 116.74 116.46 + 128.62 118.37 115.39 + 127.18 117.41 114.05 + 129.66 119.06 112.92 + 133.53 122.84 115.14 + 129.25 123.44 112.25 + 127.37 123.75 114.67 + 124.95 123.38 113.46 + 125.02 124.69 114.82 + 125.84 125.92 117.59 + 127.79 125.40 116.70 + 130.90 127.51 118.33 + 132.20 124.58 116.44 + 132.97 124.06 114.08 + 135.37 124.85 112.88 + 134.57 123.75 111.68 + 132.08 120.61 110.92 + 128.62 119.63 113.73 + 123.92 116.78 114.33 + 128.47 120.30 118.28 + 129.97 122.03 118.34 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.14 121.79 123.15 + 125.21 124.26 125.61 + 126.81 126.17 127.55 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.06 124.95 121.13 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.85 131.85 115.92 + 133.28 130.94 118.70 + 130.39 128.24 123.95 + 129.81 128.66 127.47 + 125.59 124.20 126.61 + 124.21 122.55 122.29 + 123.47 120.47 120.15 + 121.22 121.36 119.19 + 122.11 123.21 120.64 + 127.30 120.41 122.25 + 131.16 117.64 123.25 + 132.97 114.06 124.23 + 131.44 116.88 125.81 + 126.56 118.39 120.76 + 123.25 117.77 118.57 + 117.55 118.85 116.66 + 119.68 123.72 114.32 + 126.59 129.01 107.58 + 126.98 132.62 105.69 + 126.06 130.68 106.36 + 129.09 131.57 106.03 + 131.05 130.74 105.93 + 128.53 126.80 111.34 + 123.47 122.24 111.19 + 123.02 122.86 114.42 + 121.34 121.12 114.69 + 121.06 118.69 122.07 + 124.25 122.51 124.81 + 125.33 123.53 125.72 + 125.39 124.75 124.84 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 126.44 118.81 116.44 + 134.69 125.47 114.44 + 135.13 128.53 113.58 + 132.78 126.47 111.44 + 132.00 125.60 112.36 + 130.25 123.69 111.40 + 124.10 123.00 115.58 + 123.79 125.35 123.46 + 120.95 126.41 129.00 + 122.50 125.83 124.08 + 120.03 131.59 117.50 + 123.81 138.88 113.15 + 128.71 140.76 110.66 + 130.64 137.81 107.30 + 130.03 131.63 104.42 + 136.49 123.25 102.95 + 136.79 117.60 102.28 + 137.68 113.91 108.68 + 136.69 110.21 116.44 + 134.66 110.16 114.11 + 133.21 114.06 112.23 + 128.56 115.11 115.00 + 125.20 115.28 116.63 + 124.25 117.22 119.36 + 121.44 116.84 123.34 + 120.36 116.95 124.95 + 120.19 116.88 128.12 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 90.78 34.78 161.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 95.33 33.56 99.89 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 173.33 147.56 166.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 32.00 112.89 119.67 + 130 130 74.33 33.00 162.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 102.33 80.78 155.67 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 78.44 79.33 40.78 + 162 130 86.00 77.00 94.22 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-fy.yaml b/unittest/graphics/tests/dump-image-bcolor-fy.yaml new file mode 100644 index 00000000000..665c6d5bcdb --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-fy.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:02 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local fy + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.73 129.25 119.72 + 126.88 127.81 119.03 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.61 124.89 125.23 + 126.37 125.82 128.06 + 126.92 126.36 128.72 + 127.50 127.03 129.00 + 126.94 126.41 128.69 + 126.93 126.37 128.72 + 127.41 127.44 125.58 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.70 125.51 118.81 + 124.61 122.38 119.74 + 124.62 121.54 124.15 + 130.66 128.81 129.47 + 130.19 129.88 129.21 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.06 126.30 125.08 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.15 131.35 116.11 + 131.42 129.29 116.09 + 133.00 130.53 119.28 + 132.33 125.69 120.06 + 130.75 122.70 122.81 + 129.93 120.26 122.06 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.70 124.79 126.50 + 127.29 127.10 127.90 + 126.75 127.86 128.46 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.11 124.58 120.30 + 129.87 128.82 125.03 + 127.95 124.07 124.81 + 126.61 125.02 120.03 + 127.63 126.18 120.28 + 129.16 127.03 120.25 + 126.53 124.59 117.52 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.81 122.20 116.91 + 129.47 123.41 121.48 + 134.70 128.42 119.09 + 134.32 131.39 119.38 + 128.65 129.37 121.86 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.92 113.68 117.05 + 124.39 113.67 115.78 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 127.67 126.98 128.44 + 127.69 126.98 128.45 + 127.69 126.98 128.47 + 127.70 126.98 128.48 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.35 130.97 125.36 + 125.58 129.91 126.02 + 126.56 126.98 123.52 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 124.78 121.31 123.33 + 128.09 124.43 122.97 + 130.49 128.53 123.44 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 127.77 126.88 127.75 + 127.74 126.88 127.72 + 127.70 126.87 127.68 + 127.08 127.27 128.05 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.78 122.78 131.29 + 122.89 117.34 126.50 + 123.32 116.41 121.69 + 127.36 120.10 120.95 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.33 129.35 124.81 + 131.37 129.76 122.94 + 132.13 130.09 121.22 + 131.26 128.85 123.39 + 135.03 129.28 128.05 + 136.32 127.57 130.09 + 135.66 126.08 127.34 + 134.28 125.91 125.69 + 132.61 125.27 124.97 + 122.74 118.58 128.09 + 121.49 119.08 127.28 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.45 121.09 126.53 + 124.62 120.31 122.61 + 129.44 120.23 120.63 + 127.11 116.74 116.50 + 128.57 118.37 115.44 + 127.64 117.41 113.59 + 129.32 119.06 113.19 + 131.93 122.84 116.47 + 128.37 123.44 113.14 + 127.28 123.75 114.75 + 124.91 123.38 113.50 + 125.22 124.69 114.61 + 126.06 125.92 117.38 + 128.00 125.40 116.48 + 130.91 127.51 118.31 + 132.21 124.58 116.44 + 133.01 124.06 114.05 + 135.34 124.85 112.92 + 133.72 123.75 112.43 + 130.03 120.61 112.80 + 127.16 119.63 115.03 + 124.38 116.78 113.88 + 129.06 120.30 117.70 + 129.96 122.03 118.36 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.22 121.79 123.07 + 125.29 124.26 125.54 + 126.89 126.17 127.47 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.00 124.95 121.17 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.79 131.85 115.98 + 133.25 130.94 118.75 + 130.31 128.24 124.04 + 129.81 128.66 127.47 + 125.55 124.20 126.66 + 124.21 122.55 122.29 + 123.06 120.47 120.56 + 120.56 121.36 119.86 + 121.72 123.21 121.00 + 127.36 120.41 122.18 + 130.60 117.64 123.80 + 133.34 114.06 123.86 + 131.17 116.88 126.08 + 126.71 118.39 120.61 + 123.05 117.77 118.77 + 116.76 118.85 117.39 + 118.11 123.72 115.67 + 125.67 129.01 108.35 + 126.98 132.62 105.69 + 126.24 130.68 106.19 + 129.31 131.57 105.81 + 131.05 130.74 105.93 + 128.88 126.80 110.97 + 123.62 122.24 111.03 + 123.00 122.86 114.44 + 121.34 121.12 114.69 + 120.85 118.69 122.27 + 124.03 122.51 125.02 + 125.07 123.53 125.98 + 125.19 124.75 125.05 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 126.34 118.81 116.54 + 134.65 125.47 114.50 + 135.13 128.53 113.58 + 132.27 126.47 111.95 + 131.41 125.60 112.95 + 129.56 123.69 112.10 + 123.48 123.00 116.20 + 122.00 125.35 124.96 + 120.59 126.41 129.38 + 121.50 125.83 125.01 + 120.17 131.59 117.36 + 123.78 138.88 113.18 + 128.80 140.76 110.56 + 130.52 137.81 107.42 + 129.94 131.63 104.53 + 136.29 123.25 103.14 + 135.38 117.60 103.53 + 135.33 113.91 110.84 + 134.60 110.21 118.42 + 134.12 110.16 114.66 + 133.21 114.06 112.23 + 128.74 115.11 114.81 + 125.56 115.28 116.27 + 124.47 117.22 119.14 + 121.40 116.84 123.39 + 120.32 116.95 124.99 + 120.13 116.88 128.19 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 69.44 34.78 182.22 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 97.44 33.56 97.78 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 160.00 147.56 179.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 31.56 112.89 120.22 + 130 130 84.78 33.00 151.67 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 100.78 80.78 157.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 77.56 79.33 41.67 + 162 130 89.89 77.00 90.33 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-fz.yaml b/unittest/graphics/tests/dump-image-bcolor-fz.yaml new file mode 100644 index 00000000000..d9078f7a950 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-fz.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:03 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local fz + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.79 129.25 119.66 + 126.89 127.81 119.01 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 126.89 124.89 123.95 + 127.86 125.82 126.58 + 128.46 126.36 127.21 + 128.77 127.03 127.73 + 128.41 126.41 127.21 + 128.47 126.37 127.22 + 128.10 127.44 124.90 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.64 125.51 118.86 + 124.42 122.38 119.91 + 124.47 121.54 124.31 + 130.51 128.81 129.62 + 130.19 129.88 129.22 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.08 126.30 125.06 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.22 131.35 116.03 + 131.95 129.29 115.56 + 133.65 130.53 118.64 + 132.97 125.69 119.42 + 131.06 122.70 122.50 + 129.94 120.26 122.04 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.51 124.79 126.69 + 126.99 127.10 128.20 + 126.47 127.86 128.74 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.95 124.58 119.78 + 130.31 128.82 124.59 + 128.37 124.07 124.39 + 126.62 125.02 120.03 + 128.01 126.18 119.89 + 129.55 127.03 119.85 + 126.54 124.59 117.50 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.47 122.20 117.25 + 128.86 123.41 122.09 + 133.94 128.42 119.86 + 134.09 131.39 119.61 + 128.68 129.37 121.84 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.81 113.68 117.17 + 124.30 113.67 115.88 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.60 126.98 127.52 + 128.62 126.98 127.52 + 128.63 126.98 127.53 + 128.65 126.98 127.53 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.50 130.97 125.21 + 125.83 129.91 125.76 + 126.64 126.98 123.44 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 125.31 121.31 122.78 + 128.85 124.43 122.20 + 130.82 128.53 123.10 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 128.63 126.88 126.88 + 128.58 126.88 126.88 + 128.53 126.87 126.87 + 127.86 127.27 127.27 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 120.03 122.78 131.04 + 123.27 117.34 126.14 + 123.50 116.41 121.49 + 127.36 120.10 120.97 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 130.50 129.35 124.64 + 131.54 129.76 122.76 + 132.31 130.09 121.05 + 131.48 128.85 123.17 + 135.03 129.28 128.05 + 136.38 127.57 130.05 + 135.81 126.08 127.19 + 134.37 125.91 125.59 + 132.63 125.27 124.94 + 122.56 118.58 128.28 + 121.25 119.08 127.53 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.55 121.09 126.42 + 124.67 120.31 122.56 + 129.46 120.23 120.61 + 127.13 116.74 116.48 + 128.59 118.37 115.42 + 127.81 117.41 113.42 + 129.72 119.06 112.84 + 132.62 122.84 115.99 + 128.60 123.44 112.90 + 127.33 123.75 114.71 + 124.93 123.38 113.48 + 124.80 124.69 115.05 + 125.62 125.92 117.81 + 127.56 125.40 116.92 + 130.85 127.51 118.37 + 132.09 124.58 116.56 + 132.88 124.06 114.19 + 135.35 124.85 112.90 + 133.89 123.75 112.36 + 130.43 120.61 112.56 + 127.33 119.63 115.02 + 124.08 116.78 114.17 + 128.76 120.30 117.97 + 129.96 122.03 118.34 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 123.94 121.79 123.34 + 125.01 124.26 125.82 + 126.60 126.17 127.75 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.03 124.95 121.15 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.82 131.85 115.94 + 133.26 130.94 118.72 + 130.35 128.24 124.00 + 129.81 128.66 127.47 + 125.57 124.20 126.64 + 124.21 122.55 122.29 + 123.40 120.47 120.22 + 121.14 121.36 119.27 + 122.28 123.21 120.46 + 127.81 120.41 121.74 + 131.37 117.64 123.03 + 133.22 114.06 123.98 + 130.51 116.88 126.73 + 126.36 118.39 120.96 + 123.53 117.77 118.29 + 119.80 118.85 114.40 + 121.98 123.72 112.02 + 126.95 129.01 107.22 + 126.98 132.62 105.69 + 126.14 130.68 106.28 + 129.19 131.57 105.93 + 131.05 130.74 105.93 + 131.46 126.80 108.40 + 125.20 122.24 109.46 + 123.01 122.86 114.43 + 121.34 121.12 114.69 + 120.95 118.69 122.17 + 124.17 122.51 124.87 + 125.24 123.53 125.81 + 125.31 124.75 124.92 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 126.39 118.81 116.48 + 134.67 125.47 114.47 + 135.13 128.53 113.58 + 132.47 126.47 111.75 + 131.66 125.60 112.70 + 130.02 123.69 111.64 + 123.89 123.00 115.79 + 122.42 125.35 124.77 + 120.47 126.41 129.50 + 123.59 125.83 122.98 + 121.27 131.59 116.28 + 123.80 138.88 113.17 + 128.49 140.76 110.89 + 130.59 137.81 107.36 + 130.48 131.63 103.96 + 136.77 123.25 102.66 + 135.44 117.60 103.62 + 135.56 113.91 110.78 + 135.44 110.21 117.69 + 134.44 110.16 114.33 + 133.21 114.06 112.23 + 128.07 115.11 115.47 + 125.00 115.28 116.86 + 124.38 117.22 119.22 + 121.42 116.84 123.36 + 120.34 116.95 124.97 + 120.16 116.88 128.16 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 165.11 34.78 87.33 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 58.78 33.56 136.56 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 168.78 147.56 170.56 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 31.78 112.89 119.89 + 130 130 80.67 33.00 155.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 101.56 80.78 156.56 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 78.00 79.33 41.22 + 162 130 81.78 77.00 98.44 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-none.yaml b/unittest/graphics/tests/dump-image-bcolor-none.yaml new file mode 100644 index 00000000000..7f0df97a852 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-none.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:57 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond none 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.31 129.84 118.40 + 127.16 128.40 119.16 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.48 125.28 123.58 + 127.43 127.42 127.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.58 127.86 124.94 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.48 125.97 118.62 + 124.33 124.89 119.37 + 125.98 126.02 123.04 + 130.69 130.61 129.56 + 130.68 130.53 129.70 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.19 126.84 125.02 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.69 132.00 116.52 + 132.40 131.02 116.08 + 134.42 132.88 119.50 + 133.75 128.03 120.28 + 131.66 122.92 121.89 + 130.26 120.86 122.25 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.86 124.72 126.66 + 127.08 126.97 127.69 + 125.48 129.03 127.98 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 127.17 124.31 117.92 + 131.38 128.91 123.86 + 127.67 126.62 124.27 + 126.62 125.58 119.80 + 127.76 127.38 119.31 + 128.97 128.16 118.86 + 126.48 124.74 117.37 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.73 122.67 116.78 + 130.48 125.84 120.31 + 135.14 130.10 119.42 + 134.56 132.00 119.59 + 129.29 129.94 121.22 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 125.17 114.48 117.80 + 126.43 113.92 115.59 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.63 132.07 125.08 + 126.23 132.04 125.67 + 127.26 128.18 123.89 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 125.75 123.06 123.11 + 129.22 126.66 122.42 + 131.81 130.33 124.03 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 126.20 129.10 129.10 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 120.38 123.96 131.26 + 122.88 119.97 125.27 + 124.96 118.62 121.66 + 127.64 120.10 120.79 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.40 130.81 123.83 + 132.27 131.08 121.95 + 132.72 131.14 120.20 + 132.06 130.85 120.89 + 135.03 129.28 128.05 + 136.34 128.44 129.34 + 136.63 128.19 127.56 + 134.66 126.58 125.74 + 132.63 125.77 124.76 + 123.75 119.14 128.60 + 121.50 119.55 126.78 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.42 122.00 125.86 + 125.12 120.86 122.34 + 129.34 120.40 120.40 + 127.28 117.33 116.48 + 128.70 118.91 115.37 + 127.30 117.17 111.98 + 128.96 119.66 110.56 + 132.84 124.98 114.11 + 130.04 125.30 113.55 + 126.80 124.34 113.44 + 124.86 123.51 112.80 + 125.98 125.88 114.83 + 126.81 127.11 117.59 + 130.00 126.70 115.61 + 131.32 128.13 118.59 + 133.84 126.90 116.42 + 134.61 125.14 113.18 + 135.63 124.91 112.44 + 134.54 124.31 111.66 + 131.15 122.11 111.51 + 128.57 121.81 114.44 + 125.34 119.18 114.53 + 130.04 122.17 116.81 + 130.47 122.67 118.81 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 125.33 123.61 123.61 + 126.41 126.08 126.08 + 126.18 128.94 126.18 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.65 125.53 120.53 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.86 132.53 115.76 + 133.90 131.78 118.19 + 131.18 129.88 123.38 + 129.81 128.66 127.47 + 125.67 124.75 126.59 + 124.21 122.55 122.29 + 123.34 121.70 120.02 + 122.08 123.72 120.28 + 122.69 125.64 120.26 + 129.37 124.79 122.97 + 131.52 121.45 122.97 + 133.48 115.64 124.06 + 130.40 117.55 125.35 + 126.66 119.94 120.61 + 123.76 121.45 117.34 + 118.25 122.78 114.43 + 121.00 128.53 111.07 + 128.69 131.06 106.19 + 126.98 132.62 105.69 + 127.63 131.38 106.42 + 131.35 131.85 105.51 + 131.05 130.74 105.93 + 128.52 129.31 108.99 + 125.27 126.05 110.79 + 123.61 123.56 114.12 + 121.34 121.12 114.69 + 119.91 119.56 121.46 + 124.28 123.56 124.71 + 125.81 125.23 126.06 + 125.47 125.81 124.81 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.88 119.17 115.44 + 135.02 126.19 114.30 + 135.13 128.53 113.58 + 133.91 128.70 111.30 + 134.23 129.15 113.38 + 130.68 125.47 112.19 + 123.97 124.28 115.72 + 122.77 126.58 122.55 + 122.19 130.66 128.91 + 123.00 132.13 125.81 + 121.51 135.19 118.44 + 124.73 140.01 112.86 + 129.19 142.91 110.29 + 131.54 141.72 106.67 + 131.78 137.49 102.47 + 137.57 126.11 100.17 + 135.34 117.79 101.38 + 137.25 115.52 110.42 + 137.06 114.25 114.61 + 136.18 112.82 113.36 + 133.21 114.06 112.23 + 130.27 117.25 113.24 + 128.35 120.33 116.08 + 124.40 118.23 119.10 + 121.58 117.44 123.36 + 120.44 117.48 124.92 + 120.95 117.04 127.58 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 114.11 115.44 114.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 105.00 104.22 99.56 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 172.33 172.33 172.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 30.22 116.56 116.56 + 130 130 76.33 76.33 144.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 109.33 105.44 158.44 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 76.56 82.22 26.11 + 162 130 109.22 104.44 99.56 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-bcolor-type.yaml b/unittest/graphics/tests/dump-image-bcolor-type.yaml new file mode 100644 index 00000000000..dc3b6bb0b84 --- /dev/null +++ b/unittest/graphics/tests/dump-image-bcolor-type.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:30:56 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond type 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 130.82 131.41 118.14 + 127.34 128.46 118.57 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 127.36 124.89 123.25 + 128.47 125.82 125.76 + 129.01 126.36 126.36 + 129.21 127.03 127.03 + 129.00 126.41 126.41 + 129.03 126.37 126.37 + 128.22 127.44 124.52 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.38 125.87 118.52 + 123.57 124.14 118.61 + 123.63 123.90 122.86 + 129.83 129.75 128.71 + 130.12 129.97 129.14 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.16 126.81 124.98 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.29 131.60 116.12 + 132.55 131.18 116.23 + 134.38 132.84 119.45 + 133.70 127.97 120.22 + 131.88 124.36 122.09 + 130.34 120.61 121.65 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 130.19 124.79 125.86 + 128.15 127.10 126.88 + 128.12 128.30 128.00 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 125.83 124.58 120.30 + 129.72 128.82 125.18 + 126.44 127.56 123.77 + 126.14 125.82 119.42 + 128.83 128.43 119.25 + 130.63 129.43 119.39 + 126.58 124.84 117.47 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.25 123.31 117.42 + 129.38 126.97 121.56 + 133.46 130.98 120.30 + 133.95 132.16 119.75 + 128.18 129.82 121.17 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.28 113.97 117.31 + 124.02 113.67 116.16 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.90 126.98 126.98 + 128.92 126.98 126.98 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 126.53 133.13 126.13 + 124.09 133.78 127.40 + 126.07 128.29 124.00 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.74 121.31 121.36 + 130.88 124.43 120.19 + 131.69 128.53 122.23 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 126.88 128.63 128.63 + 126.88 128.58 128.58 + 126.87 128.53 128.53 + 126.27 128.87 128.87 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.20 122.78 131.87 + 121.16 118.81 126.81 + 121.97 117.45 121.62 + 127.24 120.28 120.83 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.27 129.35 123.87 + 132.31 129.76 122.00 + 133.06 130.09 120.28 + 132.41 130.03 122.25 + 135.03 129.28 128.05 + 136.54 128.70 129.88 + 136.31 127.86 127.23 + 134.68 126.59 125.75 + 133.26 125.86 124.26 + 122.19 120.98 128.54 + 120.33 121.89 128.43 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 123.85 122.46 125.29 + 124.31 121.02 121.97 + 129.84 120.23 120.91 + 126.69 117.14 115.89 + 128.16 118.77 114.83 + 128.79 117.41 112.22 + 131.44 119.06 110.36 + 135.03 122.84 112.16 + 129.25 123.44 111.69 + 128.59 125.61 113.44 + 125.51 124.22 112.91 + 125.56 124.69 113.64 + 126.39 125.92 116.41 + 128.34 125.40 115.50 + 131.00 127.51 117.97 + 132.86 125.16 115.15 + 133.25 124.06 113.17 + 134.97 125.20 112.39 + 134.14 123.91 111.10 + 131.47 120.61 110.02 + 128.41 119.63 112.25 + 124.06 117.22 112.13 + 128.09 121.20 115.70 + 129.82 122.16 118.17 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 123.51 121.79 122.86 + 124.59 124.26 125.34 + 126.17 126.17 127.27 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 130.53 125.41 120.48 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.94 132.60 115.84 + 133.33 131.38 118.66 + 130.50 129.28 123.84 + 129.81 128.66 127.47 + 125.64 124.72 126.56 + 124.21 122.55 122.29 + 124.38 121.58 121.06 + 121.81 123.45 120.01 + 122.36 126.27 120.45 + 126.99 124.54 120.60 + 131.12 121.86 122.69 + 132.66 114.83 123.24 + 132.12 117.45 123.68 + 126.81 119.16 119.18 + 123.32 121.89 117.84 + 120.63 121.08 112.73 + 123.58 126.33 108.94 + 127.36 130.72 106.26 + 126.98 132.62 105.69 + 125.85 130.68 106.58 + 128.82 131.57 106.30 + 131.05 130.74 105.93 + 131.09 127.97 107.66 + 126.47 123.56 108.19 + 123.33 123.33 114.11 + 121.34 121.12 114.69 + 121.73 121.65 120.82 + 123.22 124.64 125.78 + 124.10 126.10 126.92 + 124.41 126.75 125.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.34 119.77 115.08 + 134.12 125.97 113.73 + 135.13 128.53 113.58 + 133.87 126.47 109.61 + 133.24 125.60 110.35 + 131.24 123.69 110.42 + 125.25 123.00 115.00 + 124.48 127.19 121.77 + 122.12 128.34 126.37 + 120.44 131.11 124.79 + 119.28 134.09 118.62 + 124.19 139.46 112.77 + 128.00 140.76 110.33 + 129.60 137.81 107.31 + 130.65 133.71 103.80 + 136.98 125.01 102.14 + 135.94 119.86 102.41 + 135.98 115.39 109.05 + 138.40 110.21 113.35 + 135.71 110.16 112.75 + 133.21 114.06 112.23 + 128.77 116.34 112.02 + 125.58 118.55 112.19 + 123.67 118.38 118.38 + 120.98 117.25 122.78 + 119.91 117.34 124.39 + 119.61 117.38 127.41 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 201.56 34.78 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 34.33 163.67 159.00 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 191.89 147.56 147.56 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 38.89 112.89 125.22 + 130 130 46.44 88.56 114.89 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 123.22 100.67 133.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.89 98.11 28.44 + 162 130 96.11 77.00 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-body-both.yaml b/unittest/graphics/tests/dump-image-body-both.yaml new file mode 100644 index 00000000000..7ca93c22c22 --- /dev/null +++ b/unittest/graphics/tests/dump-image-body-both.yaml @@ -0,0 +1,596 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:42 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom body + pair zero +setup_commands: | + units lj + atom_style body rounded/polyhedron 1 10 + read_data ${input_dir}/data.cubes-and-pyramids + replicate 2 2 2 + pair_style zero 4.0 + pair_coeff * * + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.5 view 80 10 shiny 0.4 box yes 0.02 body type 0.2 3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 135.14 133.04 119.30 + 154.87 152.59 108.37 + 169.84 164.24 91.73 + 163.60 156.98 79.00 + 164.51 157.70 78.53 + 146.97 141.75 90.44 + 125.34 121.52 100.87 + 128.37 127.08 119.97 + 128.86 127.41 119.44 + 129.46 127.89 119.00 + 129.44 127.86 119.00 + 129.41 127.83 119.00 + 129.37 127.80 119.00 + 129.34 127.78 119.00 + 129.32 127.75 119.00 + 128.79 127.64 118.51 + 128.40 128.09 118.14 + 127.82 128.09 117.61 + 126.78 128.28 116.59 + 124.48 127.22 114.33 + 123.83 126.94 113.73 + 122.17 126.36 112.10 + 122.38 127.15 112.35 + 119.31 125.14 109.33 + 119.17 125.83 109.45 + 118.48 126.12 108.80 + 130.65 137.53 96.24 + 151.14 158.16 86.42 + 162.53 160.50 73.08 + 161.16 158.62 68.07 + 161.96 158.03 78.84 + 131.34 134.88 80.17 + 111.91 119.01 92.83 + 107.92 125.45 97.09 + 104.92 123.21 94.10 + 104.19 122.97 93.37 + 102.05 121.12 91.22 + 100.69 120.72 89.86 + 100.50 121.27 89.68 + 97.18 118.17 86.36 + 98.97 120.08 88.15 + 97.27 119.38 86.44 + 98.92 120.78 88.09 + 103.64 127.40 92.82 + 98.16 116.87 87.33 + 113.61 120.38 90.39 + 108.38 113.25 85.17 + 116.27 105.26 79.72 + 114.84 105.14 78.97 + 119.77 105.40 79.92 + 116.98 105.61 79.10 + 118.17 103.41 76.09 + 118.05 107.63 79.47 + 117.28 103.94 75.70 + 115.64 105.85 76.31 + 118.49 110.89 80.28 + 119.74 110.98 81.53 + 131.37 94.28 74.67 + 141.21 101.81 82.01 + 141.94 81.67 72.33 + 152.58 76.95 70.06 + 152.06 75.67 68.78 + 160.58 79.19 72.30 + 161.65 78.70 71.81 + 164.91 75.14 68.25 + 170.53 81.78 74.89 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 166.70 73.47 66.58 + 166.56 74.11 67.22 + 166.41 74.75 67.86 + 165.84 75.39 68.50 + 165.55 76.67 69.78 + 159.00 77.93 71.04 + 161.94 83.69 76.80 + 157.70 84.39 77.50 + 158.24 90.08 83.19 + 158.24 90.08 83.19 + 158.24 90.08 83.19 + 158.24 90.08 83.19 + 158.24 90.08 83.19 + 157.78 90.08 83.19 + 157.63 90.72 83.83 + 157.48 91.36 84.47 + 156.89 92.00 85.11 + 151.07 94.72 87.83 + 141.59 109.26 99.09 + 143.01 114.75 104.23 + 125.20 122.09 110.71 + 129.99 131.49 119.17 + 127.89 130.71 117.06 + 127.09 130.18 116.27 + 125.61 129.79 114.79 + 124.66 130.02 113.84 + 122.80 128.63 111.97 + 121.34 128.24 110.53 + 121.59 129.19 110.78 + 119.11 127.52 108.28 + 119.25 128.12 108.42 + 116.53 127.14 105.70 + 116.66 128.00 105.83 + 113.42 127.35 102.60 + 112.16 126.91 101.33 + 109.56 126.11 98.75 + 107.41 125.13 96.58 + 105.14 123.49 94.32 + 103.44 122.63 92.61 + 102.17 121.29 91.34 + 100.48 120.45 89.67 + 100.04 120.48 89.22 + 97.41 118.50 86.58 + 99.08 120.30 88.27 + 97.47 119.70 86.64 + 98.42 120.47 87.59 + 102.88 126.41 92.06 + 99.37 117.70 88.55 + 113.16 119.84 90.02 + 107.68 111.79 84.55 + 116.20 105.38 79.81 + 114.50 104.93 78.78 + 119.45 106.36 80.72 + 115.74 103.87 77.14 + 120.24 104.47 77.10 + 118.21 107.09 78.87 + 116.36 104.61 75.91 + 115.78 106.05 76.45 + 119.23 113.78 82.15 + 118.10 108.11 79.89 + 136.60 94.42 74.88 + 139.84 98.69 80.03 + 146.36 80.18 71.93 + 152.42 76.95 70.06 + 152.25 75.67 68.78 + 162.25 80.98 74.09 + 161.30 77.08 70.19 + 166.65 76.61 69.72 + 170.20 79.90 73.01 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 167.13 73.47 66.58 + 166.68 73.47 66.58 + 166.53 74.11 67.22 + 166.38 74.75 67.86 + 165.80 75.39 68.50 + 182.35 91.61 56.91 + 181.28 100.00 60.27 + 171.80 88.33 44.47 + 181.09 108.63 60.15 + 169.35 97.61 56.41 + 152.01 82.44 68.28 + 156.53 88.46 82.24 + 156.53 88.45 82.24 + 156.97 88.73 81.60 + 156.81 89.36 82.24 + 156.27 89.34 82.24 + 156.09 89.97 82.88 + 155.74 90.74 82.88 + 146.69 93.94 85.31 + 142.16 109.56 100.64 + 139.09 111.58 102.68 + 125.37 122.11 113.23 + 129.43 127.84 119.00 + 129.40 127.82 119.00 + 129.36 127.80 119.00 + 129.32 127.77 119.00 + 129.28 127.73 119.00 + 129.25 127.70 119.00 + 128.97 127.56 119.64 + 129.52 128.13 120.28 + 150.07 146.94 107.81 + 169.13 164.38 96.16 + 164.84 158.03 78.67 + 165.14 158.36 79.31 + 154.67 150.02 90.10 + 134.42 129.94 100.28 + 122.30 121.69 118.40 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 204.24 180.25 49.91 + 223.32 198.62 56.97 + 129.22 114.09 31.75 + 130.44 129.48 122.00 + 128.90 127.89 120.10 + 129.04 128.06 120.10 + 129.18 128.20 120.11 + 128.90 127.87 119.47 + 129.03 127.99 119.47 + 129.16 128.10 119.47 + 129.26 128.21 119.47 + 129.34 128.29 119.47 + 129.43 128.40 119.47 + 129.54 128.49 119.45 + 158.93 102.33 94.52 + 155.56 94.25 86.95 + 156.24 93.03 85.66 + 156.90 91.78 84.36 + 157.56 90.53 83.06 + 158.18 89.28 81.76 + 157.75 89.01 82.38 + 157.64 89.65 82.99 + 157.76 89.64 82.96 + 157.87 89.60 82.94 + 157.96 89.56 82.91 + 157.96 90.36 83.74 + 201.33 119.19 33.52 + 216.53 118.53 40.07 + 170.13 72.79 24.79 + 169.91 78.60 71.66 + 170.55 77.33 70.36 + 171.18 76.06 69.05 + 171.23 76.28 69.24 + 171.28 76.31 69.26 + 171.28 76.28 69.25 + 171.28 76.30 69.24 + 170.71 75.71 68.59 + 169.95 75.12 68.61 + 169.97 75.23 68.62 + 168.04 76.30 68.88 + 148.91 81.19 71.36 + 142.20 84.14 72.72 + 136.18 85.55 73.13 + 132.12 88.80 74.65 + 129.10 92.13 76.33 + 128.32 95.26 77.64 + 137.14 105.97 86.22 + 135.74 105.74 84.64 + 132.34 103.81 82.00 + 130.15 103.06 79.59 + 128.06 102.41 77.34 + 125.80 101.75 74.88 + 124.86 101.46 73.72 + 112.67 102.00 72.56 + 108.53 101.39 70.50 + 109.20 103.71 71.73 + 109.69 105.22 73.68 + 110.44 106.70 76.71 + 111.32 107.72 79.11 + 106.97 126.89 96.54 + 104.97 124.44 95.25 + 103.89 124.95 94.02 + 100.28 122.05 90.28 + 99.26 121.88 89.14 + 98.43 122.12 88.19 + 94.44 118.22 84.09 + 93.49 117.31 83.12 + 93.96 118.14 83.59 + 97.67 121.64 87.23 + 99.53 121.39 89.87 + 104.99 124.31 95.17 + 108.63 125.89 98.70 + 110.05 125.14 100.02 + 111.25 124.44 101.11 + 113.94 126.39 103.66 + 114.59 125.14 105.03 + 115.83 124.95 106.15 + 117.67 125.25 107.89 + 116.23 121.72 106.34 + 118.16 121.18 108.16 + 121.20 123.37 111.09 + 124.25 125.64 114.08 + 127.86 128.34 117.64 + 130.37 130.19 120.02 + 132.03 131.36 122.41 + 132.19 131.53 122.41 + 132.31 131.66 122.40 + 132.44 131.75 122.40 + 164.79 106.89 99.42 + 158.17 96.05 88.57 + 158.93 94.95 87.48 + 159.53 93.67 86.19 + 160.19 92.43 84.89 + 159.37 91.75 84.89 + 159.54 91.81 84.88 + 159.85 92.07 85.11 + 160.00 92.11 85.11 + 160.13 92.15 85.12 + 160.22 92.19 85.14 + 160.22 92.19 85.16 + 160.21 92.23 85.19 + 170.85 83.39 76.30 + 168.83 78.92 72.47 + 169.37 77.76 71.18 + 169.91 76.57 69.91 + 170.41 75.37 68.65 + 169.47 74.83 68.02 + 169.36 74.70 67.82 + 168.57 74.14 67.83 + 168.71 74.27 67.82 + 168.76 74.38 67.83 + 168.85 74.49 67.81 + 169.00 74.59 67.81 + 166.22 76.28 68.28 + 142.49 80.48 70.12 + 141.24 83.61 71.83 + 136.07 86.17 72.74 + 132.15 88.86 73.95 + 128.97 92.08 75.55 + 137.31 104.31 85.89 + 136.23 104.40 84.64 + 134.81 104.03 83.05 + 132.85 103.47 80.91 + 129.68 102.88 78.72 + 127.62 102.23 76.49 + 126.53 102.28 75.22 + 124.75 101.81 74.04 + 107.42 101.42 72.47 + 107.78 101.90 71.29 + 108.30 103.97 72.26 + 109.48 106.37 74.90 + 109.92 106.81 76.84 + 108.02 126.81 97.64 + 107.12 126.70 96.70 + 105.90 125.89 95.41 + 102.77 123.65 92.99 + 100.89 123.14 90.98 + 100.28 123.49 90.28 + 97.91 121.44 87.83 + 94.86 119.16 84.63 + 92.37 116.58 82.86 + 94.60 118.48 84.95 + 97.23 120.84 87.48 + 102.17 123.76 92.33 + 107.03 126.37 97.06 + 109.60 126.34 99.52 + 110.36 125.53 100.22 + 112.83 126.35 102.64 + 221.68 204.86 58.91 + 202.19 178.10 43.80 + 112.92 99.80 29.34 + 113.63 120.78 103.91 + 113.06 117.93 104.31 + 114.69 117.47 105.83 + 118.39 120.23 109.41 + 122.06 122.95 112.98 + 124.52 124.82 115.35 + 127.81 127.28 118.33 + 129.06 128.09 119.46 + 129.20 128.20 119.46 + 129.32 128.29 119.44 + 129.43 128.37 119.44 + 129.53 128.44 119.44 + 129.63 128.50 119.42 + 129.71 128.54 119.42 + 129.77 128.60 119.43 + 129.82 128.65 119.42 + 129.87 128.67 119.41 + 129.92 128.68 119.41 + 129.96 128.69 119.40 + 129.51 128.38 120.04 + 129.54 128.36 120.05 + 129.63 128.41 120.05 + 128.78 127.96 121.83 + 218.35 198.28 58.80 + 201.97 177.66 48.03 + 112.27 99.62 32.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 107.89 104.44 85.33 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 164.44 163.11 90.11 + 34 34 158.00 147.00 87.33 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 41.33 127.11 41.33 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 25.00 104.00 25.00 + 50 82 25.00 104.00 25.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 19.22 65.89 19.22 + 50 162 119.78 124.89 15.78 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 143.67 85.33 85.33 + 66 50 208.33 0.00 0.00 + 66 66 126.89 49.22 20.22 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 235.00 12.67 12.67 + 66 130 34.22 115.11 34.22 + 66 146 52.22 140.67 52.22 + 66 162 153.33 137.00 49.33 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 225.00 0.00 0.00 + 82 50 225.00 0.00 0.00 + 82 66 152.00 1.67 1.67 + 82 82 128.00 128.00 128.00 + 82 98 128.00 128.00 128.00 + 82 114 225.00 0.00 0.00 + 82 130 179.67 0.00 0.00 + 82 146 128.00 128.00 128.00 + 82 162 153.33 137.00 49.33 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 138.33 87.33 87.33 + 98 50 126.78 42.67 42.67 + 98 66 128.00 128.00 128.00 + 98 82 114.89 118.67 114.89 + 98 98 128.00 128.00 128.00 + 98 114 228.33 4.22 4.22 + 98 130 121.33 113.78 113.78 + 98 146 128.00 128.00 128.00 + 98 162 153.33 137.00 49.33 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 43.89 130.00 43.89 + 114 82 25.00 104.00 25.00 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 128.00 128.00 128.00 + 114 146 74.00 146.00 74.00 + 114 162 126.89 117.44 22.89 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 175.00 0.00 0.00 + 130 66 25.00 104.00 25.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 114.67 98.78 56.33 + 130 146 49.22 137.67 49.22 + 130 162 141.56 131.56 37.56 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 235.00 23.56 23.56 + 146 50 239.33 26.56 26.56 + 146 66 161.67 1.67 1.67 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 199.89 5.22 5.22 + 146 130 151.22 0.00 0.00 + 146 146 128.00 128.00 128.00 + 146 162 153.33 137.00 49.33 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 225.00 0.00 0.00 + 162 50 225.00 0.00 0.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 93.56 92.33 85.33 + 162 114 225.00 0.00 0.00 + 162 130 126.89 16.78 14.22 + 162 146 169.00 162.67 65.33 + 162 162 167.67 147.33 18.33 + 162 178 209.67 203.33 34.78 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 116.89 100.78 14.22 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 153.33 137.00 49.33 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-body-faces.yaml b/unittest/graphics/tests/dump-image-body-faces.yaml new file mode 100644 index 00000000000..f319474e8b1 --- /dev/null +++ b/unittest/graphics/tests/dump-image-body-faces.yaml @@ -0,0 +1,596 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:40 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom body + pair zero +setup_commands: | + units lj + atom_style body rounded/polyhedron 1 10 + read_data ${input_dir}/data.cubes-and-pyramids + replicate 2 2 2 + pair_style zero 4.0 + pair_coeff * * + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.5 view 80 10 shiny 0.4 box yes 0.02 body type 0.2 1 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 135.14 133.04 119.30 + 154.87 152.59 108.37 + 169.84 164.24 91.73 + 163.60 156.98 79.00 + 164.51 157.70 78.53 + 146.97 141.75 90.44 + 125.34 121.52 100.87 + 128.37 127.08 119.97 + 128.86 127.41 119.44 + 129.46 127.89 119.00 + 129.44 127.86 119.00 + 129.41 127.83 119.00 + 129.37 127.80 119.00 + 129.34 127.78 119.00 + 129.32 127.75 119.00 + 129.28 127.72 119.00 + 129.25 127.69 119.00 + 128.84 127.80 118.62 + 128.47 127.95 118.29 + 127.34 127.31 117.20 + 126.56 128.34 116.45 + 125.82 128.43 115.75 + 125.07 128.47 115.05 + 124.12 129.60 114.14 + 124.23 130.04 114.52 + 124.19 131.97 114.50 + 138.11 144.73 103.70 + 158.62 166.22 93.90 + 167.62 165.59 78.17 + 164.66 162.86 71.56 + 163.04 157.22 79.92 + 138.49 142.54 87.33 + 121.27 129.09 102.18 + 124.48 143.40 113.67 + 122.14 143.74 111.32 + 120.60 142.40 109.78 + 119.33 142.97 108.50 + 117.44 140.94 106.61 + 116.31 141.22 105.49 + 114.66 139.03 103.83 + 113.69 138.69 102.87 + 114.39 139.51 103.56 + 113.82 139.12 103.00 + 117.30 138.19 106.48 + 120.75 140.70 109.94 + 120.84 141.28 110.02 + 129.81 132.30 105.44 + 128.00 132.28 104.07 + 131.38 123.16 94.92 + 132.08 123.04 93.17 + 134.05 124.72 95.32 + 133.28 126.09 95.73 + 135.04 126.70 95.70 + 135.50 130.96 99.77 + 133.04 131.07 98.84 + 133.09 129.92 98.52 + 147.43 119.52 99.31 + 147.54 118.86 98.89 + 158.69 107.41 95.40 + 156.24 95.61 88.72 + 155.63 94.47 87.58 + 155.20 85.25 78.36 + 152.65 81.92 75.03 + 157.16 87.06 80.17 + 160.25 88.08 81.19 + 164.23 90.56 83.67 + 167.38 94.89 88.00 + 166.75 94.16 87.27 + 166.10 93.36 86.47 + 165.44 92.56 85.67 + 164.81 91.73 84.84 + 164.15 90.82 83.93 + 163.82 90.58 83.69 + 163.41 90.33 83.44 + 163.25 90.71 83.82 + 161.62 95.98 89.09 + 161.06 96.38 89.49 + 160.41 96.19 89.30 + 158.05 100.94 94.06 + 156.73 100.19 93.30 + 155.28 99.50 92.61 + 153.43 98.81 91.92 + 151.56 98.19 91.30 + 149.71 97.58 90.69 + 147.87 97.03 90.14 + 146.49 97.16 90.27 + 145.03 97.31 90.42 + 144.00 98.19 91.30 + 138.84 114.84 105.60 + 138.28 115.29 106.05 + 132.86 128.28 119.04 + 131.96 130.89 121.14 + 131.06 130.73 120.25 + 130.54 130.47 119.72 + 129.80 131.55 118.98 + 129.11 131.68 118.29 + 128.32 132.44 117.50 + 127.52 132.95 116.70 + 127.25 132.98 116.43 + 127.24 134.93 116.42 + 126.47 134.57 115.64 + 126.08 135.59 115.25 + 126.53 136.87 115.70 + 126.23 138.00 115.42 + 126.17 139.87 115.34 + 125.59 140.59 114.78 + 124.51 141.92 113.69 + 124.50 143.40 113.67 + 121.60 142.84 110.78 + 120.86 142.93 110.03 + 119.31 142.95 108.48 + 117.38 140.89 106.56 + 115.76 140.25 104.94 + 115.19 139.35 104.38 + 114.25 139.12 103.44 + 114.33 140.03 103.52 + 114.36 139.43 103.54 + 120.15 140.37 109.33 + 120.75 140.66 109.92 + 121.72 140.00 110.91 + 129.12 131.88 104.84 + 127.88 132.24 104.03 + 131.72 121.81 93.61 + 132.26 122.95 93.14 + 134.71 126.28 96.90 + 133.90 126.83 96.03 + 135.71 128.44 97.52 + 135.35 130.72 99.57 + 133.46 131.19 99.20 + 133.56 130.10 98.94 + 147.37 119.33 99.18 + 147.47 118.68 98.75 + 160.19 107.09 96.81 + 156.15 95.53 88.64 + 155.56 94.39 87.50 + 152.35 83.81 76.92 + 153.07 81.95 75.06 + 157.99 88.06 81.17 + 160.74 88.09 81.20 + 165.08 92.36 85.47 + 167.30 94.80 87.91 + 166.66 94.04 87.15 + 166.02 93.27 86.38 + 165.38 92.47 85.58 + 164.72 91.58 84.69 + 164.05 90.70 83.81 + 163.73 90.46 83.57 + 163.30 90.19 83.31 + 163.12 90.56 83.67 + 184.81 117.86 73.53 + 186.96 119.75 72.67 + 173.36 106.13 56.71 + 188.63 129.48 71.47 + 167.15 107.08 65.81 + 148.81 91.77 77.61 + 151.46 97.09 90.88 + 149.59 96.44 90.23 + 148.16 96.14 89.00 + 146.34 95.58 88.47 + 144.92 95.69 88.59 + 143.78 96.01 88.14 + 142.12 96.97 88.31 + 135.94 112.01 103.06 + 135.34 112.44 103.51 + 129.49 127.90 119.00 + 129.46 127.86 119.00 + 129.43 127.84 119.00 + 129.40 127.82 119.00 + 129.36 127.80 119.00 + 129.32 127.77 119.00 + 129.28 127.73 119.00 + 129.25 127.70 119.00 + 128.97 127.56 119.64 + 129.52 128.13 120.28 + 150.07 146.94 107.81 + 169.13 164.38 96.16 + 164.84 158.03 78.67 + 165.14 158.36 79.31 + 154.67 150.02 90.10 + 134.42 129.94 100.28 + 122.30 121.69 118.40 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 204.24 180.25 49.91 + 223.32 198.62 56.97 + 129.22 114.09 31.75 + 130.44 129.48 122.00 + 128.90 127.89 120.10 + 129.04 128.06 120.10 + 129.18 128.20 120.11 + 128.90 127.87 119.47 + 129.03 127.99 119.47 + 129.16 128.10 119.47 + 129.26 128.21 119.47 + 129.34 128.29 119.47 + 129.43 128.40 119.47 + 129.54 128.49 119.45 + 129.66 128.57 119.45 + 157.10 108.59 100.70 + 159.02 107.73 100.36 + 159.80 106.67 99.24 + 160.66 105.54 98.07 + 161.48 104.36 96.83 + 160.99 104.11 97.47 + 160.93 104.06 97.41 + 160.84 103.98 97.31 + 160.72 103.84 97.18 + 160.56 103.61 96.97 + 160.34 103.33 96.70 + 204.80 132.80 44.58 + 221.56 150.27 51.96 + 173.38 91.48 40.67 + 172.79 97.27 90.33 + 173.18 95.67 88.69 + 173.55 94.02 87.00 + 173.78 92.05 85.01 + 173.24 91.59 84.55 + 172.59 91.09 84.05 + 171.88 90.56 83.50 + 170.99 89.86 82.74 + 169.45 88.70 82.19 + 168.64 88.22 81.61 + 167.69 87.41 80.72 + 136.21 82.54 75.81 + 129.42 85.77 77.06 + 121.84 88.66 78.58 + 118.36 91.40 80.14 + 149.40 112.82 97.67 + 148.26 117.40 99.91 + 147.74 120.86 100.97 + 147.59 123.17 100.81 + 147.33 124.80 100.55 + 146.82 126.22 100.14 + 145.85 127.72 99.30 + 143.75 128.18 97.39 + 141.94 128.09 95.03 + 117.69 125.93 90.73 + 114.29 126.72 90.08 + 111.25 126.89 89.91 + 108.96 124.50 89.92 + 120.51 142.12 110.22 + 119.62 139.10 109.30 + 118.30 138.57 107.86 + 117.23 138.64 107.52 + 116.32 137.10 106.44 + 116.12 138.01 106.11 + 115.23 138.53 105.11 + 115.28 139.72 105.05 + 115.16 140.16 104.81 + 116.81 141.72 106.44 + 118.16 143.93 107.80 + 118.89 145.00 108.47 + 121.09 143.68 111.42 + 120.62 140.67 110.80 + 120.57 137.76 110.64 + 118.98 133.28 108.95 + 119.28 131.82 109.14 + 118.81 129.45 108.53 + 118.49 126.61 108.94 + 117.72 123.88 108.04 + 117.75 122.85 107.97 + 119.97 122.86 110.08 + 122.36 124.33 112.37 + 125.97 126.83 115.86 + 128.44 128.83 118.28 + 132.03 131.45 121.81 + 132.74 131.94 122.39 + 132.03 131.36 122.41 + 132.19 131.53 122.41 + 132.31 131.66 122.40 + 132.44 131.75 122.40 + 132.54 131.82 122.39 + 159.92 110.86 103.39 + 160.86 109.81 102.33 + 161.59 108.69 101.21 + 162.47 107.56 100.03 + 162.53 105.66 98.80 + 162.55 105.72 98.80 + 162.55 105.73 98.77 + 162.51 105.64 98.63 + 162.28 105.11 98.08 + 162.16 104.94 97.90 + 161.87 104.68 97.64 + 161.59 104.39 97.35 + 161.34 104.11 97.02 + 171.57 97.83 91.38 + 172.06 96.44 89.86 + 172.28 94.53 87.86 + 172.66 92.93 86.21 + 173.05 91.30 84.50 + 172.57 90.92 84.04 + 171.22 89.86 83.55 + 170.53 89.08 82.64 + 170.52 88.36 81.80 + 169.83 87.86 81.19 + 169.06 87.44 80.65 + 168.25 86.95 80.06 + 136.24 82.74 75.77 + 130.03 86.22 77.27 + 123.31 89.83 78.81 + 120.90 92.52 80.34 + 150.29 113.61 97.33 + 149.17 118.17 99.53 + 148.78 120.96 99.97 + 148.12 121.92 99.42 + 147.76 123.43 99.15 + 147.11 124.73 98.67 + 146.03 126.18 97.80 + 144.49 127.11 96.50 + 141.59 126.78 94.67 + 117.42 125.80 90.61 + 113.91 126.51 89.87 + 111.00 126.08 89.90 + 110.45 124.97 90.86 + 119.80 141.40 109.42 + 119.13 138.68 108.75 + 118.06 138.73 107.64 + 117.30 138.66 106.81 + 115.81 137.56 106.03 + 115.00 137.46 105.10 + 114.73 139.26 104.73 + 114.24 139.38 104.17 + 115.26 140.59 105.03 + 116.75 141.84 107.23 + 117.01 143.36 107.36 + 117.97 143.88 108.22 + 120.20 143.33 110.36 + 120.25 140.64 110.28 + 119.28 136.68 109.19 + 119.45 134.24 109.31 + 118.89 131.93 108.70 + 222.87 205.74 60.10 + 202.78 178.54 44.40 + 112.92 99.80 29.34 + 115.64 119.61 105.92 + 115.94 118.83 107.20 + 119.50 121.09 110.64 + 121.97 122.84 112.99 + 125.65 125.66 116.58 + 128.69 127.94 119.53 + 128.95 127.98 119.47 + 129.06 128.09 119.46 + 129.20 128.20 119.46 + 129.32 128.29 119.44 + 129.43 128.37 119.44 + 129.53 128.44 119.44 + 129.63 128.50 119.42 + 129.71 128.54 119.42 + 129.77 128.60 119.43 + 129.82 128.65 119.42 + 129.87 128.67 119.41 + 129.92 128.68 119.41 + 129.96 128.69 119.40 + 129.51 128.38 120.04 + 129.54 128.36 120.05 + 129.63 128.41 120.05 + 128.78 127.96 121.83 + 218.35 198.28 58.80 + 201.97 177.66 48.03 + 112.27 99.62 32.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 107.89 104.44 85.33 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 164.44 163.11 90.11 + 34 34 158.00 147.00 87.33 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 73.33 174.11 73.33 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 106.67 219.56 106.67 + 50 82 65.67 158.89 65.67 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 31.00 79.00 31.00 + 50 162 114.78 111.56 10.78 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 255.00 62.89 62.89 + 66 66 82.33 0.00 0.00 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 212.67 90.33 90.33 + 66 130 139.44 136.89 72.22 + 66 146 49.89 136.33 49.89 + 66 162 153.33 137.00 49.33 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 255.00 54.11 54.11 + 82 50 240.56 25.00 25.00 + 82 66 93.67 42.67 42.67 + 82 82 128.00 128.00 128.00 + 82 98 128.00 128.00 128.00 + 82 114 255.00 54.11 54.11 + 82 130 151.22 8.56 8.56 + 82 146 128.00 128.00 128.00 + 82 162 153.33 137.00 49.33 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 164.78 49.67 49.67 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 153.33 137.00 49.33 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 74.78 154.78 74.78 + 114 82 95.22 203.78 95.22 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 128.00 128.00 128.00 + 114 146 126.22 164.44 126.22 + 114 162 153.33 137.00 49.33 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 187.33 0.22 0.22 + 130 66 109.89 219.22 109.89 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 144.00 85.33 85.33 + 130 146 55.44 136.67 55.44 + 130 162 153.33 137.00 49.33 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 241.44 57.56 57.56 + 146 50 210.00 15.11 15.11 + 146 66 79.89 0.00 0.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 182.89 0.78 0.78 + 146 130 193.78 25.11 25.11 + 146 146 128.00 128.00 128.00 + 146 162 153.33 137.00 49.33 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 244.44 31.33 31.33 + 162 50 204.33 14.00 14.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 93.56 92.33 85.33 + 162 114 250.78 33.56 33.56 + 162 130 105.56 78.11 34.44 + 162 146 169.00 162.67 65.33 + 162 162 167.67 147.33 18.33 + 162 178 209.67 203.33 34.78 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 116.89 100.78 14.22 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 153.33 137.00 49.33 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-body-wireframe.yaml b/unittest/graphics/tests/dump-image-body-wireframe.yaml new file mode 100644 index 00000000000..6f4e4d82c0a --- /dev/null +++ b/unittest/graphics/tests/dump-image-body-wireframe.yaml @@ -0,0 +1,596 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:41 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom body + pair zero +setup_commands: | + units lj + atom_style body rounded/polyhedron 1 10 + read_data ${input_dir}/data.cubes-and-pyramids + replicate 2 2 2 + pair_style zero 4.0 + pair_coeff * * + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.5 view 80 10 shiny 0.4 box yes 0.02 body type 0.2 2 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 135.14 133.04 119.30 + 154.87 152.59 108.37 + 169.84 164.24 91.73 + 163.60 156.98 79.00 + 164.51 157.70 78.53 + 146.97 141.75 90.44 + 125.34 121.52 100.87 + 128.37 127.08 119.97 + 128.86 127.41 119.44 + 129.46 127.89 119.00 + 129.44 127.86 119.00 + 129.41 127.83 119.00 + 129.37 127.80 119.00 + 129.34 127.78 119.00 + 129.32 127.75 119.00 + 128.79 127.64 118.51 + 128.40 128.09 118.14 + 128.19 128.60 117.97 + 127.37 129.13 117.19 + 125.39 128.32 115.25 + 124.95 128.26 114.84 + 124.66 128.54 114.59 + 123.73 127.52 113.71 + 123.36 127.59 113.38 + 122.95 127.21 113.23 + 123.19 127.89 113.50 + 137.23 140.56 102.82 + 157.62 160.44 92.91 + 166.04 162.26 76.59 + 164.71 159.65 71.62 + 162.26 158.47 79.15 + 137.62 137.60 86.47 + 119.25 122.13 100.16 + 120.06 129.38 109.24 + 122.04 130.53 111.22 + 119.69 127.97 108.88 + 121.84 129.66 111.03 + 120.64 128.94 109.83 + 119.70 136.94 108.89 + 112.34 128.23 101.53 + 114.83 131.97 104.01 + 112.50 130.24 101.67 + 111.14 129.96 100.32 + 113.92 131.67 103.09 + 110.06 124.78 99.24 + 131.81 123.77 98.64 + 123.22 111.38 91.81 + 130.59 111.01 95.42 + 134.50 112.62 96.43 + 129.47 102.75 88.23 + 131.09 114.70 97.09 + 124.09 118.61 93.61 + 128.88 113.14 92.82 + 123.79 121.19 97.10 + 120.06 119.90 97.70 + 125.53 129.59 103.79 + 122.21 122.34 100.47 + 122.52 122.28 99.83 + 142.41 119.94 100.14 + 133.51 101.23 91.89 + 147.04 101.69 93.94 + 150.42 102.97 95.23 + 144.53 95.33 88.44 + 153.03 103.09 96.20 + 143.73 96.61 89.72 + 157.34 107.16 99.42 + 139.71 99.92 92.18 + 145.29 109.89 102.16 + 145.29 109.89 102.16 + 147.40 106.83 99.09 + 153.33 104.68 96.94 + 145.43 99.26 91.52 + 153.25 103.45 95.71 + 148.31 100.83 93.09 + 150.31 100.83 93.08 + 147.59 102.55 94.81 + 147.04 103.61 94.36 + 151.93 110.62 101.38 + 135.74 111.00 101.75 + 139.09 120.53 111.29 + 139.09 120.53 111.29 + 139.09 120.53 111.29 + 143.46 112.72 105.83 + 148.88 113.14 106.25 + 134.78 103.67 96.78 + 148.53 113.78 104.54 + 140.81 106.83 97.59 + 148.41 113.76 106.87 + 139.33 109.14 102.25 + 144.44 115.17 105.01 + 144.81 118.09 107.58 + 125.53 122.56 111.04 + 130.54 132.27 119.72 + 128.68 131.68 117.86 + 128.15 131.38 117.33 + 127.96 131.81 117.14 + 125.89 130.18 115.07 + 127.33 131.31 116.51 + 125.44 130.03 114.62 + 126.17 130.73 115.35 + 125.58 130.35 114.75 + 125.54 130.01 114.72 + 124.28 130.18 113.47 + 125.84 131.04 115.02 + 123.72 131.25 112.90 + 123.49 130.97 112.67 + 122.09 130.75 111.28 + 119.98 129.13 109.17 + 121.91 130.07 111.08 + 119.12 127.81 108.30 + 121.84 129.59 111.02 + 119.31 129.01 108.48 + 119.52 136.30 108.69 + 111.66 126.89 100.83 + 116.41 133.72 105.58 + 111.42 128.50 100.61 + 115.00 134.09 104.17 + 112.56 129.56 101.73 + 111.53 127.47 100.70 + 130.84 123.40 98.80 + 122.75 110.91 92.35 + 132.19 109.61 94.08 + 133.36 111.59 95.44 + 131.26 103.61 89.00 + 127.02 116.20 96.00 + 128.81 118.69 93.72 + 124.54 110.72 90.61 + 121.21 122.19 96.88 + 117.95 117.83 95.59 + 127.81 132.13 106.08 + 120.47 119.27 98.74 + 129.34 123.95 101.23 + 140.29 118.26 99.60 + 132.82 100.58 92.33 + 150.98 105.33 97.59 + 148.26 101.55 93.81 + 148.92 98.68 91.79 + 151.82 101.01 94.12 + 147.37 98.28 90.55 + 157.09 106.08 98.34 + 139.18 101.20 93.46 + 145.29 109.89 102.16 + 145.29 109.89 102.16 + 148.68 105.73 98.00 + 153.09 104.64 96.91 + 142.96 97.61 89.88 + 152.31 103.97 96.23 + 146.54 99.39 91.64 + 152.39 104.76 97.01 + 161.59 116.41 80.28 + 173.74 127.91 72.18 + 163.64 117.15 63.22 + 159.28 134.16 72.99 + 148.47 126.33 82.94 + 131.19 111.42 96.09 + 135.69 117.51 110.69 + 145.69 109.32 102.31 + 147.72 111.17 103.23 + 132.69 100.25 93.14 + 145.68 111.88 104.78 + 137.35 101.77 94.69 + 147.06 112.88 105.02 + 134.40 107.67 99.04 + 145.50 117.30 108.38 + 140.14 113.33 104.42 + 125.37 122.11 113.23 + 129.43 127.84 119.00 + 129.40 127.82 119.00 + 129.36 127.80 119.00 + 129.32 127.77 119.00 + 129.28 127.73 119.00 + 129.25 127.70 119.00 + 128.97 127.56 119.64 + 129.52 128.13 120.28 + 150.07 146.94 107.81 + 169.13 164.38 96.16 + 164.84 158.03 78.67 + 165.14 158.36 79.31 + 154.67 150.02 90.10 + 134.42 129.94 100.28 + 122.30 121.69 118.40 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 204.24 180.25 49.91 + 223.32 198.62 56.97 + 129.22 114.09 31.75 + 130.44 129.48 122.00 + 128.90 127.89 120.10 + 129.04 128.06 120.10 + 129.18 128.20 120.11 + 128.90 127.87 119.47 + 129.03 127.99 119.47 + 129.16 128.10 119.47 + 129.26 128.21 119.47 + 129.34 128.29 119.47 + 129.43 128.40 119.47 + 129.54 128.49 119.45 + 158.93 102.33 94.52 + 156.20 99.93 92.64 + 125.91 93.94 86.56 + 133.81 118.50 110.27 + 132.74 115.97 107.69 + 156.78 99.14 91.62 + 130.25 92.89 86.26 + 137.12 119.66 111.33 + 137.07 119.36 110.68 + 137.25 119.38 110.69 + 136.74 119.38 110.69 + 136.42 119.57 110.70 + 195.35 158.66 42.67 + 213.44 137.98 51.42 + 161.46 89.13 36.42 + 136.81 92.05 84.81 + 142.50 110.06 102.75 + 141.50 107.56 100.19 + 158.68 98.00 90.57 + 139.24 92.98 85.50 + 146.86 113.26 105.77 + 147.24 113.30 105.75 + 146.54 112.11 104.48 + 145.68 110.90 103.84 + 145.96 111.67 104.49 + 169.10 100.51 93.09 + 146.12 89.40 79.56 + 139.69 111.55 99.31 + 135.30 113.81 100.77 + 150.79 98.56 85.30 + 142.06 97.00 82.98 + 111.11 96.81 81.92 + 125.09 125.56 109.36 + 125.72 125.77 108.65 + 124.54 124.53 107.99 + 126.69 122.32 105.64 + 127.42 122.69 106.14 + 127.70 122.68 106.07 + 150.95 110.36 94.26 + 132.45 102.03 82.77 + 125.71 121.82 100.81 + 125.34 126.07 101.68 + 139.44 109.50 83.99 + 135.18 107.11 84.30 + 112.67 106.92 83.62 + 120.61 135.33 110.17 + 114.83 130.46 105.11 + 114.25 131.79 104.36 + 113.81 131.16 103.81 + 113.82 130.78 103.69 + 116.80 130.90 106.56 + 114.94 129.40 104.59 + 115.75 129.28 105.38 + 115.91 128.78 105.54 + 119.16 131.47 108.73 + 118.73 130.22 109.06 + 121.22 131.90 111.39 + 122.03 132.86 112.10 + 121.50 131.31 111.47 + 121.00 131.43 110.86 + 120.81 132.50 110.53 + 121.19 131.10 111.63 + 121.68 131.09 112.00 + 124.29 131.44 114.52 + 121.56 128.34 111.67 + 121.78 126.81 111.78 + 123.08 127.86 112.97 + 124.75 127.35 114.58 + 128.04 128.98 117.82 + 130.40 130.26 120.05 + 132.03 131.36 122.41 + 132.19 131.53 122.41 + 132.31 131.66 122.40 + 132.44 131.75 122.40 + 164.79 106.89 99.42 + 154.04 99.82 92.34 + 136.54 122.80 113.28 + 135.71 120.29 110.73 + 146.72 96.71 89.17 + 156.83 101.56 94.69 + 133.46 96.92 90.00 + 139.84 122.35 113.08 + 140.15 122.42 113.05 + 140.47 122.47 113.05 + 140.53 123.17 113.69 + 140.75 123.19 113.69 + 140.92 123.23 113.67 + 166.21 101.16 93.56 + 157.33 94.97 87.98 + 142.94 111.19 104.05 + 142.35 108.75 101.50 + 149.75 92.09 84.77 + 157.97 96.44 89.00 + 143.12 94.14 86.60 + 145.92 111.53 104.55 + 145.96 111.05 103.91 + 145.52 111.81 104.53 + 146.11 111.97 104.56 + 146.69 112.10 104.55 + 168.22 99.74 91.73 + 138.96 87.95 77.59 + 139.47 110.25 98.14 + 134.59 113.27 99.90 + 152.51 100.17 86.05 + 138.69 97.12 82.34 + 126.61 125.55 109.86 + 125.95 125.94 109.02 + 126.87 125.94 108.84 + 126.00 124.14 106.95 + 127.75 121.81 104.52 + 129.60 122.11 105.34 + 130.71 123.47 107.08 + 151.19 109.91 93.35 + 128.44 101.53 83.14 + 125.67 121.00 100.42 + 124.87 126.17 101.85 + 138.65 109.94 85.10 + 131.31 106.98 83.72 + 121.23 135.03 110.85 + 119.14 134.32 108.72 + 113.85 130.12 103.36 + 113.18 130.94 103.40 + 113.37 129.97 103.47 + 116.06 132.34 106.06 + 116.42 130.48 106.34 + 116.25 130.87 106.01 + 113.67 127.67 104.16 + 116.06 128.41 106.41 + 119.01 131.06 109.26 + 119.56 131.10 109.71 + 120.91 132.26 110.94 + 122.50 132.90 112.41 + 120.86 130.88 110.72 + 120.75 131.65 110.56 + 221.84 205.37 59.06 + 202.20 178.16 43.82 + 112.92 99.80 29.34 + 119.77 126.86 110.04 + 117.69 123.98 108.95 + 117.69 122.78 108.83 + 119.81 123.65 110.83 + 122.52 124.56 113.44 + 124.66 125.33 115.50 + 127.81 127.28 118.33 + 129.06 128.09 119.46 + 129.20 128.20 119.46 + 129.32 128.29 119.44 + 129.43 128.37 119.44 + 129.53 128.44 119.44 + 129.63 128.50 119.42 + 129.71 128.54 119.42 + 129.77 128.60 119.43 + 129.82 128.65 119.42 + 129.87 128.67 119.41 + 129.92 128.68 119.41 + 129.96 128.69 119.40 + 129.51 128.38 120.04 + 129.54 128.36 120.05 + 129.63 128.41 120.05 + 128.78 127.96 121.83 + 218.35 198.28 58.80 + 201.97 177.66 48.03 + 112.27 99.62 32.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 107.89 104.44 85.33 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 164.44 163.11 90.11 + 34 34 158.00 147.00 87.33 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 107.67 164.44 107.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 92.56 180.44 92.56 + 50 82 105.78 140.22 105.78 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 25.22 85.11 25.22 + 50 162 119.78 124.89 15.78 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 170.33 112.22 112.22 + 66 50 170.33 100.67 100.67 + 66 66 114.00 106.11 77.11 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 197.67 60.00 60.00 + 66 130 81.33 150.33 81.33 + 66 146 89.89 155.11 89.89 + 66 162 153.33 137.00 49.33 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 198.56 88.22 88.22 + 82 66 130.11 1.67 1.67 + 82 82 128.00 128.00 128.00 + 82 98 128.00 128.00 128.00 + 82 114 203.56 45.78 45.78 + 82 130 221.22 42.00 42.00 + 82 146 128.00 128.00 128.00 + 82 162 153.33 137.00 49.33 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 138.33 87.33 87.33 + 98 50 136.78 57.78 57.78 + 98 66 128.00 128.00 128.00 + 98 82 114.89 118.67 114.89 + 98 98 128.00 128.00 128.00 + 98 114 212.67 72.22 72.22 + 98 130 121.33 113.78 113.78 + 98 146 128.00 128.00 128.00 + 98 162 153.33 137.00 49.33 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 78.67 173.11 78.67 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 128.00 128.00 128.00 + 114 146 86.44 159.89 86.44 + 114 162 128.11 121.89 24.11 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 146.56 89.00 89.00 + 130 66 147.67 32.78 32.78 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 149.89 123.89 78.22 + 130 146 86.78 161.33 86.78 + 130 162 141.56 131.56 37.56 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 200.78 73.22 73.22 + 146 50 210.00 31.78 31.78 + 146 66 142.33 87.00 87.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 215.00 45.22 45.22 + 146 130 139.33 49.78 49.78 + 146 146 128.00 128.00 128.00 + 146 162 153.33 137.00 49.33 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 126.33 108.78 14.22 + 162 50 170.33 101.00 101.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 93.56 92.33 85.33 + 162 114 128.33 121.67 86.11 + 162 130 173.89 34.44 31.89 + 162 146 169.00 162.67 65.33 + 162 162 167.67 147.33 18.33 + 162 178 209.67 203.33 34.78 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 116.89 100.78 14.22 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 153.33 137.00 49.33 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-box-ortho.yaml b/unittest/graphics/tests/dump-image-box-ortho.yaml new file mode 100644 index 00000000000..c6133870a80 --- /dev/null +++ b/unittest/graphics/tests/dump-image-box-ortho.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:07 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.05 + dump_modify viz backcolor black boxcolor yellow +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 2.28 2.28 0.03 + 7.96 7.96 1.52 + 12.07 12.07 3.90 + 17.48 17.48 4.36 + 18.81 18.81 4.35 + 19.90 19.90 4.34 + 19.96 19.96 4.34 + 20.25 20.25 4.35 + 19.82 19.82 4.35 + 21.18 21.18 4.34 + 20.64 20.64 4.35 + 20.89 20.89 4.35 + 20.20 20.20 4.34 + 19.72 19.72 4.35 + 20.05 20.05 4.35 + 19.59 19.59 4.36 + 20.87 20.87 4.34 + 20.39 20.39 4.34 + 20.64 20.64 4.35 + 19.95 19.95 4.34 + 20.22 20.22 4.34 + 19.78 19.78 4.35 + 21.14 21.14 4.35 + 20.60 20.60 4.36 + 20.05 20.05 4.34 + 15.18 15.18 0.65 + 10.96 10.96 0.00 + 10.90 10.90 0.00 + 12.32 12.32 0.00 + 13.92 13.92 0.01 + 14.44 14.44 0.01 + 13.91 13.91 0.01 + 16.59 16.59 2.00 + 21.00 21.00 4.31 + 24.59 24.59 4.37 + 26.30 26.30 4.37 + 25.86 25.86 4.36 + 25.84 25.84 4.36 + 25.41 25.41 4.36 + 24.94 24.94 4.35 + 25.29 25.29 4.36 + 25.00 25.00 4.36 + 23.43 23.43 4.36 + 22.94 22.94 4.37 + 22.95 22.95 4.35 + 24.11 24.11 4.36 + 25.45 25.45 4.36 + 26.05 26.05 4.36 + 26.27 26.27 4.36 + 25.82 25.82 4.37 + 25.82 25.82 4.36 + 25.38 25.38 4.35 + 25.66 25.66 4.35 + 25.25 25.25 4.35 + 25.74 25.74 4.35 + 24.18 24.18 4.36 + 18.89 18.89 3.38 + 13.30 13.30 0.20 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 15.55 15.55 0.81 + 22.06 22.06 4.04 + 25.53 25.53 4.36 + 26.36 26.36 4.36 + 25.65 25.65 4.36 + 25.17 25.17 4.35 + 25.50 25.50 4.37 + 25.05 25.05 4.36 + 26.32 26.32 4.36 + 25.84 25.84 4.36 + 26.09 26.09 4.37 + 25.39 25.39 4.37 + 23.76 23.76 4.36 + 20.18 20.18 2.50 + 21.48 21.48 1.34 + 22.60 22.60 4.21 + 26.04 26.04 4.37 + 25.62 25.62 4.37 + 25.14 25.14 4.36 + 25.48 25.48 4.37 + 25.00 25.00 4.37 + 26.30 26.30 4.36 + 25.83 25.83 4.36 + 21.55 21.55 3.81 + 17.23 17.23 0.49 + 13.45 13.45 0.01 + 14.09 14.09 0.01 + 14.83 14.83 0.01 + 13.56 13.56 0.01 + 11.92 11.92 0.01 + 10.50 10.50 0.01 + 13.22 13.22 0.39 + 18.36 18.36 4.33 + 20.46 20.46 4.36 + 20.76 20.76 4.36 + 20.27 20.27 4.36 + 20.29 20.29 4.35 + 19.82 19.82 4.36 + 20.13 20.13 4.34 + 20.73 20.73 4.36 + 20.93 20.93 4.35 + 20.50 20.50 4.35 + 20.49 20.49 4.35 + 20.04 20.04 4.35 + 20.34 20.34 4.36 + 19.93 19.93 4.36 + 20.41 20.41 4.36 + 20.73 20.73 4.35 + 20.21 20.21 4.35 + 20.26 20.26 4.36 + 19.80 19.80 4.35 + 20.10 20.10 4.35 + 19.66 19.66 4.36 + 18.83 18.83 4.36 + 13.93 13.93 4.12 + 8.57 8.57 0.92 + 4.17 4.17 0.03 + 0.60 0.60 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 83.70 83.70 0.04 + 90.71 90.71 1.44 + 66.45 66.45 1.71 + 56.40 56.40 2.46 + 14.17 14.17 2.56 + 14.78 14.78 2.54 + 14.38 14.38 2.46 + 14.69 14.69 2.52 + 15.92 15.92 2.57 + 16.00 16.00 2.49 + 14.87 14.87 2.47 + 16.12 16.12 2.56 + 14.68 14.68 2.54 + 13.33 13.33 2.45 + 14.63 14.63 2.52 + 15.86 15.86 2.56 + 15.96 15.96 2.48 + 14.85 14.85 2.48 + 16.04 16.04 2.56 + 15.62 15.62 2.53 + 13.28 13.28 2.45 + 14.32 14.32 2.52 + 15.76 15.76 2.56 + 15.87 15.87 2.47 + 14.86 14.86 2.48 + 15.97 15.97 2.56 + 16.51 16.51 2.52 + 13.22 13.22 2.45 + 14.04 14.04 2.54 + 15.64 15.64 2.56 + 15.00 15.00 2.46 + 14.83 14.83 2.48 + 15.98 15.98 2.56 + 16.32 16.32 2.50 + 14.21 14.21 2.46 + 14.06 14.06 2.54 + 89.83 89.83 2.56 + 94.50 94.50 2.49 + 68.11 68.11 3.42 + 59.48 59.48 5.03 + 15.39 15.39 5.00 + 15.11 15.11 5.03 + 15.96 15.96 5.05 + 15.23 15.23 5.00 + 15.21 15.21 5.00 + 15.47 15.47 5.04 + 15.71 15.71 5.02 + 15.42 15.42 5.00 + 15.18 15.18 5.03 + 16.02 16.02 5.04 + 15.27 15.27 5.00 + 15.31 15.31 5.01 + 15.53 15.53 5.05 + 15.73 15.73 5.02 + 15.44 15.44 5.00 + 15.23 15.23 5.04 + 16.11 16.11 5.04 + 15.30 15.30 5.00 + 14.69 14.69 5.01 + 15.59 15.59 5.05 + 15.04 15.04 5.02 + 15.52 15.52 5.00 + 15.28 15.28 5.04 + 16.20 16.20 5.04 + 15.33 15.33 5.00 + 14.81 14.81 5.01 + 15.67 15.67 5.04 + 15.09 15.09 5.00 + 15.59 15.59 5.00 + 15.31 15.31 5.04 + 16.26 16.26 5.04 + 15.35 15.35 5.00 + 14.92 14.92 5.01 + 15.75 15.75 5.04 + 15.13 15.13 5.01 + 15.66 15.66 5.00 + 15.37 15.37 5.04 + 16.27 16.27 5.04 + 15.37 15.37 4.99 + 14.99 14.99 5.03 + 15.82 15.82 5.05 + 15.18 15.18 5.02 + 15.01 15.01 5.01 + 88.02 88.02 2.54 + 95.75 95.75 3.00 + 73.67 73.67 1.31 + 57.73 57.73 1.29 + 14.70 14.70 2.50 + 13.79 13.79 2.46 + 15.12 15.12 2.55 + 15.95 15.95 2.55 + 15.24 15.24 2.46 + 15.03 15.03 2.50 + 16.38 16.38 2.57 + 14.59 14.59 2.50 + 13.46 13.46 2.46 + 15.08 15.08 2.54 + 15.87 15.87 2.54 + 15.21 15.21 2.45 + 15.05 15.05 2.52 + 16.23 16.23 2.57 + 15.49 15.49 2.49 + 13.41 13.41 2.47 + 14.79 14.79 2.56 + 15.77 15.77 2.54 + 14.41 14.41 2.46 + 15.05 15.05 2.52 + 16.16 16.16 2.56 + 16.39 16.39 2.48 + 13.36 13.36 2.47 + 14.52 14.52 2.56 + 15.62 15.62 2.53 + 14.37 14.37 2.45 + 15.09 15.09 2.52 + 16.11 16.11 2.56 + 16.20 16.20 2.48 + 14.34 14.34 2.48 + 14.53 14.53 2.56 + 13.99 13.99 2.52 + 84.97 84.97 0.33 + 91.81 91.81 0.56 + 68.03 68.03 0.00 + 51.37 51.37 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 18.78 18.78 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 193.00 193.00 82.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 32.33 32.33 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 166.56 166.56 76.89 + 66 114 0.00 0.00 0.00 + 66 130 68.56 68.56 0.00 + 66 146 0.00 0.00 0.00 + 66 162 32.33 32.33 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.00 0.00 0.00 + 82 114 0.00 0.00 0.00 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 32.33 32.33 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 0.00 0.00 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 0.00 0.00 0.00 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 32.33 32.33 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 0.00 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 32.33 32.33 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 92.44 92.44 0.00 + 130 82 0.00 0.00 0.00 + 130 98 201.33 201.33 82.78 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 32.33 32.33 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 168.56 168.56 0.00 + 146 66 0.00 0.00 0.00 + 146 82 0.00 0.00 0.00 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 24.00 24.00 0.00 + 146 162 32.33 32.33 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 225.67 225.67 83.22 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 30.89 30.89 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 47.00 47.00 0.33 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-box-triclinic.yaml b/unittest/graphics/tests/dump-image-box-triclinic.yaml new file mode 100644 index 00000000000..f821759f734 --- /dev/null +++ b/unittest/graphics/tests/dump-image-box-triclinic.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:09 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box prism 0 6 0 6 0 6 2 1 0.5 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.05 + dump_modify viz backcolor black boxcolor yellow +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 4.44 4.44 0.10 + 7.89 7.89 1.09 + 10.96 10.96 1.64 + 12.77 12.77 1.64 + 12.98 12.98 1.65 + 14.93 14.93 1.64 + 15.00 15.00 1.64 + 14.97 14.97 1.64 + 14.92 14.92 1.64 + 14.49 14.49 1.65 + 14.61 14.61 1.65 + 15.56 15.56 1.65 + 15.05 15.05 1.64 + 14.62 14.62 1.64 + 14.81 14.81 1.65 + 14.89 14.89 1.65 + 14.77 14.77 1.64 + 14.69 14.69 1.64 + 14.93 14.93 1.64 + 15.04 15.04 1.65 + 15.04 15.04 1.64 + 14.95 14.95 1.65 + 14.48 14.48 1.64 + 14.61 14.61 1.64 + 15.61 15.61 1.64 + 15.09 15.09 1.65 + 15.16 15.16 1.64 + 14.80 14.80 1.65 + 14.91 14.91 1.64 + 14.81 14.81 1.64 + 14.65 14.65 1.65 + 15.03 15.03 1.55 + 12.91 12.91 0.10 + 11.86 11.86 0.00 + 12.16 12.16 0.02 + 14.10 14.10 1.06 + 16.36 16.36 1.63 + 17.52 17.52 1.64 + 17.73 17.73 1.64 + 18.73 18.73 1.65 + 19.40 19.40 1.65 + 19.33 19.33 1.64 + 18.89 18.89 1.64 + 19.09 19.09 1.65 + 19.15 19.15 1.64 + 19.01 19.01 1.64 + 19.95 19.95 1.64 + 19.20 19.20 1.64 + 19.41 19.41 1.64 + 19.40 19.40 1.64 + 19.30 19.30 1.64 + 18.83 18.83 1.64 + 20.01 20.01 1.63 + 19.61 19.61 1.64 + 19.55 19.55 1.65 + 19.61 19.61 1.64 + 18.55 18.55 1.65 + 17.61 17.61 1.65 + 17.04 17.04 1.64 + 17.86 17.86 1.65 + 17.14 17.14 1.65 + 18.61 18.61 1.64 + 20.21 20.21 1.65 + 25.16 25.16 2.83 + 26.62 26.62 3.27 + 29.88 29.88 3.29 + 25.88 25.88 3.40 + 22.98 22.98 2.69 + 18.77 18.77 1.65 + 17.01 17.01 1.61 + 14.54 14.54 0.82 + 14.94 14.94 0.04 + 14.71 14.71 0.51 + 16.84 16.84 1.52 + 18.83 18.83 1.65 + 19.29 19.29 1.65 + 18.85 18.85 1.64 + 18.95 18.95 1.64 + 19.88 19.88 1.64 + 19.52 19.52 1.64 + 19.59 19.59 1.65 + 19.23 19.23 1.64 + 19.34 19.34 1.64 + 19.23 19.23 1.65 + 20.15 20.15 1.64 + 19.33 19.33 1.64 + 19.54 19.54 1.64 + 19.56 19.56 1.65 + 19.46 19.46 1.64 + 18.95 18.95 1.65 + 19.05 19.05 1.65 + 19.80 19.80 1.65 + 17.73 17.73 1.63 + 15.40 15.40 0.97 + 13.27 13.27 0.00 + 11.84 11.84 0.00 + 10.77 10.77 0.00 + 11.31 11.31 0.06 + 14.80 14.80 1.63 + 15.36 15.36 1.64 + 15.31 15.31 1.64 + 14.88 14.88 1.64 + 15.04 15.04 1.64 + 14.99 14.99 1.64 + 14.88 14.88 1.64 + 14.40 14.40 1.65 + 15.50 15.50 1.64 + 15.16 15.16 1.64 + 15.10 15.10 1.64 + 14.58 14.58 1.64 + 14.76 14.76 1.64 + 14.83 14.83 1.64 + 14.66 14.66 1.64 + 15.24 15.24 1.64 + 14.85 14.85 1.64 + 15.03 15.03 1.65 + 15.02 15.02 1.65 + 14.89 14.89 1.64 + 14.35 14.35 1.64 + 15.45 15.45 1.65 + 15.18 15.18 1.65 + 15.13 15.13 1.65 + 15.14 15.14 1.64 + 14.71 14.71 1.64 + 14.80 14.80 1.64 + 14.69 14.69 1.64 + 13.55 13.55 1.64 + 10.36 10.36 1.54 + 7.09 7.09 0.53 + 4.07 4.07 0.01 + 2.08 2.08 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 2.12 2.12 0.06 + 44.68 44.68 0.88 + 39.50 39.50 1.06 + 37.35 37.35 1.46 + 26.58 26.58 1.85 + 16.86 16.86 1.84 + 17.93 17.93 1.85 + 18.18 18.18 1.85 + 17.44 17.44 1.85 + 17.80 17.80 1.84 + 17.23 17.23 1.85 + 18.56 18.56 1.85 + 18.24 18.24 1.85 + 17.55 17.55 1.84 + 17.98 17.98 1.85 + 18.42 18.42 1.85 + 17.59 17.59 1.84 + 17.11 17.11 1.85 + 18.41 18.41 1.85 + 18.00 18.00 1.85 + 17.41 17.41 1.84 + 17.84 17.84 1.85 + 18.23 18.23 1.84 + 17.39 17.39 1.85 + 17.64 17.64 1.85 + 17.98 17.98 1.85 + 17.71 17.71 1.85 + 18.32 18.32 1.84 + 17.62 17.62 1.84 + 18.06 18.06 1.84 + 18.34 18.34 1.84 + 17.56 17.56 1.84 + 17.83 17.83 1.85 + 17.55 17.55 1.85 + 18.73 18.73 1.85 + 17.25 17.25 1.85 + 17.89 17.89 1.85 + 18.14 18.14 1.85 + 17.44 17.44 1.85 + 17.59 17.59 1.85 + 17.77 17.77 1.85 + 51.46 51.46 1.85 + 44.94 44.94 2.77 + 42.00 42.00 3.56 + 29.75 29.75 3.71 + 19.04 19.04 3.69 + 19.00 19.00 3.71 + 19.30 19.30 3.69 + 18.45 18.45 3.71 + 18.82 18.82 3.70 + 18.88 18.88 3.69 + 18.50 18.50 3.70 + 18.89 18.89 3.70 + 18.86 18.86 3.69 + 19.21 19.21 3.69 + 18.22 18.22 3.69 + 35.28 35.28 2.77 + 49.81 49.81 2.16 + 41.93 41.93 0.98 + 37.61 37.61 0.93 + 16.86 16.86 1.85 + 17.93 17.93 1.85 + 17.46 17.46 1.85 + 18.05 18.05 1.85 + 18.32 18.32 1.85 + 17.60 17.60 1.85 + 18.10 18.10 1.85 + 17.77 17.77 1.85 + 17.80 17.80 1.85 + 17.29 17.29 1.85 + 17.89 17.89 1.85 + 18.11 18.11 1.85 + 18.58 18.58 1.85 + 17.87 17.87 1.85 + 18.20 18.20 1.84 + 17.61 17.61 1.85 + 17.08 17.08 1.85 + 18.08 18.08 1.85 + 17.92 17.92 1.85 + 18.39 18.39 1.85 + 17.52 17.52 1.85 + 18.07 18.07 1.84 + 18.47 18.47 1.85 + 16.93 16.93 1.85 + 18.01 18.01 1.85 + 17.74 17.74 1.85 + 18.20 18.20 1.85 + 17.38 17.38 1.85 + 17.93 17.93 1.85 + 18.17 18.17 1.85 + 17.40 17.40 1.85 + 17.86 17.86 1.85 + 17.31 17.31 1.85 + 17.97 17.97 1.85 + 18.27 18.27 1.85 + 17.07 17.07 1.85 + 34.07 34.07 1.32 + 46.48 46.48 0.00 + 36.63 36.63 0.00 + 30.48 30.48 0.00 + 0.97 0.97 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 0.00 0.00 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 0.00 0.00 0.00 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 71.56 71.56 3.11 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 0.00 0.00 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 0.00 0.00 0.00 + 66 114 0.00 0.00 0.00 + 66 130 0.00 0.00 0.00 + 66 146 220.67 220.67 27.44 + 66 162 0.00 0.00 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 43.11 43.11 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.00 0.00 0.00 + 82 114 0.00 0.00 0.00 + 82 130 151.11 151.11 0.00 + 82 146 88.44 88.44 0.00 + 82 162 0.00 0.00 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 44.33 44.33 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 196.22 196.22 26.78 + 98 114 61.11 61.11 0.00 + 98 130 0.00 0.00 0.00 + 98 146 91.33 91.33 0.00 + 98 162 0.00 0.00 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 44.67 44.67 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 0.00 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 44.67 44.67 0.00 + 114 162 0.00 0.00 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 44.11 44.11 0.00 + 130 66 0.00 0.00 0.00 + 130 82 0.00 0.00 0.00 + 130 98 0.00 0.00 0.00 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 176.56 176.56 0.00 + 130 162 0.00 0.00 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 0.00 0.00 0.00 + 146 66 0.00 0.00 0.00 + 146 82 125.56 125.56 15.67 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 86.56 86.56 0.00 + 146 146 0.00 0.00 0.00 + 146 162 0.00 0.00 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 0.00 0.00 0.00 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 10.44 10.44 0.00 + 162 130 0.00 0.00 0.00 + 162 146 0.00 0.00 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 0.00 0.00 0.00 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-box-wide.yaml b/unittest/graphics/tests/dump-image-box-wide.yaml new file mode 100644 index 00000000000..1b6b0edfb42 --- /dev/null +++ b/unittest/graphics/tests/dump-image-box-wide.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:08 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 12 0 4 0 6 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.1 + dump_modify viz backcolor white boxcolor red +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 253.87 247.72 247.72 + 253.39 244.92 244.92 + 252.29 240.66 240.66 + 250.01 235.61 235.61 + 246.51 230.51 230.51 + 246.92 230.51 230.51 + 244.98 226.69 226.69 + 246.91 229.24 229.24 + 245.90 227.97 227.97 + 246.84 229.24 229.24 + 244.90 228.78 228.78 + 243.79 229.54 229.54 + 246.13 233.33 233.33 + 245.83 233.33 233.33 + 245.16 230.78 230.78 + 244.60 229.50 229.50 + 244.46 229.50 229.50 + 244.25 229.50 229.50 + 243.99 229.50 229.50 + 244.40 229.50 229.50 + 243.82 228.23 228.23 + 244.65 229.50 229.50 + 244.53 229.50 229.50 + 244.35 229.50 229.50 + 244.12 229.50 229.50 + 243.59 228.23 228.23 + 244.01 228.23 228.23 + 244.71 229.50 229.50 + 244.59 229.50 229.50 + 244.44 229.50 229.50 + 244.22 229.50 229.50 + 243.96 229.50 229.50 + 244.37 229.50 229.50 + 243.79 228.23 228.23 + 244.64 229.50 229.50 + 244.51 229.50 229.50 + 244.34 229.50 229.50 + 244.09 229.50 229.50 + 244.31 229.50 229.50 + 245.76 232.05 232.05 + 247.00 234.60 234.60 + 246.88 234.60 234.60 + 246.73 234.60 234.60 + 245.74 233.32 233.32 + 244.88 232.05 232.05 + 244.84 230.78 230.78 + 243.76 228.23 228.23 + 244.64 229.50 229.50 + 244.50 229.50 229.50 + 244.31 229.50 229.50 + 244.06 229.50 229.50 + 243.50 228.23 228.23 + 245.39 226.83 226.83 + 247.71 225.31 225.31 + 245.32 216.19 216.19 + 240.45 207.29 207.29 + 235.91 200.93 200.93 + 237.56 203.46 203.46 + 236.14 200.93 200.93 + 238.59 203.49 203.49 + 236.53 200.93 200.93 + 239.09 207.29 207.29 + 238.37 214.03 214.03 + 240.38 219.05 219.05 + 241.25 225.68 225.68 + 243.93 228.23 228.23 + 244.67 229.50 229.50 + 244.56 229.50 229.50 + 244.40 229.50 229.50 + 244.18 229.50 229.50 + 243.71 228.23 228.23 + 244.58 230.78 230.78 + 245.24 232.06 232.06 + 245.36 233.33 233.33 + 245.81 234.60 234.60 + 246.27 234.60 234.60 + 246.83 234.60 234.60 + 245.97 232.06 232.06 + 244.69 229.50 229.50 + 244.66 229.50 229.50 + 244.56 229.50 229.50 + 244.38 229.50 229.50 + 244.16 229.50 229.50 + 243.66 228.23 228.23 + 244.26 229.50 229.50 + 244.75 229.50 229.50 + 244.62 229.50 229.50 + 244.47 229.50 229.50 + 244.26 229.50 229.50 + 244.00 229.50 229.50 + 243.38 228.23 228.23 + 243.87 228.23 228.23 + 244.66 229.50 229.50 + 244.54 229.50 229.50 + 244.37 229.50 229.50 + 244.13 229.50 229.50 + 243.63 228.23 228.23 + 244.22 229.50 229.50 + 244.75 229.50 229.50 + 244.62 229.50 229.50 + 244.46 229.50 229.50 + 244.26 229.50 229.50 + 244.17 230.78 230.78 + 245.10 233.33 233.33 + 246.16 233.34 233.34 + 248.09 233.43 233.43 + 247.62 230.51 230.51 + 246.32 229.24 229.24 + 245.39 227.97 227.97 + 246.16 229.24 229.24 + 244.94 226.69 226.69 + 246.91 230.51 230.51 + 246.10 230.51 230.51 + 247.67 235.59 235.59 + 247.56 238.68 238.68 + 249.00 242.38 242.38 + 250.04 247.35 247.35 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 +col_means: | + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 227.09 184.89 184.89 + 232.18 185.19 185.19 + 222.56 184.69 184.69 + 215.46 183.73 183.73 + 251.93 239.97 239.97 + 247.84 234.83 234.83 + 248.29 234.82 234.82 + 248.21 233.59 233.59 + 247.47 232.31 232.31 + 246.19 232.28 232.28 + 248.32 234.84 234.84 + 248.72 234.87 234.87 + 246.12 232.28 232.28 + 248.31 234.82 234.82 + 249.16 234.86 234.86 + 247.31 232.30 232.30 + 246.44 232.27 232.27 + 248.26 234.85 234.85 + 248.65 234.86 234.86 + 246.04 232.28 232.28 + 248.31 234.83 234.83 + 249.11 234.86 234.86 + 247.13 232.30 232.30 + 246.31 232.27 232.27 + 248.01 233.57 233.57 + 248.56 234.87 234.87 + 245.99 232.28 232.28 + 248.31 234.83 234.83 + 249.03 234.87 234.87 + 249.13 234.84 234.84 + 246.22 232.27 232.27 + 247.68 232.30 232.30 + 248.47 234.85 234.85 + 245.93 232.26 232.26 + 248.33 234.83 234.83 + 229.21 178.63 178.63 + 227.72 178.23 178.23 + 213.18 174.69 174.69 + 207.10 173.40 173.40 + 244.07 226.95 226.95 + 244.83 229.50 229.50 + 245.16 229.50 229.50 + 245.44 229.50 229.50 + 245.79 229.50 229.50 + 246.09 229.50 229.50 + 242.43 224.40 224.40 + 243.32 224.40 224.40 + 244.64 229.50 229.50 + 245.00 229.50 229.50 + 245.29 229.50 229.50 + 245.63 229.50 229.50 + 245.96 229.50 229.50 + 242.16 224.40 224.40 + 242.89 224.40 224.40 + 244.45 229.50 229.50 + 244.85 229.50 229.50 + 245.17 229.50 229.50 + 245.46 229.50 229.50 + 245.83 229.50 229.50 + 243.97 226.95 226.95 + 221.86 173.40 173.40 + 226.15 174.88 174.88 + 219.19 177.53 177.53 + 214.82 179.93 179.93 + 248.82 234.86 234.86 + 246.25 232.28 232.28 + 248.50 234.82 234.82 + 247.25 232.31 232.31 + 247.59 232.30 232.30 + 247.16 234.82 234.82 + 248.44 234.84 234.84 + 248.76 234.85 234.85 + 246.16 232.28 232.28 + 248.51 234.83 234.83 + 248.17 233.59 233.59 + 247.37 232.29 232.29 + 246.75 232.26 232.26 + 248.40 234.85 234.85 + 248.69 234.85 234.85 + 246.09 232.28 232.28 + 248.53 234.83 234.83 + 249.16 234.86 234.86 + 247.22 232.29 232.29 + 246.61 232.27 232.27 + 248.34 234.85 234.85 + 248.60 234.85 234.85 + 246.10 232.28 232.28 + 248.53 234.84 234.84 + 249.09 234.87 234.87 + 246.82 232.29 232.29 + 246.49 232.27 232.27 + 248.06 233.58 233.58 + 248.52 234.85 234.85 + 248.49 234.81 234.81 + 250.18 239.63 239.63 + 229.57 181.06 181.06 + 228.01 182.32 182.32 + 215.16 183.60 183.60 + 210.49 184.88 184.88 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 + 255.00 255.00 255.00 +sample_blocks: | + 2 2 255.00 255.00 255.00 + 2 18 255.00 255.00 255.00 + 2 34 255.00 255.00 255.00 + 2 50 255.00 255.00 255.00 + 2 66 255.00 255.00 255.00 + 2 82 255.00 255.00 255.00 + 2 98 255.00 255.00 255.00 + 2 114 255.00 255.00 255.00 + 2 130 255.00 255.00 255.00 + 2 146 255.00 255.00 255.00 + 2 162 255.00 255.00 255.00 + 2 178 255.00 255.00 255.00 + 2 194 255.00 255.00 255.00 + 18 2 255.00 255.00 255.00 + 18 18 255.00 255.00 255.00 + 18 34 255.00 255.00 255.00 + 18 50 255.00 255.00 255.00 + 18 66 255.00 255.00 255.00 + 18 82 255.00 255.00 255.00 + 18 98 255.00 255.00 255.00 + 18 114 255.00 255.00 255.00 + 18 130 255.00 255.00 255.00 + 18 146 255.00 255.00 255.00 + 18 162 255.00 255.00 255.00 + 18 178 255.00 255.00 255.00 + 18 194 255.00 255.00 255.00 + 34 2 255.00 255.00 255.00 + 34 18 255.00 255.00 255.00 + 34 34 255.00 255.00 255.00 + 34 50 255.00 255.00 255.00 + 34 66 255.00 255.00 255.00 + 34 82 255.00 255.00 255.00 + 34 98 255.00 255.00 255.00 + 34 114 255.00 255.00 255.00 + 34 130 255.00 255.00 255.00 + 34 146 255.00 255.00 255.00 + 34 162 255.00 255.00 255.00 + 34 178 255.00 255.00 255.00 + 34 194 255.00 255.00 255.00 + 50 2 255.00 255.00 255.00 + 50 18 255.00 255.00 255.00 + 50 34 255.00 255.00 255.00 + 50 50 255.00 255.00 255.00 + 50 66 255.00 255.00 255.00 + 50 82 255.00 255.00 255.00 + 50 98 255.00 255.00 255.00 + 50 114 164.00 85.00 85.00 + 50 130 208.78 198.33 198.33 + 50 146 234.22 112.44 112.44 + 50 162 255.00 255.00 255.00 + 50 178 255.00 255.00 255.00 + 50 194 255.00 255.00 255.00 + 66 2 255.00 255.00 255.00 + 66 18 255.00 255.00 255.00 + 66 34 255.00 255.00 255.00 + 66 50 255.00 255.00 255.00 + 66 66 255.00 255.00 255.00 + 66 82 229.11 113.33 113.33 + 66 98 255.00 255.00 255.00 + 66 114 164.00 85.00 85.00 + 66 130 197.56 28.33 28.33 + 66 146 195.00 85.00 85.00 + 66 162 255.00 255.00 255.00 + 66 178 255.00 255.00 255.00 + 66 194 255.00 255.00 255.00 + 82 2 255.00 255.00 255.00 + 82 18 255.00 255.00 255.00 + 82 34 255.00 255.00 255.00 + 82 50 255.00 255.00 255.00 + 82 66 176.56 0.00 0.00 + 82 82 255.00 255.00 255.00 + 82 98 255.00 255.00 255.00 + 82 114 140.78 28.33 28.33 + 82 130 255.00 255.00 255.00 + 82 146 195.00 85.00 85.00 + 82 162 255.00 255.00 255.00 + 82 178 255.00 255.00 255.00 + 82 194 255.00 255.00 255.00 + 98 2 255.00 255.00 255.00 + 98 18 255.00 255.00 255.00 + 98 34 255.00 255.00 255.00 + 98 50 221.00 170.00 170.00 + 98 66 227.44 92.67 92.67 + 98 82 255.00 255.00 255.00 + 98 98 199.11 170.00 170.00 + 98 114 255.00 255.00 255.00 + 98 130 240.67 118.22 118.22 + 98 146 195.00 85.00 85.00 + 98 162 255.00 255.00 255.00 + 98 178 255.00 255.00 255.00 + 98 194 255.00 255.00 255.00 + 114 2 255.00 255.00 255.00 + 114 18 255.00 255.00 255.00 + 114 34 255.00 255.00 255.00 + 114 50 221.00 170.00 170.00 + 114 66 255.00 255.00 255.00 + 114 82 255.00 255.00 255.00 + 114 98 255.00 255.00 255.00 + 114 114 255.00 255.00 255.00 + 114 130 255.00 255.00 255.00 + 114 146 255.00 255.00 255.00 + 114 162 255.00 255.00 255.00 + 114 178 255.00 255.00 255.00 + 114 194 255.00 255.00 255.00 + 130 2 255.00 255.00 255.00 + 130 18 255.00 255.00 255.00 + 130 34 255.00 255.00 255.00 + 130 50 221.00 170.00 170.00 + 130 66 249.33 226.67 226.67 + 130 82 255.00 255.00 255.00 + 130 98 255.00 255.00 255.00 + 130 114 241.56 170.00 170.00 + 130 130 255.00 255.00 255.00 + 130 146 255.00 255.00 255.00 + 130 162 255.00 255.00 255.00 + 130 178 255.00 255.00 255.00 + 130 194 255.00 255.00 255.00 + 146 2 255.00 255.00 255.00 + 146 18 255.00 255.00 255.00 + 146 34 255.00 255.00 255.00 + 146 50 212.89 170.00 170.00 + 146 66 255.00 255.00 255.00 + 146 82 255.00 255.00 255.00 + 146 98 184.00 0.00 0.00 + 146 114 255.00 255.00 255.00 + 146 130 255.00 255.00 255.00 + 146 146 255.00 255.00 255.00 + 146 162 255.00 255.00 255.00 + 146 178 255.00 255.00 255.00 + 146 194 255.00 255.00 255.00 + 162 2 255.00 255.00 255.00 + 162 18 255.00 255.00 255.00 + 162 34 255.00 255.00 255.00 + 162 50 255.00 255.00 255.00 + 162 66 255.00 255.00 255.00 + 162 82 255.00 255.00 255.00 + 162 98 255.00 255.00 255.00 + 162 114 255.00 255.00 255.00 + 162 130 255.00 255.00 255.00 + 162 146 255.00 255.00 255.00 + 162 162 255.00 255.00 255.00 + 162 178 255.00 255.00 255.00 + 162 194 255.00 255.00 255.00 + 178 2 255.00 255.00 255.00 + 178 18 255.00 255.00 255.00 + 178 34 255.00 255.00 255.00 + 178 50 255.00 255.00 255.00 + 178 66 255.00 255.00 255.00 + 178 82 255.00 255.00 255.00 + 178 98 255.00 255.00 255.00 + 178 114 255.00 255.00 255.00 + 178 130 255.00 255.00 255.00 + 178 146 255.00 255.00 255.00 + 178 162 255.00 255.00 255.00 + 178 178 255.00 255.00 255.00 + 178 194 255.00 255.00 255.00 + 194 2 255.00 255.00 255.00 + 194 18 255.00 255.00 255.00 + 194 34 255.00 255.00 255.00 + 194 50 255.00 255.00 255.00 + 194 66 255.00 255.00 255.00 + 194 82 255.00 255.00 255.00 + 194 98 255.00 255.00 255.00 + 194 114 255.00 255.00 255.00 + 194 130 255.00 255.00 255.00 + 194 146 255.00 255.00 255.00 + 194 162 255.00 255.00 255.00 + 194 178 255.00 255.00 255.00 + 194 194 255.00 255.00 255.00 +... diff --git a/unittest/graphics/tests/dump-image-center-x.yaml b/unittest/graphics/tests/dump-image-center-x.yaml new file mode 100644 index 00000000000..7c5deb94744 --- /dev/null +++ b/unittest/graphics/tests/dump-image-center-x.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:04 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.4 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 130.49 129.78 125.19 + 131.38 130.82 124.30 + 131.59 130.85 123.22 + 133.62 132.21 120.97 + 133.29 131.70 119.78 + 130.15 131.06 118.21 + 127.15 128.22 118.43 + 127.22 128.47 121.34 + 125.34 127.14 121.28 + 123.14 125.47 121.77 + 126.10 127.64 121.86 + 125.50 125.98 121.67 + 125.14 125.87 122.97 + 125.16 126.28 124.84 + 127.28 128.22 127.28 + 127.21 128.21 127.21 + 126.39 127.51 126.39 + 126.36 127.50 126.36 + 126.96 127.97 125.17 + 128.10 129.49 121.85 + 127.48 129.94 120.69 + 127.33 130.07 119.64 + 126.83 128.96 119.36 + 124.65 127.03 119.03 + 122.13 124.80 116.89 + 125.49 126.32 123.59 + 131.90 131.75 130.75 + 130.85 130.63 128.84 + 129.97 129.84 129.13 + 128.92 128.78 128.01 + 127.53 127.44 126.99 + 129.42 128.75 124.07 + 131.26 130.72 124.17 + 131.00 130.40 123.49 + 130.72 129.91 123.42 + 132.31 130.25 118.42 + 134.60 132.97 117.31 + 131.99 130.69 116.16 + 133.67 131.69 118.52 + 134.73 127.15 120.80 + 132.96 124.31 122.64 + 130.22 120.09 123.20 + 132.38 122.83 124.92 + 133.01 123.94 126.81 + 130.01 124.56 126.81 + 128.47 127.03 129.06 + 127.31 128.44 127.16 + 125.20 128.81 127.83 + 123.42 126.61 125.62 + 123.26 123.17 122.76 + 125.84 124.84 119.53 + 130.46 129.34 124.25 + 130.40 126.24 123.56 + 126.95 124.70 121.08 + 128.02 126.19 119.61 + 130.52 128.82 120.21 + 126.32 125.13 116.76 + 127.32 124.91 114.91 + 126.25 123.28 112.31 + 123.89 120.90 110.91 + 127.70 122.53 117.40 + 131.62 124.33 121.29 + 132.76 130.15 120.06 + 133.97 131.94 120.80 + 129.96 129.64 120.67 + 126.17 127.41 122.22 + 123.72 124.68 121.99 + 121.06 123.45 124.64 + 119.49 117.59 121.53 + 123.47 115.33 118.60 + 124.31 113.53 115.53 + 127.89 115.53 115.86 + 128.93 118.02 118.02 + 126.57 118.25 118.25 + 122.34 117.81 117.81 + 125.33 124.25 124.25 + 129.00 127.00 127.00 + 129.03 127.00 127.00 + 128.74 128.74 128.74 + 128.75 128.75 128.75 + 128.06 128.06 128.06 + 129.37 129.37 129.37 + 130.04 129.76 128.26 + 131.13 130.38 125.00 + 130.76 130.28 124.09 + 128.13 132.43 125.38 + 125.67 133.82 127.24 + 125.75 128.25 124.77 + 126.99 128.13 124.40 + 124.91 125.31 123.31 + 125.19 124.06 121.34 + 122.74 120.45 120.19 + 125.76 121.72 121.98 + 129.00 125.03 121.10 + 130.57 128.55 122.22 + 132.69 132.15 125.86 + 132.00 131.00 124.69 + 129.75 128.91 124.34 + 126.11 125.58 122.70 + 124.69 124.58 123.98 + 128.27 128.27 128.27 + 128.24 128.24 128.24 + 126.89 128.64 128.64 + 126.88 128.60 128.60 + 122.83 128.65 131.22 + 121.69 128.79 134.03 + 120.22 127.66 134.51 + 119.85 127.02 133.84 + 119.83 124.82 132.22 + 122.39 120.67 127.28 + 124.46 116.48 121.06 + 127.27 119.67 120.69 + 128.84 121.44 121.44 + 127.19 120.82 120.82 + 127.37 123.55 122.64 + 128.59 127.19 124.00 + 131.34 129.33 123.86 + 131.82 129.44 122.59 + 133.34 130.19 121.95 + 133.31 130.54 122.00 + 134.61 128.84 127.19 + 136.49 128.63 129.34 + 137.26 128.70 127.76 + 135.48 127.06 126.14 + 133.50 125.28 125.31 + 127.25 120.77 128.50 + 121.31 121.50 128.84 + 119.72 124.31 132.60 + 120.38 126.28 133.82 + 120.25 124.05 130.84 + 122.81 121.88 127.41 + 124.75 120.48 123.18 + 126.97 121.33 121.44 + 127.62 117.78 116.97 + 128.25 117.78 114.59 + 127.71 116.09 112.17 + 131.38 118.94 110.19 + 133.91 124.59 111.60 + 130.28 124.72 111.81 + 126.79 124.39 112.94 + 125.36 124.39 113.19 + 125.94 124.94 113.04 + 126.89 126.38 115.76 + 129.35 126.44 115.54 + 131.19 127.94 118.02 + 132.44 126.01 116.19 + 133.88 125.38 114.34 + 134.96 124.62 112.26 + 135.57 124.75 111.14 + 133.51 123.25 110.83 + 129.16 120.77 111.17 + 125.14 117.94 112.06 + 127.94 119.19 114.09 + 129.23 121.02 116.91 + 130.34 122.92 119.88 + 127.67 121.52 119.36 + 125.44 121.60 120.77 + 125.75 122.83 121.81 + 126.17 124.62 123.59 + 126.16 128.19 126.16 + 124.19 129.66 124.19 + 124.09 131.17 124.09 + 124.27 131.69 124.27 + 123.64 130.81 123.64 + 123.41 129.14 123.41 + 122.04 125.81 122.04 + 122.86 123.97 122.86 + 126.00 126.00 126.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.73 126.25 126.25 + 127.81 124.81 124.81 + 128.57 124.47 124.47 + 128.53 124.42 124.42 + 127.91 124.18 124.18 + 126.94 123.85 123.85 + 127.35 122.66 121.58 + 128.72 122.84 121.53 + 129.79 123.13 121.86 + 129.62 122.19 121.20 + 129.77 123.01 120.19 + 131.26 124.80 119.83 + 131.75 126.11 118.69 + 133.19 128.76 118.59 + 135.07 131.58 117.78 + 134.09 131.49 116.53 + 135.85 133.01 114.76 + 137.19 133.69 112.44 + 136.81 132.34 109.55 + 135.44 132.28 112.88 + 135.73 133.06 116.25 + 135.03 132.53 117.44 + 131.12 129.85 124.08 + 129.46 128.59 128.77 + 126.03 125.07 126.71 + 124.62 122.99 123.39 + 123.89 121.86 119.77 + 121.85 123.69 121.17 + 123.44 125.52 121.55 + 128.63 123.50 125.13 + 133.93 119.79 123.30 + 132.91 115.48 123.22 + 130.85 115.05 123.15 + 127.39 119.29 119.20 + 123.81 121.75 117.98 + 117.83 124.91 115.36 + 118.33 126.91 108.51 + 125.36 133.31 106.30 + 129.10 132.47 106.14 + 126.53 132.12 106.46 + 129.33 130.93 105.78 + 130.90 131.60 106.39 + 131.81 130.57 109.68 + 127.58 126.28 110.28 + 124.07 124.02 114.04 + 122.14 121.85 115.09 + 119.86 119.75 120.38 + 124.70 124.16 124.89 + 124.41 125.61 127.47 + 125.31 126.83 125.97 + 122.47 126.80 123.70 + 122.62 128.34 123.61 + 125.91 131.85 127.12 + 123.07 124.45 124.81 + 122.17 117.88 123.12 + 124.50 118.15 124.85 + 123.28 115.11 121.81 + 122.67 114.64 121.17 + 120.80 113.89 119.37 + 119.28 113.81 117.08 + 126.91 120.28 117.72 + 134.53 124.83 113.03 + 135.55 128.91 113.72 + 134.19 127.61 111.06 + 133.93 126.51 110.42 + 131.85 126.55 112.75 + 123.91 124.58 115.33 + 123.94 126.97 120.50 + 123.58 129.38 124.64 + 123.75 132.78 125.70 + 120.16 135.76 120.83 + 124.02 138.54 112.76 + 128.09 141.53 109.36 + 130.00 141.91 106.66 + 130.32 137.94 102.31 + 136.91 127.25 99.80 + 138.57 120.60 102.56 + 138.22 114.56 107.28 + 139.39 110.83 113.92 + 135.82 109.56 113.22 + 132.95 113.16 111.75 + 131.03 115.22 111.31 + 129.68 116.83 115.52 + 125.31 118.66 118.45 + 122.22 117.78 122.68 + 120.14 116.92 124.67 + 120.13 117.78 128.15 + 120.37 115.23 125.49 + 120.55 114.42 122.17 + 119.81 113.35 117.55 + 122.20 115.44 117.00 + 124.61 119.95 119.95 + 125.12 122.92 122.92 + 126.72 126.08 126.08 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 178.89 165.56 65.00 + 34 98 83.67 123.67 83.67 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 186.67 169.89 44.44 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 128.00 128.00 128.00 + 66 82 172.22 131.33 82.67 + 66 98 187.33 14.44 14.44 + 66 114 175.56 159.22 35.11 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 128.00 128.00 128.00 + 82 82 128.00 128.00 128.00 + 82 98 37.56 255.00 255.00 + 82 114 57.67 57.67 117.22 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 117.78 117.78 117.78 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 128.00 128.00 128.00 + 130 146 123.44 113.78 113.78 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 128.00 128.00 128.00 + 146 130 135.22 135.22 135.22 + 146 146 14.44 14.44 162.11 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 128.00 128.00 128.00 + 162 130 132.00 123.11 114.22 + 162 146 218.56 124.22 20.22 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 87.56 87.56 87.56 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-center-y.yaml b/unittest/graphics/tests/dump-image-center-y.yaml new file mode 100644 index 00000000000..f63d173fe4b --- /dev/null +++ b/unittest/graphics/tests/dump-image-center-y.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:05 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.3 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 129.15 128.57 125.55 + 130.81 130.24 124.74 + 131.28 130.71 123.78 + 132.66 131.44 121.42 + 133.50 132.00 120.38 + 132.63 131.17 119.73 + 129.75 130.54 118.14 + 126.78 127.75 118.98 + 126.42 127.84 121.25 + 124.61 126.52 121.78 + 123.34 125.78 121.81 + 126.81 127.63 122.13 + 125.14 125.56 121.56 + 124.89 125.86 123.58 + 126.75 127.97 126.75 + 127.36 128.36 127.36 + 126.41 127.50 126.41 + 126.37 127.53 126.37 + 127.03 127.97 127.03 + 127.55 128.53 123.41 + 127.67 129.80 120.98 + 127.73 130.25 120.86 + 127.19 129.74 119.56 + 126.16 128.06 119.73 + 123.25 125.95 118.28 + 121.89 124.19 118.26 + 126.99 127.42 126.06 + 130.47 130.34 129.34 + 130.81 130.67 129.68 + 129.85 129.69 128.83 + 128.13 128.01 127.39 + 128.02 127.45 124.39 + 130.46 129.90 124.33 + 130.93 130.36 123.41 + 131.06 130.41 123.52 + 131.34 129.91 121.50 + 133.49 131.29 116.76 + 133.06 131.54 116.64 + 132.91 131.62 117.72 + 134.93 132.25 120.00 + 135.20 126.22 122.50 + 131.59 121.91 123.22 + 129.65 119.75 122.33 + 133.08 123.80 125.66 + 132.37 124.20 126.75 + 130.68 126.00 128.07 + 128.19 127.95 129.38 + 127.18 128.88 127.58 + 123.97 128.79 128.37 + 123.56 124.24 123.79 + 124.94 122.99 120.59 + 127.86 127.09 120.61 + 129.24 129.35 124.12 + 128.03 125.37 124.75 + 127.30 125.17 119.82 + 130.76 127.92 122.01 + 130.15 127.83 118.57 + 125.95 124.41 115.56 + 128.31 125.78 114.50 + 124.70 121.04 110.83 + 125.83 122.05 113.21 + 129.09 123.82 120.18 + 129.92 126.75 120.40 + 134.59 131.41 120.31 + 133.15 132.46 119.78 + 127.56 128.66 121.20 + 126.02 127.02 122.57 + 123.06 124.40 123.33 + 119.70 119.92 121.78 + 118.99 114.61 118.69 + 123.54 114.20 117.04 + 124.67 113.47 114.48 + 129.43 117.65 117.65 + 127.53 117.25 117.25 + 124.60 117.53 117.53 + 122.67 119.61 119.61 + 129.12 127.02 127.02 + 129.13 127.02 127.02 + 129.15 127.02 127.02 + 128.81 128.81 128.81 + 128.81 128.81 128.81 + 128.63 128.63 128.63 + 129.98 129.98 129.98 + 130.75 130.12 126.75 + 131.50 130.97 125.20 + 128.52 130.68 124.34 + 127.77 133.38 126.42 + 124.30 131.57 125.86 + 126.19 127.76 123.44 + 125.34 125.80 123.19 + 125.11 124.66 122.33 + 124.22 122.55 120.98 + 121.70 119.06 119.27 + 128.80 122.96 121.73 + 130.16 126.62 121.26 + 130.99 129.88 123.47 + 133.01 132.37 126.17 + 131.47 130.47 125.14 + 128.38 127.64 123.67 + 125.53 125.20 123.45 + 126.55 126.52 126.34 + 128.29 128.29 128.29 + 127.50 128.53 128.53 + 126.89 128.71 128.71 + 125.70 129.34 129.34 + 121.88 127.99 132.77 + 120.03 127.56 134.32 + 119.85 127.31 134.25 + 119.67 126.59 133.46 + 120.31 123.55 130.97 + 122.95 118.92 124.86 + 125.83 117.59 120.72 + 128.07 120.45 120.83 + 128.92 121.74 121.74 + 127.01 121.93 121.93 + 127.73 124.76 123.73 + 127.95 127.23 124.06 + 131.46 129.34 123.88 + 133.04 130.01 121.44 + 133.26 130.23 122.09 + 132.84 130.09 122.52 + 135.47 129.00 128.03 + 136.78 128.62 129.85 + 136.46 127.47 126.66 + 134.17 126.00 124.77 + 130.18 122.67 126.18 + 123.30 118.65 128.33 + 119.47 121.66 129.45 + 120.50 126.67 134.35 + 119.89 126.11 133.53 + 121.41 122.05 128.06 + 124.81 120.77 125.22 + 126.33 121.20 122.12 + 127.75 119.81 119.81 + 128.78 118.13 115.90 + 127.79 117.28 113.17 + 130.41 118.72 111.87 + 130.41 121.58 110.67 + 132.86 125.95 112.07 + 128.63 124.59 112.38 + 125.31 123.72 112.86 + 126.22 125.53 114.06 + 125.75 124.82 112.92 + 128.10 127.06 116.88 + 129.38 126.45 116.05 + 132.08 126.92 116.75 + 133.75 125.63 114.71 + 133.84 124.02 111.91 + 135.07 124.32 111.78 + 134.19 124.05 110.98 + 130.65 121.08 109.78 + 129.93 122.30 113.97 + 125.80 117.59 112.20 + 129.94 121.63 116.19 + 129.88 121.93 118.16 + 129.41 122.39 119.69 + 126.60 121.32 119.78 + 124.70 121.67 121.25 + 125.65 123.67 123.00 + 126.48 126.44 125.51 + 125.58 128.70 125.58 + 124.45 130.51 124.45 + 124.01 131.47 124.01 + 123.89 131.34 123.89 + 123.45 130.43 123.45 + 122.91 127.94 122.91 + 122.58 125.22 122.58 + 123.62 123.99 123.62 + 126.25 126.25 126.25 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.48 126.19 126.19 + 128.05 124.79 124.79 + 128.19 124.43 124.43 + 128.21 123.81 123.81 + 127.68 123.57 123.57 + 126.66 123.23 123.23 + 127.78 123.06 121.53 + 129.18 123.99 122.14 + 130.25 123.33 121.99 + 129.31 121.78 120.42 + 129.94 123.08 120.28 + 131.03 124.84 120.45 + 131.60 125.56 118.56 + 133.21 128.24 117.28 + 133.76 130.47 117.68 + 133.72 131.33 116.51 + 135.06 132.24 114.15 + 137.32 133.86 112.45 + 136.83 132.72 110.72 + 134.75 131.01 111.06 + 135.59 133.34 117.28 + 135.77 133.19 117.20 + 131.37 129.72 121.78 + 129.04 128.09 126.72 + 127.12 126.20 127.87 + 124.96 123.83 124.35 + 125.94 124.75 121.57 + 122.48 123.58 120.83 + 122.96 124.89 121.26 + 128.07 124.97 127.00 + 134.06 120.69 122.89 + 132.01 115.91 122.06 + 132.98 115.57 124.60 + 127.97 119.53 122.17 + 123.70 120.25 117.61 + 118.42 125.31 115.89 + 117.84 126.41 109.68 + 123.84 130.57 105.31 + 129.78 133.20 106.39 + 124.58 129.68 104.15 + 128.41 130.46 104.94 + 130.72 130.63 105.14 + 133.41 131.28 108.98 + 128.47 127.25 110.44 + 123.24 124.45 114.14 + 121.78 121.64 114.33 + 120.05 119.22 119.35 + 124.34 123.86 123.62 + 126.01 126.37 127.81 + 123.91 126.08 125.65 + 123.33 127.24 123.93 + 123.62 128.82 123.80 + 125.28 131.69 126.98 + 123.36 124.93 125.33 + 121.78 119.04 123.44 + 123.91 118.37 124.49 + 124.59 115.99 123.22 + 122.64 114.52 121.62 + 120.80 114.19 119.62 + 119.08 113.70 117.31 + 124.95 119.22 117.41 + 134.38 124.08 112.64 + 135.37 127.91 112.58 + 134.16 126.65 109.14 + 134.90 127.64 110.83 + 131.34 125.20 111.62 + 125.71 124.99 114.92 + 124.03 126.92 120.59 + 122.62 128.85 124.50 + 123.23 132.38 125.27 + 120.35 134.56 120.41 + 124.86 140.05 114.28 + 127.45 141.35 110.13 + 129.35 142.15 107.70 + 127.28 139.59 103.92 + 136.26 128.03 98.48 + 138.97 120.32 102.14 + 135.99 113.28 104.19 + 138.82 111.74 114.43 + 135.54 109.79 113.40 + 133.68 112.77 111.31 + 131.12 115.32 111.78 + 129.06 116.54 114.40 + 125.55 118.78 118.94 + 122.38 117.37 121.60 + 120.76 116.70 125.78 + 119.08 116.88 128.35 + 121.17 116.16 125.85 + 120.78 114.53 122.62 + 120.94 113.89 118.84 + 122.43 115.26 116.57 + 125.22 120.66 120.66 + 124.84 122.30 122.30 + 126.79 126.08 126.08 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 128.00 128.00 128.00 + 34 98 128.00 128.00 128.00 + 34 114 87.56 96.89 14.44 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 145.78 157.78 145.78 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 128.00 128.00 128.00 + 66 82 128.00 128.00 128.00 + 66 98 100.00 93.67 58.78 + 66 114 239.11 31.56 239.11 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 128.00 128.00 128.00 + 82 82 128.00 128.00 128.00 + 82 98 232.00 213.78 26.78 + 82 114 124.22 88.22 134.22 + 82 130 29.22 69.22 29.22 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 82.22 82.22 82.22 + 98 130 106.89 57.11 57.11 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 128.00 128.00 128.00 + 114 146 148.33 19.56 19.56 + 114 162 122.56 112.33 58.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 128.00 128.00 128.00 + 130 146 119.44 119.44 119.44 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 128.00 128.00 128.00 + 146 130 128.00 128.00 128.00 + 146 146 211.78 189.56 23.11 + 146 162 254.22 32.67 254.22 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 128.00 128.00 128.00 + 162 130 128.00 128.00 128.00 + 162 146 255.00 251.44 36.67 + 162 162 107.89 73.22 46.56 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 103.89 79.11 59.11 + 178 162 116.22 107.89 99.56 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-ellipsoid-triangles.yaml b/unittest/graphics/tests/dump-image-ellipsoid-triangles.yaml new file mode 100644 index 00000000000..8adbcba1486 --- /dev/null +++ b/unittest/graphics/tests/dump-image-ellipsoid-triangles.yaml @@ -0,0 +1,601 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:39 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom ellipsoid + pair zero +setup_commands: | + units lj + atom_style ellipsoid + region box block 0 8 0 8 0 8 + create_box 1 box + lattice sc 0.05 + create_atoms 1 box + set group all shape 2.0 1.2 0.8 + set group all quat/random 18238 + set group all density 1.0 + pair_style zero 4.0 + pair_coeff * * + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.4 view 60 30 shiny 0.2 box yes 0.02 ellipsoid type 1 4 0 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 133.40 131.94 119.25 + 132.97 131.59 119.25 + 132.49 131.08 118.59 + 133.12 131.62 118.64 + 132.50 131.09 118.62 + 133.37 131.93 119.27 + 132.82 131.47 119.26 + 133.19 131.76 119.25 + 132.60 131.27 119.25 + 133.37 131.82 118.64 + 132.80 131.34 118.63 + 133.50 132.03 119.27 + 133.11 131.70 119.28 + 133.36 131.91 119.25 + 132.94 131.55 119.25 + 132.47 131.06 118.59 + 133.08 131.59 118.62 + 132.89 131.53 119.27 + 133.34 131.90 119.27 + 132.95 129.53 117.36 + 134.20 126.74 114.25 + 133.90 125.07 113.08 + 135.55 123.30 111.26 + 135.35 121.66 110.11 + 136.68 121.84 110.24 + 134.72 120.00 111.12 + 133.22 117.53 111.84 + 132.51 116.99 111.30 + 133.03 116.72 110.18 + 137.44 111.73 104.56 + 139.94 110.38 103.58 + 141.30 109.55 102.92 + 141.47 108.26 101.81 + 141.76 107.64 100.56 + 141.39 106.58 99.77 + 140.81 107.50 100.17 + 139.63 107.03 99.94 + 138.81 107.69 100.97 + 137.51 107.94 101.41 + 136.35 108.50 101.27 + 135.91 110.60 103.67 + 138.24 114.44 106.77 + 139.15 109.89 101.58 + 141.66 103.92 95.99 + 147.30 97.78 90.02 + 150.66 95.02 87.46 + 152.00 93.99 85.81 + 152.44 93.50 85.58 + 154.35 90.50 82.06 + 153.55 89.36 81.14 + 152.16 87.70 79.94 + 152.34 90.02 79.23 + 150.53 91.45 77.31 + 145.78 91.83 76.68 + 143.85 93.50 78.34 + 141.47 97.90 83.04 + 135.19 98.42 83.36 + 130.76 100.11 85.39 + 129.84 102.52 87.65 + 136.41 106.41 91.05 + 135.41 105.50 90.67 + 135.25 106.53 92.64 + 139.34 98.23 84.77 + 148.65 96.22 82.48 + 154.29 96.64 83.36 + 156.03 95.32 80.89 + 155.90 91.15 77.17 + 154.55 90.86 76.86 + 150.66 89.47 75.78 + 147.54 91.64 77.73 + 143.29 91.43 77.89 + 139.83 93.72 80.01 + 137.36 93.74 79.55 + 135.42 91.47 77.97 + 137.58 92.92 79.05 + 141.78 92.78 79.36 + 144.82 92.33 78.60 + 146.75 87.35 74.11 + 151.00 86.04 71.64 + 156.12 83.47 69.56 + 163.24 88.30 74.31 + 161.35 87.40 73.77 + 158.70 91.33 77.47 + 156.16 91.56 78.06 + 152.91 90.86 77.17 + 150.06 91.91 79.39 + 147.06 87.23 79.43 + 145.90 85.58 81.75 + 145.15 85.72 80.97 + 146.06 87.83 83.06 + 146.56 89.53 84.77 + 150.77 93.31 88.56 + 157.66 95.83 91.06 + 158.29 94.03 89.27 + 158.01 90.96 86.20 + 157.60 89.00 84.24 + 156.57 88.81 84.05 + 155.58 84.67 79.91 + 154.81 83.05 78.28 + 150.43 82.53 77.77 + 146.34 82.58 77.82 + 142.01 83.93 79.17 + 140.28 82.07 78.02 + 143.85 83.47 79.84 + 143.36 84.03 80.42 + 145.08 78.07 74.45 + 149.19 81.08 77.45 + 148.74 80.06 76.44 + 146.56 80.20 76.58 + 143.34 80.78 77.17 + 140.63 82.06 78.44 + 141.37 85.28 81.66 + 140.73 87.19 83.56 + 142.89 86.67 81.17 + 152.15 95.30 84.77 + 153.99 94.95 82.66 + 152.99 93.34 81.43 + 155.11 87.58 75.25 + 156.44 87.44 75.47 + 157.46 88.67 76.31 + 155.25 87.44 77.42 + 151.81 86.56 82.01 + 149.81 88.84 85.22 + 148.34 85.72 82.11 + 144.41 83.67 80.06 + 139.70 84.83 81.21 + 137.84 88.78 82.61 + 136.47 93.59 82.08 + 138.89 88.69 76.19 + 143.29 86.58 74.69 + 148.31 87.52 75.22 + 149.28 85.78 73.83 + 150.22 86.81 74.45 + 148.28 85.54 77.69 + 146.61 86.12 82.21 + 149.53 92.70 89.08 + 153.19 89.54 84.17 + 155.16 91.86 83.73 + 155.98 93.03 80.08 + 153.16 92.52 77.19 + 147.21 92.16 76.83 + 138.97 94.55 79.49 + 129.23 96.41 81.19 + 132.65 95.44 80.55 + 144.87 102.55 88.14 + 149.19 100.83 87.02 + 147.94 96.48 87.39 + 146.62 92.43 86.64 + 146.99 91.33 86.44 + 147.63 91.81 86.14 + 147.57 91.74 86.23 + 147.24 91.44 86.23 + 151.00 87.74 82.59 + 156.06 86.84 81.77 + 160.91 90.22 85.27 + 159.47 87.59 82.76 + 158.08 89.22 81.95 + 156.16 90.33 82.98 + 153.04 89.14 80.72 + 151.38 90.00 81.81 + 150.43 90.69 82.86 + 146.22 90.78 83.15 + 142.22 91.09 82.78 + 140.75 94.28 86.23 + 144.41 104.04 95.50 + 141.64 103.43 95.14 + 139.44 105.19 97.28 + 139.41 101.05 93.32 + 140.94 103.47 95.93 + 143.79 108.05 99.94 + 143.59 108.33 100.62 + 142.75 106.53 99.89 + 142.59 107.65 100.50 + 143.28 111.53 99.80 + 140.11 110.23 98.16 + 139.21 112.22 98.97 + 135.84 111.90 99.14 + 134.57 115.47 102.63 + 133.85 118.08 105.60 + 135.62 121.96 109.24 + 134.01 122.05 109.70 + 133.31 122.06 109.53 + 132.12 122.40 109.41 + 130.94 122.88 109.92 + 130.18 123.78 111.08 + 128.78 124.50 112.28 + 128.87 126.06 113.52 + 130.32 128.75 116.69 + 133.42 131.88 118.64 + 132.82 131.35 118.65 + 133.59 132.12 119.30 + 133.13 131.72 119.29 + 133.42 131.96 119.27 + 132.96 131.57 119.28 + 133.66 132.06 118.64 + 133.12 131.62 118.66 + 133.10 131.60 118.64 + 133.41 131.97 119.28 + 132.85 131.49 119.27 + 133.22 131.80 119.28 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.22 128.09 127.38 + 162.22 146.18 58.10 + 116.00 105.81 49.14 + 131.71 130.74 121.92 + 132.01 130.78 121.28 + 131.81 130.49 121.25 + 131.19 130.00 120.65 + 131.68 130.40 120.03 + 134.78 127.41 116.72 + 135.98 125.70 115.45 + 136.88 124.92 115.31 + 138.52 124.42 114.97 + 138.94 123.00 113.83 + 138.75 118.66 109.55 + 140.40 116.28 105.96 + 143.09 110.47 99.88 + 143.13 106.64 96.47 + 144.76 104.67 95.02 + 145.95 101.25 90.97 + 146.50 100.25 91.19 + 146.91 98.39 90.23 + 149.22 96.48 88.81 + 149.47 95.47 87.68 + 148.63 95.12 87.71 + 147.81 94.68 87.02 + 147.66 94.95 86.84 + 146.37 95.03 88.36 + 143.53 94.47 87.83 + 143.38 96.52 89.08 + 140.48 95.92 88.18 + 136.75 97.26 89.84 + 132.69 99.39 91.70 + 130.16 102.61 94.50 + 130.45 108.68 99.52 + 131.32 114.83 105.80 + 132.56 116.30 106.39 + 134.59 116.83 106.54 + 138.75 111.02 101.56 + 142.72 109.85 99.43 + 145.65 110.07 99.09 + 147.81 103.77 94.31 + 150.96 104.08 95.28 + 154.54 104.09 94.24 + 155.97 102.66 93.61 + 155.09 100.01 92.85 + 154.72 98.28 90.58 + 156.00 98.45 90.42 + 153.66 96.78 89.38 + 151.87 97.12 89.52 + 148.65 95.91 88.50 + 146.42 95.89 89.12 + 147.92 89.94 83.15 + 152.18 87.53 79.83 + 154.75 87.55 77.86 + 154.25 86.64 77.28 + 154.47 86.31 78.30 + 154.23 89.73 82.35 + 152.15 91.20 84.45 + 148.00 90.92 84.17 + 149.72 95.66 87.96 + 151.28 93.23 86.22 + 152.44 94.55 88.91 + 155.82 85.21 79.91 + 160.42 82.04 76.66 + 162.14 79.06 74.37 + 160.64 74.52 70.02 + 161.66 72.89 67.62 + 159.50 72.03 66.69 + 156.18 69.24 64.45 + 152.68 69.14 64.19 + 148.68 69.28 63.88 + 159.45 79.31 35.15 + 132.26 60.12 30.78 + 136.75 72.04 66.72 + 132.36 72.66 67.36 + 127.86 74.17 69.34 + 124.08 77.75 72.73 + 122.59 82.22 76.83 + 121.00 87.75 81.82 + 123.46 87.56 80.27 + 131.99 93.31 85.29 + 137.23 96.50 89.16 + 142.10 101.36 94.49 + 143.44 100.04 92.25 + 144.50 98.94 90.97 + 142.06 96.62 89.56 + 141.11 94.88 87.51 + 139.65 94.70 86.69 + 138.01 92.58 85.22 + 135.99 91.22 84.29 + 134.50 91.17 83.33 + 134.31 90.38 83.03 + 133.44 90.02 82.92 + 132.25 90.33 83.33 + 131.78 89.11 81.80 + 130.56 88.29 82.42 + 133.18 88.94 83.22 + 135.22 86.69 80.45 + 139.78 90.33 84.84 + 146.44 95.56 90.47 + 150.94 96.17 90.92 + 154.53 94.27 89.16 + 156.09 92.01 87.36 + 156.90 90.91 87.72 + 157.44 90.42 86.31 + 159.32 89.32 84.78 + 159.84 84.50 79.89 + 160.60 82.42 77.61 + 163.16 81.33 75.95 + 164.09 81.31 76.00 + 161.35 78.41 74.08 + 160.17 79.36 74.12 + 158.69 78.38 72.97 + 152.53 76.83 72.22 + 146.15 77.23 72.35 + 139.65 78.21 72.81 + 140.31 75.97 70.69 + 143.59 77.23 72.85 + 147.56 80.92 75.64 + 151.53 84.14 78.76 + 153.16 88.28 83.64 + 153.77 88.35 83.40 + 172.65 129.15 42.38 + 138.22 98.70 36.71 + 155.76 90.70 84.61 + 158.05 92.33 84.84 + 157.84 93.91 86.78 + 158.88 99.17 91.94 + 159.80 100.51 92.50 + 158.71 100.32 92.31 + 158.30 99.83 92.69 + 157.12 99.42 91.33 + 156.87 99.58 90.39 + 154.64 100.47 91.18 + 151.76 99.36 89.45 + 151.64 100.93 90.25 + 150.48 101.19 90.94 + 147.79 102.76 93.61 + 146.47 103.81 94.53 + 144.84 105.14 95.29 + 142.38 103.94 94.59 + 138.54 101.97 92.05 + 135.89 104.67 94.03 + 134.35 105.81 95.69 + 136.28 104.41 95.25 + 140.61 104.50 94.97 + 144.76 103.71 95.84 + 147.58 100.84 93.68 + 148.69 99.84 92.60 + 151.10 99.16 91.31 + 153.39 98.41 90.38 + 153.12 97.80 91.12 + 153.19 97.76 90.41 + 152.83 96.99 90.17 + 151.91 95.65 88.56 + 149.85 95.85 88.72 + 148.60 96.59 88.81 + 147.19 97.36 89.39 + 142.20 96.12 88.62 + 139.53 98.98 91.65 + 135.62 100.39 92.72 + 130.39 101.68 94.53 + 129.13 106.54 96.96 + 128.55 112.22 101.82 + 129.86 121.74 111.85 + 130.21 125.52 115.58 + 130.66 127.46 117.45 + 131.74 129.47 119.35 + 131.28 130.23 121.88 + 131.34 130.21 120.64 + 131.72 130.28 120.02 + 131.22 129.79 120.00 + 131.16 129.97 120.04 + 132.31 130.88 120.03 + 132.15 130.68 120.62 + 131.71 130.51 121.25 + 131.30 130.18 120.64 + 132.03 130.63 120.64 + 131.10 129.72 120.00 + 131.15 129.94 120.03 + 132.19 130.77 120.05 + 132.06 130.60 120.62 + 131.62 130.45 121.25 + 131.64 130.56 121.28 + 131.95 130.54 120.63 + 130.94 129.59 120.00 + 131.13 129.96 120.02 + 132.14 130.71 120.05 + 132.34 130.82 120.64 + 131.59 130.43 121.27 + 132.30 131.12 121.27 + 131.20 130.06 121.75 + 163.99 147.70 57.05 + 127.68 115.33 51.67 + 127.69 127.64 127.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 209.22 195.89 25.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 116.33 111.78 87.33 + 18 178 140.22 136.33 115.44 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 185.67 28.89 28.89 + 34 82 86.33 28.44 28.44 + 34 98 128.00 128.00 128.00 + 34 114 255.00 32.11 32.11 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 147.67 139.00 90.67 + 50 2 133.00 130.11 114.22 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 255.00 39.89 39.89 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 131.67 16.78 16.78 + 50 114 85.44 3.00 3.00 + 50 130 109.00 71.11 71.11 + 50 146 164.00 91.56 91.56 + 50 162 187.33 14.89 14.89 + 50 178 128.00 128.00 128.00 + 50 194 147.67 139.00 90.67 + 66 2 128.00 128.00 128.00 + 66 18 169.78 76.44 76.44 + 66 34 165.78 8.00 8.00 + 66 50 143.67 135.00 78.67 + 66 66 145.67 7.00 7.00 + 66 82 154.44 48.78 48.78 + 66 98 86.78 0.00 0.00 + 66 114 128.00 128.00 128.00 + 66 130 255.00 40.89 40.89 + 66 146 157.56 146.89 89.11 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 147.67 139.00 90.67 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 255.00 28.89 28.89 + 82 66 254.00 36.11 36.11 + 82 82 72.78 14.22 14.22 + 82 98 128.00 128.00 128.00 + 82 114 245.67 169.22 30.89 + 82 130 168.33 133.00 6.78 + 82 146 112.67 71.33 71.33 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 147.67 139.00 90.67 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 155.78 19.67 19.67 + 98 50 255.00 42.56 42.56 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 89.11 0.00 0.00 + 98 114 243.67 29.11 29.11 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 220.22 19.44 19.44 + 98 178 128.00 128.00 128.00 + 98 194 147.67 139.00 90.67 + 114 2 128.00 128.00 128.00 + 114 18 150.56 87.89 87.89 + 114 34 101.44 71.11 71.11 + 114 50 128.00 128.00 128.00 + 114 66 133.44 2.89 2.89 + 114 82 192.33 167.78 20.78 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 255.00 44.00 44.00 + 114 146 136.56 18.78 18.78 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 147.67 139.00 90.67 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 232.33 23.78 23.78 + 130 66 96.44 4.00 4.00 + 130 82 101.44 42.67 42.67 + 130 98 225.56 29.56 29.56 + 130 114 206.44 9.11 9.11 + 130 130 116.78 112.11 87.33 + 130 146 140.11 136.22 115.33 + 130 162 175.00 4.67 4.67 + 130 178 128.00 128.00 128.00 + 130 194 147.67 139.00 90.67 + 146 2 128.00 128.00 128.00 + 146 18 255.00 35.44 35.44 + 146 34 181.33 6.89 6.89 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 115.33 44.00 44.00 + 146 98 101.89 3.67 3.67 + 146 114 128.00 128.00 128.00 + 146 130 190.44 7.33 7.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 212.89 191.33 20.22 + 162 2 128.00 128.00 128.00 + 162 18 126.67 113.56 44.33 + 162 34 82.67 1.22 1.22 + 162 50 128.00 128.00 128.00 + 162 66 255.00 38.00 38.00 + 162 82 109.00 43.00 43.00 + 162 98 128.00 128.00 128.00 + 162 114 128.00 128.00 128.00 + 162 130 192.00 16.89 16.89 + 162 146 109.11 1.22 1.22 + 162 162 128.00 128.00 128.00 + 162 178 155.11 133.89 19.22 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 144.33 135.44 78.67 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 103.11 85.33 85.33 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 81.44 0.22 0.22 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 124.89 118.67 85.78 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 212.44 204.22 65.78 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-ellipsoid-wireframe.yaml b/unittest/graphics/tests/dump-image-ellipsoid-wireframe.yaml new file mode 100644 index 00000000000..247f0d69c90 --- /dev/null +++ b/unittest/graphics/tests/dump-image-ellipsoid-wireframe.yaml @@ -0,0 +1,601 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:40 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom ellipsoid + pair zero +setup_commands: | + units lj + atom_style ellipsoid + region box block 0 8 0 8 0 8 + create_box 1 box + lattice sc 0.05 + create_atoms 1 box + set group all shape 2.0 1.2 0.8 + set group all quat/random 18238 + set group all density 1.0 + pair_style zero 4.0 + pair_coeff * * + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.4 view 60 30 shiny 0.2 box yes 0.02 ellipsoid type 2 3 0.05 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 133.40 131.94 119.25 + 132.97 131.59 119.25 + 132.49 131.08 118.59 + 133.12 131.62 118.64 + 132.50 131.09 118.62 + 133.37 131.93 119.27 + 132.82 131.47 119.26 + 133.19 131.76 119.25 + 132.60 131.27 119.25 + 133.37 131.82 118.64 + 132.80 131.34 118.63 + 133.50 132.03 119.27 + 133.11 131.70 119.28 + 133.36 131.91 119.25 + 132.94 131.55 119.25 + 132.47 131.06 118.59 + 133.08 131.59 118.62 + 132.89 131.53 119.27 + 133.34 131.90 119.27 + 136.07 128.34 116.17 + 137.37 127.53 115.05 + 135.99 124.97 112.98 + 137.35 123.23 111.19 + 135.00 122.43 110.44 + 134.89 123.22 110.92 + 134.26 118.89 110.03 + 132.88 117.55 111.86 + 131.55 117.47 111.07 + 134.36 116.97 110.44 + 134.59 110.97 103.09 + 137.19 109.79 102.56 + 137.33 107.92 101.28 + 137.34 109.24 101.66 + 140.23 106.61 99.54 + 139.71 106.72 99.48 + 140.31 106.92 98.45 + 140.00 109.62 101.83 + 138.87 106.86 99.70 + 137.50 107.45 100.92 + 137.20 107.91 100.67 + 136.17 110.02 103.09 + 141.21 114.53 106.86 + 141.24 108.69 100.38 + 144.43 101.36 93.42 + 145.07 98.28 90.52 + 146.23 93.73 86.18 + 145.91 92.65 84.47 + 144.81 94.06 86.14 + 153.12 89.02 80.58 + 149.62 86.41 78.19 + 153.79 88.31 80.54 + 150.29 89.12 78.33 + 151.15 93.02 78.88 + 148.53 91.22 76.08 + 152.36 95.31 80.14 + 146.88 100.59 85.73 + 145.29 98.44 83.37 + 142.94 101.10 86.38 + 139.71 99.47 84.61 + 142.22 107.22 91.86 + 140.38 105.03 90.90 + 141.55 106.16 92.25 + 146.88 97.36 83.91 + 145.76 94.81 80.64 + 145.99 92.94 79.22 + 149.88 94.41 79.54 + 148.31 90.49 76.52 + 144.85 88.86 73.72 + 150.59 92.37 77.98 + 149.79 92.27 77.92 + 148.88 94.17 80.63 + 148.47 94.33 80.62 + 147.08 92.81 78.62 + 145.87 93.75 80.24 + 144.05 91.70 77.83 + 147.96 93.33 79.91 + 144.65 90.17 76.44 + 150.55 89.68 76.44 + 153.68 83.59 69.19 + 156.81 85.87 71.95 + 149.57 84.73 70.74 + 159.45 88.96 75.33 + 151.95 91.27 77.40 + 153.88 91.00 77.49 + 158.38 91.58 77.91 + 152.76 91.48 78.96 + 152.56 88.70 80.89 + 148.43 85.58 81.75 + 148.97 83.85 79.80 + 150.81 87.95 83.19 + 149.98 89.06 84.31 + 149.81 91.30 86.54 + 151.51 95.11 90.34 + 150.94 92.64 87.89 + 150.94 90.44 85.69 + 153.50 87.22 82.47 + 151.24 85.92 81.16 + 153.91 83.56 78.80 + 155.97 84.72 79.95 + 151.08 82.61 77.84 + 149.38 83.74 78.98 + 148.24 84.00 79.25 + 145.84 82.64 79.02 + 145.34 84.92 80.87 + 149.01 84.67 80.34 + 149.85 80.30 75.54 + 148.11 81.39 77.78 + 148.03 84.00 79.94 + 147.24 81.54 77.22 + 148.93 81.88 77.82 + 142.06 82.84 79.22 + 148.44 85.81 80.90 + 150.97 87.50 82.77 + 148.50 88.87 81.01 + 152.29 96.81 85.16 + 156.59 97.08 84.80 + 150.60 92.13 80.22 + 154.23 88.17 75.83 + 156.66 86.95 74.98 + 155.79 86.55 74.18 + 153.51 88.31 78.27 + 148.81 86.82 81.38 + 149.95 87.16 81.41 + 152.83 86.43 79.58 + 149.18 86.29 79.90 + 144.00 85.56 81.61 + 138.85 92.52 85.02 + 149.16 92.11 81.49 + 150.04 87.09 74.59 + 155.74 90.38 77.02 + 157.13 89.11 76.31 + 155.81 89.77 76.61 + 150.65 89.41 75.42 + 151.95 88.08 78.22 + 155.66 87.72 83.80 + 149.87 92.44 83.78 + 152.88 94.08 83.91 + 157.29 92.97 83.98 + 148.14 91.92 78.32 + 151.24 93.36 78.03 + 148.41 92.58 77.25 + 143.88 92.11 77.06 + 144.65 92.63 77.41 + 151.41 95.15 80.26 + 145.26 97.92 83.52 + 147.90 101.71 87.89 + 147.77 98.76 89.00 + 144.62 94.19 87.50 + 148.39 91.03 86.13 + 147.91 93.96 87.36 + 148.04 91.52 86.01 + 143.13 92.36 87.14 + 144.39 87.09 81.94 + 148.38 87.70 82.63 + 147.76 87.97 83.02 + 150.96 90.04 84.65 + 153.26 92.66 85.70 + 153.88 90.78 83.42 + 147.44 90.34 81.92 + 151.50 91.06 82.88 + 149.16 91.55 83.72 + 150.60 92.19 84.56 + 146.12 92.20 83.89 + 139.47 91.75 83.72 + 145.01 99.25 90.72 + 145.62 105.41 97.12 + 143.62 104.86 96.94 + 140.31 100.25 92.53 + 146.56 103.02 95.48 + 136.01 106.03 97.92 + 138.74 109.22 101.52 + 137.87 105.79 99.14 + 139.53 107.77 100.61 + 144.24 113.71 101.98 + 141.57 112.72 100.64 + 142.50 112.67 99.41 + 140.99 114.53 101.78 + 139.53 115.03 102.19 + 140.13 118.67 106.18 + 136.59 123.47 110.75 + 135.69 121.86 109.52 + 137.00 122.03 109.50 + 135.31 122.73 109.74 + 133.91 123.20 110.24 + 133.94 124.23 111.55 + 132.41 124.88 112.65 + 132.03 125.78 113.24 + 132.48 127.62 115.56 + 133.42 131.88 118.64 + 132.82 131.35 118.65 + 133.59 132.12 119.30 + 133.13 131.72 119.29 + 133.42 131.96 119.27 + 132.96 131.57 119.28 + 133.66 132.06 118.64 + 133.12 131.62 118.66 + 133.10 131.60 118.64 + 133.41 131.97 119.28 + 132.85 131.49 119.27 + 133.22 131.80 119.28 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.22 128.09 127.38 + 162.22 146.18 58.10 + 116.00 105.81 49.14 + 131.71 130.74 121.92 + 132.01 130.78 121.28 + 131.81 130.49 121.25 + 131.19 130.00 120.65 + 132.11 129.84 119.48 + 134.24 126.28 115.59 + 134.49 124.56 114.31 + 132.94 124.71 115.09 + 135.94 123.42 113.97 + 136.72 122.22 113.05 + 138.10 118.77 109.67 + 141.26 115.75 105.42 + 143.13 110.88 100.28 + 141.85 107.10 96.94 + 145.73 102.98 93.34 + 149.40 103.02 92.74 + 145.18 101.39 92.33 + 146.81 95.97 88.61 + 150.19 95.00 86.84 + 150.05 93.96 85.61 + 148.88 92.89 85.48 + 143.97 94.79 87.12 + 146.22 95.65 87.54 + 147.29 95.08 88.41 + 144.09 94.24 86.67 + 143.40 96.56 89.14 + 146.04 97.78 89.14 + 134.85 96.33 88.92 + 140.94 103.31 94.73 + 137.91 106.45 98.36 + 136.97 108.69 99.53 + 132.37 113.77 104.97 + 133.56 117.29 107.38 + 137.00 117.23 106.94 + 145.09 111.02 101.56 + 140.22 109.94 99.53 + 146.51 106.09 95.12 + 148.91 102.54 93.08 + 149.19 103.24 94.44 + 151.07 103.64 93.78 + 150.14 102.58 93.54 + 145.39 95.77 88.98 + 152.85 95.91 88.20 + 153.44 97.83 88.49 + 151.62 96.99 88.00 + 152.97 97.03 88.26 + 150.72 98.41 89.78 + 148.00 94.00 85.55 + 150.06 89.72 82.43 + 154.44 88.55 80.29 + 151.34 87.18 78.38 + 154.23 84.64 75.28 + 150.13 87.11 79.10 + 152.09 90.14 82.75 + 152.31 94.50 87.75 + 150.76 91.34 83.43 + 149.40 91.58 82.99 + 149.78 94.65 86.79 + 147.93 91.14 85.50 + 155.15 81.93 76.62 + 160.52 81.75 76.37 + 155.92 77.10 72.16 + 156.71 71.60 67.10 + 149.97 68.85 63.58 + 156.32 71.91 66.56 + 155.06 70.31 65.53 + 149.09 70.06 65.11 + 152.35 75.35 68.81 + 168.75 88.94 38.42 + 132.91 68.11 31.70 + 152.38 76.66 70.48 + 148.60 78.12 72.82 + 138.89 78.53 72.58 + 141.56 82.35 76.66 + 139.37 84.51 79.11 + 138.45 88.75 81.73 + 140.29 88.35 81.06 + 147.40 90.89 82.88 + 142.41 93.47 86.12 + 140.91 99.97 93.11 + 145.85 100.31 92.52 + 140.38 98.86 90.89 + 139.65 95.53 88.47 + 142.44 94.53 87.16 + 142.06 93.84 85.83 + 143.42 96.19 88.83 + 141.22 93.86 86.92 + 136.26 92.85 85.00 + 145.16 92.98 85.64 + 136.78 90.04 82.94 + 141.59 91.08 84.09 + 140.47 91.32 84.01 + 139.53 91.72 85.86 + 139.72 88.19 82.48 + 148.72 87.58 81.33 + 146.79 87.50 82.02 + 148.69 91.11 86.03 + 151.85 97.73 92.48 + 151.43 95.05 89.94 + 149.63 89.72 86.14 + 154.69 92.37 89.19 + 152.03 89.45 85.34 + 151.25 87.42 82.88 + 156.19 84.12 79.17 + 158.62 81.25 76.45 + 152.96 82.16 75.73 + 165.12 79.69 74.39 + 154.02 76.69 70.21 + 163.37 79.58 73.59 + 160.16 79.39 73.05 + 155.64 79.33 73.65 + 150.50 80.24 74.36 + 155.04 78.91 73.51 + 153.75 78.47 73.03 + 157.52 79.41 75.03 + 154.37 79.64 74.36 + 149.64 83.69 77.35 + 151.68 84.92 80.28 + 149.61 89.08 83.08 + 169.41 131.84 45.07 + 134.16 98.44 36.45 + 156.19 90.59 84.50 + 149.19 90.75 84.09 + 157.50 92.99 85.86 + 152.85 95.58 88.34 + 157.25 98.31 90.30 + 153.18 97.92 89.91 + 152.13 97.11 89.97 + 152.94 96.77 88.69 + 151.68 99.72 90.53 + 150.99 99.55 90.25 + 153.25 98.48 88.58 + 151.35 100.23 89.55 + 147.22 103.14 92.88 + 145.73 100.72 91.56 + 148.38 105.42 96.14 + 146.97 107.47 97.61 + 142.04 105.16 95.81 + 145.15 102.34 92.42 + 138.76 104.28 93.65 + 143.72 105.39 95.26 + 145.56 105.23 96.07 + 144.40 103.59 94.07 + 143.70 102.26 95.15 + 146.15 100.60 93.44 + 144.94 100.27 92.54 + 152.75 99.87 92.03 + 147.81 98.12 89.17 + 143.60 98.65 91.65 + 151.82 99.56 90.52 + 148.66 95.11 88.29 + 148.02 97.86 88.69 + 145.47 99.53 90.81 + 146.26 98.78 89.18 + 149.06 98.03 90.06 + 144.85 100.88 92.28 + 144.81 101.52 92.48 + 141.04 101.28 92.94 + 139.59 102.95 95.80 + 136.76 107.47 98.97 + 140.19 112.39 101.99 + 132.57 120.39 110.50 + 132.16 124.69 114.75 + 133.62 127.27 117.26 + 132.34 128.93 118.80 + 131.28 130.23 121.88 + 131.34 130.21 120.64 + 131.72 130.28 120.02 + 131.22 129.79 120.00 + 131.16 129.97 120.04 + 132.31 130.88 120.03 + 132.15 130.68 120.62 + 131.71 130.51 121.25 + 131.30 130.18 120.64 + 132.03 130.63 120.64 + 131.10 129.72 120.00 + 131.15 129.94 120.03 + 132.19 130.77 120.05 + 132.06 130.60 120.62 + 131.62 130.45 121.25 + 131.64 130.56 121.28 + 131.95 130.54 120.63 + 130.94 129.59 120.00 + 131.13 129.96 120.02 + 132.14 130.71 120.05 + 132.34 130.82 120.64 + 131.59 130.43 121.27 + 132.30 131.12 121.27 + 131.20 130.06 121.75 + 163.99 147.70 57.05 + 127.68 115.33 51.67 + 127.69 127.64 127.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 209.22 195.89 25.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 116.33 111.78 87.33 + 18 178 140.22 136.33 115.44 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 162.44 14.56 14.56 + 34 82 104.56 29.44 29.44 + 34 98 128.00 128.00 128.00 + 34 114 190.00 18.67 18.67 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 147.67 139.00 90.67 + 50 2 133.00 130.11 114.22 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 231.00 26.89 26.89 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 130.11 19.33 19.33 + 50 114 177.44 16.11 16.11 + 50 130 130.11 75.89 75.89 + 50 146 193.67 72.00 72.00 + 50 162 169.67 14.44 14.44 + 50 178 128.00 128.00 128.00 + 50 194 147.67 139.00 90.67 + 66 2 128.00 128.00 128.00 + 66 18 189.78 59.89 59.89 + 66 34 138.33 6.78 6.78 + 66 50 143.67 135.00 78.67 + 66 66 197.22 17.56 17.56 + 66 82 156.89 38.89 38.89 + 66 98 107.56 3.89 3.89 + 66 114 128.00 128.00 128.00 + 66 130 167.89 29.89 29.89 + 66 146 157.56 146.89 89.11 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 147.67 139.00 90.67 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 231.89 21.22 21.22 + 82 66 215.56 37.11 37.11 + 82 82 118.67 5.11 5.11 + 82 98 128.00 128.00 128.00 + 82 114 234.89 167.56 29.22 + 82 130 184.33 136.00 9.78 + 82 146 137.44 63.67 63.67 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 147.67 139.00 90.67 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 149.78 35.11 35.11 + 98 50 221.22 24.00 24.00 + 98 66 128.00 128.00 128.00 + 98 82 142.11 117.33 117.33 + 98 98 129.44 19.22 19.22 + 98 114 176.00 14.22 14.22 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 211.89 20.00 20.00 + 98 178 128.00 128.00 128.00 + 98 194 147.67 139.00 90.67 + 114 2 128.00 128.00 128.00 + 114 18 161.22 79.44 79.44 + 114 34 104.11 57.33 57.33 + 114 50 128.00 128.00 128.00 + 114 66 193.78 12.33 12.33 + 114 82 209.67 196.11 24.89 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 249.89 35.44 35.44 + 114 146 175.33 24.00 24.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 147.67 139.00 90.67 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 197.44 18.78 18.78 + 130 66 204.00 20.00 20.00 + 130 82 160.22 51.89 51.89 + 130 98 189.78 27.33 27.33 + 130 114 220.89 16.44 16.44 + 130 130 116.78 112.11 87.33 + 130 146 140.11 136.22 115.33 + 130 162 191.44 27.78 27.78 + 130 178 128.00 128.00 128.00 + 130 194 147.67 139.00 90.67 + 146 2 128.00 128.00 128.00 + 146 18 208.00 21.22 21.22 + 146 34 209.56 35.33 15.44 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 154.44 26.56 26.56 + 146 98 133.67 26.33 26.33 + 146 114 128.00 128.00 128.00 + 146 130 173.89 13.89 13.89 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 212.89 191.33 20.22 + 162 2 128.00 128.00 128.00 + 162 18 126.67 113.56 44.33 + 162 34 110.67 17.89 17.89 + 162 50 128.00 128.00 128.00 + 162 66 240.89 26.00 26.00 + 162 82 103.67 16.56 16.56 + 162 98 128.00 128.00 128.00 + 162 114 128.00 128.00 128.00 + 162 130 172.33 13.44 13.44 + 162 146 166.11 13.67 13.67 + 162 162 128.00 128.00 128.00 + 162 178 155.11 133.89 19.22 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 144.33 135.44 78.67 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 122.56 75.78 75.78 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 161.33 13.56 13.56 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 124.89 118.67 85.78 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 212.44 204.22 65.78 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-fsaa.yaml b/unittest/graphics/tests/dump-image-fsaa.yaml new file mode 100644 index 00000000000..b32738bf0af --- /dev/null +++ b/unittest/graphics/tests/dump-image-fsaa.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:37 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 fsaa yes + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.20 128.09 127.53 + 130.02 129.41 125.43 + 131.07 130.56 124.57 + 131.66 130.93 123.35 + 133.42 131.99 120.91 + 133.32 131.75 119.89 + 130.53 130.64 118.11 + 127.70 129.00 118.23 + 126.99 128.28 120.55 + 125.56 127.31 121.43 + 123.69 125.88 121.61 + 125.33 126.93 121.72 + 125.64 126.16 121.56 + 125.06 125.77 122.61 + 125.85 126.88 125.45 + 127.06 128.17 127.06 + 126.91 127.97 126.91 + 126.70 127.73 126.70 + 126.70 127.75 126.70 + 126.78 127.72 125.42 + 127.55 129.00 122.08 + 127.70 130.11 120.94 + 127.54 130.13 120.11 + 126.66 128.84 119.37 + 124.99 126.98 118.91 + 122.57 125.05 117.82 + 124.13 125.31 121.69 + 129.97 129.99 129.13 + 130.79 130.62 129.47 + 130.09 129.94 129.12 + 128.70 128.58 127.95 + 127.62 127.40 126.22 + 129.16 128.52 124.22 + 130.72 130.22 124.19 + 131.09 130.51 123.85 + 131.00 130.09 122.94 + 132.44 130.50 119.45 + 133.66 131.82 116.69 + 132.88 131.44 116.61 + 133.72 131.85 119.17 + 134.66 128.20 121.26 + 133.13 124.14 122.42 + 130.29 120.93 122.69 + 131.55 121.94 123.84 + 133.65 124.72 126.64 + 131.07 124.07 126.56 + 128.93 126.58 128.35 + 127.31 128.50 127.61 + 125.34 127.72 126.78 + 123.77 126.64 125.77 + 123.58 123.30 122.86 + 125.92 124.97 119.83 + 130.60 129.29 123.23 + 129.06 126.75 124.48 + 127.03 124.27 121.76 + 128.09 126.64 119.75 + 131.02 128.43 120.56 + 127.18 125.53 117.18 + 126.92 124.73 115.14 + 126.44 123.58 112.98 + 124.48 121.17 111.02 + 126.66 121.86 116.08 + 130.62 124.64 121.02 + 132.50 129.97 120.60 + 134.29 131.96 120.18 + 130.32 130.56 121.21 + 126.21 127.23 121.70 + 123.80 125.50 122.81 + 121.23 123.29 123.53 + 119.53 117.38 120.28 + 122.16 114.34 118.11 + 123.89 113.83 115.78 + 126.87 115.39 115.85 + 129.40 118.50 118.50 + 126.11 117.55 117.55 + 123.20 118.22 118.22 + 124.53 123.06 123.06 + 128.92 126.67 126.67 + 128.94 126.68 126.68 + 128.63 128.25 128.25 + 128.56 128.56 128.56 + 128.37 128.37 128.37 + 129.24 129.24 129.24 + 130.03 129.85 128.91 + 130.97 130.32 125.82 + 131.06 130.54 124.38 + 128.38 132.18 125.46 + 126.12 133.81 127.48 + 124.81 129.18 124.69 + 126.33 127.36 123.67 + 125.08 125.47 123.22 + 125.01 124.03 121.75 + 123.17 120.89 120.44 + 124.37 120.42 120.73 + 129.48 124.89 121.86 + 131.06 128.66 122.50 + 132.28 131.53 124.64 + 132.15 131.21 124.87 + 129.87 128.94 124.06 + 126.70 126.15 123.17 + 124.83 124.66 123.77 + 128.10 128.10 128.10 + 128.08 128.08 128.08 + 126.56 128.54 128.54 + 126.41 128.59 128.59 + 124.01 129.52 130.94 + 121.42 128.19 133.79 + 120.31 127.73 134.64 + 119.09 126.36 133.91 + 119.28 125.20 132.51 + 121.78 120.67 127.71 + 124.14 116.94 121.78 + 127.55 119.83 121.17 + 129.34 121.93 121.93 + 127.61 121.42 121.42 + 126.75 122.53 122.06 + 128.00 126.22 123.58 + 130.41 129.19 124.22 + 131.72 129.39 123.22 + 133.29 130.19 121.74 + 133.19 130.31 122.30 + 134.12 129.35 126.10 + 136.51 129.29 128.76 + 136.81 128.12 128.10 + 135.51 127.02 126.04 + 133.51 125.44 124.76 + 126.52 120.42 128.40 + 121.70 119.48 128.34 + 120.11 124.89 132.38 + 120.39 126.65 133.75 + 120.11 124.92 131.74 + 123.07 121.45 127.30 + 125.47 120.84 123.68 + 127.58 120.60 120.91 + 127.67 118.06 117.44 + 128.78 118.08 114.97 + 127.98 117.08 112.47 + 130.62 119.75 110.88 + 132.37 124.17 111.61 + 130.76 125.06 112.31 + 128.04 124.95 113.17 + 125.40 124.41 113.47 + 126.41 125.04 113.03 + 126.72 126.10 115.47 + 128.71 126.62 116.27 + 130.87 127.39 117.16 + 132.59 125.89 115.58 + 133.41 124.69 113.55 + 134.28 123.95 111.91 + 135.31 124.73 111.42 + 133.30 122.76 110.01 + 129.84 121.25 111.48 + 126.86 119.50 112.80 + 127.39 118.94 113.62 + 129.50 121.28 116.98 + 130.67 123.09 119.88 + 128.15 121.93 119.70 + 125.57 121.42 120.48 + 125.47 123.05 122.59 + 125.94 124.45 123.61 + 126.33 128.18 126.33 + 124.77 129.53 124.77 + 124.27 130.99 124.27 + 124.42 131.76 124.42 + 123.82 131.09 123.82 + 123.26 129.36 123.26 + 122.66 126.56 122.66 + 122.90 124.33 122.90 + 125.18 125.22 125.18 + 127.69 127.69 127.69 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.94 127.84 127.84 + 127.69 125.31 125.31 + 128.18 124.46 124.46 + 128.31 124.14 124.14 + 128.03 123.85 123.85 + 127.31 123.72 123.72 + 126.72 123.03 122.56 + 128.12 123.06 121.77 + 129.25 122.98 121.53 + 130.26 123.11 121.52 + 130.00 122.58 120.97 + 130.63 124.19 120.47 + 131.00 125.17 120.26 + 132.76 126.94 117.86 + 134.38 130.40 118.28 + 133.89 131.01 117.44 + 134.65 131.88 115.14 + 135.78 132.85 113.51 + 137.35 133.38 111.54 + 136.01 131.74 110.22 + 135.20 132.00 113.91 + 135.28 132.69 116.23 + 132.87 130.91 119.27 + 130.57 129.37 125.11 + 128.55 127.50 127.72 + 125.31 124.28 125.66 + 124.31 122.49 121.33 + 123.13 122.68 120.36 + 122.27 124.05 120.79 + 124.36 124.58 123.98 + 132.13 122.39 124.48 + 133.60 118.25 122.92 + 132.59 115.78 123.52 + 130.13 117.62 123.56 + 125.47 119.88 117.96 + 120.84 122.66 116.69 + 116.83 124.64 113.05 + 122.58 129.40 107.30 + 126.74 132.97 107.23 + 126.84 132.39 105.89 + 125.60 130.19 105.78 + 129.28 130.32 105.00 + 132.13 130.78 107.11 + 130.48 129.13 109.75 + 124.95 124.62 111.40 + 122.92 122.93 114.39 + 120.85 120.44 116.16 + 122.08 122.05 122.32 + 124.94 124.41 125.99 + 124.56 126.12 126.90 + 123.31 126.58 124.81 + 122.59 127.57 123.61 + 124.86 130.40 125.23 + 124.46 128.86 125.86 + 122.55 122.10 124.51 + 123.06 118.52 124.39 + 124.05 116.70 123.48 + 123.86 115.69 122.51 + 122.23 114.82 121.19 + 120.12 114.11 118.82 + 121.22 116.20 117.48 + 130.43 121.25 114.32 + 135.46 126.84 113.32 + 134.87 128.09 111.75 + 135.00 127.86 110.68 + 133.22 125.92 110.56 + 129.07 125.58 113.44 + 123.57 125.19 117.44 + 123.44 127.64 122.45 + 123.36 130.82 125.34 + 123.11 133.42 123.73 + 120.67 136.13 115.89 + 125.86 140.64 112.59 + 128.28 141.37 108.85 + 129.16 140.97 105.30 + 132.95 133.97 100.66 + 138.13 124.02 100.22 + 137.62 117.22 103.34 + 138.17 113.03 110.22 + 138.02 111.21 114.69 + 135.50 112.19 113.65 + 132.54 114.36 112.16 + 130.25 116.11 112.38 + 127.14 117.83 116.83 + 123.42 117.73 120.59 + 121.96 117.61 123.98 + 120.11 117.19 126.65 + 120.58 116.92 127.61 + 120.56 115.01 124.44 + 120.37 113.78 120.34 + 121.22 114.15 116.82 + 123.05 117.13 118.39 + 124.63 120.95 120.95 + 126.02 124.65 124.65 + 127.56 127.36 127.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 72.22 139.22 72.22 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 138.67 131.78 95.22 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 185.78 183.11 108.78 + 66 82 112.00 74.78 112.00 + 66 98 104.89 104.89 104.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 110.44 106.00 81.89 + 82 82 104.00 95.44 140.78 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 113.78 116.00 116.00 + 114 114 177.33 177.33 177.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 22.56 139.33 139.33 + 130 130 46.89 34.89 176.56 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 122.11 121.33 117.33 + 146 130 135.89 106.89 150.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 126.22 124.44 124.44 + 162 114 81.44 102.33 31.33 + 162 130 110.89 92.78 75.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-peptide-np4.yaml b/unittest/graphics/tests/dump-image-peptide-np4.yaml new file mode 100644 index 00000000000..b9f3846c62b --- /dev/null +++ b/unittest/graphics/tests/dump-image-peptide-np4.yaml @@ -0,0 +1,603 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 13:33:39 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 4 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.5 view 60 30 shiny 0.2 box yes 0.02 bond atom 0.3 + dump_modify viz backcolor gray boxcolor yellow element C C O H N C C C O H H S O H acolor 1 silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 137.05 134.15 120.60 + 133.65 127.83 119.11 + 138.37 128.56 117.97 + 139.63 131.28 117.48 + 135.56 129.14 115.13 + 133.28 129.62 116.04 + 132.44 131.32 117.44 + 133.99 133.76 120.64 + 132.92 131.90 118.44 + 133.66 132.30 119.38 + 138.62 135.65 121.43 + 137.97 134.74 120.97 + 138.77 133.07 118.60 + 144.93 135.84 122.17 + 154.31 145.65 131.78 + 147.56 141.18 126.18 + 133.39 127.33 111.77 + 136.06 120.41 105.56 + 145.97 126.52 112.95 + 146.06 128.50 118.86 + 143.56 123.00 119.25 + 150.66 132.03 128.83 + 148.88 131.10 126.92 + 142.04 128.00 122.07 + 134.80 125.89 118.50 + 136.84 127.72 120.09 + 142.38 129.56 122.42 + 144.71 129.29 122.40 + 143.88 121.52 115.10 + 149.94 122.69 115.47 + 146.25 120.22 111.36 + 140.47 120.57 112.87 + 144.09 130.81 123.31 + 146.00 134.31 127.28 + 143.67 130.43 123.91 + 134.03 122.50 115.36 + 133.81 123.04 114.20 + 140.88 126.43 118.61 + 145.71 130.96 123.36 + 148.40 131.38 124.25 + 149.53 129.57 122.71 + 145.99 125.52 119.11 + 151.89 127.31 120.12 + 147.09 123.58 115.59 + 133.51 117.08 109.41 + 141.24 124.14 117.72 + 155.78 128.68 123.76 + 156.12 124.61 120.46 + 155.58 123.17 115.61 + 153.25 124.08 112.54 + 156.32 131.59 117.83 + 155.32 131.90 117.77 + 147.44 127.89 114.24 + 147.99 125.56 111.65 + 141.91 119.89 106.70 + 148.34 130.84 117.66 + 153.93 139.53 123.25 + 157.54 141.67 124.00 + 146.02 130.50 115.91 + 145.69 122.32 108.89 + 155.00 123.75 110.30 + 148.94 120.29 107.31 + 161.22 132.31 119.03 + 163.49 140.38 126.27 + 153.44 138.80 124.68 + 142.65 129.84 116.22 + 137.64 125.44 113.90 + 156.44 134.06 122.75 + 156.37 136.41 122.92 + 149.84 126.03 112.02 + 140.09 112.52 98.99 + 145.98 114.58 100.72 + 153.21 119.59 106.22 + 150.46 119.68 106.44 + 151.59 131.91 118.96 + 155.47 136.56 122.45 + 153.97 126.03 112.34 + 151.98 120.56 106.50 + 143.68 117.69 104.11 + 145.31 127.17 113.54 + 153.54 140.25 127.11 + 160.18 140.94 127.47 + 154.76 126.42 112.46 + 149.06 122.74 109.25 + 143.16 119.36 107.51 + 147.32 128.19 121.03 + 145.24 130.45 128.36 + 147.31 129.72 127.58 + 149.15 126.17 124.03 + 151.03 122.64 120.49 + 149.47 121.75 119.60 + 153.09 121.13 118.98 + 146.81 119.02 116.87 + 143.09 122.96 120.81 + 141.88 122.94 120.79 + 142.31 119.55 117.40 + 149.69 123.37 121.22 + 154.72 131.44 129.29 + 151.44 128.03 125.89 + 133.94 111.62 109.48 + 137.67 118.28 116.14 + 146.66 116.45 114.31 + 153.07 121.70 119.56 + 159.24 131.10 129.10 + 165.24 137.38 135.24 + 151.85 127.30 125.16 + 137.48 112.67 110.52 + 143.37 110.94 108.79 + 143.72 106.42 104.27 + 143.83 107.83 105.69 + 137.72 107.36 105.22 + 136.38 108.58 106.43 + 153.91 135.64 133.50 + 156.15 144.29 142.15 + 147.03 129.69 127.55 + 143.56 121.67 119.52 + 140.90 119.40 117.25 + 149.13 134.50 131.25 + 143.35 125.08 121.31 + 144.43 119.60 115.74 + 137.78 111.38 108.80 + 141.79 116.42 114.27 + 148.04 121.78 119.63 + 157.15 125.47 123.33 + 152.58 123.92 121.77 + 145.24 117.25 114.02 + 144.90 119.27 113.55 + 144.22 120.27 117.70 + 142.98 124.69 122.54 + 153.97 132.56 130.42 + 145.03 126.57 123.67 + 146.99 129.50 126.27 + 145.54 124.89 122.75 + 139.69 117.27 115.12 + 138.40 115.90 112.65 + 135.40 119.67 117.52 + 151.06 135.02 130.74 + 157.81 140.64 135.25 + 147.66 125.94 120.01 + 147.68 117.07 108.43 + 154.99 119.18 112.77 + 152.88 121.61 118.50 + 137.68 114.04 110.72 + 135.49 116.69 114.55 + 139.63 120.95 117.00 + 141.66 125.45 118.39 + 140.50 121.75 111.83 + 144.49 123.64 111.69 + 155.19 131.75 120.12 + 147.35 125.46 117.76 + 148.80 129.68 125.62 + 138.31 125.29 122.20 + 146.91 130.29 126.52 + 149.25 127.00 120.86 + 157.56 132.25 126.30 + 149.83 127.98 120.50 + 148.81 124.84 118.50 + 139.97 119.66 114.81 + 130.43 110.06 106.30 + 133.78 115.88 112.67 + 137.46 124.73 118.67 + 143.26 130.66 123.87 + 145.51 137.81 128.57 + 143.68 135.65 126.94 + 145.45 130.62 122.12 + 154.74 135.79 126.55 + 152.71 135.72 126.70 + 141.19 123.99 114.19 + 131.61 117.47 107.91 + 127.49 115.50 107.49 + 142.75 125.97 120.03 + 147.87 133.43 128.08 + 154.31 140.44 133.17 + 145.41 132.43 123.46 + 128.11 119.14 109.73 + 126.52 119.67 111.55 + 135.39 131.69 125.05 + 139.28 135.48 129.09 + 140.44 132.16 121.72 + 140.91 131.43 116.72 + 133.13 126.16 113.86 + 136.55 132.58 116.64 + 139.41 138.46 123.00 + 138.88 137.66 122.16 + 136.56 133.23 119.28 + 136.59 130.12 116.80 + 137.91 127.47 111.69 + 138.14 127.81 111.63 + 138.82 130.54 114.86 + 136.34 130.94 115.20 + 134.06 131.45 116.22 + 130.66 128.38 112.81 + 131.90 127.95 111.89 + 140.84 135.66 119.30 + 141.34 133.81 117.93 + 137.72 130.29 115.98 + 135.12 131.12 120.95 + 133.19 130.68 119.87 + 132.97 132.24 116.55 + 133.15 133.15 117.39 +col_means: | + 135.04 135.04 123.44 + 135.74 135.74 124.00 + 135.18 135.18 122.58 + 134.32 133.27 121.86 + 137.56 131.64 123.30 + 141.21 131.89 123.31 + 143.38 135.87 126.55 + 140.49 134.90 123.55 + 139.50 132.01 121.35 + 142.41 132.00 120.58 + 141.71 127.78 116.85 + 137.74 123.07 112.78 + 134.41 120.69 109.27 + 138.90 128.06 115.78 + 136.84 126.99 114.64 + 134.21 127.35 116.67 + 136.06 132.00 121.50 + 139.25 131.91 120.98 + 140.66 127.60 120.00 + 143.29 127.41 118.85 + 143.17 127.26 118.00 + 142.41 124.37 115.17 + 143.47 123.54 114.52 + 145.51 122.92 113.12 + 149.62 124.78 114.00 + 150.68 126.82 118.95 + 142.00 121.19 112.38 + 137.74 118.79 108.70 + 134.25 121.17 110.89 + 145.60 132.69 124.11 + 153.13 135.94 126.59 + 150.87 137.25 127.77 + 138.21 130.10 121.67 + 139.25 126.41 117.86 + 139.42 123.78 114.61 + 140.81 121.74 113.39 + 147.28 126.41 115.86 + 155.34 136.94 127.58 + 151.79 134.94 125.49 + 143.79 125.62 117.23 + 137.10 120.11 111.86 + 143.01 127.82 118.69 + 151.53 133.22 124.90 + 150.72 132.88 124.30 + 151.93 138.81 129.45 + 152.09 136.60 127.22 + 146.25 123.38 114.94 + 146.40 117.61 108.29 + 145.85 116.26 107.22 + 141.97 116.33 108.01 + 146.14 131.38 121.70 + 145.16 134.66 125.32 + 146.72 130.93 122.69 + 147.25 129.97 123.56 + 146.41 126.16 119.75 + 142.87 118.56 111.07 + 142.24 117.10 110.53 + 144.32 123.30 115.70 + 148.28 130.06 122.86 + 137.69 118.80 112.73 + 144.62 121.53 116.29 + 152.58 129.19 124.06 + 157.79 133.88 132.87 + 151.56 128.22 126.81 + 153.20 129.94 127.05 + 151.36 126.33 122.31 + 150.63 124.30 116.66 + 143.34 121.98 115.58 + 147.91 128.78 122.78 + 145.67 123.81 117.59 + 145.50 125.73 121.04 + 148.37 131.29 126.22 + 155.08 135.18 123.83 + 152.44 133.72 126.41 + 145.29 126.72 119.81 + 147.03 125.19 120.97 + 141.62 113.59 109.46 + 142.95 116.77 114.21 + 151.00 130.45 127.53 + 157.28 137.81 134.67 + 149.56 131.92 129.59 + 146.82 134.08 131.31 + 152.35 139.22 136.12 + 150.59 135.46 132.41 + 149.63 125.29 122.70 + 145.56 116.16 113.20 + 143.75 117.00 113.87 + 148.96 118.22 115.86 + 145.81 115.68 112.89 + 141.27 111.56 108.44 + 133.73 108.69 105.21 + 139.59 119.47 116.06 + 148.31 134.81 131.84 + 152.62 141.53 138.40 + 145.12 134.09 131.69 + 156.46 138.28 135.47 + 152.54 126.61 123.47 + 141.34 115.03 112.04 + 138.98 113.86 111.22 + 147.72 126.58 123.58 + 154.33 134.06 130.96 + 152.07 124.56 122.12 + 152.35 121.77 118.92 + 143.32 118.40 115.25 + 136.47 118.11 114.36 + 140.47 129.28 125.77 + 142.40 125.50 121.22 + 142.29 122.97 119.01 + 148.62 123.72 120.42 + 151.68 124.74 120.53 + 148.18 122.56 118.26 + 145.44 122.45 119.46 + 151.67 124.81 122.10 + 151.50 127.78 124.94 + 154.09 123.92 120.84 + 155.12 122.33 119.83 + 157.35 126.39 123.50 + 143.31 117.21 114.07 + 141.66 113.86 110.84 + 135.25 108.67 105.94 + 141.00 113.98 110.92 + 142.12 118.44 115.36 + 142.49 120.28 117.73 + 147.28 124.09 121.17 + 147.75 126.89 123.75 + 151.56 131.74 129.44 + 153.31 137.89 49.25 + 168.76 157.33 59.30 + 127.59 118.32 52.54 + 142.75 112.59 107.56 + 148.64 120.78 117.09 + 152.58 121.36 117.00 + 154.50 126.64 121.84 + 155.11 131.64 127.45 + 144.20 125.90 121.60 + 137.18 117.26 112.86 + 135.41 118.90 114.39 + 141.88 121.01 116.59 + 145.91 128.35 122.94 + 153.65 135.80 129.91 + 150.65 131.55 125.33 + 143.38 127.19 121.65 + 146.07 127.00 120.94 + 149.63 132.43 126.00 + 149.65 131.68 124.22 + 144.21 128.72 120.04 + 147.72 125.10 117.27 + 146.91 125.02 116.31 + 149.71 121.37 112.78 + 152.51 118.20 108.97 + 152.03 125.12 115.44 + 143.37 125.73 116.06 + 147.74 132.46 123.97 + 144.49 130.11 121.53 + 142.31 126.06 117.09 + 148.41 127.25 117.56 + 151.15 123.44 112.67 + 142.31 120.23 108.36 + 147.93 130.43 119.85 + 149.25 137.86 128.41 + 145.15 132.72 124.49 + 141.81 126.89 119.13 + 140.26 117.85 111.44 + 149.56 126.93 115.66 + 147.62 125.61 113.81 + 154.50 133.94 121.32 + 152.06 130.52 118.97 + 142.81 126.02 114.68 + 136.18 120.33 108.46 + 137.33 122.37 114.00 + 144.21 129.69 120.69 + 144.47 128.03 118.53 + 135.74 121.50 111.97 + 136.16 121.66 112.34 + 142.88 128.57 118.70 + 144.07 124.53 116.22 + 142.53 123.56 115.28 + 133.59 119.21 110.32 + 140.63 132.43 121.86 + 143.93 138.09 128.61 + 145.65 139.29 129.97 + 141.34 132.86 123.09 + 137.53 128.28 120.10 + 137.68 126.89 118.69 + 135.20 125.47 116.66 + 136.42 128.22 118.92 + 140.12 127.93 117.35 + 142.50 128.01 116.09 + 138.89 126.42 113.72 + 136.47 127.99 114.98 + 134.94 129.46 119.19 + 134.59 129.40 118.92 + 135.48 130.46 120.19 + 131.72 129.28 119.74 + 131.44 130.26 118.33 + 133.28 130.79 118.08 + 136.58 132.26 119.42 + 135.82 130.41 119.15 + 132.98 128.31 117.58 + 132.10 129.60 118.42 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 169.22 169.22 20.56 + 2 66 128.00 128.00 128.00 + 2 82 171.78 171.78 171.78 + 2 98 122.11 122.11 122.11 + 2 114 203.67 71.78 71.78 + 2 130 122.11 122.11 114.00 + 2 146 167.44 167.44 94.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 110.33 110.33 43.44 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 151.89 50.89 50.89 + 18 98 117.44 100.00 100.00 + 18 114 164.89 85.67 85.67 + 18 130 207.22 144.67 144.67 + 18 146 100.56 100.56 100.56 + 18 162 128.00 128.00 128.00 + 18 178 220.89 174.78 174.78 + 18 194 210.11 210.11 26.44 + 34 2 128.00 128.00 128.00 + 34 18 192.11 192.11 192.11 + 34 34 128.00 128.00 128.00 + 34 50 127.56 104.56 104.56 + 34 66 128.00 128.00 128.00 + 34 82 95.89 95.89 95.89 + 34 98 128.00 128.00 128.00 + 34 114 175.11 87.33 87.33 + 34 130 141.89 141.89 141.89 + 34 146 116.44 103.67 103.67 + 34 162 130.56 130.56 130.56 + 34 178 215.56 215.56 215.56 + 34 194 128.00 128.00 128.00 + 50 2 183.00 183.00 61.33 + 50 18 128.00 128.00 128.00 + 50 34 222.56 76.67 76.67 + 50 50 194.67 194.67 194.67 + 50 66 190.00 143.67 143.67 + 50 82 155.89 82.22 82.22 + 50 98 107.44 107.44 107.44 + 50 114 183.33 69.56 69.56 + 50 130 197.44 165.22 165.22 + 50 146 140.78 95.22 95.22 + 50 162 173.67 173.67 173.67 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 144.00 144.00 144.00 + 66 34 156.44 112.22 112.22 + 66 50 126.44 126.44 126.44 + 66 66 169.11 169.11 55.22 + 66 82 123.11 82.44 82.44 + 66 98 151.56 95.11 95.11 + 66 114 172.56 88.56 88.56 + 66 130 146.00 146.00 146.00 + 66 146 115.67 115.67 91.22 + 66 162 113.78 113.78 113.78 + 66 178 103.11 97.56 97.56 + 66 194 136.89 136.89 136.89 + 82 2 128.00 128.00 128.00 + 82 18 157.89 110.78 110.78 + 82 34 115.56 115.56 115.56 + 82 50 157.44 129.44 129.44 + 82 66 170.22 140.56 140.56 + 82 82 136.44 136.44 136.44 + 82 98 167.89 167.89 167.89 + 82 114 206.00 191.33 47.33 + 82 130 176.67 176.67 30.22 + 82 146 176.56 152.56 152.56 + 82 162 100.00 100.00 100.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 144.33 122.89 122.89 + 98 50 127.11 84.11 84.11 + 98 66 186.11 169.89 169.89 + 98 82 154.11 95.67 95.67 + 98 98 148.78 148.78 148.78 + 98 114 208.56 208.56 208.56 + 98 130 173.67 168.33 168.33 + 98 146 198.22 198.22 198.22 + 98 162 188.89 188.89 188.89 + 98 178 140.22 102.44 102.44 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 99.78 84.56 84.56 + 114 34 111.11 104.33 104.33 + 114 50 197.67 197.67 197.67 + 114 66 104.78 104.78 104.78 + 114 82 201.22 201.22 201.22 + 114 98 195.11 127.44 127.44 + 114 114 189.00 126.11 126.11 + 114 130 124.22 110.11 110.11 + 114 146 176.33 93.33 93.33 + 114 162 123.89 91.22 91.22 + 114 178 123.67 123.67 123.67 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 113.22 113.22 113.22 + 130 34 134.56 134.56 134.56 + 130 50 123.78 123.78 99.44 + 130 66 187.11 187.11 187.11 + 130 82 106.78 106.78 106.78 + 130 98 198.78 198.78 198.78 + 130 114 135.89 127.11 127.11 + 130 130 127.33 116.44 99.67 + 130 146 132.11 97.11 97.11 + 130 162 171.89 84.00 84.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 127.00 56.33 56.33 + 146 34 98.33 98.33 98.33 + 146 50 144.78 59.44 59.44 + 146 66 196.00 148.78 148.78 + 146 82 132.56 132.56 132.56 + 146 98 179.67 163.22 163.22 + 146 114 89.00 49.33 49.33 + 146 130 81.33 55.89 55.89 + 146 146 98.89 94.89 94.89 + 146 162 191.33 64.11 64.11 + 146 178 124.11 88.11 88.11 + 146 194 174.11 174.11 83.22 + 162 2 128.00 128.00 128.00 + 162 18 175.56 154.33 125.78 + 162 34 137.11 123.11 123.11 + 162 50 128.00 128.00 128.00 + 162 66 121.00 53.78 53.78 + 162 82 133.56 133.56 133.56 + 162 98 120.44 120.44 120.44 + 162 114 110.67 110.67 110.67 + 162 130 116.22 116.22 116.22 + 162 146 106.33 106.33 106.33 + 162 162 150.22 121.67 121.67 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 211.44 211.44 66.00 + 178 18 128.00 128.00 128.00 + 178 34 107.00 107.00 107.00 + 178 50 128.00 128.00 128.00 + 178 66 172.00 56.00 56.00 + 178 82 111.00 111.00 111.00 + 178 98 128.00 128.00 128.00 + 178 114 170.11 108.11 108.11 + 178 130 117.33 83.67 83.67 + 178 146 142.44 142.44 142.44 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 161.11 161.11 57.78 + 194 66 130.00 130.00 130.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 146.11 146.11 146.11 + 194 130 139.56 109.78 109.78 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-peptide.yaml b/unittest/graphics/tests/dump-image-peptide.yaml new file mode 100644 index 00000000000..9ebc676d0ea --- /dev/null +++ b/unittest/graphics/tests/dump-image-peptide.yaml @@ -0,0 +1,603 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 13:32:17 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.5 view 60 30 shiny 0.2 box yes 0.02 bond atom 0.3 + dump_modify viz backcolor gray boxcolor yellow element C C O H N C C C O H H S O H acolor 1 silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 137.05 134.15 120.60 + 133.65 127.83 119.11 + 138.37 128.56 117.97 + 139.63 131.28 117.48 + 135.56 129.14 115.13 + 133.28 129.62 116.04 + 132.44 131.32 117.44 + 133.99 133.76 120.64 + 132.92 131.90 118.44 + 133.66 132.30 119.38 + 138.62 135.65 121.43 + 137.97 134.74 120.97 + 139.27 133.57 119.10 + 144.48 135.39 121.72 + 153.13 144.47 130.61 + 147.56 141.18 126.18 + 133.39 127.33 111.77 + 136.06 120.41 105.56 + 146.25 126.81 113.24 + 146.06 128.50 118.86 + 143.56 123.00 119.25 + 150.66 132.03 128.83 + 149.07 131.29 127.12 + 142.63 128.60 122.67 + 133.99 125.08 117.69 + 136.90 127.78 120.16 + 142.71 129.89 122.75 + 144.98 128.94 122.05 + 143.88 121.52 115.10 + 149.94 122.69 115.47 + 146.25 120.22 111.36 + 140.81 119.66 111.95 + 142.97 129.18 121.68 + 146.35 134.66 127.64 + 144.19 130.95 124.43 + 134.43 122.91 115.76 + 133.94 122.16 113.32 + 140.47 125.22 117.39 + 145.54 129.50 121.91 + 148.40 131.38 124.25 + 149.18 129.22 122.36 + 145.99 125.52 119.11 + 151.78 127.19 120.02 + 146.22 122.70 114.72 + 133.03 116.11 108.44 + 141.24 124.14 117.72 + 155.78 128.68 123.76 + 156.95 125.44 121.29 + 155.70 121.84 114.29 + 153.82 123.09 111.56 + 155.76 131.03 117.26 + 155.59 131.46 117.32 + 148.56 127.95 114.30 + 147.99 125.56 111.65 + 141.91 119.89 106.70 + 148.34 130.84 117.66 + 153.93 139.53 123.25 + 157.54 141.67 124.00 + 146.02 130.50 115.91 + 145.91 122.53 109.11 + 154.49 122.71 109.25 + 148.40 117.76 104.78 + 161.84 131.57 118.30 + 163.53 140.42 126.31 + 153.26 138.63 124.51 + 142.50 128.41 114.78 + 137.69 125.49 111.82 + 157.28 134.90 121.72 + 156.37 136.41 122.92 + 149.84 126.03 112.02 + 140.09 112.52 98.99 + 145.98 114.58 100.72 + 152.88 118.67 105.30 + 150.00 119.22 105.99 + 150.92 131.24 118.29 + 155.95 137.04 122.94 + 153.97 126.03 112.34 + 151.98 120.56 106.50 + 143.68 117.69 104.11 + 145.07 126.93 113.31 + 153.30 140.00 126.88 + 160.18 140.94 127.47 + 154.83 126.50 112.53 + 149.06 122.74 109.25 + 143.16 119.36 107.51 + 146.97 127.85 120.68 + 146.34 131.55 129.46 + 147.31 129.72 127.58 + 149.15 126.17 124.03 + 151.03 122.64 120.49 + 149.47 121.75 119.60 + 153.09 121.13 118.98 + 146.81 119.02 116.87 + 143.09 122.96 120.81 + 141.88 122.94 120.79 + 142.31 119.55 117.40 + 149.69 123.37 121.22 + 154.75 130.72 128.57 + 150.62 126.47 124.33 + 134.53 110.61 108.47 + 139.47 118.53 116.39 + 146.66 116.45 114.31 + 153.07 121.70 119.56 + 158.25 130.12 128.12 + 165.65 137.08 134.94 + 151.85 127.30 125.16 + 137.48 112.67 110.52 + 143.37 110.94 108.79 + 143.72 106.42 104.27 + 143.75 107.21 105.06 + 137.70 106.66 104.51 + 137.15 108.11 105.96 + 153.91 135.64 133.50 + 156.15 144.29 142.15 + 147.03 129.69 127.55 + 144.14 122.25 120.11 + 140.90 119.40 117.25 + 149.56 134.92 131.68 + 143.35 125.08 121.31 + 144.72 119.89 116.03 + 137.78 111.38 108.80 + 141.59 114.77 112.62 + 149.09 120.55 118.40 + 157.16 125.14 123.00 + 152.58 123.92 121.77 + 145.24 117.25 114.02 + 144.90 119.27 113.55 + 144.22 120.27 117.70 + 142.82 123.94 121.79 + 153.54 131.90 129.75 + 145.03 126.57 123.67 + 146.99 129.50 126.27 + 145.54 124.89 122.75 + 139.69 117.27 115.12 + 138.40 115.90 112.65 + 135.40 119.67 117.52 + 151.73 135.69 131.40 + 157.64 140.47 135.08 + 147.66 125.94 120.01 + 147.68 117.07 108.43 + 154.99 119.18 112.77 + 153.47 122.20 119.08 + 137.68 114.04 110.72 + 135.49 116.69 114.55 + 139.63 120.95 117.00 + 141.66 125.45 118.39 + 140.50 121.75 111.83 + 144.49 123.64 111.69 + 155.19 131.75 120.12 + 147.35 125.46 117.76 + 148.80 129.68 125.62 + 138.31 125.29 122.20 + 147.46 130.84 127.06 + 149.25 127.00 120.86 + 157.56 132.25 126.30 + 149.83 127.98 120.50 + 148.81 124.84 118.50 + 139.40 118.13 113.28 + 130.97 109.91 106.15 + 133.78 115.88 112.67 + 137.46 124.73 118.67 + 143.26 130.66 123.87 + 145.51 137.81 128.57 + 143.68 135.65 126.94 + 145.45 130.62 122.12 + 154.74 135.79 126.55 + 151.56 133.75 124.73 + 140.34 122.88 113.07 + 132.16 118.03 108.46 + 127.49 115.50 107.49 + 142.60 125.82 119.89 + 147.87 133.43 128.08 + 154.31 140.44 133.17 + 145.41 132.43 123.46 + 128.70 119.72 110.33 + 126.45 119.61 111.48 + 135.39 131.69 125.05 + 139.16 135.36 128.97 + 140.29 132.00 121.56 + 141.47 130.22 115.50 + 132.41 125.44 113.14 + 136.55 132.58 116.64 + 139.41 138.46 123.00 + 138.88 137.66 122.16 + 136.56 133.23 119.28 + 136.59 130.12 116.80 + 137.91 127.47 111.69 + 138.14 127.81 111.63 + 138.44 129.32 113.63 + 135.71 130.30 114.57 + 134.06 131.45 116.22 + 130.66 128.38 112.81 + 132.13 128.19 112.13 + 140.84 135.66 119.30 + 141.34 133.81 117.93 + 137.72 130.29 115.98 + 135.12 131.12 120.95 + 133.10 130.59 120.52 + 132.97 132.24 116.55 + 133.15 133.15 117.39 +col_means: | + 135.04 135.04 123.44 + 135.96 135.96 124.22 + 135.18 135.18 122.58 + 134.24 133.18 121.77 + 136.91 130.99 122.64 + 141.38 132.07 123.49 + 142.86 135.35 126.03 + 140.40 134.81 123.45 + 139.53 131.46 120.79 + 142.40 131.75 120.33 + 141.71 127.78 116.85 + 137.74 123.07 112.78 + 134.41 120.69 109.27 + 138.90 128.06 115.78 + 137.18 127.33 114.99 + 134.21 127.35 116.67 + 136.06 132.00 121.50 + 139.25 131.91 120.98 + 140.66 127.60 120.00 + 143.29 127.41 118.85 + 143.17 127.26 118.00 + 142.41 124.37 115.17 + 143.47 123.54 114.52 + 146.01 123.41 113.61 + 149.62 124.78 114.00 + 150.68 126.82 118.95 + 142.00 121.19 112.38 + 137.74 118.79 108.70 + 134.25 121.17 110.89 + 145.60 132.69 124.11 + 153.13 135.94 126.59 + 150.92 136.57 127.08 + 138.12 128.51 120.08 + 139.30 126.45 117.92 + 139.55 123.30 114.12 + 141.03 121.30 112.94 + 147.28 126.41 115.86 + 155.34 136.94 127.58 + 151.79 134.94 125.49 + 143.79 125.62 117.23 + 137.10 120.11 111.86 + 143.01 127.82 118.69 + 151.53 133.22 124.90 + 150.72 132.88 124.30 + 151.93 138.81 129.45 + 152.38 136.88 127.50 + 147.72 123.75 115.32 + 146.72 117.20 107.88 + 145.85 116.26 107.22 + 141.97 116.33 108.01 + 146.14 131.38 121.70 + 145.16 134.66 125.32 + 146.72 130.93 122.69 + 146.91 129.65 123.23 + 145.93 125.68 119.27 + 142.87 118.56 111.07 + 142.24 117.10 110.53 + 144.32 123.30 115.70 + 148.28 130.06 122.86 + 137.69 118.80 112.73 + 144.62 121.53 116.29 + 152.56 129.16 123.94 + 158.25 134.32 131.23 + 151.24 127.90 125.41 + 152.60 129.34 126.45 + 151.31 126.28 122.25 + 150.69 124.35 116.72 + 143.34 121.98 115.58 + 147.91 128.78 122.78 + 145.67 123.81 117.59 + 145.50 125.73 121.04 + 148.37 131.29 126.22 + 155.08 135.18 123.83 + 152.44 133.72 126.41 + 145.29 126.72 119.81 + 147.03 125.19 120.97 + 141.62 113.59 109.46 + 142.95 116.77 114.21 + 151.00 130.45 127.53 + 157.03 136.78 133.65 + 149.75 131.41 129.09 + 147.03 133.09 130.31 + 152.35 139.22 136.12 + 150.59 135.46 132.41 + 149.63 125.29 122.70 + 145.56 116.16 113.20 + 143.75 117.00 113.87 + 148.20 117.46 115.09 + 145.39 115.27 112.47 + 141.27 111.56 108.44 + 133.73 108.69 105.21 + 139.59 119.47 116.06 + 148.71 135.21 132.24 + 152.59 141.50 138.38 + 145.00 133.97 131.58 + 156.46 138.28 135.47 + 152.54 126.61 123.47 + 141.34 115.03 112.04 + 138.98 113.86 111.22 + 147.72 126.58 123.58 + 154.33 134.06 130.96 + 152.07 124.56 122.12 + 152.35 121.77 118.92 + 143.32 118.40 115.25 + 136.47 118.11 114.36 + 140.47 129.28 125.77 + 142.40 125.50 121.22 + 142.29 122.97 119.01 + 148.62 123.72 120.42 + 151.68 124.74 120.53 + 148.18 122.56 118.26 + 145.44 122.45 119.46 + 151.67 124.81 122.10 + 151.50 127.78 124.94 + 154.09 123.92 120.84 + 155.12 122.33 119.83 + 157.35 126.39 123.50 + 143.31 117.21 114.07 + 141.66 113.86 110.84 + 135.25 108.67 105.94 + 141.00 113.98 110.92 + 142.71 119.03 115.95 + 141.59 118.89 116.34 + 146.41 123.22 120.30 + 147.75 126.89 123.75 + 151.56 131.74 129.44 + 153.31 137.89 49.25 + 168.76 157.33 59.30 + 127.59 118.32 52.54 + 142.75 112.59 107.56 + 150.04 120.00 116.31 + 153.05 119.39 115.03 + 154.50 126.64 121.84 + 155.11 131.64 127.45 + 144.20 125.90 121.60 + 137.76 117.84 113.45 + 136.00 119.49 114.98 + 141.88 121.01 116.59 + 145.91 128.35 122.94 + 153.65 135.80 129.91 + 151.26 130.19 123.97 + 143.21 126.18 120.64 + 146.16 126.33 120.28 + 150.80 132.16 125.73 + 149.61 130.59 123.14 + 144.23 128.74 120.06 + 148.22 125.61 117.77 + 148.06 126.17 117.47 + 149.71 121.37 112.78 + 152.96 117.58 108.34 + 151.40 124.48 114.81 + 142.22 124.58 114.91 + 147.59 132.31 123.83 + 144.49 130.11 121.53 + 142.75 126.50 117.53 + 147.82 126.05 116.36 + 151.11 123.18 112.41 + 142.31 120.23 108.36 + 148.37 130.87 120.29 + 149.57 138.18 128.72 + 145.15 132.72 124.49 + 141.81 126.89 119.13 + 140.26 117.85 111.44 + 149.24 125.69 114.42 + 147.69 124.22 112.42 + 154.91 134.36 121.73 + 151.66 130.12 118.58 + 142.02 125.22 113.89 + 136.06 120.20 108.34 + 137.33 122.37 114.00 + 143.99 128.43 119.42 + 144.79 126.83 117.34 + 136.30 120.00 110.47 + 136.57 120.83 111.52 + 143.33 128.35 118.48 + 144.07 124.53 116.22 + 141.26 121.70 113.42 + 133.89 119.51 110.62 + 141.19 132.22 121.65 + 142.79 136.43 126.95 + 144.66 138.31 129.00 + 141.34 132.86 123.09 + 137.53 128.28 120.10 + 137.68 126.89 118.69 + 135.28 125.33 116.52 + 136.66 128.46 119.17 + 139.82 127.63 117.05 + 142.50 128.01 116.09 + 138.89 126.42 113.72 + 136.47 127.99 114.98 + 135.15 128.50 118.24 + 134.65 128.94 118.47 + 135.48 130.46 120.19 + 131.72 129.28 119.74 + 131.44 130.26 118.33 + 133.28 130.79 118.08 + 136.58 132.26 119.42 + 135.82 130.41 119.15 + 133.48 128.81 118.08 + 131.59 129.09 117.91 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 169.22 169.22 20.56 + 2 66 128.00 128.00 128.00 + 2 82 171.78 171.78 171.78 + 2 98 122.11 122.11 122.11 + 2 114 203.67 71.78 71.78 + 2 130 122.11 122.11 114.00 + 2 146 167.44 167.44 94.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 110.33 110.33 43.44 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 151.89 50.89 50.89 + 18 98 117.44 100.00 100.00 + 18 114 164.89 85.67 85.67 + 18 130 213.56 151.00 151.00 + 18 146 100.56 100.56 100.56 + 18 162 128.00 128.00 128.00 + 18 178 220.89 174.78 174.78 + 18 194 210.11 210.11 26.44 + 34 2 128.00 128.00 128.00 + 34 18 192.11 192.11 192.11 + 34 34 128.00 128.00 128.00 + 34 50 127.56 104.56 104.56 + 34 66 128.00 128.00 128.00 + 34 82 95.89 95.89 95.89 + 34 98 128.00 128.00 128.00 + 34 114 175.11 87.33 87.33 + 34 130 141.89 141.89 141.89 + 34 146 116.44 103.67 103.67 + 34 162 130.56 130.56 130.56 + 34 178 215.56 215.56 215.56 + 34 194 128.00 128.00 128.00 + 50 2 183.00 183.00 61.33 + 50 18 128.00 128.00 128.00 + 50 34 222.56 76.67 76.67 + 50 50 194.67 194.67 194.67 + 50 66 190.00 143.67 143.67 + 50 82 155.89 82.22 82.22 + 50 98 107.44 107.44 107.44 + 50 114 183.33 69.56 69.56 + 50 130 197.44 165.22 165.22 + 50 146 140.78 95.22 95.22 + 50 162 173.67 173.67 173.67 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 144.00 144.00 144.00 + 66 34 166.33 93.78 93.78 + 66 50 126.44 126.44 126.44 + 66 66 169.11 169.11 55.22 + 66 82 123.11 82.44 82.44 + 66 98 151.56 95.11 95.11 + 66 114 172.56 88.56 88.56 + 66 130 146.00 146.00 146.00 + 66 146 115.67 115.67 91.22 + 66 162 113.78 113.78 113.78 + 66 178 103.11 97.56 97.56 + 66 194 136.89 136.89 136.89 + 82 2 128.00 128.00 128.00 + 82 18 157.89 110.78 110.78 + 82 34 115.56 115.56 115.56 + 82 50 157.44 129.44 129.44 + 82 66 170.22 140.56 140.56 + 82 82 136.44 136.44 136.44 + 82 98 167.89 167.89 167.89 + 82 114 206.00 191.33 47.33 + 82 130 176.67 176.67 30.22 + 82 146 176.56 152.56 152.56 + 82 162 100.00 100.00 100.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 144.33 122.89 122.89 + 98 50 127.11 84.11 84.11 + 98 66 186.11 169.89 169.89 + 98 82 154.11 95.67 95.67 + 98 98 148.78 148.78 148.78 + 98 114 208.56 208.56 208.56 + 98 130 168.89 95.11 95.11 + 98 146 198.22 198.22 198.22 + 98 162 188.89 188.89 188.89 + 98 178 140.22 102.44 102.44 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 99.78 84.56 84.56 + 114 34 111.11 104.33 104.33 + 114 50 197.67 197.67 197.67 + 114 66 104.78 104.78 104.78 + 114 82 201.22 201.22 201.22 + 114 98 195.11 127.44 127.44 + 114 114 189.00 126.11 126.11 + 114 130 124.22 110.11 110.11 + 114 146 176.33 93.33 93.33 + 114 162 123.89 91.22 91.22 + 114 178 123.67 123.67 123.67 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 113.22 113.22 113.22 + 130 34 134.56 134.56 134.56 + 130 50 123.78 123.78 99.44 + 130 66 187.11 187.11 187.11 + 130 82 106.78 106.78 106.78 + 130 98 198.78 198.78 198.78 + 130 114 135.89 127.11 127.11 + 130 130 127.33 116.44 99.67 + 130 146 132.11 97.11 97.11 + 130 162 171.89 84.00 84.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 127.00 56.33 56.33 + 146 34 98.33 98.33 98.33 + 146 50 144.78 59.44 59.44 + 146 66 196.00 148.78 148.78 + 146 82 132.56 132.56 132.56 + 146 98 179.67 163.22 163.22 + 146 114 89.00 49.33 49.33 + 146 130 81.33 55.89 55.89 + 146 146 98.89 94.89 94.89 + 146 162 191.33 64.11 64.11 + 146 178 124.11 88.11 88.11 + 146 194 174.11 174.11 83.22 + 162 2 128.00 128.00 128.00 + 162 18 175.56 154.33 125.78 + 162 34 137.11 123.11 123.11 + 162 50 128.00 128.00 128.00 + 162 66 121.00 53.78 53.78 + 162 82 133.56 133.56 133.56 + 162 98 120.44 120.44 120.44 + 162 114 110.67 110.67 110.67 + 162 130 116.22 116.22 116.22 + 162 146 106.33 106.33 106.33 + 162 162 150.22 121.67 121.67 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 211.44 211.44 66.00 + 178 18 128.00 128.00 128.00 + 178 34 125.11 125.11 125.11 + 178 50 128.00 128.00 128.00 + 178 66 172.00 56.00 56.00 + 178 82 111.00 111.00 111.00 + 178 98 128.00 128.00 128.00 + 178 114 170.11 108.11 108.11 + 178 130 117.33 83.67 83.67 + 178 146 142.44 142.44 142.44 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 161.11 161.11 57.78 + 194 66 130.00 130.00 130.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 146.11 146.11 146.11 + 194 130 139.56 109.78 109.78 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-region-block-open.yaml b/unittest/graphics/tests/dump-image-region-block-open.yaml new file mode 100644 index 00000000000..acd85977ae6 --- /dev/null +++ b/unittest/graphics/tests/dump-image-region-block-open.yaml @@ -0,0 +1,595 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:43 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -2 2 -2 2 -2 2 + create_box 1 box + mass 1 1.0 + region b1 block -1.5 -0.5 -1.5 -0.5 -1.5 1.5 open 5 open 6 + region b2 block 0.5 1.5 0.5 1.5 -1.5 1.5 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.025 region b1 firebrick filled region b2 goldenrod frame 0.04 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 70.58 70.58 70.58 + 73.71 73.71 73.71 + 76.31 76.31 76.31 + 76.39 76.39 76.39 + 76.70 76.70 76.70 + 76.91 76.91 76.91 + 76.60 76.60 76.60 + 77.13 77.13 77.13 + 76.89 76.89 76.89 + 76.84 76.84 76.84 + 76.73 76.73 76.73 + 76.84 76.84 76.84 + 76.80 76.80 76.80 + 76.80 76.80 76.80 + 77.00 77.00 77.00 + 76.66 76.66 76.66 + 76.88 76.88 76.88 + 76.67 76.67 76.67 + 76.89 76.89 76.89 + 76.57 76.57 76.57 + 77.10 77.10 77.10 + 76.86 76.86 76.86 + 76.81 76.81 76.81 + 76.89 76.89 76.89 + 76.82 76.82 76.82 + 78.03 76.17 76.17 + 80.47 75.50 75.50 + 82.05 74.61 74.61 + 83.78 73.24 73.24 + 85.64 72.61 72.61 + 86.89 70.14 70.14 + 84.59 65.38 65.38 + 85.86 64.16 64.16 + 86.18 63.99 63.99 + 86.83 64.30 64.30 + 86.94 63.92 63.92 + 87.58 64.08 64.08 + 88.05 63.44 63.44 + 87.28 63.22 63.22 + 86.88 63.34 63.34 + 86.17 63.18 63.18 + 85.09 62.91 62.91 + 84.25 62.61 62.61 + 83.81 62.84 62.84 + 83.03 62.60 62.60 + 82.22 62.34 62.34 + 82.53 62.65 62.65 + 82.44 62.55 62.55 + 82.28 62.39 62.39 + 82.66 62.77 62.77 + 82.44 62.55 62.55 + 82.31 62.42 62.42 + 82.96 63.08 63.08 + 86.63 66.75 66.75 + 87.78 67.90 67.90 + 87.94 68.05 68.05 + 87.91 68.02 68.02 + 88.19 68.30 68.30 + 87.84 67.96 67.96 + 88.17 68.29 68.29 + 87.86 67.98 67.98 + 88.05 68.17 68.17 + 88.17 68.28 68.28 + 88.28 68.39 68.39 + 88.06 68.17 68.17 + 87.94 68.73 68.00 + 89.75 72.03 69.36 + 90.06 72.40 69.27 + 88.64 73.09 69.79 + 87.92 73.80 70.72 + 87.98 73.95 70.97 + 87.93 74.29 70.94 + 87.85 74.19 71.19 + 85.47 72.06 70.06 + 85.43 71.41 70.30 + 85.67 71.61 70.41 + 85.83 71.77 70.56 + 85.88 71.33 70.10 + 86.56 71.66 69.53 + 88.38 73.77 70.39 + 89.51 73.38 69.33 + 89.61 72.73 68.50 + 88.67 71.03 67.81 + 84.81 67.38 64.19 + 84.28 65.27 60.72 + 84.41 64.97 60.75 + 81.73 62.76 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 81.72 62.74 60.15 + 80.92 62.58 59.98 + 79.32 62.23 59.63 + 78.12 61.98 59.38 + 77.72 61.90 59.30 + 76.52 61.64 59.04 + 76.66 61.95 59.35 + 77.83 63.45 60.85 + 81.35 66.98 64.38 + 84.11 69.75 67.14 + 83.05 68.84 66.25 + 81.17 68.59 65.99 + 80.15 69.20 66.60 + 80.00 71.33 68.73 + 81.06 74.02 71.42 + 78.97 74.03 71.44 + 79.00 75.69 73.09 + 80.22 77.57 74.97 + 79.63 78.60 76.00 + 79.55 78.52 75.92 + 79.17 78.14 75.54 + 79.39 78.36 75.77 + 79.18 78.15 75.55 + 79.41 78.38 75.78 + 79.06 78.03 75.43 + 79.62 78.59 75.99 + 79.36 78.33 75.73 + 79.53 78.50 75.91 + 79.39 78.36 75.75 + 77.14 76.11 73.51 + 73.83 72.80 70.19 + 73.91 72.88 70.28 + 73.86 72.83 70.23 + 73.73 72.70 70.10 + 73.53 72.50 69.91 + 73.88 72.85 70.25 + 73.75 72.72 70.12 + 73.58 72.56 69.95 + 75.03 73.83 70.63 + 76.97 75.45 70.88 + 76.63 74.92 70.61 + 75.20 73.95 70.38 + 76.45 74.92 71.04 + 73.82 72.67 69.77 + 77.11 75.36 70.92 + 76.31 74.97 70.81 + 74.11 73.07 70.44 + 73.74 72.73 70.20 + 74.35 73.20 70.30 + 74.09 73.06 70.45 + 73.33 72.32 69.79 + 73.68 72.78 70.22 + 78.68 77.73 74.56 + 79.80 78.97 76.81 + 80.16 79.50 77.06 + 80.74 79.64 76.89 + 80.38 79.38 76.11 + 80.58 79.36 76.29 + 79.33 78.77 76.56 + 76.83 76.64 76.19 + 76.72 76.72 76.72 + 76.98 76.98 76.98 + 76.96 76.96 76.96 + 76.59 76.59 76.59 + 76.93 76.93 76.93 + 76.60 76.60 76.60 + 76.81 76.81 76.81 + 76.89 76.89 76.89 + 77.06 77.06 77.06 + 76.79 76.79 76.79 + 76.89 76.89 76.89 + 76.82 76.82 76.82 + 76.73 76.73 76.73 + 77.18 77.18 77.18 + 76.96 76.96 76.96 + 76.96 76.96 76.96 + 76.55 76.55 76.55 + 76.92 76.92 76.92 + 76.58 76.58 76.58 + 76.78 76.78 76.78 + 75.96 75.96 75.96 + 73.37 73.37 73.37 + 69.94 69.94 69.94 + 68.73 68.73 68.73 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 99.05 99.05 99.05 + 94.72 94.72 94.72 + 76.70 76.70 76.70 + 73.67 73.67 73.67 + 74.75 74.75 74.75 + 74.75 74.75 74.75 + 74.50 74.50 74.50 + 74.75 74.75 74.75 + 74.75 74.75 74.75 + 74.09 74.09 74.09 + 73.67 73.67 73.67 + 74.67 74.67 74.67 + 74.68 74.68 74.68 + 74.44 74.44 74.44 + 74.81 74.81 74.81 + 75.06 75.06 75.06 + 74.17 74.17 74.17 + 73.70 73.70 73.70 + 74.58 74.58 74.58 + 74.59 74.59 74.59 + 74.38 74.38 74.38 + 74.84 74.84 74.84 + 74.97 74.97 74.97 + 74.67 74.67 74.67 + 73.50 73.50 73.50 + 74.51 74.51 74.51 + 74.50 74.50 74.50 + 74.33 74.33 74.33 + 74.85 74.85 74.85 + 74.94 74.94 74.94 + 75.00 75.00 75.00 + 73.69 73.69 73.69 + 74.42 74.42 74.42 + 74.41 74.41 74.41 + 73.94 73.94 73.94 + 74.83 74.83 74.83 + 74.90 74.90 74.90 + 74.92 74.92 74.92 + 74.31 74.31 74.31 + 74.30 74.30 74.30 + 74.33 74.33 74.33 + 73.88 73.88 73.88 + 74.81 74.81 74.81 + 74.84 74.84 74.84 + 74.89 74.89 74.89 + 74.75 74.75 74.75 + 74.31 74.31 74.31 + 74.25 74.25 74.25 + 73.64 73.64 73.64 + 74.78 74.78 74.78 + 74.78 74.78 74.78 + 74.52 74.52 74.52 + 93.56 56.56 56.56 + 93.33 56.34 56.34 + 93.79 56.17 56.17 + 94.03 55.17 55.17 + 95.41 55.94 55.94 + 95.75 55.65 55.65 + 96.02 55.16 55.16 + 96.97 55.02 55.02 + 104.97 62.39 62.39 + 103.45 60.74 60.74 + 99.53 55.71 55.71 + 99.41 54.97 54.97 + 100.00 54.95 54.95 + 100.11 54.30 54.30 + 100.77 53.85 53.85 + 101.27 54.35 54.35 + 101.34 54.29 54.29 + 100.68 53.77 53.77 + 101.14 54.23 54.23 + 101.25 54.33 54.33 + 100.96 53.91 53.91 + 114.55 76.27 44.11 + 94.84 61.36 41.67 + 102.56 55.30 53.56 + 102.60 55.99 54.74 + 103.31 56.67 55.41 + 95.81 54.26 51.83 + 95.78 54.98 52.38 + 96.47 56.62 54.95 + 96.14 56.56 53.50 + 95.22 55.46 53.74 + 95.64 57.02 55.53 + 96.58 57.73 55.79 + 95.53 57.12 54.01 + 95.50 57.62 54.77 + 96.42 58.99 57.29 + 109.09 79.35 47.51 + 89.64 64.70 45.11 + 97.82 61.42 60.03 + 98.96 62.94 61.09 + 98.41 62.52 60.03 + 78.72 77.78 74.84 + 79.28 78.86 77.55 + 79.57 78.97 77.46 + 78.68 77.69 75.19 + 78.62 78.22 76.94 + 80.00 79.90 78.13 + 101.36 88.36 55.43 + 78.03 70.39 50.16 + 78.89 77.91 75.06 + 79.20 78.75 77.58 + 77.83 76.92 74.61 + 103.00 102.78 102.24 + 95.36 95.19 94.69 + 76.62 76.39 75.19 + 76.63 75.56 72.86 + 76.87 76.10 73.52 + 77.97 77.41 75.88 + 77.25 76.08 73.15 + 76.86 75.89 73.47 + 77.06 76.91 76.32 + 77.34 76.83 74.66 + 97.41 84.97 54.03 + 75.28 68.61 50.85 + 74.77 74.77 74.77 + 74.75 74.75 74.75 + 74.47 74.47 74.47 + 74.92 74.92 74.92 + 74.72 74.72 74.72 + 74.11 74.11 74.11 + 73.73 73.73 73.73 + 74.69 74.69 74.69 + 74.67 74.67 74.67 + 74.12 74.12 74.12 + 74.94 74.94 74.94 + 75.03 75.03 75.03 + 74.17 74.17 74.17 + 73.78 73.78 73.78 + 74.58 74.58 74.58 + 74.60 74.60 74.60 + 74.11 74.11 74.11 + 74.95 74.95 74.95 + 74.94 74.94 74.94 + 74.67 74.67 74.67 + 73.81 73.81 73.81 + 74.47 74.47 74.47 + 74.50 74.50 74.50 + 73.86 73.86 73.86 + 74.95 74.95 74.95 + 74.91 74.91 74.91 + 75.01 75.01 75.01 + 73.94 73.94 73.94 + 74.37 74.37 74.37 + 74.42 74.42 74.42 + 73.88 73.88 73.88 + 74.94 74.94 74.94 + 74.88 74.88 74.88 + 74.58 74.58 74.58 + 74.54 74.54 74.54 + 74.25 74.25 74.25 + 74.33 74.33 74.33 + 73.88 73.88 73.88 + 74.89 74.89 74.89 + 74.83 74.83 74.83 + 74.53 74.53 74.53 + 74.97 74.97 74.97 + 74.27 74.27 74.27 + 74.25 74.25 74.25 + 73.89 73.89 73.89 + 74.81 74.81 74.81 + 74.77 74.77 74.77 + 73.68 73.68 73.68 + 100.69 100.69 100.69 + 91.33 91.33 91.33 + 72.48 72.48 72.48 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 81.44 81.44 81.44 + 18 82 69.00 69.00 69.00 + 18 98 69.00 69.00 69.00 + 18 114 100.56 100.56 100.56 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 67.67 67.67 67.67 + 34 66 69.00 69.00 69.00 + 34 82 153.00 29.00 29.00 + 34 98 125.00 42.33 42.33 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 69.00 69.00 69.00 + 34 162 69.00 69.00 69.00 + 34 178 180.67 180.67 180.67 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 121.00 24.00 24.00 + 50 98 121.00 24.00 24.00 + 50 114 69.00 69.00 69.00 + 50 130 69.00 69.00 69.00 + 50 146 69.00 69.00 69.00 + 50 162 79.56 79.56 79.56 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 105.67 105.67 105.67 + 66 34 69.00 69.00 69.00 + 66 50 165.67 165.67 165.67 + 66 66 69.00 69.00 69.00 + 66 82 121.00 24.00 24.00 + 66 98 121.00 24.00 24.00 + 66 114 69.00 69.00 69.00 + 66 130 69.00 69.00 69.00 + 66 146 118.00 118.00 118.00 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 105.67 105.67 105.67 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 121.00 24.00 24.00 + 82 98 167.11 134.78 134.78 + 82 114 69.00 69.00 69.00 + 82 130 97.67 94.00 84.89 + 82 146 69.00 69.00 69.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 105.67 105.67 105.67 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 69.00 69.00 69.00 + 98 82 121.00 24.00 24.00 + 98 98 121.00 24.00 24.00 + 98 114 69.00 69.00 69.00 + 98 130 91.00 80.00 52.67 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 105.67 105.67 105.67 + 114 34 69.00 69.00 69.00 + 114 50 69.00 69.00 69.00 + 114 66 69.00 69.00 69.00 + 114 82 121.00 24.00 24.00 + 114 98 41.00 7.00 7.00 + 114 114 69.00 69.00 69.00 + 114 130 91.00 80.00 52.67 + 114 146 69.00 69.00 69.00 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 105.67 105.67 105.67 + 130 34 69.00 69.00 69.00 + 130 50 69.00 69.00 69.00 + 130 66 69.00 69.00 69.00 + 130 82 69.00 69.00 69.00 + 130 98 69.00 69.00 69.00 + 130 114 69.00 69.00 69.00 + 130 130 91.00 80.00 52.67 + 130 146 176.33 176.33 176.33 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 105.67 105.67 105.67 + 146 34 97.89 97.89 97.89 + 146 50 69.00 69.00 69.00 + 146 66 69.00 69.00 69.00 + 146 82 69.00 69.00 69.00 + 146 98 69.00 69.00 69.00 + 146 114 69.00 69.00 69.00 + 146 130 91.00 80.00 52.67 + 146 146 69.00 69.00 69.00 + 146 162 69.00 69.00 69.00 + 146 178 68.89 68.89 68.89 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 120.33 120.33 120.33 + 162 34 69.00 69.00 69.00 + 162 50 69.00 69.00 69.00 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 110.33 105.00 89.67 + 162 114 69.00 69.00 69.00 + 162 130 69.00 69.00 69.00 + 162 146 69.00 69.00 69.00 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 68.00 68.00 68.00 + 178 82 91.33 91.33 91.33 + 178 98 69.00 69.00 69.00 + 178 114 69.00 69.00 69.00 + 178 130 69.00 69.00 69.00 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-region-plane-sphere.yaml b/unittest/graphics/tests/dump-image-region-plane-sphere.yaml new file mode 100644 index 00000000000..eec21384139 --- /dev/null +++ b/unittest/graphics/tests/dump-image-region-plane-sphere.yaml @@ -0,0 +1,595 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:42 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -2 2 -2 2 -2 2 + create_box 1 box + mass 1 1.0 + region p1 plane 0.0 0.0 -1.0 0.3 0.2 1.0 side in + region s1 sphere 1.0 1.0 1.0 0.8 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.025 region p1 forestgreen filled region p1 silver points 8000 0.1 region s1 goldenrod transparent 0.4 region s1 cadetblue frame 0.05 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 70.58 70.58 70.58 + 73.71 73.71 73.71 + 76.31 76.31 76.31 + 76.39 76.39 76.39 + 76.70 76.70 76.70 + 79.21 79.21 79.21 + 79.47 79.47 79.47 + 79.08 79.08 79.08 + 78.79 78.79 78.79 + 78.12 78.12 78.12 + 78.56 78.56 78.56 + 79.24 79.24 79.24 + 81.39 81.39 81.39 + 80.05 80.05 80.05 + 82.94 82.94 82.94 + 92.23 92.23 92.23 + 92.92 92.92 92.92 + 89.03 89.03 89.03 + 94.45 94.45 94.45 + 89.53 89.53 89.53 + 94.63 94.63 94.63 + 85.83 85.83 85.83 + 89.22 89.22 89.22 + 94.88 94.88 94.88 + 98.92 98.92 98.92 + 101.22 101.22 101.22 + 102.89 102.89 102.89 + 101.62 101.62 101.62 + 96.63 96.63 96.63 + 105.83 105.83 105.83 + 114.14 114.14 114.14 + 107.09 107.09 107.09 + 105.88 105.88 105.88 + 106.48 106.48 106.48 + 107.64 107.64 107.64 + 116.02 116.02 116.02 + 112.78 112.78 112.78 + 104.39 104.39 104.39 + 110.97 110.97 110.97 + 113.07 113.07 113.07 + 113.27 113.27 113.27 + 107.94 107.94 107.94 + 116.38 116.38 116.38 + 111.08 111.08 111.08 + 119.19 119.19 119.19 + 114.72 114.72 114.72 + 123.25 123.25 123.25 + 124.68 124.68 124.68 + 118.32 118.32 118.32 + 119.23 119.23 119.23 + 119.03 119.03 119.03 + 122.02 122.02 122.02 + 120.64 120.64 120.64 + 132.78 132.78 132.78 + 124.03 124.03 124.03 + 124.53 124.53 124.53 + 129.45 129.45 129.45 + 121.90 121.90 121.90 + 126.94 126.94 126.94 + 127.42 127.42 127.42 + 120.95 120.95 120.95 + 125.55 126.08 125.55 + 125.42 125.42 125.42 + 125.88 125.88 125.88 + 127.67 128.56 128.57 + 124.17 126.76 126.28 + 122.53 126.98 126.57 + 118.86 122.41 122.52 + 119.72 122.17 122.25 + 122.32 125.59 125.69 + 118.27 122.92 123.05 + 118.84 124.55 124.12 + 122.96 128.28 128.44 + 121.85 125.68 125.78 + 117.99 120.80 120.88 + 123.22 126.48 126.57 + 124.14 127.03 127.11 + 120.51 124.87 124.98 + 117.42 121.06 121.16 + 118.03 121.82 121.91 + 122.25 125.88 125.42 + 112.49 116.02 115.03 + 129.89 135.33 134.92 + 128.01 132.46 132.55 + 128.82 133.19 132.75 + 119.21 125.11 124.73 + 121.21 126.99 126.10 + 119.44 126.51 125.62 + 107.25 113.39 113.03 + 116.06 123.94 123.08 + 119.95 125.78 123.77 + 120.64 125.74 125.28 + 123.67 129.93 129.57 + 112.14 117.23 115.73 + 114.25 120.30 118.84 + 106.66 113.97 111.99 + 107.15 115.56 112.55 + 112.40 120.92 117.40 + 117.47 126.83 123.86 + 106.75 115.47 110.53 + 103.88 116.87 107.65 + 108.24 120.94 112.64 + 118.44 129.03 121.20 + 111.89 123.55 113.92 + 106.92 122.05 110.06 + 111.08 125.57 113.30 + 108.39 123.50 110.95 + 107.14 123.12 109.53 + 93.32 112.05 95.33 + 113.74 130.50 114.80 + 108.89 122.80 109.70 + 100.03 118.78 100.96 + 100.47 121.78 100.80 + 100.66 127.04 100.79 + 103.98 126.56 103.98 + 109.90 133.53 109.90 + 112.73 129.53 112.73 + 119.13 134.88 119.13 + 119.16 132.28 119.16 + 111.45 126.68 111.45 + 102.11 119.95 102.11 + 103.47 127.62 103.47 + 113.25 134.25 113.25 + 107.02 126.44 107.02 + 104.19 127.30 104.19 + 103.44 130.75 103.44 + 108.58 130.63 108.58 + 109.44 127.82 109.44 + 101.53 120.95 101.53 + 106.19 129.28 106.19 + 92.97 117.64 92.97 + 107.41 138.38 107.41 + 102.52 130.34 102.52 + 100.69 135.87 100.69 + 99.90 135.07 99.90 + 96.91 127.89 96.91 + 103.05 135.59 103.05 + 86.60 121.78 86.60 + 88.98 128.36 88.98 + 88.55 127.92 88.55 + 93.45 125.47 93.45 + 92.37 121.25 92.37 + 91.19 122.69 91.19 + 91.72 122.70 91.72 + 86.70 117.15 86.70 + 85.66 118.21 85.66 + 87.03 120.63 87.03 + 84.05 117.12 84.05 + 82.46 118.69 82.46 + 84.61 116.64 84.61 + 79.65 111.67 79.65 + 82.14 115.73 82.14 + 80.66 112.68 80.66 + 86.16 115.56 86.16 + 79.56 108.95 79.56 + 78.57 107.97 78.57 + 78.69 108.09 78.69 + 88.08 113.28 88.08 + 84.42 109.09 84.42 + 84.95 111.20 84.95 + 81.39 109.21 81.39 + 82.65 109.95 82.65 + 83.87 106.97 83.87 + 80.81 103.91 80.81 + 80.35 103.97 80.35 + 79.89 104.57 79.89 + 80.06 102.11 80.06 + 78.44 102.06 78.44 + 77.09 99.14 77.09 + 78.84 100.36 78.84 + 79.86 99.28 79.86 + 76.09 95.52 76.09 + 80.38 97.70 80.38 + 79.95 94.65 79.95 + 76.85 90.50 76.85 + 74.61 90.89 74.61 + 74.87 91.14 74.87 + 76.28 90.46 76.28 + 78.14 89.69 78.14 + 78.57 88.02 78.57 + 77.39 84.75 77.39 + 74.83 83.23 74.83 + 73.42 81.30 73.42 + 72.09 78.92 72.09 + 73.52 76.67 73.52 + 74.03 75.08 74.03 + 72.19 73.25 72.19 + 69.47 70.52 69.47 + 68.68 69.73 68.68 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 68.92 69.44 68.92 + 68.92 69.44 68.92 + 68.84 69.89 68.84 + 68.76 70.33 68.76 + 68.68 70.78 68.68 + 99.05 99.05 99.05 + 94.42 94.94 94.42 + 76.58 77.11 76.58 + 75.68 84.08 75.68 + 77.75 86.67 77.75 + 81.39 91.89 81.39 + 81.41 91.38 81.41 + 88.30 96.69 88.30 + 92.90 100.78 92.90 + 90.88 99.28 90.88 + 86.76 96.73 86.76 + 91.76 101.73 91.76 + 90.23 99.69 90.23 + 93.70 104.72 93.70 + 93.83 105.38 93.83 + 93.67 104.69 93.67 + 102.67 108.97 102.67 + 98.13 104.95 98.13 + 95.05 102.92 95.05 + 96.31 106.81 96.31 + 94.36 105.91 94.36 + 97.73 110.86 97.73 + 88.55 102.72 88.55 + 99.80 116.59 99.80 + 96.58 113.38 96.58 + 99.36 118.25 99.36 + 97.48 114.28 97.48 + 95.03 110.78 95.03 + 103.17 117.35 103.17 + 98.12 114.92 98.12 + 103.66 119.41 103.66 + 98.94 115.21 98.94 + 101.55 116.25 101.55 + 99.53 111.60 99.53 + 109.35 118.80 109.35 + 105.73 116.76 105.73 + 110.22 122.83 110.22 + 106.99 118.02 106.99 + 106.44 115.37 106.44 + 107.73 118.75 107.73 + 108.73 117.66 108.73 + 116.87 122.64 116.87 + 110.55 121.05 110.55 + 105.72 118.32 105.72 + 113.77 124.80 113.77 + 107.56 121.21 107.56 + 109.62 124.33 109.62 + 115.31 128.96 115.31 + 114.14 126.21 114.14 + 114.64 126.19 114.64 + 113.04 122.49 113.04 + 112.92 123.42 112.92 + 118.94 127.87 118.94 + 116.88 127.38 116.88 + 120.44 133.56 120.44 + 115.34 127.42 115.34 + 116.91 128.99 116.91 + 116.74 128.29 116.74 + 114.77 126.31 114.77 + 118.11 130.19 118.11 + 116.28 130.46 116.28 + 118.22 133.97 118.22 + 119.83 134.53 119.83 + 116.33 130.50 116.33 + 113.26 127.44 113.26 + 119.75 133.92 119.75 + 115.98 129.11 115.98 + 123.13 134.16 123.13 + 123.80 134.29 123.80 + 120.41 131.96 120.41 + 118.87 129.34 119.91 + 115.68 126.89 117.50 + 122.86 136.34 125.92 + 114.50 130.19 118.19 + 115.14 128.76 118.86 + 119.50 131.38 121.97 + 113.79 130.84 116.72 + 118.63 137.42 122.28 + 112.15 130.24 114.56 + 112.77 130.19 116.66 + 121.08 137.20 125.22 + 114.52 132.02 120.22 + 116.14 132.43 122.12 + 110.37 129.47 116.52 + 115.77 134.34 121.09 + 116.60 136.47 121.36 + 110.14 130.09 115.53 + 108.35 133.11 113.28 + 117.70 137.21 122.14 + 118.52 133.01 122.09 + 114.57 131.12 118.64 + 117.00 132.69 122.31 + 115.59 130.37 123.23 + 108.75 125.19 116.47 + 117.60 134.26 121.89 + 120.73 137.39 124.37 + 108.44 127.33 112.76 + 109.22 126.30 114.33 + 123.96 136.91 128.59 + 117.42 131.01 122.74 + 118.83 136.00 122.95 + 110.07 129.63 114.00 + 104.40 129.11 110.69 + 112.68 132.67 117.06 + 122.20 124.17 123.68 + 115.62 117.61 117.67 + 95.53 97.83 97.89 + 112.28 129.22 116.19 + 112.03 123.46 115.69 + 112.53 126.80 114.78 + 107.41 121.42 109.39 + 108.15 123.49 109.88 + 111.93 125.81 114.86 + 112.70 126.39 115.44 + 110.42 128.24 113.07 + 104.84 120.42 106.81 + 107.02 119.22 108.77 + 109.79 119.60 110.71 + 113.15 123.31 113.89 + 120.32 130.82 120.32 + 119.67 128.07 119.67 + 109.69 120.72 109.69 + 110.36 122.43 110.36 + 116.25 127.27 116.25 + 105.79 118.39 105.79 + 101.90 116.60 101.90 + 106.94 123.22 106.94 + 108.42 121.55 108.42 + 103.85 115.92 103.85 + 101.29 114.94 101.29 + 105.73 121.48 105.73 + 102.75 115.35 102.75 + 101.77 115.42 101.77 + 108.45 120.53 108.45 + 107.80 120.92 107.80 + 97.12 109.19 97.12 + 98.00 112.17 98.00 + 93.46 108.69 93.46 + 99.19 114.94 99.19 + 103.56 114.06 103.56 + 106.42 112.72 106.42 + 97.83 106.23 97.83 + 98.11 110.71 98.11 + 89.19 100.74 89.19 + 93.37 109.64 93.37 + 96.94 110.06 96.94 + 92.47 105.59 92.47 + 94.20 108.91 94.20 + 96.44 109.03 96.44 + 89.54 100.56 89.54 + 94.30 106.37 94.30 + 94.54 107.14 94.54 + 91.75 104.87 91.75 + 88.12 103.87 88.12 + 92.11 103.14 92.11 + 89.05 99.03 89.05 + 88.33 98.31 88.33 + 92.67 104.22 92.67 + 86.84 95.77 86.84 + 85.45 94.91 85.45 + 83.56 93.54 83.56 + 79.64 90.14 79.64 + 78.49 87.42 78.49 + 75.05 83.45 75.05 + 98.39 103.12 98.39 + 90.28 92.38 90.28 + 72.25 73.31 72.25 + 68.68 70.78 68.68 + 68.76 70.33 68.76 + 68.84 69.89 68.84 + 68.92 69.44 68.92 + 68.92 69.44 68.92 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 81.44 81.44 81.44 + 18 82 118.33 118.33 118.33 + 18 98 136.89 136.89 136.89 + 18 114 100.56 100.56 100.56 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 100.22 100.22 100.22 + 34 66 121.67 121.67 121.67 + 34 82 149.22 149.22 149.22 + 34 98 102.67 102.67 102.67 + 34 114 181.11 181.11 181.11 + 34 130 135.56 135.56 135.56 + 34 146 109.44 109.44 109.44 + 34 162 69.00 69.00 69.00 + 34 178 180.67 180.67 180.67 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 132.22 132.22 132.22 + 50 50 118.00 118.00 118.00 + 50 66 169.33 169.33 169.33 + 50 82 124.11 124.11 124.11 + 50 98 141.67 141.67 141.67 + 50 114 139.44 139.44 139.44 + 50 130 169.22 169.22 169.22 + 50 146 134.11 134.11 134.11 + 50 162 98.56 98.56 98.56 + 50 178 85.44 85.44 85.44 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 105.67 105.67 105.67 + 66 34 149.44 149.44 149.44 + 66 50 174.33 174.33 174.33 + 66 66 146.56 146.56 146.56 + 66 82 135.89 135.89 135.89 + 66 98 132.11 132.11 132.11 + 66 114 134.11 134.11 134.11 + 66 130 175.22 175.22 175.22 + 66 146 114.56 114.56 114.56 + 66 162 94.22 94.22 94.22 + 66 178 122.67 122.67 122.67 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 105.67 105.67 105.67 + 82 34 118.89 118.89 118.89 + 82 50 141.78 141.78 141.78 + 82 66 138.89 138.89 138.89 + 82 82 114.67 114.67 114.67 + 82 98 175.56 188.67 188.89 + 82 114 89.78 136.89 137.89 + 82 130 94.89 101.44 101.67 + 82 146 143.44 143.44 143.44 + 82 162 144.44 144.44 144.44 + 82 178 109.89 109.89 109.89 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 105.67 105.67 105.67 + 98 34 119.11 119.11 119.11 + 98 50 112.67 147.67 112.67 + 98 66 135.78 135.78 135.78 + 98 82 107.00 107.00 107.00 + 98 98 159.11 177.22 165.44 + 98 114 137.67 137.67 137.67 + 98 130 132.44 146.22 146.67 + 98 146 157.67 157.67 157.67 + 98 162 111.22 122.89 111.22 + 98 178 94.78 94.78 94.78 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 105.67 105.67 105.67 + 114 34 80.00 138.33 80.00 + 114 50 85.44 143.78 85.44 + 114 66 125.56 125.56 125.56 + 114 82 103.33 126.67 103.33 + 114 98 84.00 92.89 93.22 + 114 114 91.33 103.22 103.56 + 114 130 166.56 166.56 166.56 + 114 146 112.11 112.11 112.11 + 114 162 115.44 138.78 115.44 + 114 178 53.00 158.00 53.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 105.67 105.67 105.67 + 130 34 136.78 136.78 136.78 + 130 50 105.11 151.78 105.11 + 130 66 139.67 163.00 139.67 + 130 82 122.44 122.44 122.44 + 130 98 91.44 138.11 91.44 + 130 114 164.44 164.44 164.44 + 130 130 174.22 174.22 174.22 + 130 146 85.44 143.78 85.44 + 130 162 137.22 160.56 137.22 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 105.67 105.67 105.67 + 146 34 53.00 158.00 53.00 + 146 50 53.00 158.00 53.00 + 146 66 131.44 154.78 131.44 + 146 82 116.33 139.67 116.33 + 146 98 130.22 130.22 130.22 + 146 114 171.44 183.11 171.44 + 146 130 155.22 155.22 155.22 + 146 146 59.56 129.56 59.56 + 146 162 69.00 69.00 69.00 + 146 178 68.89 68.89 68.89 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 120.33 120.33 120.33 + 162 34 69.00 69.00 69.00 + 162 50 69.00 69.00 69.00 + 162 66 53.00 158.00 53.00 + 162 82 126.22 149.56 126.22 + 162 98 133.44 145.11 133.44 + 162 114 128.89 175.56 128.89 + 162 130 59.22 140.89 59.22 + 162 146 56.56 138.22 56.56 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 68.00 68.00 68.00 + 178 82 91.33 91.33 91.33 + 178 98 53.00 158.00 53.00 + 178 114 80.22 161.89 80.22 + 178 130 63.22 144.89 63.22 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regions.yaml b/unittest/graphics/tests/dump-image-regions.yaml new file mode 100644 index 00000000000..7dffbac8b62 --- /dev/null +++ b/unittest/graphics/tests/dump-image-regions.yaml @@ -0,0 +1,597 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 13:32:18 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -2 2 -2 2 -2 2 + create_box 1 box + mass 1 1.0 + region c1 cylinder x -1.0 0.0 0.5 -1.5 1.5 open 1 open 2 + region c2 cone y 1.0 -1.0 0.25 0.75 -1.5 1.5 open 3 + region c3 cylinder z 0.0 1.0 0.66 -0.1 1.5 open 1 open 2 + region c4 cone x -1.0 1.5 0.5 0.0 -1.0 2.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.4 shiny 0.1 view 70 20 box yes 0.025 axes no 0.0 0.0 region c1 forestgreen transparent 0.5 region c2 goldenrod frame 0.05 region c2 cadetblue points 10000 0.15 region c3 firebrick filled region c4 skyblue filled + dump_modify viz boxcolor silver backcolor darkgray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.97 69.97 69.97 + 76.27 76.27 76.27 + 81.61 81.61 81.61 + 84.66 84.66 84.66 + 84.56 84.56 84.56 + 84.89 84.89 84.89 + 85.42 85.42 85.42 + 85.34 85.34 85.34 + 85.28 85.28 85.28 + 85.21 85.21 85.21 + 85.17 85.17 85.17 + 85.47 85.47 85.47 + 85.42 85.42 85.42 + 85.38 85.38 85.38 + 85.31 85.31 85.31 + 85.26 85.26 85.26 + 85.19 85.19 85.19 + 81.71 83.03 83.57 + 76.19 79.34 80.64 + 74.09 78.30 80.00 + 76.00 81.21 83.33 + 77.07 82.70 85.03 + 77.55 83.61 86.10 + 77.27 83.44 85.94 + 77.23 83.75 86.43 + 77.10 83.97 86.76 + 76.77 83.45 86.19 + 76.55 83.50 86.35 + 76.16 82.97 85.76 + 75.92 83.01 85.89 + 75.54 82.45 85.30 + 75.36 82.42 85.31 + 74.86 81.89 84.76 + 74.65 81.86 84.77 + 74.22 81.25 84.11 + 74.78 81.62 84.40 + 74.33 81.28 84.15 + 74.11 80.92 83.69 + 73.42 80.33 83.17 + 72.91 79.62 82.38 + 72.40 79.12 81.85 + 71.89 78.39 81.04 + 71.64 78.22 80.93 + 71.29 77.53 80.09 + 71.17 77.40 79.97 + 74.98 75.18 77.61 + 87.59 78.73 81.16 + 94.97 82.00 84.22 + 98.72 82.69 84.92 + 98.64 80.42 82.47 + 99.01 79.83 81.68 + 98.62 77.30 78.22 + 99.43 76.75 77.11 + 101.44 78.02 78.02 + 102.39 80.94 81.66 + 101.14 80.76 81.89 + 99.61 79.97 81.29 + 99.11 79.37 80.50 + 97.07 80.95 82.04 + 93.62 81.97 82.86 + 89.94 83.51 84.34 + 86.67 85.55 84.64 + 85.15 80.90 78.82 + 82.05 73.22 70.17 + 81.34 68.16 64.72 + 82.66 67.58 63.67 + 82.86 67.94 63.68 + 82.56 67.55 62.85 + 82.32 67.55 62.61 + 82.06 67.50 62.35 + 81.79 67.41 62.08 + 81.52 67.31 61.80 + 81.52 67.30 61.80 + 81.22 67.19 61.52 + 80.94 67.08 61.23 + 80.94 67.07 61.23 + 80.66 66.97 60.95 + 80.34 66.87 60.63 + 80.34 66.83 60.63 + 79.90 66.57 60.19 + 79.60 66.25 59.89 + 79.14 65.94 59.44 + 79.30 66.09 59.59 + 78.83 65.77 59.12 + 78.99 65.92 59.28 + 78.83 65.74 59.12 + 78.81 66.19 59.09 + 78.34 65.83 58.63 + 78.49 65.98 58.78 + 78.33 65.80 58.62 + 78.48 65.94 58.77 + 78.31 65.75 58.60 + 78.47 65.91 58.76 + 78.31 65.73 58.59 + 78.47 65.89 58.76 + 78.06 65.37 58.35 + 78.05 65.13 58.34 + 77.80 64.72 58.09 + 77.86 64.61 58.15 + 77.54 63.95 57.83 + 77.62 63.88 57.91 + 77.40 63.52 57.69 + 77.73 63.40 58.02 + 77.84 63.30 58.13 + 77.97 63.33 58.26 + 77.96 62.81 58.25 + 78.08 62.83 58.37 + 77.71 62.87 58.42 + 77.83 63.17 59.24 + 77.38 63.30 59.51 + 77.14 64.22 60.78 + 76.14 64.69 61.42 + 74.66 66.33 63.38 + 71.58 67.38 64.87 + 67.03 69.53 67.03 + 67.08 69.17 67.08 + 67.52 69.39 67.52 + 67.31 69.01 67.31 + 67.76 69.28 67.76 + 67.89 69.23 67.89 + 68.34 69.53 68.34 + 68.67 70.16 69.22 + 76.00 75.33 68.60 + 91.50 85.61 66.33 + 105.86 97.06 67.49 + 113.83 100.23 61.48 + 133.63 116.46 65.59 + 120.00 111.56 71.84 + 140.81 123.61 68.90 + 114.44 106.91 69.92 + 116.28 117.47 86.22 + 135.93 119.20 66.94 + 103.08 104.97 79.34 + 112.16 105.22 69.85 + 125.64 114.81 71.09 + 108.94 107.66 77.22 + 107.38 107.66 79.14 + 112.41 108.01 74.48 + 115.74 109.20 72.15 + 114.68 111.67 77.44 + 105.21 106.59 80.73 + 107.78 109.67 82.53 + 116.67 112.80 79.19 + 119.97 111.34 72.66 + 111.88 110.57 82.28 + 124.41 120.36 88.11 + 125.18 122.43 91.40 + 122.98 121.08 91.92 + 114.50 113.31 87.12 + 101.27 100.55 77.97 + 100.14 100.73 77.91 + 102.61 99.73 73.89 + 103.79 101.19 75.17 + 97.67 98.06 77.01 + 95.30 92.95 71.88 + 100.23 96.23 72.02 + 99.48 95.84 72.74 + 91.85 92.14 75.67 + 91.39 91.71 75.94 + 90.75 91.92 77.23 + 87.53 89.13 76.70 + 82.92 86.56 78.12 + 84.25 84.96 74.40 + 85.39 85.58 74.43 + 87.76 86.58 73.88 + 83.86 84.62 75.33 + 76.92 77.82 72.12 + 81.27 80.56 72.38 + 79.22 79.00 71.87 + 78.20 79.19 74.42 + 79.75 77.81 70.22 + 80.58 77.39 69.08 + 80.20 77.25 69.78 + 75.31 73.77 69.95 + 72.21 71.66 70.28 + 72.00 71.91 71.70 + 71.95 71.95 71.95 + 74.39 74.39 74.39 + 81.20 81.20 81.20 + 85.45 85.45 85.45 + 85.14 85.14 85.14 + 85.09 85.09 85.09 + 85.05 85.05 85.05 + 85.02 85.02 85.02 + 84.95 84.95 84.95 + 84.91 84.91 84.91 + 85.12 85.12 85.12 + 85.09 85.09 85.09 + 85.03 85.03 85.03 + 84.97 84.97 84.97 + 84.89 84.89 84.89 + 84.81 84.81 84.81 + 84.32 84.32 84.32 + 82.19 82.19 82.19 + 75.84 75.84 75.84 + 70.53 70.53 70.53 + 68.59 68.59 68.59 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 127.17 127.17 127.17 + 133.49 133.49 133.49 + 98.89 98.89 98.89 + 64.31 64.31 64.31 + 74.06 74.06 74.06 + 74.27 74.27 74.27 + 74.30 74.30 74.30 + 73.88 73.88 73.88 + 74.19 74.19 74.19 + 74.45 74.45 74.45 + 74.69 74.69 74.69 + 74.53 74.53 74.53 + 73.97 73.97 73.97 + 74.23 74.23 74.23 + 74.41 74.41 74.41 + 73.82 73.82 73.82 + 74.16 74.16 74.16 + 74.42 74.42 74.42 + 74.67 74.67 74.67 + 73.98 73.98 73.98 + 73.94 73.94 73.94 + 74.22 74.22 74.22 + 74.22 74.22 74.22 + 74.16 74.16 74.16 + 73.42 74.50 73.42 + 72.99 75.04 72.99 + 75.05 76.90 71.36 + 79.84 80.19 70.22 + 81.72 81.29 68.86 + 82.42 81.97 68.75 + 83.04 82.42 68.22 + 82.10 81.69 67.55 + 82.22 83.59 70.50 + 79.17 81.57 69.98 + 81.04 81.57 67.22 + 80.41 81.39 67.65 + 81.36 82.83 68.64 + 80.99 82.41 68.00 + 81.94 83.15 68.19 + 83.78 84.58 68.17 + 79.22 82.56 69.47 + 81.44 85.04 71.09 + 80.16 83.56 70.73 + 80.43 84.19 71.25 + 78.68 83.45 71.49 + 77.00 84.08 74.31 + 76.61 84.36 74.92 + 77.83 84.38 73.09 + 114.91 120.64 107.23 + 117.36 121.94 106.39 + 95.41 100.69 85.17 + 84.28 90.77 75.81 + 85.66 92.72 77.52 + 84.41 92.36 77.82 + 85.95 93.94 78.75 + 86.17 95.33 80.38 + 85.89 95.28 80.34 + 85.68 96.72 81.75 + 86.45 98.23 83.58 + 86.70 97.61 81.92 + 86.28 96.19 79.51 + 86.42 95.97 79.02 + 86.75 95.56 77.86 + 87.30 97.72 80.56 + 87.39 98.16 81.23 + 85.13 96.98 81.62 + 85.14 95.77 79.40 + 86.42 96.09 79.22 + 84.95 94.09 77.25 + 87.55 95.69 77.28 + 87.50 94.78 75.97 + 84.98 92.41 74.62 + 84.94 93.69 76.73 + 83.17 93.42 79.08 + 84.64 93.06 76.72 + 83.81 90.83 74.17 + 81.49 88.81 72.98 + 81.69 89.69 75.11 + 79.56 89.90 78.02 + 77.89 87.83 76.64 + 78.42 87.29 75.82 + 80.93 87.89 74.21 + 84.73 88.39 71.47 + 86.57 88.61 70.42 + 84.53 86.47 69.94 + 84.68 86.61 70.84 + 86.26 87.06 71.00 + 87.14 88.94 74.44 + 85.64 88.67 76.10 + 84.19 87.08 75.44 + 84.94 86.73 74.50 + 84.12 84.84 73.21 + 85.77 84.98 72.25 + 91.29 88.50 73.88 + 92.10 90.14 75.92 + 90.81 89.09 75.45 + 93.07 91.27 76.48 + 91.30 90.78 77.75 + 90.04 90.69 78.90 + 88.71 90.77 80.34 + 88.68 89.25 77.45 + 98.30 75.61 63.70 + 102.82 76.90 64.44 + 106.56 78.44 64.80 + 105.20 79.17 68.68 + 105.78 78.00 67.40 + 108.02 77.34 65.81 + 110.35 78.11 65.48 + 113.53 79.76 66.57 + 112.81 78.97 67.23 + 113.90 79.73 67.69 + 116.91 81.44 67.61 + 117.72 81.94 68.17 + 117.58 81.05 67.62 + 118.88 81.45 67.24 + 119.30 81.91 68.47 + 118.93 82.16 69.20 + 121.20 84.00 69.81 + 120.61 82.08 67.50 + 125.44 83.72 64.66 + 122.50 80.31 61.24 + 115.28 78.41 65.82 + 112.69 78.36 68.51 + 108.83 74.88 65.81 + 110.69 77.03 67.97 + 109.31 77.53 69.72 + 107.14 75.97 68.62 + 102.27 73.21 68.85 + 103.34 76.04 70.94 + 102.73 74.00 66.99 + 101.72 73.64 66.95 + 99.41 70.80 62.99 + 144.10 134.62 134.62 + 129.60 120.67 120.67 + 87.64 79.52 79.52 + 93.32 65.27 54.38 + 91.80 65.31 54.77 + 89.16 64.06 53.25 + 78.62 57.23 54.73 + 78.73 58.95 58.95 + 77.53 58.84 58.84 + 77.07 59.12 59.12 + 76.37 59.00 59.00 + 75.14 59.14 59.14 + 73.61 57.98 57.98 + 72.34 58.49 58.49 + 71.20 58.19 58.19 + 73.99 73.99 73.99 + 74.03 74.03 74.03 + 74.34 74.34 74.34 + 74.58 74.58 74.58 + 74.48 74.48 74.48 + 73.89 73.89 73.89 + 74.12 74.12 74.12 + 74.36 74.36 74.36 + 74.02 74.02 74.02 + 74.01 74.01 74.01 + 74.30 74.30 74.30 + 74.53 74.53 74.53 + 74.41 74.41 74.41 + 74.37 74.37 74.37 + 74.09 74.09 74.09 + 74.33 74.33 74.33 + 74.13 74.13 74.13 + 73.95 73.95 73.95 + 74.27 74.27 74.27 + 74.53 74.53 74.53 + 74.68 74.68 74.68 + 73.83 73.83 73.83 + 74.07 74.07 74.07 + 74.33 74.33 74.33 + 73.92 73.92 73.92 + 73.95 73.95 73.95 + 74.24 74.24 74.24 + 74.47 74.47 74.47 + 74.65 74.65 74.65 + 74.33 74.33 74.33 + 74.04 74.04 74.04 + 73.97 73.97 73.97 + 106.06 106.06 106.06 + 134.92 134.92 134.92 + 114.84 114.84 114.84 + 77.55 77.55 77.55 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 158.89 158.89 158.89 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 81.00 98.00 105.00 + 18 98 69.00 69.00 69.00 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 57.22 57.22 57.22 + 18 178 146.67 146.67 146.67 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 109.22 162.33 183.56 + 34 82 61.00 91.67 103.89 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 69.00 69.00 69.00 + 34 162 69.00 69.00 69.00 + 34 178 67.44 67.44 67.44 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 96.56 96.56 96.56 + 50 34 197.56 197.56 197.56 + 50 50 106.89 106.89 106.89 + 50 66 51.44 77.67 88.33 + 50 82 27.11 41.44 47.56 + 50 98 69.00 69.00 69.00 + 50 114 119.44 34.78 34.78 + 50 130 158.00 29.67 29.67 + 50 146 130.67 24.67 24.67 + 50 162 69.00 69.00 69.00 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 69.00 69.00 69.00 + 66 50 60.56 64.22 65.78 + 66 66 69.00 69.00 69.00 + 66 82 53.22 87.67 53.22 + 66 98 69.00 69.00 69.00 + 66 114 135.00 36.00 36.00 + 66 130 151.00 41.00 41.00 + 66 146 83.00 20.00 20.00 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 53.22 87.22 53.22 + 82 82 47.22 69.67 47.22 + 82 98 43.22 59.44 43.22 + 82 114 135.00 36.00 36.00 + 82 130 151.00 41.00 41.00 + 82 146 83.00 20.00 20.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 46.33 72.11 46.33 + 98 66 46.78 67.89 46.78 + 98 82 43.22 59.22 43.22 + 98 98 69.00 69.00 69.00 + 98 114 135.00 36.00 36.00 + 98 130 151.00 41.00 41.00 + 98 146 83.00 20.00 20.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 51.56 69.33 51.56 + 114 50 41.67 53.11 41.67 + 114 66 42.00 54.33 42.00 + 114 82 69.00 69.00 69.00 + 114 98 69.00 69.00 69.00 + 114 114 69.00 69.00 69.00 + 114 130 123.67 50.33 50.33 + 114 146 70.89 63.67 63.67 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 250.44 194.56 55.00 + 130 66 195.22 169.33 73.22 + 130 82 121.33 156.00 132.67 + 130 98 164.11 152.00 77.67 + 130 114 130.11 113.89 48.89 + 130 130 130.22 129.67 78.11 + 130 146 72.22 62.44 37.89 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 69.00 69.00 69.00 + 146 50 158.56 132.56 50.00 + 146 66 176.00 148.78 58.78 + 146 82 146.89 151.22 96.00 + 146 98 58.56 91.22 92.56 + 146 114 158.33 162.78 102.78 + 146 130 149.78 142.89 78.44 + 146 146 139.33 114.33 51.11 + 146 162 169.44 169.44 169.44 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 69.00 69.00 69.00 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 77.67 116.56 115.33 + 162 114 89.33 108.67 86.56 + 162 130 84.89 107.11 89.44 + 162 146 69.00 69.00 69.00 + 162 162 69.00 69.00 69.00 + 162 178 90.67 90.67 90.67 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 119.78 119.78 119.78 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 69.00 69.00 69.00 + 178 114 69.00 69.00 69.00 + 178 130 69.00 69.00 69.00 + 178 146 69.00 69.00 69.00 + 178 162 75.44 75.44 75.44 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 88.22 88.22 88.22 + 194 130 188.22 188.22 188.22 + 194 146 65.56 65.56 65.56 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-filled.yaml b/unittest/graphics/tests/dump-image-regstyle-filled.yaml new file mode 100644 index 00000000000..836c6446474 --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-filled.yaml @@ -0,0 +1,599 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:00 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + region r1 block -2.6 -1.0 -2.6 -1.0 -2.6 -1.0 open 2 open 6 + region r2 sphere 1.7 -1.7 -1.7 1.0 + region r3 ellipsoid -1.7 1.7 -1.7 1.2 0.8 0.6 + region r4 cylinder z 1.7 1.7 0.8 -2.6 -0.6 open 2 + region r5 cone x 0.0 1.7 0.9 0.2 -2.6 -0.6 open 1 + region r6 prism -2.6 -1.0 0.8 2.4 0.8 2.4 0.7 0.0 0.0 open 4 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region r1 red filled region r2 green filled region r3 blue filled region r4 yellow filled region r5 cyan filled region r6 magenta filled + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 72.73 80.05 80.05 + 70.92 83.62 83.62 + 69.94 86.96 86.96 + 69.44 88.58 88.58 + 67.03 87.03 87.03 + 65.42 87.39 87.39 + 65.37 88.03 88.03 + 64.59 88.98 88.98 + 65.75 87.98 90.54 + 66.67 86.73 91.08 + 69.84 85.62 93.53 + 71.09 83.97 93.66 + 73.19 82.39 94.64 + 73.20 82.15 95.17 + 73.67 80.97 95.00 + 75.41 79.01 95.59 + 76.19 79.49 96.85 + 78.84 76.75 97.67 + 80.35 75.34 98.04 + 81.88 74.25 99.50 + 82.03 73.06 98.88 + 81.16 72.47 97.29 + 81.45 72.72 97.55 + 80.20 72.61 95.44 + 83.16 72.61 96.98 + 86.41 73.94 100.31 + 86.55 73.51 99.67 + 85.69 72.45 98.61 + 85.53 70.27 96.21 + 85.04 69.33 94.49 + 85.15 68.15 93.31 + 86.45 66.47 92.84 + 88.92 66.06 92.67 + 90.89 65.41 92.23 + 92.69 65.64 92.69 + 92.79 65.53 92.79 + 92.42 65.72 92.42 + 92.71 66.01 92.71 + 92.92 65.44 92.92 + 92.95 65.47 92.95 + 92.31 64.83 92.31 + 92.56 65.08 92.56 + 92.64 65.94 92.64 + 92.84 66.14 92.84 + 93.12 65.64 93.12 + 93.36 65.88 93.36 + 93.89 65.67 90.59 + 96.94 65.00 88.14 + 100.05 63.92 86.84 + 102.47 62.63 83.77 + 103.38 62.70 80.28 + 106.33 60.83 76.62 + 105.18 57.84 71.08 + 105.28 56.42 67.88 + 104.22 57.06 65.97 + 103.66 57.42 64.54 + 102.61 58.06 62.62 + 101.15 58.77 60.55 + 101.40 58.84 58.84 + 100.53 58.60 58.60 + 99.81 58.43 58.43 + 98.94 58.20 58.20 + 98.22 58.02 58.02 + 97.12 57.98 57.98 + 95.94 58.01 58.01 + 94.77 58.03 58.03 + 94.53 58.03 58.03 + 94.53 58.03 58.03 + 94.53 58.03 58.03 + 94.53 58.03 58.03 + 91.36 54.86 63.27 + 89.27 53.33 66.39 + 85.52 51.98 69.02 + 80.75 50.89 71.36 + 77.64 50.17 72.86 + 73.58 49.08 75.03 + 70.78 48.67 76.39 + 64.17 53.65 74.31 + 59.60 57.66 72.67 + 57.91 61.94 73.81 + 59.00 68.56 77.88 + 57.22 71.23 77.98 + 56.27 73.78 79.07 + 54.65 74.72 77.39 + 54.57 77.10 77.48 + 53.48 78.31 77.58 + 59.78 86.42 73.11 + 65.06 94.69 71.36 + 68.03 99.03 70.87 + 70.97 104.45 69.81 + 72.67 107.64 68.73 + 73.80 109.89 67.58 + 74.97 110.89 63.84 + 79.58 115.21 63.07 + 79.45 114.73 59.25 + 80.48 115.24 56.30 + 80.17 114.24 54.14 + 81.78 114.93 54.53 + 81.53 113.38 55.60 + 79.47 109.83 54.05 + 73.78 102.19 52.34 + 71.65 97.82 52.34 + 71.30 95.67 51.99 + 71.96 93.67 52.66 + 71.72 91.47 52.42 + 72.93 90.00 53.62 + 72.87 87.49 53.56 + 73.67 85.89 54.37 + 73.95 83.61 54.65 + 75.00 81.95 55.69 + 75.81 80.53 56.50 + 76.92 79.91 57.62 + 78.06 79.63 58.76 + 82.19 82.23 62.88 + 82.62 82.62 63.32 + 82.70 82.70 63.40 + 82.62 82.62 63.32 + 82.48 82.48 63.18 + 82.31 82.31 63.01 + 81.82 81.82 62.52 + 85.09 85.09 65.78 + 85.30 85.30 65.99 + 85.02 85.02 65.72 + 85.35 85.35 66.05 + 84.94 84.94 65.64 + 85.19 85.19 65.89 + 84.82 84.82 66.59 + 85.00 85.00 66.77 + 84.26 84.26 67.22 + 83.88 83.88 68.08 + 82.27 82.27 69.08 + 80.25 80.25 70.15 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 69.30 79.42 69.30 + 67.84 82.00 67.84 + 66.62 84.69 66.62 + 65.59 86.62 65.59 + 64.96 88.64 64.96 + 64.85 90.65 64.85 + 64.75 92.35 64.75 + 64.41 93.73 64.41 + 63.72 94.66 63.72 + 63.69 94.98 63.69 + 62.95 95.67 62.95 + 62.85 95.78 62.85 + 62.87 96.00 62.87 + 62.91 97.14 62.91 + 62.72 96.97 62.72 + 62.55 96.74 62.55 + 62.34 96.40 62.34 + 61.75 95.61 61.75 + 61.55 95.12 61.55 + 62.12 95.26 62.12 + 62.33 94.92 62.33 + 61.67 93.56 61.67 + 61.55 92.39 61.55 + 62.24 91.02 62.24 + 61.68 88.90 61.68 + 61.48 87.19 61.48 + 62.33 85.64 62.33 + 62.47 83.59 62.47 + 76.83 73.94 54.73 + 78.33 71.98 55.23 + 80.39 69.80 55.20 + 80.45 66.94 54.56 + 81.36 64.94 54.68 + 82.72 63.94 55.34 + 84.43 62.45 55.66 + 86.45 61.07 57.19 + 90.37 60.72 60.72 + 90.03 60.78 60.78 + 90.04 60.40 60.40 + 109.66 79.53 79.53 + 105.27 74.74 74.74 + 91.15 59.23 59.23 + 91.16 58.74 58.74 + 90.30 59.70 59.70 + 90.98 59.53 59.53 + 90.00 59.65 59.65 + 90.26 59.66 59.66 + 90.81 59.66 59.66 + 90.50 59.04 59.04 + 89.94 59.34 59.34 + 90.33 59.73 59.73 + 91.00 59.55 59.55 + 90.01 59.66 59.66 + 90.28 59.69 59.69 + 90.59 59.67 59.67 + 90.19 59.81 59.81 + 89.47 60.48 60.48 + 105.56 77.11 50.56 + 110.08 81.60 50.36 + 110.67 83.83 50.38 + 112.50 86.19 50.69 + 114.56 87.92 50.52 + 115.67 89.56 50.59 + 114.27 94.03 53.47 + 114.12 96.25 55.28 + 113.89 99.00 57.18 + 112.31 102.56 60.90 + 112.04 105.83 63.55 + 95.94 114.99 73.03 + 94.82 116.40 74.79 + 93.59 117.70 76.87 + 92.28 117.89 77.67 + 90.64 117.67 78.39 + 88.95 116.31 78.11 + 87.59 114.20 77.09 + 85.87 112.85 77.45 + 84.55 111.00 76.88 + 81.76 108.75 77.33 + 80.98 107.56 76.78 + 80.43 106.47 76.05 + 91.88 117.29 117.29 + 64.14 88.93 88.93 + 92.86 92.16 85.28 + 93.03 90.07 85.99 + 92.38 85.25 86.17 + 90.45 81.27 86.67 + 81.25 72.23 88.05 + 81.00 68.64 103.30 + 81.94 66.78 107.06 + 81.95 63.52 107.69 + 83.42 61.02 110.25 + 85.14 58.27 111.72 + 86.00 56.90 112.36 + 87.62 54.81 112.57 + 86.40 54.84 112.67 + 81.77 56.27 110.54 + 78.66 56.99 109.30 + 78.25 55.51 109.02 + 87.00 51.12 113.13 + 85.89 50.79 112.89 + 86.03 50.93 112.77 + 90.09 50.15 116.45 + 89.25 50.87 116.09 + 88.67 50.84 114.94 + 87.73 50.69 113.17 + 86.91 51.42 111.41 + 86.05 51.34 109.45 + 84.40 52.26 106.82 + 84.66 53.30 105.81 + 83.80 54.00 103.87 + 82.87 54.63 101.58 + 82.59 54.13 100.09 + 82.72 55.82 98.05 + 82.62 56.28 96.44 + 82.29 57.95 93.97 + 82.17 59.39 92.25 + 67.86 67.86 75.86 + 68.36 68.36 74.41 + 69.66 69.66 74.09 + 71.19 71.19 73.00 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 11.89 229.00 229.00 + 50 130 135.44 50.11 183.44 + 50 146 101.67 49.67 101.67 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 69.00 69.00 69.00 + 66 82 69.00 69.00 69.00 + 66 98 69.00 69.00 69.00 + 66 114 0.11 88.56 88.56 + 66 130 167.00 11.00 167.00 + 66 146 138.33 103.67 138.33 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 105.22 56.33 56.33 + 82 98 151.89 151.89 151.89 + 82 114 69.00 69.00 69.00 + 82 130 146.33 42.33 146.33 + 82 146 200.00 0.00 200.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 69.00 69.00 69.00 + 98 82 228.44 10.67 10.67 + 98 98 216.33 12.33 12.33 + 98 114 69.00 69.00 69.00 + 98 130 69.00 69.00 69.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 55.33 99.89 55.33 + 114 66 61.33 75.22 61.33 + 114 82 59.00 0.00 0.00 + 114 98 59.00 0.00 0.00 + 114 114 69.00 69.00 69.00 + 114 130 36.22 36.22 154.89 + 114 146 12.67 12.67 233.33 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 21.67 255.00 21.67 + 130 66 11.11 193.00 11.11 + 130 82 69.00 69.00 69.00 + 130 98 232.00 232.00 12.00 + 130 114 232.00 232.00 12.00 + 130 130 8.22 8.22 126.56 + 130 146 2.00 2.00 93.33 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 3.67 59.22 3.67 + 146 66 0.11 65.89 0.11 + 146 82 69.00 69.00 69.00 + 146 98 161.00 161.00 8.33 + 146 114 141.67 141.67 9.00 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 151.33 151.33 15.33 + 162 114 141.67 141.67 9.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-frame.yaml b/unittest/graphics/tests/dump-image-regstyle-frame.yaml new file mode 100644 index 00000000000..b80418a3915 --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-frame.yaml @@ -0,0 +1,599 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:00 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + region r1 block -2.6 -1.0 -2.6 -1.0 -2.6 -1.0 + region r2 sphere 1.7 -1.7 -1.7 1.0 + region r3 ellipsoid -1.7 1.7 -1.7 1.2 0.8 0.6 + region r4 cylinder z 1.7 1.7 0.8 -2.6 -0.6 + region r5 cone x 0.0 1.7 0.9 0.2 -2.6 -0.6 + region r6 prism -2.6 -1.0 0.8 2.4 0.8 2.4 0.7 0.0 0.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region r1 red frame 0.1 region r2 green frame 0.1 region r3 blue frame 0.1 region r4 yellow frame 0.1 region r5 cyan frame 0.1 region r6 magenta frame 0.1 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 72.57 80.28 80.28 + 71.58 84.69 84.69 + 69.73 84.56 84.56 + 70.16 86.16 86.16 + 69.36 88.41 88.41 + 66.89 86.95 86.95 + 64.94 87.05 87.05 + 65.86 85.92 85.92 + 67.44 86.78 89.92 + 69.77 83.69 89.31 + 70.20 83.42 90.61 + 69.68 85.97 92.95 + 68.43 86.95 93.18 + 68.08 88.74 94.05 + 67.03 89.48 94.53 + 67.91 87.48 93.31 + 68.17 87.02 93.83 + 68.48 90.05 95.77 + 67.28 90.05 95.84 + 68.61 89.91 96.20 + 66.28 91.81 96.56 + 67.78 88.38 94.59 + 68.03 90.33 97.03 + 67.81 87.24 94.05 + 67.59 89.69 96.03 + 69.28 87.79 94.65 + 71.09 88.48 95.63 + 72.41 88.10 96.50 + 72.67 86.41 95.84 + 72.38 82.61 91.83 + 71.00 80.41 87.58 + 71.89 78.89 85.92 + 73.60 76.11 84.08 + 75.93 76.84 85.14 + 77.69 76.44 84.97 + 77.83 73.26 80.01 + 78.20 73.14 78.20 + 80.59 72.29 80.59 + 81.86 71.64 81.86 + 81.67 71.72 81.67 + 81.17 71.72 81.17 + 80.70 71.08 80.70 + 80.48 71.66 80.48 + 82.02 71.92 82.02 + 81.90 72.12 81.90 + 80.37 72.49 80.37 + 82.80 72.56 79.36 + 85.42 70.89 77.25 + 83.77 71.00 75.05 + 85.00 70.33 75.42 + 86.84 69.50 76.69 + 87.25 69.75 76.69 + 86.01 68.92 75.89 + 82.82 66.47 73.14 + 77.31 65.86 72.22 + 78.73 66.28 73.50 + 79.82 65.32 72.68 + 79.83 65.67 72.81 + 77.28 66.14 70.38 + 78.10 66.63 68.61 + 78.57 66.72 66.72 + 78.56 66.72 66.72 + 78.25 65.87 65.87 + 77.52 66.80 66.80 + 78.00 67.00 67.00 + 78.70 66.72 66.72 + 76.10 67.22 67.22 + 73.50 68.61 68.61 + 73.50 68.61 68.61 + 73.50 68.61 68.61 + 70.44 65.56 74.56 + 68.64 63.74 78.30 + 72.19 62.01 80.46 + 73.05 60.50 83.15 + 74.86 63.91 87.86 + 73.70 63.68 91.29 + 73.97 62.23 91.00 + 70.56 66.66 89.58 + 69.86 71.75 88.08 + 65.39 76.75 90.86 + 61.18 78.49 86.75 + 59.92 80.73 86.92 + 59.31 84.13 88.97 + 58.31 86.33 89.54 + 57.33 85.77 85.93 + 57.10 85.86 86.03 + 67.43 93.90 80.97 + 70.11 95.41 75.35 + 64.20 90.62 72.86 + 66.69 91.58 71.91 + 67.53 94.70 70.69 + 65.21 94.78 66.20 + 62.67 99.20 67.39 + 61.85 99.33 63.73 + 65.16 100.40 65.55 + 66.85 102.61 64.28 + 68.22 105.24 60.27 + 68.87 103.81 57.25 + 70.86 107.30 56.47 + 73.31 104.80 54.64 + 77.60 111.01 53.81 + 75.92 105.14 51.85 + 70.71 99.03 51.80 + 70.42 98.68 51.52 + 71.14 96.08 52.23 + 70.81 93.94 51.91 + 71.86 92.36 52.95 + 72.16 91.73 53.25 + 72.72 87.45 53.81 + 73.26 88.03 54.35 + 73.94 86.71 55.03 + 74.28 83.37 55.37 + 75.41 82.98 56.51 + 76.36 80.36 57.46 + 78.37 81.03 59.47 + 82.17 82.17 63.27 + 82.25 82.25 63.34 + 82.17 82.17 63.27 + 83.84 83.84 62.96 + 81.17 81.17 62.58 + 80.39 80.39 63.05 + 83.66 83.66 66.31 + 83.86 83.86 66.52 + 83.58 83.58 66.25 + 83.92 83.92 66.58 + 83.50 83.50 66.17 + 83.94 83.94 66.41 + 83.31 83.31 66.75 + 83.49 83.49 66.93 + 82.81 82.81 67.36 + 83.49 83.49 68.30 + 82.04 82.04 68.66 + 83.39 83.39 69.02 + 80.55 80.55 70.59 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 70.05 80.39 70.05 + 68.40 83.17 68.40 + 66.94 85.80 66.94 + 65.55 86.44 65.55 + 64.76 88.23 64.76 + 64.33 92.00 64.33 + 64.06 92.67 64.06 + 64.24 94.11 64.24 + 63.80 94.12 63.80 + 63.06 94.89 63.06 + 62.94 95.39 62.94 + 62.78 97.62 62.78 + 62.16 95.78 62.16 + 62.23 97.55 62.23 + 62.57 97.28 62.57 + 62.05 97.50 62.05 + 62.04 99.77 62.04 + 61.88 98.21 61.88 + 61.63 98.42 61.63 + 61.52 98.36 61.52 + 61.34 94.36 61.34 + 61.90 96.92 61.90 + 61.45 95.75 61.45 + 61.46 93.12 61.46 + 61.72 91.08 61.72 + 61.03 88.88 61.03 + 61.09 85.92 61.09 + 62.00 89.08 62.00 + 71.64 79.83 55.56 + 71.59 78.31 55.45 + 65.08 82.97 61.37 + 67.19 81.50 62.47 + 67.33 78.34 62.10 + 67.46 76.86 62.16 + 69.61 76.96 63.59 + 71.56 74.08 64.01 + 71.55 72.52 64.67 + 75.14 71.51 67.09 + 77.81 70.44 70.44 + 77.63 70.69 70.69 + 102.99 95.55 95.55 + 97.14 89.22 89.22 + 77.69 69.84 69.84 + 88.88 64.27 64.27 + 83.55 64.86 64.86 + 78.77 71.63 71.63 + 78.55 72.39 72.39 + 79.86 71.84 71.84 + 79.28 71.83 71.83 + 78.91 71.32 71.32 + 78.50 71.48 71.48 + 79.98 71.66 71.66 + 78.92 71.69 71.69 + 78.29 72.06 72.06 + 89.53 64.58 64.58 + 79.33 62.45 62.45 + 78.35 70.92 70.92 + 95.97 88.36 61.22 + 101.09 93.03 60.41 + 97.52 90.55 59.72 + 93.10 86.25 58.49 + 102.61 94.56 58.88 + 90.83 83.35 56.41 + 98.34 95.47 60.97 + 81.13 80.36 63.68 + 99.83 102.67 65.39 + 79.92 87.58 69.14 + 98.80 111.22 70.83 + 81.72 98.79 71.78 + 98.87 104.90 74.69 + 86.69 114.83 79.91 + 70.62 101.31 94.59 + 93.23 124.23 82.81 + 75.31 107.31 81.42 + 82.88 114.44 85.33 + 87.25 118.86 81.83 + 68.08 97.91 81.81 + 92.09 123.19 81.97 + 73.43 103.00 78.21 + 86.64 114.83 77.97 + 80.45 108.61 77.78 + 91.60 119.68 119.68 + 80.20 78.05 97.94 + 102.81 100.61 85.22 + 84.08 97.56 79.16 + 93.84 104.18 78.73 + 77.34 90.89 77.14 + 73.68 87.45 82.48 + 67.19 76.91 99.48 + 65.81 77.31 102.14 + 65.61 75.32 103.84 + 66.09 75.75 105.50 + 65.67 72.25 103.19 + 65.65 71.09 103.03 + 65.94 71.05 102.95 + 65.97 69.78 103.78 + 65.50 70.64 105.15 + 70.06 67.38 107.62 + 67.30 64.69 104.05 + 66.66 64.50 101.44 + 69.75 61.08 97.50 + 77.37 55.29 105.22 + 75.22 56.16 102.54 + 69.28 61.24 97.12 + 69.29 61.44 96.89 + 68.79 60.67 96.03 + 68.46 61.13 94.61 + 68.97 61.09 95.52 + 68.78 60.60 93.89 + 68.90 62.02 93.28 + 69.30 61.63 91.22 + 69.50 61.50 91.31 + 68.78 61.18 87.44 + 68.94 61.94 86.35 + 70.29 62.27 86.06 + 70.56 62.92 85.02 + 81.17 59.35 94.07 + 71.50 59.40 84.53 + 67.80 67.80 76.45 + 68.92 68.92 77.47 + 69.15 69.15 73.92 + 70.91 70.91 72.91 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 13.67 222.67 222.67 + 50 130 101.89 93.89 179.11 + 50 146 175.00 33.33 175.00 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 69.00 69.00 69.00 + 66 82 69.00 69.00 69.00 + 66 98 69.00 69.00 69.00 + 66 114 3.67 118.33 118.33 + 66 130 17.11 95.00 95.00 + 66 146 146.89 103.56 146.89 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 146.44 37.78 37.78 + 82 98 151.89 151.89 151.89 + 82 114 69.00 69.00 69.00 + 82 130 81.00 81.00 81.00 + 82 146 69.00 69.00 69.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 99.00 48.33 48.33 + 98 82 182.44 20.00 20.00 + 98 98 137.11 27.67 27.67 + 98 114 69.00 69.00 69.00 + 98 130 69.00 69.00 69.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 44.00 142.33 44.00 + 114 66 84.89 68.22 34.22 + 114 82 69.00 69.00 69.00 + 114 98 160.78 134.78 134.78 + 114 114 69.00 69.00 69.00 + 114 130 21.33 21.33 223.44 + 114 146 13.33 13.33 226.44 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 17.33 228.22 17.33 + 130 66 12.22 195.44 12.22 + 130 82 69.00 69.00 69.00 + 130 98 148.11 148.11 7.67 + 130 114 123.67 123.67 29.00 + 130 130 14.33 14.33 197.00 + 130 146 5.00 5.00 118.44 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 6.33 98.00 6.33 + 146 66 2.00 88.89 2.00 + 146 82 69.00 69.00 69.00 + 146 98 157.67 157.67 10.00 + 146 114 135.33 135.33 7.33 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 157.67 157.67 10.00 + 162 114 103.67 103.67 27.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-move.yaml b/unittest/graphics/tests/dump-image-regstyle-move.yaml new file mode 100644 index 00000000000..c61fbf6dd10 --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-move.yaml @@ -0,0 +1,597 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:03 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + variable dx equal 0.015*step + variable dz equal -0.01*step + region m1 cylinder z -1.5 -1.5 0.7 -1.5 1.5 move v_dx NULL NULL + region m2 sphere -1.0 1.5 0.0 0.8 move NULL NULL v_dz + dump viz all image 100 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region m1 goldenrod frame 0.1 region m2 firebrick filled + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 100 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 74.76 74.76 74.76 + 74.39 74.39 74.39 + 74.61 74.61 74.61 + 74.71 74.71 74.71 + 72.57 72.57 72.57 + 71.58 71.58 71.58 + 71.83 71.83 71.83 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.31 71.31 71.31 + 71.91 71.91 71.91 + 71.70 71.70 71.70 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.61 71.61 71.61 + 71.41 71.41 71.41 + 72.08 72.08 72.08 + 71.83 71.83 71.83 + 71.89 71.89 71.89 + 71.81 71.81 71.81 + 71.69 71.69 71.69 + 71.50 71.50 71.50 + 71.81 71.81 71.81 + 71.92 71.92 71.92 + 73.72 73.53 73.06 + 85.19 81.77 73.13 + 82.25 79.30 71.91 + 81.89 78.69 70.65 + 82.55 79.00 70.10 + 82.34 78.78 69.83 + 83.53 79.65 69.95 + 83.03 79.22 69.70 + 83.74 79.83 70.02 + 83.19 79.35 69.72 + 83.21 79.34 69.64 + 82.50 79.00 70.25 + 81.13 78.16 70.70 + 84.78 81.06 71.77 + 80.28 77.52 70.63 + 80.44 77.72 70.90 + 80.11 77.36 70.50 + 80.18 77.55 70.97 + 80.78 78.05 71.19 + 82.14 78.83 70.53 + 82.39 78.72 69.56 + 82.70 78.93 69.51 + 82.42 78.65 69.23 + 82.55 78.78 69.36 + 82.78 79.00 69.58 + 82.58 78.81 69.39 + 82.52 78.75 69.33 + 81.72 77.94 68.53 + 78.94 75.17 65.75 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 77.75 73.97 64.56 + 80.58 72.28 62.85 + 83.38 71.42 62.00 + 85.12 71.41 61.98 + 86.77 71.36 61.95 + 88.17 71.27 61.84 + 89.34 71.08 61.66 + 89.88 71.02 61.59 + 90.33 71.17 61.74 + 90.44 70.97 61.55 + 91.35 71.58 61.49 + 91.09 70.80 60.92 + 90.56 70.78 61.76 + 93.15 73.66 64.64 + 93.75 74.64 65.62 + 92.92 74.27 65.25 + 92.27 74.18 65.17 + 90.67 73.25 64.24 + 90.04 73.34 64.33 + 88.04 72.38 63.80 + 87.23 73.00 64.67 + 84.67 71.43 63.31 + 81.16 69.53 62.51 + 79.36 69.04 62.60 + 71.23 64.31 63.14 + 70.64 65.67 65.67 + 69.28 65.72 65.72 + 68.70 66.48 66.48 + 72.33 71.05 71.05 + 73.39 72.97 72.97 + 74.86 74.86 74.86 + 75.16 75.16 75.16 + 75.11 75.11 75.11 + 75.38 75.38 75.38 + 75.12 75.12 75.12 + 75.43 75.43 75.43 + 75.06 75.06 75.06 + 73.53 73.53 73.53 + 72.10 72.10 72.10 + 71.84 71.84 71.84 + 71.69 71.69 71.69 + 71.81 71.81 71.81 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.29 71.29 71.29 + 71.91 71.91 71.91 + 71.69 71.69 71.69 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.59 71.59 71.59 + 71.39 71.39 71.39 + 72.06 72.06 72.06 + 71.81 71.81 71.81 + 71.89 71.89 71.89 + 71.81 71.81 71.81 + 71.67 71.67 71.67 + 71.50 71.50 71.50 + 71.01 71.01 71.01 + 74.28 74.28 74.28 + 74.48 74.48 74.48 + 74.21 74.21 74.21 + 74.54 74.54 74.54 + 74.13 74.13 74.13 + 74.38 74.38 74.38 + 74.42 74.42 74.42 + 74.61 74.61 74.61 + 74.42 74.42 74.42 + 74.63 74.63 74.63 + 74.38 74.38 74.38 + 74.28 74.28 74.28 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 72.96 72.96 72.96 + 72.53 72.53 72.53 + 72.89 72.89 72.89 + 72.94 72.94 72.94 + 72.82 72.82 72.82 + 73.19 73.19 73.19 + 73.59 73.59 73.59 + 73.04 73.04 73.04 + 72.92 72.92 72.92 + 72.92 72.92 72.92 + 72.89 72.89 72.89 + 72.81 72.81 72.81 + 73.19 73.19 73.19 + 73.55 73.55 73.55 + 72.97 72.97 72.97 + 72.83 72.83 72.83 + 72.84 72.84 72.84 + 72.80 72.80 72.80 + 72.77 72.77 72.77 + 73.17 73.17 73.17 + 73.53 73.53 73.53 + 73.06 73.06 73.06 + 72.71 72.71 72.71 + 96.00 87.20 64.83 + 95.29 86.11 63.11 + 94.06 85.07 62.84 + 97.81 87.87 63.23 + 80.72 73.99 57.53 + 91.98 83.07 60.78 + 93.28 83.83 60.13 + 89.08 80.88 59.97 + 90.89 81.92 58.91 + 88.62 80.44 59.59 + 91.17 83.24 63.19 + 94.20 84.52 60.48 + 76.39 75.12 71.92 + 98.97 88.34 61.40 + 78.42 72.94 59.33 + 99.57 88.79 62.03 + 93.45 86.73 70.22 + 107.95 97.62 72.06 + 83.52 76.53 58.37 + 96.81 86.83 61.62 + 84.56 77.08 58.83 + 98.55 88.25 62.78 + 81.30 74.61 58.14 + 93.75 84.73 62.05 + 75.03 69.89 56.93 + 80.65 74.17 58.41 + 77.93 72.33 58.68 + 73.79 73.79 73.79 + 73.88 73.88 73.88 + 73.92 73.92 73.92 + 73.63 73.63 73.63 + 73.45 73.45 73.45 + 73.58 73.58 73.58 + 73.74 73.74 73.74 + 73.84 73.84 73.84 + 73.92 73.92 73.92 + 73.94 73.94 73.94 + 73.67 73.67 73.67 + 73.51 73.51 73.51 + 73.67 73.67 73.67 + 73.80 73.80 73.80 + 73.89 73.89 73.89 + 73.95 73.95 73.95 + 73.97 73.97 73.97 + 73.68 73.68 73.68 + 73.58 73.58 73.58 + 73.73 73.73 73.73 + 73.86 73.86 73.86 + 73.93 73.93 73.93 + 73.97 73.97 73.97 + 73.65 73.65 73.65 + 73.53 73.53 73.53 + 73.66 73.66 73.66 + 73.80 73.80 73.80 + 73.90 73.90 73.90 + 73.95 73.95 73.95 + 76.09 71.88 71.88 + 101.41 101.41 101.41 + 73.70 73.70 73.70 + 78.92 68.69 68.69 + 80.54 68.83 68.83 + 81.50 68.48 68.48 + 82.71 68.53 68.53 + 83.81 68.53 68.53 + 84.13 68.53 68.53 + 84.69 68.82 68.82 + 84.58 68.06 68.06 + 84.22 67.72 67.72 + 84.03 67.64 67.64 + 83.86 67.67 67.67 + 83.36 67.48 67.48 + 82.95 67.54 67.54 + 82.37 67.47 67.47 + 81.39 67.09 67.09 + 80.07 66.54 66.54 + 78.80 66.41 66.41 + 77.31 65.78 65.78 + 76.87 66.33 66.33 + 76.13 66.88 66.88 + 75.69 67.77 67.77 + 74.39 67.81 67.81 + 73.22 67.91 67.91 + 72.56 68.17 68.17 + 71.76 68.53 68.53 + 71.97 70.03 70.03 + 73.31 73.31 73.31 + 73.31 73.31 73.31 + 73.13 73.13 73.13 + 73.00 73.00 73.00 + 72.81 72.81 72.81 + 72.19 72.19 72.19 + 72.61 72.61 72.61 + 73.23 73.23 73.23 + 73.25 73.25 73.25 + 73.13 73.13 73.13 + 73.45 73.45 73.45 + 72.91 72.91 72.91 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 69.00 69.00 69.00 + 50 130 69.00 69.00 69.00 + 50 146 69.00 69.00 69.00 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 117.00 90.00 21.78 + 66 82 114.33 88.33 22.67 + 66 98 69.00 69.00 69.00 + 66 114 69.00 69.00 69.00 + 66 130 69.00 69.00 69.00 + 66 146 116.56 116.56 116.56 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 133.67 103.00 27.67 + 82 82 119.67 92.67 24.67 + 82 98 151.89 151.89 151.89 + 82 114 69.00 69.00 69.00 + 82 130 81.00 81.00 81.00 + 82 146 69.00 69.00 69.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 133.67 103.00 27.67 + 98 82 119.67 92.67 24.67 + 98 98 69.00 69.00 69.00 + 98 114 69.00 69.00 69.00 + 98 130 69.00 69.00 69.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 69.00 69.00 69.00 + 114 66 133.67 103.00 27.67 + 114 82 119.67 92.67 24.67 + 114 98 148.22 148.22 148.22 + 114 114 69.00 69.00 69.00 + 114 130 194.56 53.56 53.56 + 114 146 66.44 13.22 13.22 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 69.00 69.00 69.00 + 130 66 69.00 69.00 69.00 + 130 82 69.00 69.00 69.00 + 130 98 69.00 69.00 69.00 + 130 114 69.00 69.00 69.00 + 130 130 69.00 69.00 69.00 + 130 146 73.89 73.89 73.89 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 69.00 69.00 69.00 + 146 66 69.00 69.00 69.00 + 146 82 69.00 69.00 69.00 + 146 98 69.00 69.00 69.00 + 146 114 69.00 69.00 69.00 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 69.00 69.00 69.00 + 162 114 69.00 69.00 69.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-points.yaml b/unittest/graphics/tests/dump-image-regstyle-points.yaml new file mode 100644 index 00000000000..01b09b191ae --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-points.yaml @@ -0,0 +1,599 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:02 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + region r1 block -2.6 -1.0 -2.6 -1.0 -2.6 -1.0 + region r2 sphere 1.7 -1.7 -1.7 1.0 + region r3 ellipsoid -1.7 1.7 -1.7 1.2 0.8 0.6 + region r4 cylinder z 1.7 1.7 0.8 -2.6 -0.6 + region r5 cone x 0.0 1.7 0.9 0.2 -2.6 -0.6 + region r6 prism -2.6 -1.0 0.8 2.4 0.8 2.4 0.7 0.0 0.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region r1 red points 4000 0.08 region r2 green points 4000 0.1 region r3 blue points 4000 0.12 region r4 yellow points 4000 0.08 region r5 cyan points 4000 0.1 region r6 magenta points 4000 0.12 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 74.76 74.76 74.76 + 74.39 74.39 74.39 + 74.61 74.61 74.61 + 74.71 74.71 74.71 + 72.57 72.57 72.57 + 71.58 71.58 71.58 + 71.83 71.83 71.83 + 71.13 72.85 72.85 + 71.52 71.52 71.52 + 71.31 71.31 71.31 + 71.07 73.97 73.97 + 70.90 74.11 74.11 + 70.97 73.53 73.53 + 72.44 73.92 76.83 + 72.09 71.43 74.39 + 70.14 72.64 72.64 + 71.23 73.77 73.77 + 70.73 74.81 74.81 + 71.37 74.14 75.34 + 73.17 73.45 77.36 + 74.21 70.50 75.13 + 76.92 71.14 79.56 + 74.30 72.24 77.29 + 74.56 73.03 79.12 + 78.77 72.62 83.06 + 80.16 75.97 86.90 + 75.64 76.65 81.20 + 74.03 79.51 81.80 + 76.52 75.87 79.95 + 78.47 74.35 79.95 + 80.89 74.67 82.08 + 79.73 72.84 80.36 + 81.10 73.50 81.10 + 80.31 72.19 80.31 + 78.81 73.35 78.81 + 81.24 71.73 81.24 + 81.33 71.69 81.33 + 78.08 74.08 78.08 + 79.08 73.58 79.08 + 79.58 72.67 79.58 + 80.05 71.75 80.05 + 80.09 72.27 80.09 + 80.39 73.17 80.39 + 83.71 72.00 83.71 + 79.30 71.77 79.30 + 78.22 74.91 78.22 + 76.08 74.78 76.08 + 78.78 74.12 78.78 + 79.50 73.75 79.50 + 78.19 74.47 78.19 + 75.54 74.84 75.54 + 74.71 74.71 74.71 + 71.94 71.94 71.94 + 71.71 70.14 70.14 + 72.10 70.19 70.19 + 72.56 69.36 69.36 + 71.67 70.50 70.50 + 72.50 68.93 68.93 + 72.50 69.88 69.88 + 73.38 69.64 69.64 + 73.41 70.00 70.00 + 71.56 70.45 70.45 + 74.52 68.87 68.87 + 72.70 69.07 69.07 + 74.33 69.00 69.00 + 75.05 68.06 68.06 + 75.50 67.36 67.36 + 76.08 67.21 67.21 + 74.70 68.41 68.41 + 72.45 69.56 69.56 + 72.28 69.97 71.06 + 72.16 66.40 71.27 + 73.94 71.34 73.11 + 78.01 71.06 71.88 + 76.50 73.25 77.28 + 73.59 72.05 79.42 + 74.80 69.60 76.42 + 72.87 72.67 74.78 + 74.83 74.27 76.58 + 73.45 72.86 79.19 + 75.00 71.19 79.59 + 73.19 74.03 76.23 + 73.89 76.57 74.38 + 73.07 75.77 74.02 + 72.06 75.64 75.28 + 69.37 78.00 78.84 + 72.19 74.45 76.31 + 68.53 81.23 70.61 + 71.92 78.93 71.92 + 70.91 79.56 74.12 + 70.23 76.40 75.32 + 71.92 78.97 74.06 + 70.73 77.89 74.72 + 74.42 76.97 76.26 + 72.08 79.89 72.33 + 71.20 83.29 71.20 + 72.60 78.01 72.60 + 75.03 80.17 73.47 + 72.03 83.57 70.86 + 71.53 78.28 70.34 + 70.51 79.01 69.33 + 72.29 81.37 67.28 + 70.56 77.33 68.83 + 72.90 74.00 69.14 + 72.05 76.59 69.69 + 71.19 77.81 67.25 + 71.13 74.59 69.25 + 73.16 75.25 70.16 + 73.25 73.25 70.80 + 72.67 74.91 70.77 + 71.11 75.95 70.06 + 72.72 73.51 70.08 + 74.98 74.98 70.05 + 73.37 73.37 71.17 + 73.67 73.67 71.29 + 72.01 72.01 71.58 + 71.81 71.81 71.81 + 73.00 73.00 70.77 + 72.50 72.50 70.91 + 72.78 72.78 69.78 + 76.38 76.38 73.47 + 75.27 75.27 73.90 + 74.21 74.21 74.21 + 76.15 76.15 74.00 + 75.72 75.72 73.59 + 74.38 74.38 74.38 + 74.42 74.42 74.42 + 75.43 75.43 74.33 + 74.27 74.27 74.07 + 74.63 74.63 74.63 + 74.76 74.76 74.05 + 74.62 74.62 73.97 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 72.70 73.86 72.70 + 72.23 73.11 72.23 + 72.61 73.64 72.61 + 70.42 76.03 70.42 + 70.76 76.69 70.76 + 72.31 74.64 72.31 + 72.41 75.45 72.41 + 71.97 75.88 71.97 + 71.62 76.55 71.62 + 70.44 75.75 70.44 + 72.33 73.88 72.33 + 72.32 74.67 72.32 + 70.08 78.23 70.08 + 69.88 79.25 69.88 + 70.64 77.19 70.64 + 69.83 76.72 69.83 + 71.16 76.71 71.16 + 68.77 81.10 68.77 + 70.73 76.71 70.73 + 72.64 74.89 72.64 + 69.01 78.85 69.01 + 68.30 79.32 68.30 + 70.19 78.53 70.19 + 70.39 79.31 70.39 + 69.94 77.05 69.94 + 70.95 75.53 70.95 + 71.44 77.13 71.44 + 71.44 76.86 71.44 + 70.66 76.64 70.66 + 71.53 74.55 71.53 + 71.68 77.34 70.54 + 72.54 74.66 70.38 + 74.12 74.86 70.78 + 75.73 71.65 70.70 + 74.36 72.68 71.61 + 74.12 72.49 70.99 + 73.82 72.91 72.91 + 74.65 72.53 72.53 + 74.95 71.62 71.62 + 100.03 98.44 98.44 + 95.83 90.50 90.50 + 75.06 72.45 72.45 + 75.16 73.06 73.06 + 74.59 72.75 72.75 + 74.21 71.78 71.78 + 74.61 71.89 71.89 + 77.84 72.27 72.27 + 75.84 72.50 72.50 + 78.93 70.92 70.92 + 80.93 70.26 70.26 + 77.02 72.36 72.36 + 76.56 72.78 72.78 + 75.64 72.78 72.78 + 74.95 72.08 72.08 + 76.18 72.38 72.38 + 76.55 70.31 70.31 + 77.76 72.10 72.10 + 76.28 72.03 72.03 + 75.47 71.59 71.59 + 77.28 74.78 71.89 + 77.22 76.88 70.89 + 80.96 77.31 69.76 + 76.97 75.81 71.92 + 75.56 75.56 72.59 + 75.94 75.94 72.74 + 73.39 75.38 75.38 + 74.02 76.50 75.33 + 76.72 78.16 73.14 + 74.35 74.35 72.95 + 76.73 78.12 72.81 + 76.04 79.79 75.50 + 74.92 77.39 74.34 + 72.34 78.22 78.22 + 73.82 79.22 76.47 + 74.71 76.75 73.43 + 73.13 75.17 75.17 + 72.89 77.23 76.14 + 72.28 79.36 78.03 + 72.70 76.45 75.48 + 73.25 76.67 75.64 + 100.75 101.97 101.97 + 73.47 74.64 74.64 + 73.32 77.97 74.66 + 73.32 78.14 75.60 + 73.81 77.09 77.61 + 73.84 74.45 74.69 + 73.88 73.16 73.16 + 78.10 72.31 79.17 + 78.89 71.00 81.97 + 74.51 69.93 77.28 + 78.10 69.95 81.09 + 78.06 69.67 79.61 + 78.49 69.58 80.27 + 76.13 68.42 81.97 + 76.97 67.42 83.33 + 75.39 67.52 84.69 + 75.69 68.26 81.67 + 79.26 68.75 83.44 + 79.48 67.94 82.00 + 75.62 68.94 78.77 + 75.64 69.44 77.21 + 74.43 69.25 79.06 + 72.75 67.33 83.66 + 75.56 68.89 79.17 + 75.78 71.10 77.98 + 75.59 70.57 76.79 + 76.95 68.08 81.83 + 74.79 67.70 81.36 + 80.68 67.42 86.31 + 78.83 68.28 82.04 + 76.28 69.84 78.14 + 72.84 71.31 76.22 + 73.44 70.39 76.28 + 74.34 70.67 74.34 + 72.08 72.08 74.05 + 72.56 72.56 73.59 + 72.66 72.66 74.11 + 72.03 72.03 75.86 + 72.78 72.78 73.71 + 72.91 72.91 72.91 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 49.56 109.00 109.00 + 50 130 48.56 90.44 90.44 + 50 146 69.00 69.00 69.00 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 69.00 69.00 69.00 + 66 82 69.00 69.00 69.00 + 66 98 69.00 69.00 69.00 + 66 114 69.00 69.00 69.00 + 66 130 140.56 37.11 140.56 + 66 146 116.56 116.56 116.56 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 69.00 69.00 69.00 + 82 98 151.89 151.89 151.89 + 82 114 69.00 69.00 69.00 + 82 130 113.22 61.33 113.22 + 82 146 83.67 63.00 83.67 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 69.00 69.00 69.00 + 98 82 69.00 61.33 61.33 + 98 98 69.00 69.00 69.00 + 98 114 69.00 69.00 69.00 + 98 130 69.00 69.00 69.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 69.00 69.00 69.00 + 114 66 62.44 84.56 62.44 + 114 82 69.00 69.00 69.00 + 114 98 147.56 116.11 116.11 + 114 114 69.00 69.00 69.00 + 114 130 69.00 69.00 69.00 + 114 146 43.33 43.33 114.44 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 62.44 82.22 62.44 + 130 66 61.78 69.56 61.78 + 130 82 69.00 69.00 69.00 + 130 98 88.00 88.00 63.33 + 130 114 69.00 69.00 69.00 + 130 130 69.00 69.00 69.00 + 130 146 73.89 73.89 73.89 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 69.00 69.00 69.00 + 146 66 69.00 69.00 69.00 + 146 82 69.00 69.00 69.00 + 146 98 69.00 69.00 69.00 + 146 114 85.89 85.89 62.56 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 69.00 69.00 69.00 + 162 114 69.00 69.00 69.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-rotate.yaml b/unittest/graphics/tests/dump-image-regstyle-rotate.yaml new file mode 100644 index 00000000000..a233df09a5b --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-rotate.yaml @@ -0,0 +1,597 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:24 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + variable rot1 equal PI*step/200.0 + variable rot2 equal -PI*step/400.0 + region t1 cylinder z 0.0 1.0 0.66 -1.5 1.5 open 1 open 2 rotate v_rot1 0.3 0.0 0.3 0.0 1.0 1.0 + region t2 block -2.5 -1.0 -2.5 -1.0 -1.0 1.0 rotate v_rot2 -1.75 -1.75 0.0 0.0 0.0 1.0 + dump viz all image 100 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region t1 skyblue filled region t2 forestgreen frame 0.1 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 100 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 74.76 74.76 74.76 + 74.39 74.39 74.39 + 74.61 74.61 74.61 + 74.71 74.71 74.71 + 72.57 72.57 72.57 + 71.58 71.58 71.58 + 71.83 71.83 71.83 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.31 71.31 71.31 + 71.91 71.91 71.91 + 71.70 71.70 71.70 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.61 71.61 71.61 + 71.07 71.89 71.07 + 70.81 75.36 70.81 + 69.47 75.34 69.47 + 68.49 74.78 68.49 + 68.96 73.51 68.96 + 70.59 72.73 70.59 + 70.58 73.00 70.58 + 70.88 73.28 70.88 + 70.74 73.36 70.74 + 72.06 74.66 72.06 + 74.04 76.64 74.04 + 74.09 76.78 74.09 + 73.68 76.39 73.68 + 74.18 76.64 74.18 + 73.53 78.81 73.53 + 72.36 79.17 72.36 + 71.78 79.29 71.78 + 72.94 80.31 75.02 + 73.92 78.38 77.24 + 74.22 77.89 76.71 + 74.17 77.61 76.78 + 74.09 77.52 76.67 + 75.11 78.11 77.89 + 74.50 77.15 76.78 + 75.06 77.83 77.80 + 73.92 76.44 76.02 + 73.88 76.68 75.88 + 73.89 77.09 76.14 + 73.77 76.99 76.06 + 73.14 75.62 74.39 + 73.14 75.17 73.75 + 73.02 75.31 73.98 + 73.45 75.69 75.02 + 72.50 78.15 73.69 + 69.91 77.50 71.25 + 70.06 76.88 70.91 + 71.28 75.09 71.84 + 68.73 71.00 69.25 + 66.45 68.72 66.94 + 66.09 68.25 66.31 + 66.27 68.02 66.47 + 66.65 68.83 66.69 + 68.89 71.52 68.89 + 68.92 71.61 68.92 + 69.19 71.64 69.19 + 69.08 71.36 69.08 + 68.66 74.33 68.66 + 67.56 73.78 67.56 + 67.55 73.83 67.55 + 67.99 71.30 67.99 + 69.36 69.81 69.36 + 70.74 70.74 70.74 + 70.74 70.74 70.74 + 70.74 70.74 70.74 + 70.74 70.74 70.74 + 70.74 70.74 70.74 + 70.74 70.74 70.74 + 73.13 73.13 73.13 + 75.27 75.27 75.27 + 75.47 75.47 75.47 + 75.32 75.32 75.32 + 75.22 75.22 75.22 + 75.00 75.00 75.00 + 75.34 75.34 75.34 + 74.89 74.89 74.89 + 75.19 75.19 75.19 + 75.12 75.12 75.12 + 75.40 75.40 75.40 + 73.84 73.84 73.84 + 74.10 74.10 74.10 + 75.38 75.38 75.38 + 75.30 75.30 75.30 + 75.42 75.42 75.42 + 75.53 75.53 75.53 + 75.36 75.36 75.36 + 75.33 75.33 75.33 + 75.31 75.31 75.31 + 74.86 74.86 74.86 + 75.16 75.16 75.16 + 75.11 75.11 75.11 + 75.38 75.38 75.38 + 75.12 75.12 75.12 + 75.43 75.43 75.43 + 75.06 75.06 75.06 + 73.53 73.53 73.53 + 72.10 72.10 72.10 + 71.84 71.84 71.84 + 71.69 71.69 71.69 + 71.81 71.81 71.81 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.29 71.29 71.29 + 71.91 71.91 71.91 + 71.69 71.69 71.69 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.59 71.59 71.59 + 71.39 71.39 71.39 + 72.06 72.06 72.06 + 71.81 71.81 71.81 + 71.89 71.89 71.89 + 71.81 71.81 71.81 + 71.67 71.67 71.67 + 71.50 71.50 71.50 + 71.01 71.01 71.01 + 74.28 74.28 74.28 + 74.48 74.48 74.48 + 74.21 74.21 74.21 + 74.54 74.54 74.54 + 74.13 74.13 74.13 + 74.38 74.38 74.38 + 74.42 74.42 74.42 + 74.61 74.61 74.61 + 74.42 74.42 74.42 + 74.63 74.63 74.63 + 74.38 74.38 74.38 + 74.28 74.28 74.28 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 72.96 72.96 72.96 + 72.53 72.53 72.53 + 72.89 72.89 72.89 + 72.94 72.94 72.94 + 72.82 72.82 72.82 + 73.19 73.19 73.19 + 73.59 73.59 73.59 + 73.04 73.04 73.04 + 72.92 72.92 72.92 + 72.92 72.92 72.92 + 72.89 72.89 72.89 + 72.81 72.81 72.81 + 73.19 73.19 73.19 + 73.55 73.55 73.55 + 72.97 72.97 72.97 + 72.83 72.83 72.83 + 72.84 72.84 72.84 + 72.80 72.80 72.80 + 72.77 72.77 72.77 + 73.17 73.17 73.17 + 73.53 73.53 73.53 + 73.06 73.06 73.06 + 72.71 72.71 72.71 + 73.25 73.25 73.25 + 72.64 72.64 72.64 + 72.71 72.71 72.71 + 73.14 73.14 73.14 + 73.15 73.15 73.15 + 72.77 72.77 72.77 + 72.71 72.71 72.71 + 73.12 73.12 73.12 + 67.59 79.30 67.59 + 64.80 73.41 64.80 + 71.37 75.83 71.37 + 71.41 75.90 71.41 + 71.16 75.72 71.16 + 71.29 76.06 71.29 + 71.12 75.89 71.12 + 67.14 79.76 67.14 + 81.49 89.15 81.49 + 90.22 92.61 90.22 + 72.79 75.22 72.79 + 72.41 75.07 72.41 + 72.71 75.61 72.71 + 72.56 75.70 72.56 + 72.61 75.65 72.61 + 72.55 75.35 72.55 + 72.46 74.97 72.46 + 71.97 74.58 71.97 + 72.73 75.09 72.73 + 72.44 75.40 72.44 + 72.84 75.69 72.84 + 72.66 75.77 72.66 + 72.27 75.19 72.27 + 72.20 75.66 73.34 + 73.06 76.84 75.67 + 73.89 77.92 77.31 + 73.61 78.81 77.83 + 70.83 81.73 75.51 + 72.36 77.74 74.95 + 72.22 77.19 74.13 + 71.79 75.97 73.18 + 71.75 75.93 72.63 + 71.84 76.73 72.69 + 71.91 76.25 72.33 + 68.12 78.31 68.54 + 65.39 69.71 65.75 + 73.50 73.77 73.87 + 73.41 73.67 73.78 + 73.50 73.75 73.84 + 73.62 73.86 73.95 + 73.38 73.82 74.00 + 73.67 73.87 73.95 + 72.98 73.36 73.52 + 72.47 73.02 73.25 + 72.25 72.97 73.26 + 72.59 73.24 73.50 + 72.84 73.56 73.86 + 71.10 72.71 73.39 + 71.14 72.59 73.17 + 99.14 100.33 100.82 + 71.79 72.80 73.20 + 72.05 72.32 72.44 + 73.08 73.08 73.08 + 72.97 72.97 72.97 + 73.02 73.02 73.02 + 73.06 73.06 73.06 + 73.42 73.42 73.42 + 73.33 73.33 73.33 + 72.70 72.70 72.70 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.92 72.92 72.92 + 73.00 73.00 73.00 + 73.39 73.39 73.39 + 73.32 73.32 73.32 + 73.22 73.22 73.22 + 72.89 72.89 72.89 + 72.91 72.91 72.91 + 72.45 72.45 72.45 + 72.75 72.75 72.75 + 73.36 73.36 73.36 + 73.32 73.32 73.32 + 73.16 73.16 73.16 + 73.02 73.02 73.02 + 72.93 72.93 72.93 + 72.25 72.25 72.25 + 72.69 72.69 72.69 + 73.31 73.31 73.31 + 73.31 73.31 73.31 + 73.13 73.13 73.13 + 73.00 73.00 73.00 + 72.81 72.81 72.81 + 72.19 72.19 72.19 + 72.61 72.61 72.61 + 73.23 73.23 73.23 + 73.25 73.25 73.25 + 73.13 73.13 73.13 + 73.45 73.45 73.45 + 72.91 72.91 72.91 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 69.00 69.00 69.00 + 50 130 69.00 69.00 69.00 + 50 146 69.00 69.00 69.00 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 69.00 69.00 69.00 + 66 82 69.00 69.00 69.00 + 66 98 48.33 100.33 48.33 + 66 114 69.00 69.00 69.00 + 66 130 69.00 69.00 69.00 + 66 146 116.56 116.56 116.56 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 69.00 69.00 69.00 + 82 98 155.44 164.78 168.67 + 82 114 69.00 69.00 69.00 + 82 130 81.00 81.00 81.00 + 82 146 69.00 69.00 69.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 69.00 69.00 69.00 + 98 82 69.00 69.00 69.00 + 98 98 48.56 103.22 48.56 + 98 114 69.00 69.00 69.00 + 98 130 69.00 69.00 69.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 69.00 69.00 69.00 + 114 66 69.00 69.00 69.00 + 114 82 69.00 69.00 69.00 + 114 98 148.22 148.22 148.22 + 114 114 69.00 69.00 69.00 + 114 130 69.00 69.00 69.00 + 114 146 69.00 69.00 69.00 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 69.00 69.00 69.00 + 130 66 69.00 69.00 69.00 + 130 82 69.00 69.00 69.00 + 130 98 69.00 69.00 69.00 + 130 114 69.00 69.00 69.00 + 130 130 69.00 69.00 69.00 + 130 146 73.89 73.89 73.89 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 69.00 69.00 69.00 + 146 66 69.00 69.00 69.00 + 146 82 69.00 69.00 69.00 + 146 98 69.00 69.00 69.00 + 146 114 69.00 69.00 69.00 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 69.00 69.00 69.00 + 162 114 69.00 69.00 69.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-transparent.yaml b/unittest/graphics/tests/dump-image-regstyle-transparent.yaml new file mode 100644 index 00000000000..e3a751c92f6 --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-transparent.yaml @@ -0,0 +1,599 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:01 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + region r1 block -2.6 -1.0 -2.6 -1.0 -2.6 -1.0 + region r2 sphere 1.7 -1.7 -1.7 1.0 + region r3 ellipsoid -1.7 1.7 -1.7 1.2 0.8 0.6 + region r4 cylinder z 1.7 1.7 0.8 -2.6 -0.6 + region r5 cone x 0.0 1.7 0.9 0.2 -2.6 -0.6 + region r6 prism -2.6 -1.0 0.8 2.4 0.8 2.4 0.7 0.0 0.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region r1 red transparent 0.25 region r2 green transparent 0.4 region r3 blue transparent 0.55 region r4 yellow transparent 0.7 region r5 cyan transparent 0.85 region r6 magenta transparent 0.5 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 72.73 80.05 80.05 + 71.78 81.28 81.28 + 69.94 86.96 86.96 + 71.52 83.16 83.16 + 67.03 87.03 87.03 + 66.88 83.67 83.67 + 65.37 88.03 88.03 + 66.66 83.86 83.86 + 65.74 88.33 90.53 + 68.43 82.72 86.02 + 67.39 88.02 92.42 + 70.98 80.93 86.43 + 70.08 85.65 93.35 + 72.53 81.36 90.16 + 71.04 84.22 94.12 + 75.05 77.55 88.55 + 73.07 83.29 95.39 + 78.04 77.66 93.06 + 76.69 80.03 96.53 + 81.21 74.23 91.83 + 77.70 78.29 96.67 + 79.22 74.42 91.69 + 76.27 77.86 94.82 + 78.79 74.71 90.57 + 76.48 77.66 92.88 + 80.84 76.91 93.03 + 78.56 78.19 93.98 + 81.56 74.49 90.19 + 77.90 75.48 90.54 + 79.27 74.03 87.89 + 77.81 74.14 87.68 + 80.42 72.45 85.89 + 80.41 73.20 86.00 + 82.53 71.48 84.50 + 83.69 70.67 83.69 + 83.80 70.56 83.80 + 83.75 70.50 83.75 + 84.20 70.75 84.20 + 84.25 70.23 84.25 + 84.45 70.21 84.45 + 83.64 69.62 83.64 + 84.05 69.81 84.05 + 83.97 70.72 83.97 + 84.33 70.88 84.33 + 83.97 70.72 83.97 + 84.36 70.91 84.36 + 85.06 70.40 82.86 + 83.06 71.39 83.06 + 87.80 69.73 81.19 + 82.44 71.76 82.44 + 89.81 69.03 77.71 + 79.78 71.88 79.78 + 87.86 65.25 71.36 + 74.17 68.83 74.17 + 87.15 64.11 68.45 + 73.03 69.47 73.03 + 86.17 64.69 66.47 + 71.39 70.39 71.39 + 86.33 64.64 64.64 + 70.74 70.74 70.74 + 85.23 64.59 64.59 + 70.74 70.74 70.74 + 84.37 64.55 64.55 + 70.74 70.74 70.74 + 83.27 64.51 64.51 + 70.74 70.74 70.74 + 82.64 64.46 64.46 + 70.74 70.74 70.74 + 82.64 64.46 64.46 + 70.74 70.74 70.74 + 80.73 62.55 67.61 + 68.26 68.26 75.19 + 81.47 63.29 71.44 + 71.96 71.96 82.39 + 79.31 61.12 78.04 + 71.49 71.49 84.09 + 80.73 62.55 76.22 + 69.70 73.25 83.95 + 76.44 65.78 78.36 + 69.13 73.31 84.92 + 77.91 72.72 77.68 + 67.53 76.60 83.25 + 74.35 73.31 83.89 + 67.04 74.02 83.14 + 73.58 76.33 76.53 + 67.49 77.45 83.12 + 77.73 84.59 75.92 + 73.71 82.13 78.67 + 80.95 91.90 71.59 + 74.95 88.52 75.30 + 82.27 98.61 71.38 + 77.06 85.83 74.15 + 79.64 97.75 67.12 + 78.86 89.58 70.75 + 86.89 104.64 63.56 + 81.02 89.50 68.77 + 85.67 102.80 62.02 + 80.04 92.74 66.25 + 87.22 103.25 61.30 + 79.70 87.14 66.78 + 75.70 90.11 59.85 + 73.54 82.05 63.77 + 76.82 88.95 57.52 + 74.39 79.84 64.62 + 74.77 84.67 59.51 + 73.60 79.94 63.83 + 77.66 84.87 58.35 + 75.17 78.20 65.41 + 75.44 80.29 61.05 + 75.41 77.36 65.64 + 79.19 81.49 59.88 + 75.75 76.48 65.98 + 78.77 79.52 62.06 + 77.25 77.27 67.48 + 82.62 82.62 63.32 + 77.42 77.42 67.66 + 79.84 79.84 65.44 + 77.20 77.20 67.44 + 82.31 82.31 63.01 + 76.54 76.54 66.77 + 82.89 82.89 67.62 + 80.02 80.02 70.25 + 85.02 85.02 65.72 + 80.07 80.07 70.30 + 82.16 82.16 67.75 + 79.91 79.91 70.14 + 84.82 84.82 66.59 + 79.70 79.70 70.68 + 82.97 82.97 68.11 + 79.17 79.17 71.34 + 82.27 82.27 69.08 + 77.36 77.36 72.22 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 71.13 76.08 71.13 + 71.36 74.86 71.36 + 69.47 78.36 69.47 + 70.15 77.46 70.15 + 68.95 80.52 68.95 + 71.09 77.12 71.09 + 69.31 82.88 69.31 + 70.56 79.66 70.56 + 68.45 83.61 68.45 + 70.79 78.60 70.79 + 68.05 84.69 68.05 + 69.00 81.58 69.00 + 67.94 84.72 67.94 + 71.13 80.03 71.13 + 67.64 84.54 67.64 + 69.11 80.04 69.11 + 67.44 84.31 67.44 + 69.99 78.66 69.99 + 67.22 83.82 67.22 + 68.99 81.30 68.99 + 67.86 84.02 67.86 + 70.41 78.56 70.41 + 67.32 82.58 67.32 + 69.83 79.05 69.83 + 67.29 81.00 67.29 + 69.98 76.19 69.98 + 67.84 79.42 67.84 + 69.31 77.11 69.31 + 74.15 74.10 64.45 + 69.97 74.14 69.97 + 75.31 72.14 64.75 + 70.08 73.85 70.08 + 76.96 69.56 64.44 + 71.72 73.62 71.72 + 79.76 68.67 65.28 + 71.41 72.95 71.41 + 83.69 67.87 67.87 + 73.04 73.04 73.04 + 85.39 67.61 67.61 + 99.64 99.64 99.64 + 103.31 84.43 84.43 + 73.68 73.68 73.68 + 87.12 66.90 66.90 + 73.72 73.72 73.72 + 88.44 67.36 67.36 + 73.91 73.91 73.91 + 87.33 67.35 67.35 + 73.67 73.67 73.67 + 86.75 66.77 66.77 + 73.66 73.66 73.66 + 87.74 67.52 67.52 + 73.88 73.88 73.88 + 87.44 67.47 67.47 + 73.63 73.63 73.63 + 87.69 65.89 65.89 + 73.58 73.58 73.58 + 87.23 66.53 66.53 + 86.35 86.35 65.40 + 96.99 77.39 61.77 + 95.66 95.66 62.22 + 96.15 78.75 61.55 + 92.17 92.17 64.67 + 97.67 81.37 61.33 + 100.52 105.11 64.55 + 96.27 86.59 66.23 + 96.48 107.78 70.50 + 94.14 89.70 69.42 + 97.75 115.69 73.42 + 83.19 98.36 77.38 + 87.89 109.47 77.92 + 82.36 99.29 78.72 + 92.28 117.89 77.67 + 80.36 100.19 80.36 + 84.48 111.84 80.44 + 79.38 96.09 77.31 + 85.87 112.85 77.45 + 76.91 96.83 79.77 + 77.56 104.54 80.70 + 75.20 93.35 78.51 + 80.43 106.47 76.05 + 94.02 113.55 113.55 + 64.14 88.93 88.93 + 81.79 84.02 80.58 + 84.61 94.29 79.95 + 81.30 82.60 83.10 + 79.42 84.83 82.89 + 75.29 75.03 83.36 + 72.83 76.59 93.42 + 74.91 72.40 92.42 + 72.87 72.14 96.86 + 77.56 68.57 93.03 + 76.07 68.93 96.05 + 79.33 67.06 95.27 + 76.79 65.05 100.43 + 81.12 64.43 95.89 + 80.81 64.61 97.79 + 82.69 62.95 96.80 + 81.17 62.04 99.78 + 83.89 62.12 97.20 + 82.43 61.43 96.19 + 83.08 62.40 96.20 + 82.56 59.46 102.13 + 83.91 61.91 97.65 + 83.69 62.78 96.53 + 82.69 61.78 95.66 + 80.04 60.24 96.61 + 82.01 62.21 93.87 + 80.88 62.17 91.93 + 80.81 63.20 91.64 + 78.39 61.88 93.52 + 79.06 63.66 88.51 + 79.77 63.37 88.37 + 79.00 63.70 86.56 + 77.16 62.96 86.20 + 77.36 65.26 83.41 + 77.45 66.45 82.47 + 70.56 70.56 74.55 + 69.38 69.38 74.05 + 71.72 71.72 73.79 + 72.22 72.22 72.97 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 18.22 211.11 211.11 + 50 130 63.00 104.44 153.33 + 50 146 105.22 56.33 105.22 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 69.00 69.00 69.00 + 66 82 69.00 69.00 69.00 + 66 98 69.00 69.00 69.00 + 66 114 7.78 86.22 86.22 + 66 130 97.22 35.67 105.00 + 66 146 134.67 110.22 134.67 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 87.11 62.67 62.67 + 82 98 151.89 151.89 151.89 + 82 114 69.00 69.00 69.00 + 82 130 102.78 68.11 102.78 + 82 146 127.22 38.33 127.22 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 69.00 69.00 69.00 + 98 82 105.22 56.33 56.33 + 98 98 101.67 55.00 55.00 + 98 114 69.00 69.00 69.00 + 98 130 69.00 69.00 69.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 62.00 85.22 62.00 + 114 66 69.00 69.00 69.00 + 114 82 94.78 56.56 56.56 + 114 98 170.67 126.22 126.22 + 114 114 69.00 69.00 69.00 + 114 130 56.11 56.11 102.56 + 114 146 37.78 37.78 161.33 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 53.22 131.00 53.22 + 130 66 49.78 111.78 49.78 + 130 82 69.00 69.00 69.00 + 130 98 195.78 195.78 24.67 + 130 114 195.78 195.78 24.67 + 130 130 34.44 34.44 90.00 + 130 146 33.78 33.78 83.78 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 47.22 65.11 47.22 + 146 66 46.00 68.44 46.00 + 146 82 69.00 69.00 69.00 + 146 98 140.89 140.89 22.00 + 146 114 124.56 124.56 22.22 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 131.22 131.22 29.00 + 162 114 124.56 124.56 22.22 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-union.yaml b/unittest/graphics/tests/dump-image-regstyle-union.yaml new file mode 100644 index 00000000000..66dfa67ba0f --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-union.yaml @@ -0,0 +1,599 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:02 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + region s1 sphere -1.3 0.0 0.0 1.5 + region c1 cylinder x 0.0 0.0 0.7 -2.7 2.7 + region u1 union 2 s1 c1 + region b2 block 0.3 2.7 -1.4 1.4 -1.4 1.4 + region s2 sphere 1.5 0.0 0.0 1.6 + region i1 intersect 2 b2 s2 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region u1 cyan points 12000 0.1 region i1 goldenrod points 12000 0.1 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 74.76 74.76 74.76 + 74.39 74.39 74.39 + 74.61 74.61 74.61 + 74.71 74.71 74.71 + 72.57 72.57 72.57 + 71.58 71.58 71.58 + 71.83 71.83 71.83 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.31 71.31 71.31 + 71.91 71.91 71.91 + 71.70 71.70 71.70 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.61 71.61 71.61 + 71.41 71.41 71.41 + 72.08 72.08 72.08 + 71.83 71.83 71.83 + 71.89 71.89 71.89 + 71.81 71.81 71.81 + 71.69 71.69 71.69 + 71.50 71.50 71.50 + 71.81 71.81 71.81 + 71.92 71.92 71.92 + 72.95 73.86 73.86 + 74.13 77.75 77.75 + 73.82 78.03 78.03 + 73.75 77.95 77.95 + 72.14 83.67 83.67 + 71.78 79.36 79.36 + 72.31 83.88 83.88 + 71.19 85.29 85.29 + 71.36 84.56 84.56 + 69.44 88.08 88.08 + 66.77 93.91 93.91 + 67.97 88.51 88.51 + 66.41 93.08 93.08 + 67.03 90.11 90.11 + 66.16 95.17 95.17 + 66.97 88.42 88.42 + 66.78 88.02 88.02 + 69.33 85.10 85.10 + 69.64 89.47 89.47 + 67.81 89.75 89.75 + 67.11 91.66 91.66 + 67.02 92.66 92.66 + 71.23 87.62 85.15 + 70.92 89.94 87.03 + 69.02 90.41 89.17 + 70.11 91.15 87.13 + 74.33 92.03 85.91 + 68.73 94.78 91.35 + 72.27 88.31 80.51 + 68.90 91.81 83.12 + 70.77 88.53 79.86 + 73.84 91.73 81.92 + 77.00 87.92 75.66 + 75.45 93.48 81.49 + 75.17 93.67 82.47 + 72.97 91.00 80.52 + 74.86 93.72 80.43 + 73.64 91.39 80.33 + 78.32 90.77 77.75 + 74.12 91.92 79.53 + 74.44 89.59 78.39 + 73.04 86.94 76.59 + 73.49 94.09 82.21 + 74.87 86.93 75.20 + 72.67 91.85 83.09 + 72.63 91.58 81.25 + 69.64 94.65 85.49 + 67.55 86.92 80.50 + 71.83 92.29 85.38 + 69.73 91.80 84.88 + 73.72 88.36 78.72 + 71.75 87.46 80.78 + 69.00 93.25 87.57 + 70.70 88.25 81.97 + 73.19 86.55 78.04 + 75.73 87.93 80.58 + 76.00 90.42 81.72 + 71.92 86.22 81.06 + 77.55 88.31 81.11 + 76.83 81.12 74.48 + 79.49 85.84 75.88 + 81.88 83.72 73.94 + 84.83 85.72 74.06 + 83.47 85.42 75.92 + 83.90 87.27 75.92 + 82.11 83.59 74.66 + 80.73 81.56 74.30 + 85.81 84.42 73.44 + 89.20 84.22 69.64 + 88.36 82.94 69.36 + 83.56 80.24 71.93 + 81.42 78.78 72.14 + 90.50 84.96 70.97 + 81.31 78.56 71.70 + 81.56 79.08 72.81 + 78.68 76.66 71.61 + 74.78 73.69 70.97 + 75.95 74.41 70.50 + 73.17 72.45 70.64 + 71.81 71.81 71.81 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.29 71.29 71.29 + 71.91 71.91 71.91 + 71.69 71.69 71.69 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.59 71.59 71.59 + 71.39 71.39 71.39 + 72.06 72.06 72.06 + 71.81 71.81 71.81 + 71.89 71.89 71.89 + 71.81 71.81 71.81 + 71.67 71.67 71.67 + 71.50 71.50 71.50 + 71.01 71.01 71.01 + 74.28 74.28 74.28 + 74.48 74.48 74.48 + 74.21 74.21 74.21 + 74.54 74.54 74.54 + 74.13 74.13 74.13 + 74.38 74.38 74.38 + 74.42 74.42 74.42 + 74.61 74.61 74.61 + 74.42 74.42 74.42 + 74.63 74.63 74.63 + 74.38 74.38 74.38 + 74.28 74.28 74.28 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 72.96 72.96 72.96 + 72.53 72.53 72.53 + 72.89 72.89 72.89 + 72.94 72.94 72.94 + 72.82 72.82 72.82 + 73.19 73.19 73.19 + 73.59 73.59 73.59 + 73.04 73.04 73.04 + 72.92 72.92 72.92 + 72.92 72.92 72.92 + 72.89 72.89 72.89 + 72.81 72.81 72.81 + 73.19 73.19 73.19 + 73.55 73.55 73.55 + 72.97 72.97 72.97 + 72.83 72.83 72.83 + 72.84 72.84 72.84 + 72.80 72.80 72.80 + 73.37 73.16 72.61 + 78.35 76.50 71.81 + 77.45 75.84 71.84 + 76.00 74.70 71.39 + 76.67 74.98 70.77 + 80.61 77.86 70.95 + 78.43 76.16 70.43 + 80.84 79.42 70.14 + 78.36 79.50 72.31 + 75.49 81.27 75.25 + 81.83 80.68 70.89 + 79.43 79.69 70.80 + 82.04 82.82 72.19 + 78.15 80.58 71.20 + 79.18 81.59 72.68 + 81.28 80.15 69.64 + 83.81 83.16 70.29 + 77.06 83.56 74.89 + 79.85 85.42 75.44 + 80.49 83.60 72.72 + 79.41 85.67 74.17 + 102.06 106.03 96.14 + 93.88 100.72 92.36 + 74.31 84.44 79.42 + 77.43 84.01 76.67 + 77.22 88.16 79.76 + 73.02 82.45 77.17 + 75.25 90.17 81.22 + 77.41 89.28 78.28 + 75.61 92.50 83.96 + 74.79 86.25 77.50 + 75.75 86.78 77.22 + 80.44 88.53 77.06 + 76.83 87.55 77.81 + 74.84 94.82 84.98 + 78.48 89.36 77.61 + 76.05 88.30 78.09 + 81.00 91.20 77.34 + 80.48 93.15 79.60 + 77.47 89.38 79.00 + 78.48 96.17 85.28 + 74.42 92.71 82.63 + 76.86 92.22 80.42 + 70.94 91.19 84.06 + 78.42 94.98 82.89 + 76.67 89.08 78.16 + 72.83 91.72 83.02 + 79.77 92.89 81.03 + 77.49 94.73 84.44 + 73.44 93.03 85.75 + 74.87 97.80 87.81 + 72.56 91.38 83.70 + 68.08 92.00 87.78 + 67.29 92.81 89.61 + 67.72 94.72 91.22 + 69.75 91.02 88.02 + 65.61 90.19 89.10 + 62.04 96.12 96.12 + 63.76 94.22 94.22 + 64.17 90.48 90.48 + 63.70 92.56 92.56 + 65.95 86.89 86.89 + 96.33 112.23 112.23 + 69.53 80.16 80.16 + 63.73 91.28 91.28 + 65.39 86.28 86.28 + 65.10 87.16 87.16 + 67.35 85.61 85.61 + 65.53 90.16 90.16 + 66.12 87.50 87.50 + 66.68 88.92 88.92 + 66.81 82.44 82.44 + 66.61 85.06 85.06 + 67.61 80.69 80.69 + 68.06 82.11 82.11 + 67.70 81.89 81.89 + 68.77 81.98 81.98 + 68.94 81.73 81.73 + 70.14 80.05 80.05 + 70.81 76.03 76.03 + 71.66 74.48 74.48 + 72.45 72.45 72.45 + 72.75 72.75 72.75 + 73.36 73.36 73.36 + 73.32 73.32 73.32 + 73.16 73.16 73.16 + 73.02 73.02 73.02 + 72.93 72.93 72.93 + 72.25 72.25 72.25 + 72.69 72.69 72.69 + 73.31 73.31 73.31 + 73.31 73.31 73.31 + 73.13 73.13 73.13 + 73.00 73.00 73.00 + 72.81 72.81 72.81 + 72.19 72.19 72.19 + 72.61 72.61 72.61 + 73.23 73.23 73.23 + 73.25 73.25 73.25 + 73.13 73.13 73.13 + 73.45 73.45 73.45 + 72.91 72.91 72.91 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 69.00 69.00 69.00 + 50 130 69.00 69.00 69.00 + 50 146 69.00 69.00 69.00 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 69.00 69.00 69.00 + 66 82 69.00 69.00 69.00 + 66 98 57.56 110.33 110.33 + 66 114 37.44 141.67 141.67 + 66 130 69.00 69.00 69.00 + 66 146 116.56 116.56 116.56 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 69.00 69.00 69.00 + 82 82 89.00 82.89 67.44 + 82 98 139.89 183.89 183.89 + 82 114 31.33 145.44 145.44 + 82 130 60.11 96.89 96.89 + 82 146 69.00 69.00 69.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 97.56 87.56 62.33 + 98 82 113.11 106.56 60.22 + 98 98 68.56 154.67 123.33 + 98 114 29.00 136.22 136.22 + 98 130 22.89 146.44 146.44 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 69.00 69.00 69.00 + 114 66 54.33 182.00 156.44 + 114 82 67.89 132.89 110.33 + 114 98 102.22 125.11 116.78 + 114 114 24.67 167.00 167.00 + 114 130 69.00 69.00 69.00 + 114 146 69.00 69.00 69.00 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 69.00 69.00 69.00 + 130 66 113.22 98.11 60.11 + 130 82 134.78 107.67 39.67 + 130 98 156.78 124.89 44.89 + 130 114 69.00 69.00 69.00 + 130 130 69.00 69.00 69.00 + 130 146 73.89 73.89 73.89 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 69.00 69.00 69.00 + 146 66 69.00 69.00 69.00 + 146 82 69.00 69.00 69.00 + 146 98 69.00 69.00 69.00 + 146 114 69.00 69.00 69.00 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 69.00 69.00 69.00 + 162 114 69.00 69.00 69.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-regstyle-varparam.yaml b/unittest/graphics/tests/dump-image-regstyle-varparam.yaml new file mode 100644 index 00000000000..76dfe7ac8b9 --- /dev/null +++ b/unittest/graphics/tests/dump-image-regstyle-varparam.yaml @@ -0,0 +1,597 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 15:27:04 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block -3 3 -3 3 -3 3 + create_box 1 box + mass 1 1.0 + variable rs equal 0.5+0.012*step + variable rc equal 0.3+0.008*step + region g1 sphere -1.2 -1.2 0.0 v_rs + region g2 cylinder y 1.2 0.0 v_rc 0.2 2.6 + dump viz all image 100 ${imagefile} type type size 200 200 zoom 1.1 view 60 30 shiny 0.1 box yes 0.02 region g1 cadetblue transparent 0.5 region g2 goldenrod frame 0.1 + dump_modify viz backcolor darkgray boxcolor silver +run_commands: | + run 100 +image_size: 200 200 +sampling: 3 16 +row_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.90 69.90 69.90 + 72.99 72.99 72.99 + 74.14 74.14 74.14 + 74.26 74.26 74.26 + 74.33 74.33 74.33 + 74.67 74.67 74.67 + 74.22 74.22 74.22 + 74.51 74.51 74.51 + 74.47 74.47 74.47 + 74.73 74.73 74.73 + 74.49 74.49 74.49 + 74.75 74.75 74.75 + 74.44 74.44 74.44 + 74.62 74.62 74.62 + 74.75 74.75 74.75 + 74.86 74.86 74.86 + 74.50 74.50 74.50 + 74.66 74.66 74.66 + 74.64 74.64 74.64 + 74.21 74.21 74.21 + 74.49 74.49 74.49 + 74.44 74.44 74.44 + 74.70 74.70 74.70 + 74.47 74.47 74.47 + 74.76 74.76 74.76 + 74.39 74.39 74.39 + 74.61 74.61 74.61 + 74.71 74.71 74.71 + 72.57 72.57 72.57 + 71.58 71.58 71.58 + 71.83 71.83 71.83 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.31 71.31 71.31 + 71.91 71.91 71.91 + 71.70 71.70 71.70 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.61 71.61 71.61 + 71.41 71.41 71.41 + 72.09 72.73 72.75 + 71.90 73.59 73.64 + 72.25 74.72 74.80 + 72.22 75.48 75.58 + 72.55 76.20 76.31 + 72.61 77.06 77.19 + 73.36 78.19 78.31 + 73.71 78.90 79.03 + 75.46 80.99 81.12 + 77.62 83.50 83.67 + 78.32 84.51 84.69 + 78.06 84.55 84.73 + 78.59 85.36 85.56 + 78.72 85.78 85.99 + 79.12 86.45 86.67 + 79.11 86.33 86.53 + 79.48 86.95 87.17 + 79.16 86.86 87.07 + 79.16 87.02 87.26 + 79.08 86.56 86.77 + 78.80 85.91 86.09 + 78.63 85.56 85.75 + 78.32 84.99 85.19 + 78.31 85.03 85.21 + 77.44 84.27 84.46 + 77.75 84.36 84.53 + 77.92 84.65 84.82 + 78.10 84.65 84.84 + 77.85 84.53 84.72 + 77.83 84.58 84.75 + 77.71 84.35 84.52 + 77.71 84.44 84.64 + 78.14 84.77 84.95 + 77.91 84.58 84.77 + 78.03 84.50 84.69 + 77.09 83.34 83.51 + 73.56 80.17 80.35 + 76.61 80.67 76.66 + 79.89 81.66 74.23 + 83.50 83.55 73.25 + 86.24 84.72 71.93 + 88.03 86.11 71.80 + 89.38 86.33 70.61 + 90.22 86.47 70.00 + 90.77 86.42 68.92 + 91.06 86.72 68.69 + 95.14 88.83 67.25 + 94.61 88.03 65.89 + 91.77 86.03 65.61 + 90.91 84.47 63.66 + 90.60 84.33 63.86 + 91.92 85.12 63.62 + 89.38 83.13 63.78 + 91.69 84.33 62.91 + 88.22 81.86 63.15 + 89.59 82.55 62.92 + 91.62 84.31 64.33 + 89.10 82.05 62.94 + 91.86 84.55 65.19 + 92.31 84.89 65.36 + 92.86 85.61 66.84 + 94.16 86.39 66.41 + 91.64 84.16 65.11 + 92.44 85.46 67.74 + 93.80 86.22 66.97 + 96.07 87.95 67.30 + 93.00 85.91 67.92 + 93.39 86.01 67.28 + 95.34 86.89 65.49 + 94.88 87.17 67.59 + 91.58 84.64 67.02 + 98.16 89.53 67.58 + 95.27 87.41 67.44 + 97.34 88.98 67.72 + 99.31 90.70 68.81 + 100.69 91.70 68.83 + 97.84 89.63 68.72 + 99.11 90.77 69.50 + 97.15 89.30 69.31 + 93.80 87.13 70.16 + 93.43 86.85 70.08 + 89.62 84.35 70.92 + 88.80 83.75 70.94 + 83.98 79.96 69.77 + 81.10 77.64 68.83 + 77.14 74.86 69.07 + 72.27 71.31 68.91 + 72.20 71.61 70.15 + 71.69 71.69 71.69 + 71.52 71.52 71.52 + 71.29 71.29 71.29 + 71.91 71.91 71.91 + 71.69 71.69 71.69 + 71.86 71.86 71.86 + 71.75 71.75 71.75 + 71.59 71.59 71.59 + 71.39 71.39 71.39 + 72.06 72.06 72.06 + 71.81 71.81 71.81 + 71.89 71.89 71.89 + 71.81 71.81 71.81 + 71.67 71.67 71.67 + 71.50 71.50 71.50 + 71.01 71.01 71.01 + 74.28 74.28 74.28 + 74.48 74.48 74.48 + 74.21 74.21 74.21 + 74.54 74.54 74.54 + 74.13 74.13 74.13 + 74.38 74.38 74.38 + 74.42 74.42 74.42 + 74.61 74.61 74.61 + 74.42 74.42 74.42 + 74.63 74.63 74.63 + 74.38 74.38 74.38 + 74.28 74.28 74.28 + 74.73 74.73 74.73 + 74.18 74.18 74.18 + 74.45 74.45 74.45 + 74.18 74.18 74.18 + 74.53 74.53 74.53 + 74.11 74.11 74.11 + 74.36 74.36 74.36 + 74.36 74.36 74.36 + 74.58 74.58 74.58 + 74.39 74.39 74.39 + 74.62 74.62 74.62 + 74.33 74.33 74.33 + 74.47 74.47 74.47 + 74.19 74.19 74.19 + 73.56 73.56 73.56 + 70.65 70.65 70.65 + 68.67 68.67 68.67 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +col_means: | + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 98.86 98.86 98.86 + 92.52 92.52 92.52 + 73.01 73.01 73.01 + 72.70 72.70 72.70 + 73.06 73.06 73.06 + 73.06 73.06 73.06 + 72.80 72.80 72.80 + 73.17 73.17 73.17 + 73.19 73.19 73.19 + 73.08 73.08 73.08 + 72.62 72.62 72.62 + 72.97 72.97 72.97 + 73.01 73.01 73.01 + 72.82 72.82 72.82 + 73.17 73.17 73.17 + 73.17 73.17 73.17 + 72.96 72.96 72.96 + 72.53 72.53 72.53 + 72.89 72.89 72.89 + 72.94 72.94 72.94 + 72.82 72.82 72.82 + 73.19 73.19 73.19 + 73.59 73.59 73.59 + 73.04 73.04 73.04 + 72.92 72.92 72.92 + 72.92 72.92 72.92 + 72.89 72.89 72.89 + 72.81 72.81 72.81 + 73.19 73.19 73.19 + 73.55 73.55 73.55 + 72.97 72.97 72.97 + 72.83 72.83 72.83 + 72.84 72.84 72.84 + 72.80 72.80 72.80 + 72.77 72.77 72.77 + 73.17 73.17 73.17 + 73.53 73.53 73.53 + 72.97 73.56 73.57 + 72.76 74.42 74.47 + 73.52 75.88 75.94 + 73.00 75.76 75.84 + 73.18 75.96 76.05 + 73.84 77.53 77.64 + 74.14 78.17 78.28 + 73.86 77.94 78.05 + 74.25 78.94 79.06 + 74.91 79.90 80.05 + 74.75 80.06 80.22 + 74.81 80.41 80.56 + 75.44 81.30 81.47 + 75.58 81.70 81.89 + 75.38 81.77 81.95 + 76.14 82.50 82.68 + 76.03 82.61 82.79 + 75.97 82.76 82.95 + 94.53 101.17 101.38 + 90.42 97.36 97.53 + 76.52 83.61 83.81 + 81.36 86.09 80.77 + 86.69 89.90 80.59 + 87.84 90.78 80.86 + 88.69 91.50 81.36 + 91.51 92.94 80.14 + 90.98 92.70 80.53 + 89.33 90.98 79.04 + 90.47 91.86 78.89 + 93.73 93.96 79.22 + 91.70 92.36 78.81 + 91.64 91.96 78.11 + 94.76 94.06 78.22 + 93.47 92.74 76.73 + 90.95 90.73 76.28 + 94.79 93.11 75.97 + 95.96 93.84 75.72 + 95.08 93.58 76.45 + 93.83 91.94 74.38 + 98.08 94.98 74.86 + 94.91 92.23 73.76 + 94.17 90.97 72.16 + 94.77 91.68 73.17 + 95.49 91.94 73.17 + 90.81 88.23 71.62 + 91.53 88.86 72.27 + 95.34 91.02 71.80 + 91.94 88.22 70.44 + 91.22 87.66 70.06 + 93.12 88.86 70.55 + 92.38 87.81 69.42 + 88.50 84.64 68.28 + 89.89 85.48 68.53 + 92.52 87.23 68.34 + 89.92 84.87 66.84 + 88.60 83.81 66.92 + 91.89 86.25 67.69 + 91.20 85.56 67.38 + 87.89 82.68 66.03 + 99.75 100.72 100.75 + 72.38 73.10 73.11 + 88.08 82.09 65.19 + 91.17 84.53 67.19 + 93.03 85.89 67.76 + 91.31 84.69 67.92 + 90.81 84.25 67.45 + 92.38 85.52 68.11 + 90.84 84.50 68.42 + 88.00 82.19 67.36 + 89.66 83.54 68.01 + 88.79 83.11 68.72 + 86.52 81.54 68.81 + 86.36 81.19 68.08 + 87.86 82.54 69.06 + 86.38 81.58 69.44 + 84.44 80.02 68.72 + 84.00 79.53 68.21 + 81.94 78.14 68.59 + 80.44 77.21 68.94 + 77.81 75.34 69.11 + 73.88 73.16 71.39 + 73.32 73.32 73.32 + 73.16 73.16 73.16 + 73.02 73.02 73.02 + 72.93 72.93 72.93 + 72.25 72.25 72.25 + 72.69 72.69 72.69 + 73.31 73.31 73.31 + 73.31 73.31 73.31 + 73.13 73.13 73.13 + 73.00 73.00 73.00 + 72.81 72.81 72.81 + 72.19 72.19 72.19 + 72.61 72.61 72.61 + 73.23 73.23 73.23 + 73.25 73.25 73.25 + 73.13 73.13 73.13 + 73.45 73.45 73.45 + 72.91 72.91 72.91 + 72.62 72.62 72.62 + 72.66 72.66 72.66 + 73.14 73.14 73.14 + 73.17 73.17 73.17 + 73.11 73.11 73.11 + 73.42 73.42 73.42 + 72.88 72.88 72.88 + 72.56 72.56 72.56 + 72.60 72.60 72.60 + 73.03 73.03 73.03 + 73.08 73.08 73.08 + 73.07 73.07 73.07 + 73.43 73.43 73.43 + 73.60 73.60 73.60 + 71.69 71.69 71.69 + 99.25 99.25 99.25 + 71.40 71.40 71.40 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 + 69.00 69.00 69.00 +sample_blocks: | + 2 2 69.00 69.00 69.00 + 2 18 69.00 69.00 69.00 + 2 34 69.00 69.00 69.00 + 2 50 69.00 69.00 69.00 + 2 66 69.00 69.00 69.00 + 2 82 69.00 69.00 69.00 + 2 98 69.00 69.00 69.00 + 2 114 69.00 69.00 69.00 + 2 130 69.00 69.00 69.00 + 2 146 69.00 69.00 69.00 + 2 162 69.00 69.00 69.00 + 2 178 69.00 69.00 69.00 + 2 194 69.00 69.00 69.00 + 18 2 69.00 69.00 69.00 + 18 18 69.00 69.00 69.00 + 18 34 69.00 69.00 69.00 + 18 50 69.00 69.00 69.00 + 18 66 69.00 69.00 69.00 + 18 82 69.00 69.00 69.00 + 18 98 143.89 143.89 143.89 + 18 114 69.00 69.00 69.00 + 18 130 69.00 69.00 69.00 + 18 146 69.00 69.00 69.00 + 18 162 69.00 69.00 69.00 + 18 178 69.00 69.00 69.00 + 18 194 69.00 69.00 69.00 + 34 2 69.00 69.00 69.00 + 34 18 69.00 69.00 69.00 + 34 34 69.00 69.00 69.00 + 34 50 69.00 69.00 69.00 + 34 66 69.00 69.00 69.00 + 34 82 69.00 69.00 69.00 + 34 98 69.00 69.00 69.00 + 34 114 69.00 69.00 69.00 + 34 130 69.00 69.00 69.00 + 34 146 111.44 111.44 111.44 + 34 162 69.00 69.00 69.00 + 34 178 69.00 69.00 69.00 + 34 194 69.00 69.00 69.00 + 50 2 69.00 69.00 69.00 + 50 18 69.00 69.00 69.00 + 50 34 69.00 69.00 69.00 + 50 50 69.00 69.00 69.00 + 50 66 69.00 69.00 69.00 + 50 82 69.00 69.00 69.00 + 50 98 69.00 69.00 69.00 + 50 114 69.00 69.00 69.00 + 50 130 69.00 69.00 69.00 + 50 146 69.00 69.00 69.00 + 50 162 80.89 80.89 80.89 + 50 178 69.00 69.00 69.00 + 50 194 69.00 69.00 69.00 + 66 2 69.00 69.00 69.00 + 66 18 69.00 69.00 69.00 + 66 34 77.00 77.00 77.00 + 66 50 69.00 69.00 69.00 + 66 66 72.33 83.44 83.78 + 66 82 92.78 122.56 123.44 + 66 98 85.11 111.44 112.33 + 66 114 56.67 68.11 68.56 + 66 130 69.00 69.00 69.00 + 66 146 116.56 116.56 116.56 + 66 162 69.00 69.00 69.00 + 66 178 69.00 69.00 69.00 + 66 194 69.00 69.00 69.00 + 82 2 69.00 69.00 69.00 + 82 18 69.00 69.00 69.00 + 82 34 69.00 69.00 69.00 + 82 50 69.00 69.00 69.00 + 82 66 79.56 102.56 103.11 + 82 82 91.11 119.67 120.56 + 82 98 155.56 161.89 162.00 + 82 114 60.00 73.11 73.22 + 82 130 81.00 81.00 81.00 + 82 146 69.00 69.00 69.00 + 82 162 69.00 69.00 69.00 + 82 178 69.00 69.00 69.00 + 82 194 69.00 69.00 69.00 + 98 2 69.00 69.00 69.00 + 98 18 69.00 69.00 69.00 + 98 34 69.00 69.00 69.00 + 98 50 69.00 69.00 69.00 + 98 66 59.11 71.00 71.33 + 98 82 73.33 92.44 93.00 + 98 98 151.00 124.22 47.56 + 98 114 182.00 141.56 39.56 + 98 130 122.89 105.67 62.00 + 98 146 69.00 69.00 69.00 + 98 162 69.00 69.00 69.00 + 98 178 69.00 69.00 69.00 + 98 194 69.00 69.00 69.00 + 114 2 69.00 69.00 69.00 + 114 18 69.00 69.00 69.00 + 114 34 69.00 69.00 69.00 + 114 50 69.00 69.00 69.00 + 114 66 69.00 69.00 69.00 + 114 82 142.67 116.22 48.67 + 114 98 163.11 138.11 72.89 + 114 114 164.56 129.67 41.11 + 114 130 138.00 116.11 59.67 + 114 146 69.00 69.00 69.00 + 114 162 69.00 69.00 69.00 + 114 178 69.00 69.00 69.00 + 114 194 69.00 69.00 69.00 + 130 2 69.00 69.00 69.00 + 130 18 69.00 69.00 69.00 + 130 34 69.00 69.00 69.00 + 130 50 69.00 69.00 69.00 + 130 66 69.00 69.00 69.00 + 130 82 69.00 69.00 69.00 + 130 98 195.44 152.67 42.56 + 130 114 148.00 118.89 44.00 + 130 130 151.78 123.22 50.67 + 130 146 73.89 73.89 73.89 + 130 162 69.00 69.00 69.00 + 130 178 69.00 69.00 69.00 + 130 194 69.00 69.00 69.00 + 146 2 69.00 69.00 69.00 + 146 18 69.00 69.00 69.00 + 146 34 81.00 81.00 81.00 + 146 50 69.00 69.00 69.00 + 146 66 69.00 69.00 69.00 + 146 82 69.00 69.00 69.00 + 146 98 69.00 69.00 69.00 + 146 114 69.00 69.00 69.00 + 146 130 69.00 69.00 69.00 + 146 146 69.00 69.00 69.00 + 146 162 100.78 100.78 100.78 + 146 178 69.00 69.00 69.00 + 146 194 69.00 69.00 69.00 + 162 2 69.00 69.00 69.00 + 162 18 69.00 69.00 69.00 + 162 34 69.00 69.00 69.00 + 162 50 97.78 97.78 97.78 + 162 66 69.00 69.00 69.00 + 162 82 69.00 69.00 69.00 + 162 98 69.00 69.00 69.00 + 162 114 69.00 69.00 69.00 + 162 130 69.00 69.00 69.00 + 162 146 107.67 107.67 107.67 + 162 162 69.00 69.00 69.00 + 162 178 69.00 69.00 69.00 + 162 194 69.00 69.00 69.00 + 178 2 69.00 69.00 69.00 + 178 18 69.00 69.00 69.00 + 178 34 69.00 69.00 69.00 + 178 50 69.00 69.00 69.00 + 178 66 69.00 69.00 69.00 + 178 82 69.00 69.00 69.00 + 178 98 152.78 152.78 152.78 + 178 114 69.00 69.00 69.00 + 178 130 69.33 69.33 69.33 + 178 146 69.00 69.00 69.00 + 178 162 69.00 69.00 69.00 + 178 178 69.00 69.00 69.00 + 178 194 69.00 69.00 69.00 + 194 2 69.00 69.00 69.00 + 194 18 69.00 69.00 69.00 + 194 34 69.00 69.00 69.00 + 194 50 69.00 69.00 69.00 + 194 66 69.00 69.00 69.00 + 194 82 69.00 69.00 69.00 + 194 98 69.00 69.00 69.00 + 194 114 69.00 69.00 69.00 + 194 130 69.00 69.00 69.00 + 194 146 69.00 69.00 69.00 + 194 162 69.00 69.00 69.00 + 194 178 69.00 69.00 69.00 + 194 194 69.00 69.00 69.00 +... diff --git a/unittest/graphics/tests/dump-image-ssao.yaml b/unittest/graphics/tests/dump-image-ssao.yaml new file mode 100644 index 00000000000..15a0a99047c --- /dev/null +++ b/unittest/graphics/tests/dump-image-ssao.yaml @@ -0,0 +1,603 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 13:32:20 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.5 view 60 30 shiny 0.2 box yes 0.02 bond atom 0.3 fsaa yes ssao yes 314123 0.7 + dump_modify viz backcolor gray boxcolor yellow element C C O H N C C C O H H S O H acolor 1 silver +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 137.18 134.94 122.08 + 136.46 130.91 120.92 + 138.25 128.89 119.14 + 138.59 129.78 116.73 + 138.81 131.00 117.52 + 136.04 130.53 116.95 + 134.31 131.61 117.81 + 134.32 133.93 120.54 + 132.86 132.07 118.86 + 133.55 131.28 117.91 + 134.20 131.44 117.88 + 134.41 131.81 118.39 + 135.81 130.81 117.42 + 140.12 133.34 120.00 + 145.88 138.03 124.62 + 144.37 137.09 123.56 + 139.22 132.47 118.81 + 134.81 123.90 111.00 + 132.41 120.36 107.97 + 133.88 120.72 110.97 + 134.63 117.83 111.94 + 137.42 120.90 116.91 + 139.11 122.64 117.69 + 138.24 124.23 117.99 + 135.30 124.91 117.30 + 133.97 125.86 117.75 + 134.02 125.79 117.51 + 137.93 125.86 117.53 + 139.53 122.11 114.03 + 139.73 116.59 108.36 + 139.03 116.30 107.58 + 136.94 115.92 107.46 + 134.84 120.66 112.25 + 136.24 126.47 118.19 + 137.88 127.16 118.59 + 133.76 124.03 115.50 + 134.06 122.91 113.55 + 135.37 121.81 112.86 + 133.00 118.83 110.61 + 130.28 116.45 108.08 + 129.87 112.70 104.41 + 128.99 112.72 104.70 + 127.44 110.78 102.75 + 125.22 106.89 98.70 + 120.92 105.14 97.16 + 122.55 108.64 101.44 + 126.36 107.48 101.62 + 127.73 105.45 100.11 + 131.99 106.37 98.66 + 131.28 107.44 96.66 + 137.22 114.68 100.36 + 141.96 121.78 107.17 + 136.73 117.75 103.14 + 130.72 111.84 96.98 + 126.17 109.62 94.67 + 124.28 110.90 95.95 + 125.43 114.55 98.55 + 128.72 118.11 101.25 + 131.41 117.94 101.44 + 127.69 111.92 96.55 + 124.33 104.50 89.17 + 124.87 103.32 88.16 + 129.84 106.48 91.33 + 132.53 113.63 98.38 + 127.19 112.79 97.83 + 119.60 109.23 94.37 + 123.27 114.56 99.48 + 128.80 116.06 101.13 + 131.00 117.34 102.22 + 133.63 117.06 102.01 + 129.12 106.83 91.89 + 123.60 100.99 86.06 + 124.83 100.12 85.05 + 127.21 102.58 87.82 + 127.70 109.42 94.47 + 126.77 113.73 98.21 + 123.73 108.61 92.85 + 121.76 102.38 87.48 + 119.31 101.08 86.21 + 121.53 106.19 91.02 + 127.34 115.75 100.74 + 131.74 120.70 105.75 + 135.99 118.03 102.78 + 132.59 113.80 98.86 + 123.97 105.11 91.07 + 121.17 104.08 94.53 + 123.05 109.61 104.65 + 126.72 113.78 110.88 + 128.88 113.00 110.11 + 125.83 104.38 101.48 + 122.45 99.03 96.12 + 120.70 96.07 93.16 + 118.30 95.50 92.58 + 115.97 98.24 95.33 + 119.31 103.79 100.88 + 117.23 100.84 97.93 + 120.38 104.28 101.39 + 124.17 108.61 105.72 + 128.09 111.28 108.39 + 128.70 109.68 106.78 + 124.12 109.53 106.64 + 122.83 104.64 101.75 + 127.09 105.56 102.67 + 130.57 109.38 106.58 + 135.10 111.36 108.47 + 134.77 113.11 110.22 + 131.81 109.31 106.41 + 130.09 103.90 101.00 + 125.22 97.90 95.01 + 118.64 92.27 89.36 + 113.58 86.71 83.81 + 109.78 83.84 80.84 + 109.15 90.84 87.94 + 114.29 103.41 100.51 + 117.34 106.14 103.25 + 120.56 107.43 104.46 + 121.16 106.42 103.14 + 123.33 109.83 106.44 + 127.08 110.97 107.42 + 128.81 109.49 105.61 + 126.36 105.52 102.11 + 128.66 104.96 102.06 + 127.12 102.91 100.01 + 125.57 101.97 99.06 + 129.20 105.00 102.09 + 129.22 103.71 100.31 + 126.99 103.35 99.27 + 124.00 102.45 99.00 + 119.31 100.62 97.73 + 120.30 105.43 102.53 + 123.78 110.68 107.58 + 126.33 109.78 106.41 + 124.04 106.38 103.23 + 118.23 101.28 98.19 + 117.61 101.61 98.38 + 120.98 106.22 103.18 + 124.86 111.94 108.58 + 128.65 116.11 112.31 + 132.09 115.17 110.58 + 134.32 110.05 105.17 + 133.51 105.83 101.73 + 135.72 107.44 104.18 + 128.98 104.88 101.45 + 125.86 106.86 103.80 + 124.27 107.95 104.45 + 124.78 109.18 103.94 + 124.65 110.83 103.58 + 123.80 108.78 99.38 + 122.61 105.83 96.39 + 125.83 109.05 101.51 + 129.02 112.99 107.46 + 127.17 113.15 109.11 + 127.93 114.42 109.76 + 133.46 115.91 110.08 + 140.95 121.54 114.90 + 144.44 124.38 116.42 + 144.68 122.50 114.94 + 140.44 122.09 115.41 + 132.53 114.83 109.19 + 125.91 107.47 103.22 + 124.36 111.23 106.31 + 125.31 116.65 109.83 + 128.69 123.34 115.00 + 129.05 124.07 115.18 + 130.41 121.33 112.63 + 139.42 127.50 118.31 + 142.22 128.38 119.23 + 139.69 122.23 112.58 + 135.73 120.00 109.76 + 130.28 118.22 108.47 + 133.54 117.94 109.86 + 139.87 123.92 116.88 + 144.60 132.62 125.26 + 145.36 133.28 124.26 + 139.59 128.87 119.27 + 132.00 123.22 113.94 + 128.12 124.19 115.81 + 132.09 128.47 120.81 + 137.88 131.10 121.27 + 140.49 131.52 118.94 + 138.75 130.69 117.59 + 136.99 131.08 117.05 + 139.62 136.73 120.63 + 140.34 139.66 123.39 + 140.09 137.70 122.44 + 137.76 133.84 119.31 + 136.68 129.01 113.87 + 136.66 126.98 110.41 + 136.58 127.11 110.58 + 135.81 128.93 112.45 + 134.21 130.53 114.22 + 133.62 131.91 115.45 + 133.45 129.79 113.03 + 134.94 131.28 114.53 + 138.25 132.27 115.75 + 138.51 131.72 115.98 + 137.71 132.25 120.02 + 137.94 134.22 122.44 + 136.62 134.41 119.53 + 135.47 135.10 118.47 +col_means: | + 135.12 135.12 123.99 + 136.64 136.64 124.83 + 135.22 135.22 123.63 + 134.24 132.09 121.63 + 137.74 131.08 122.35 + 141.42 133.16 124.39 + 142.97 136.24 127.19 + 139.94 134.57 124.48 + 140.43 132.50 122.06 + 142.06 132.72 122.25 + 142.55 130.07 119.59 + 142.27 127.45 116.64 + 138.10 123.89 112.52 + 136.00 123.44 112.18 + 133.55 122.22 111.33 + 135.38 129.18 118.43 + 135.63 129.56 119.17 + 136.63 129.34 119.50 + 138.39 128.38 119.25 + 137.88 125.47 115.99 + 136.54 122.87 113.60 + 135.16 122.06 112.43 + 131.69 117.94 108.08 + 131.91 114.02 104.11 + 135.46 114.69 103.88 + 135.68 115.14 105.61 + 132.47 113.85 104.00 + 128.74 114.14 103.48 + 130.25 119.14 109.15 + 136.22 123.80 114.53 + 139.83 127.68 118.52 + 137.82 128.62 119.30 + 132.84 125.07 116.07 + 129.68 120.54 111.07 + 126.28 115.33 105.92 + 123.31 109.62 99.53 + 128.72 113.11 102.94 + 137.73 122.60 113.51 + 139.91 122.83 113.33 + 136.74 119.61 110.31 + 129.97 115.61 106.51 + 129.42 117.56 108.15 + 130.88 118.53 109.27 + 132.77 121.89 112.18 + 134.56 124.55 115.42 + 132.78 118.68 109.20 + 133.41 111.08 101.80 + 133.27 106.72 97.39 + 129.27 102.75 93.31 + 126.25 105.97 96.46 + 127.74 118.22 108.28 + 128.38 120.22 111.01 + 129.06 117.91 109.18 + 128.54 116.67 109.21 + 125.22 110.32 103.75 + 126.11 107.56 100.96 + 126.03 109.03 102.67 + 128.46 111.36 104.56 + 127.51 112.31 106.30 + 124.49 107.51 101.83 + 129.29 110.59 104.85 + 129.85 110.61 106.81 + 128.44 109.53 106.17 + 127.14 108.61 105.62 + 128.62 112.17 108.72 + 127.52 109.40 104.83 + 128.31 108.58 101.46 + 125.45 109.24 102.44 + 127.06 111.95 106.28 + 126.56 109.56 103.92 + 125.24 110.88 105.96 + 124.34 108.67 101.48 + 128.51 112.19 104.86 + 133.00 116.83 110.28 + 135.69 117.27 111.64 + 132.01 110.80 107.16 + 124.33 101.09 97.69 + 117.30 96.64 93.61 + 117.00 102.75 99.31 + 118.78 105.25 102.17 + 121.96 108.27 105.35 + 121.29 110.72 107.50 + 127.88 118.55 115.56 + 127.01 115.40 112.30 + 127.65 108.80 105.76 + 127.80 105.45 102.30 + 126.56 102.88 99.67 + 131.72 104.80 101.87 + 128.49 102.61 99.36 + 122.28 99.70 96.71 + 120.28 102.86 99.56 + 122.28 108.96 105.67 + 125.97 115.88 112.67 + 126.11 117.36 114.14 + 127.31 115.39 112.45 + 132.28 113.96 110.73 + 132.53 110.87 107.88 + 128.93 106.23 103.12 + 124.91 102.75 99.71 + 124.72 106.26 103.09 + 127.38 110.33 107.11 + 126.75 107.78 104.82 + 123.83 101.38 98.41 + 119.84 100.61 97.58 + 117.39 104.31 100.78 + 117.37 108.86 105.27 + 117.52 105.53 102.11 + 121.72 105.71 101.87 + 124.15 101.77 98.03 + 127.77 103.25 99.29 + 126.81 103.91 100.00 + 126.85 106.00 102.93 + 124.87 103.98 101.21 + 126.08 104.79 101.96 + 129.15 104.66 101.41 + 135.29 109.65 106.66 + 136.96 112.13 109.00 + 129.57 107.35 104.30 + 124.21 100.15 96.98 + 117.17 94.97 91.78 + 116.28 96.54 93.59 + 113.83 96.28 93.06 + 114.20 98.62 95.64 + 114.59 99.47 96.36 + 113.44 99.11 96.09 + 113.83 99.70 96.63 + 154.16 143.18 45.19 + 190.49 180.90 51.02 + 164.47 155.71 44.30 + 118.27 95.11 89.98 + 122.13 100.70 95.61 + 122.74 102.00 96.61 + 126.18 107.69 102.48 + 125.69 107.97 103.17 + 126.83 111.19 106.56 + 126.55 111.03 106.15 + 122.47 109.06 104.14 + 122.38 106.47 100.98 + 121.95 107.77 101.26 + 127.14 112.25 105.56 + 130.51 113.20 106.56 + 127.86 113.39 107.00 + 125.24 111.69 105.02 + 124.64 111.50 105.00 + 120.33 107.36 99.87 + 116.11 101.59 93.45 + 119.17 101.82 92.94 + 120.92 102.57 92.89 + 124.03 102.47 92.46 + 128.29 105.29 95.17 + 128.82 109.88 99.80 + 132.33 118.08 107.83 + 136.89 124.55 114.75 + 138.24 126.21 116.00 + 136.56 121.83 111.30 + 131.04 111.58 101.03 + 125.45 103.59 92.80 + 120.67 104.71 94.37 + 126.44 116.21 106.05 + 133.91 125.31 115.67 + 136.72 126.03 117.33 + 133.96 119.33 111.14 + 127.62 107.73 100.12 + 126.28 105.78 95.51 + 124.95 106.14 95.52 + 128.37 112.13 101.19 + 132.01 116.62 105.70 + 130.22 114.69 104.17 + 129.18 115.25 104.66 + 134.62 121.16 111.47 + 137.76 124.80 115.17 + 135.98 123.30 113.50 + 130.57 119.20 109.32 + 133.12 120.91 110.83 + 137.62 124.45 114.53 + 141.03 123.08 113.23 + 137.24 120.39 110.53 + 133.65 121.36 111.06 + 138.25 129.22 119.30 + 140.55 133.79 123.88 + 144.29 136.65 126.72 + 143.07 134.40 124.68 + 140.94 131.54 122.45 + 141.50 129.21 119.77 + 138.01 128.31 118.82 + 135.62 128.86 119.44 + 135.93 126.20 115.36 + 138.15 125.50 114.00 + 135.95 123.03 111.55 + 134.19 125.36 113.95 + 135.04 128.62 118.25 + 135.00 128.55 119.05 + 134.97 129.83 120.95 + 134.53 132.19 122.22 + 132.69 131.17 119.76 + 133.32 131.10 119.95 + 136.00 132.00 120.48 + 136.15 131.34 120.50 + 133.56 129.38 118.86 + 130.81 128.72 118.62 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 185.67 185.67 15.11 + 2 66 128.00 128.00 128.00 + 2 82 158.11 158.11 158.11 + 2 98 131.00 131.00 131.00 + 2 114 222.89 85.67 85.67 + 2 130 130.89 130.89 97.22 + 2 146 142.78 142.78 99.44 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 141.00 141.00 53.78 + 18 50 128.00 128.00 128.00 + 18 66 123.78 123.78 123.78 + 18 82 94.11 48.00 48.00 + 18 98 87.78 66.78 66.78 + 18 114 101.33 53.78 53.78 + 18 130 179.67 136.56 136.56 + 18 146 115.44 115.44 115.44 + 18 162 128.00 128.00 128.00 + 18 178 177.11 150.22 150.22 + 18 194 170.89 170.89 25.56 + 34 2 128.00 128.00 128.00 + 34 18 158.11 158.11 154.33 + 34 34 128.00 128.00 128.00 + 34 50 73.11 48.22 48.22 + 34 66 122.89 122.89 122.89 + 34 82 114.56 114.56 114.56 + 34 98 128.00 128.00 128.00 + 34 114 136.56 77.00 77.00 + 34 130 158.33 158.33 158.33 + 34 146 122.22 114.67 114.67 + 34 162 125.22 119.00 119.00 + 34 178 153.56 153.56 153.56 + 34 194 128.00 128.00 128.00 + 50 2 192.22 192.22 44.56 + 50 18 123.44 123.44 123.44 + 50 34 187.11 80.00 80.00 + 50 50 167.56 167.56 167.56 + 50 66 136.56 97.00 97.00 + 50 82 137.78 84.44 84.44 + 50 98 91.33 91.33 91.33 + 50 114 118.22 47.56 47.56 + 50 130 109.00 94.22 94.22 + 50 146 77.67 60.78 60.78 + 50 162 138.11 136.78 136.78 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 125.78 125.78 125.78 + 66 18 188.67 188.67 188.67 + 66 34 98.11 67.56 67.56 + 66 50 135.22 135.22 121.56 + 66 66 140.00 138.78 50.44 + 66 82 127.78 72.78 72.78 + 66 98 166.00 118.00 118.00 + 66 114 128.22 85.56 85.56 + 66 130 121.00 121.00 121.00 + 66 146 123.44 122.11 86.78 + 66 162 125.11 125.11 125.11 + 66 178 106.00 103.22 103.22 + 66 194 129.11 129.11 129.11 + 82 2 128.00 128.00 128.00 + 82 18 122.67 93.78 93.78 + 82 34 123.44 123.44 123.44 + 82 50 132.11 92.44 92.44 + 82 66 103.22 91.11 91.11 + 82 82 166.22 163.78 163.78 + 82 98 99.22 99.22 99.22 + 82 114 207.78 206.56 28.00 + 82 130 184.44 184.44 29.78 + 82 146 91.89 84.33 84.33 + 82 162 97.44 97.44 97.44 + 82 178 128.11 128.11 128.11 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 124.00 118.89 118.89 + 98 34 93.56 75.44 75.44 + 98 50 110.44 73.89 73.89 + 98 66 185.67 166.56 166.56 + 98 82 92.00 52.44 52.44 + 98 98 136.89 136.89 136.89 + 98 114 126.22 121.67 121.67 + 98 130 104.89 44.89 44.89 + 98 146 178.78 178.78 178.78 + 98 162 132.56 128.56 128.56 + 98 178 128.67 108.56 108.56 + 98 194 126.89 126.89 126.89 + 114 2 128.00 128.00 128.00 + 114 18 118.33 109.56 109.56 + 114 34 111.89 105.89 105.89 + 114 50 95.44 95.44 95.44 + 114 66 70.78 70.78 70.78 + 114 82 157.78 155.22 155.22 + 114 98 80.67 59.44 59.44 + 114 114 129.44 114.33 114.33 + 114 130 78.11 69.89 69.89 + 114 146 133.22 68.00 68.00 + 114 162 89.78 69.89 69.89 + 114 178 130.00 130.00 130.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 112.11 112.11 112.11 + 130 34 119.00 119.00 119.00 + 130 50 103.44 103.44 94.56 + 130 66 83.11 76.56 76.56 + 130 82 106.11 106.11 106.11 + 130 98 163.11 163.11 163.11 + 130 114 126.78 110.00 110.00 + 130 130 91.33 65.22 59.11 + 130 146 79.22 54.56 54.56 + 130 162 94.11 47.00 47.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 129.89 129.89 129.89 + 146 18 129.44 59.11 59.11 + 146 34 159.11 159.11 151.11 + 146 50 89.44 40.44 40.44 + 146 66 155.33 132.00 132.00 + 146 82 128.89 128.89 128.89 + 146 98 122.67 119.00 119.00 + 146 114 98.78 65.67 65.67 + 146 130 89.89 60.11 60.11 + 146 146 82.56 78.33 78.33 + 146 162 190.00 68.00 68.00 + 146 178 145.56 80.00 80.00 + 146 194 135.22 135.22 93.33 + 162 2 128.00 128.00 128.00 + 162 18 117.56 83.00 72.56 + 162 34 125.89 123.22 123.22 + 162 50 128.00 128.00 128.00 + 162 66 118.33 43.78 43.78 + 162 82 121.44 121.44 121.44 + 162 98 123.00 123.00 123.00 + 162 114 110.00 110.00 110.00 + 162 130 124.56 124.56 124.56 + 162 146 77.22 67.89 67.89 + 162 162 128.22 103.89 103.89 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 175.11 175.11 65.33 + 178 18 128.00 128.00 128.00 + 178 34 121.67 121.67 121.67 + 178 50 128.00 128.00 128.00 + 178 66 198.56 73.44 73.44 + 178 82 113.56 113.56 113.56 + 178 98 128.00 128.00 128.00 + 178 114 99.67 69.22 69.22 + 178 130 108.78 83.11 83.11 + 178 146 160.33 156.67 156.67 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 181.22 181.22 48.89 + 194 66 139.00 139.00 139.00 + 194 82 125.89 125.89 125.89 + 194 98 128.00 128.00 128.00 + 194 114 143.00 143.00 143.00 + 194 130 117.44 92.78 92.78 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-subbox-np4.yaml b/unittest/graphics/tests/dump-image-subbox-np4.yaml new file mode 100644 index 00000000000..6a44fcb5c8a --- /dev/null +++ b/unittest/graphics/tests/dump-image-subbox-np4.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:11 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 4 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box no 0.0 subbox yes 0.05 + dump_modify viz backcolor black boxcolor yellow +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 2.28 2.28 0.03 + 7.96 7.96 1.52 + 12.07 12.07 3.90 + 17.48 17.48 4.36 + 18.81 18.81 4.35 + 19.90 19.90 4.34 + 19.96 19.96 4.34 + 20.25 20.25 4.35 + 19.82 19.82 4.35 + 21.18 21.18 4.34 + 20.64 20.64 4.35 + 20.89 20.89 4.35 + 20.20 20.20 4.34 + 18.92 18.92 1.48 + 20.11 20.11 4.14 + 23.33 23.33 4.36 + 26.14 26.14 4.34 + 26.43 26.43 4.35 + 27.68 27.68 4.36 + 26.75 26.75 4.35 + 26.92 26.92 4.35 + 26.32 26.32 4.36 + 27.32 27.32 4.36 + 26.68 26.68 4.36 + 26.04 26.04 4.35 + 22.09 22.09 0.65 + 17.70 17.70 0.01 + 17.52 17.52 0.01 + 18.55 18.55 0.01 + 20.04 20.04 0.01 + 20.46 20.46 0.01 + 20.93 20.93 0.01 + 23.38 23.38 2.01 + 27.69 27.69 4.32 + 31.11 31.11 4.37 + 32.48 32.48 4.37 + 31.92 31.92 4.36 + 31.82 31.82 4.36 + 32.30 32.30 4.37 + 31.67 31.67 4.36 + 31.91 31.91 4.36 + 31.23 31.23 4.36 + 29.54 29.54 4.36 + 27.93 27.93 4.37 + 25.07 25.07 4.36 + 26.23 26.23 4.36 + 28.22 28.22 4.37 + 30.30 30.30 4.37 + 30.52 30.52 4.37 + 30.07 30.07 4.38 + 30.07 30.07 4.37 + 29.62 29.62 4.36 + 29.91 29.91 4.36 + 32.44 32.44 5.05 + 33.48 33.48 7.22 + 37.28 37.28 6.16 + 34.31 34.31 7.66 + 33.98 33.98 4.55 + 32.21 32.21 4.37 + 32.49 32.49 4.38 + 32.06 32.06 4.38 + 33.38 33.38 4.37 + 32.88 32.88 4.38 + 33.16 33.16 4.37 + 28.96 28.96 4.17 + 27.93 27.93 1.55 + 25.30 25.30 2.48 + 29.45 29.45 1.23 + 32.65 32.65 4.18 + 36.16 36.16 4.37 + 37.73 37.73 4.38 + 36.81 36.81 4.37 + 37.01 37.01 4.37 + 36.16 36.16 4.37 + 37.37 37.37 4.37 + 36.77 36.77 4.38 + 32.51 32.51 3.90 + 29.05 29.05 0.57 + 25.06 25.06 0.01 + 26.02 26.02 0.01 + 27.03 27.03 0.01 + 26.47 26.47 0.02 + 25.75 25.75 0.02 + 25.25 25.25 0.02 + 26.73 26.73 0.34 + 32.01 32.01 4.14 + 35.60 35.60 4.36 + 37.16 37.16 4.36 + 36.62 36.62 4.38 + 36.52 36.52 4.37 + 36.95 36.95 4.37 + 37.13 37.13 4.37 + 37.63 37.63 4.38 + 35.80 35.80 4.38 + 33.16 33.16 4.38 + 29.14 29.14 4.32 + 26.77 26.77 2.27 + 28.57 28.57 4.29 + 30.91 30.91 4.37 + 32.88 32.88 4.38 + 33.13 33.13 4.37 + 32.66 32.66 4.37 + 32.66 32.66 4.37 + 32.22 32.22 4.37 + 32.52 32.52 4.37 + 35.03 35.03 5.17 + 36.61 36.61 7.17 + 35.24 35.24 6.08 + 31.86 31.86 5.32 + 30.89 30.89 4.39 + 29.42 29.42 4.36 + 29.75 29.75 4.38 + 29.30 29.30 4.37 + 30.57 30.57 4.37 + 30.09 30.09 4.37 + 30.34 30.34 4.38 + 26.12 26.12 4.12 + 25.09 25.09 1.64 + 22.59 22.59 2.37 + 27.39 27.39 1.34 + 28.67 28.67 4.21 + 32.02 32.02 4.37 + 32.51 32.51 4.37 + 31.87 31.87 4.36 + 32.10 32.10 4.37 + 31.23 31.23 4.37 + 32.41 32.41 4.36 + 31.86 31.86 4.36 + 28.57 28.57 3.81 + 24.00 24.00 0.49 + 20.14 20.14 0.01 + 20.59 20.59 0.01 + 21.00 21.00 0.01 + 19.62 19.62 0.01 + 17.89 17.89 0.01 + 17.38 17.38 0.01 + 19.95 19.95 0.40 + 24.95 24.95 4.33 + 26.68 26.68 4.36 + 26.87 26.87 4.36 + 26.29 26.29 4.36 + 27.27 27.27 4.36 + 26.59 26.59 4.37 + 26.80 26.80 4.35 + 27.20 27.20 4.36 + 27.09 27.09 4.36 + 25.47 25.47 4.36 + 21.20 21.20 4.28 + 19.10 19.10 2.22 + 20.09 20.09 4.29 + 19.93 19.93 4.36 + 20.41 20.41 4.36 + 20.73 20.73 4.35 + 20.21 20.21 4.35 + 20.26 20.26 4.36 + 19.80 19.80 4.35 + 20.10 20.10 4.35 + 19.66 19.66 4.36 + 18.83 18.83 4.36 + 13.93 13.93 4.12 + 8.57 8.57 0.92 + 4.17 4.17 0.03 + 0.60 0.60 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 83.70 83.70 0.04 + 90.71 90.71 1.44 + 67.27 67.27 2.24 + 58.49 58.49 3.69 + 21.84 21.84 3.83 + 22.16 22.16 3.81 + 21.30 21.30 3.69 + 22.03 22.03 3.77 + 23.89 23.89 3.85 + 24.00 24.00 3.73 + 22.30 22.30 3.70 + 24.20 24.20 3.85 + 22.02 22.02 3.80 + 20.00 20.00 3.67 + 21.93 21.93 3.77 + 23.79 23.79 3.85 + 23.91 23.91 3.71 + 22.27 22.27 3.71 + 24.05 24.05 3.85 + 24.00 24.00 3.79 + 19.92 19.92 3.67 + 21.57 21.57 3.79 + 23.64 23.64 3.84 + 23.79 23.79 3.71 + 22.29 22.29 3.72 + 23.97 23.97 3.85 + 24.77 24.77 3.78 + 19.84 19.84 3.67 + 21.07 21.07 3.81 + 23.46 23.46 3.84 + 22.89 22.89 3.70 + 22.24 22.24 3.73 + 24.00 24.00 3.85 + 24.47 24.47 3.77 + 20.79 20.79 3.68 + 21.10 21.10 3.81 + 90.52 90.52 3.83 + 94.61 94.61 3.72 + 69.11 69.11 4.67 + 63.71 63.71 7.54 + 23.10 23.10 7.50 + 22.67 22.67 7.54 + 97.36 97.36 3.04 + 86.30 86.30 3.09 + 66.59 66.59 4.96 + 31.93 31.93 7.57 + 33.57 33.57 7.54 + 34.91 34.91 7.50 + 34.84 34.84 7.54 + 34.56 34.56 7.57 + 32.65 32.65 7.51 + 33.40 33.40 7.51 + 34.55 34.55 7.58 + 34.77 34.77 7.53 + 34.88 34.88 7.50 + 34.73 34.73 7.54 + 36.62 36.62 7.57 + 32.56 32.56 7.51 + 32.16 32.16 7.52 + 34.45 34.45 7.58 + 34.00 34.00 7.53 + 34.88 34.88 7.50 + 34.72 34.72 7.55 + 36.38 36.38 7.56 + 33.56 33.56 7.50 + 31.98 31.98 7.53 + 34.31 34.31 7.57 + 33.93 33.93 7.51 + 34.90 34.90 7.50 + 34.72 34.72 7.56 + 36.28 36.28 7.55 + 35.52 35.52 7.50 + 32.02 32.02 7.54 + 33.77 33.77 7.57 + 33.81 33.81 7.51 + 34.93 34.93 7.50 + 33.24 33.24 7.56 + 30.13 30.13 5.59 + 98.57 98.57 4.36 + 86.69 86.69 3.69 + 68.14 68.14 7.57 + 22.77 22.77 7.53 + 22.89 22.89 7.51 + 88.25 88.25 2.57 + 95.75 95.75 3.00 + 73.67 73.67 1.31 + 57.73 57.73 1.29 + 22.05 22.05 3.75 + 20.54 20.54 3.69 + 22.68 22.68 3.83 + 23.93 23.93 3.83 + 22.48 22.48 3.69 + 22.54 22.54 3.75 + 24.57 24.57 3.85 + 21.89 21.89 3.75 + 20.19 20.19 3.69 + 22.64 22.64 3.82 + 23.80 23.80 3.81 + 22.43 22.43 3.67 + 22.56 22.56 3.77 + 24.32 24.32 3.85 + 23.81 23.81 3.73 + 20.11 20.11 3.70 + 22.29 22.29 3.83 + 23.64 23.64 3.80 + 21.62 21.62 3.68 + 22.58 22.58 3.77 + 24.23 24.23 3.85 + 24.57 24.57 3.73 + 20.04 20.04 3.71 + 21.80 21.80 3.84 + 23.44 23.44 3.80 + 21.55 21.55 3.67 + 22.61 22.61 3.78 + 24.18 24.18 3.85 + 24.26 24.26 3.71 + 22.07 22.07 3.71 + 21.79 21.79 3.85 + 21.09 21.09 3.78 + 84.85 84.85 0.33 + 91.18 91.18 0.54 + 67.73 67.73 0.00 + 51.34 51.34 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 18.78 18.78 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 166.00 166.00 0.00 + 34 130 193.00 193.00 82.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 105.89 105.89 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 32.33 32.33 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 141.67 141.67 0.33 + 66 98 166.56 166.56 76.89 + 66 114 0.00 0.00 0.00 + 66 130 68.56 68.56 0.00 + 66 146 0.00 0.00 0.00 + 66 162 32.33 32.33 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 80.78 80.78 0.00 + 82 82 141.67 141.67 0.33 + 82 98 0.00 0.00 0.00 + 82 114 238.56 238.56 83.67 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 32.33 32.33 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 10.11 10.11 0.00 + 98 66 0.00 0.00 0.00 + 98 82 141.67 141.67 0.33 + 98 98 71.22 71.22 0.00 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 32.33 32.33 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 187.11 187.11 34.56 + 114 98 0.00 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 32.33 32.33 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 92.44 92.44 0.00 + 130 82 141.67 141.67 0.33 + 130 98 201.33 201.33 82.78 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 32.33 32.33 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 168.56 168.56 0.00 + 146 66 0.00 0.00 0.00 + 146 82 141.67 141.67 0.33 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 24.00 24.00 0.00 + 146 162 32.33 32.33 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 225.67 225.67 83.22 + 162 82 141.67 141.67 0.33 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 30.89 30.89 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 47.00 47.00 0.33 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-subbox.yaml b/unittest/graphics/tests/dump-image-subbox.yaml new file mode 100644 index 00000000000..58a78d2f26c --- /dev/null +++ b/unittest/graphics/tests/dump-image-subbox.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:11 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box no 0.0 subbox yes 0.05 + dump_modify viz backcolor black boxcolor yellow +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 2.28 2.28 0.03 + 7.96 7.96 1.52 + 12.07 12.07 3.90 + 17.48 17.48 4.36 + 18.81 18.81 4.35 + 19.90 19.90 4.34 + 19.96 19.96 4.34 + 20.25 20.25 4.35 + 19.82 19.82 4.35 + 21.18 21.18 4.34 + 20.64 20.64 4.35 + 20.89 20.89 4.35 + 20.20 20.20 4.34 + 19.72 19.72 4.35 + 20.05 20.05 4.35 + 19.59 19.59 4.36 + 20.87 20.87 4.34 + 20.39 20.39 4.34 + 20.64 20.64 4.35 + 19.95 19.95 4.34 + 20.22 20.22 4.34 + 19.78 19.78 4.35 + 21.14 21.14 4.35 + 20.60 20.60 4.36 + 20.05 20.05 4.34 + 15.18 15.18 0.65 + 10.96 10.96 0.00 + 10.90 10.90 0.00 + 12.32 12.32 0.00 + 13.92 13.92 0.01 + 14.44 14.44 0.01 + 13.91 13.91 0.01 + 16.59 16.59 2.00 + 21.00 21.00 4.31 + 24.59 24.59 4.37 + 26.30 26.30 4.37 + 25.86 25.86 4.36 + 25.84 25.84 4.36 + 25.41 25.41 4.36 + 24.94 24.94 4.35 + 25.29 25.29 4.36 + 25.00 25.00 4.36 + 23.43 23.43 4.36 + 22.94 22.94 4.37 + 22.95 22.95 4.35 + 24.11 24.11 4.36 + 25.45 25.45 4.36 + 26.05 26.05 4.36 + 26.27 26.27 4.36 + 25.82 25.82 4.37 + 25.82 25.82 4.36 + 25.38 25.38 4.35 + 25.66 25.66 4.35 + 25.25 25.25 4.35 + 25.74 25.74 4.35 + 24.18 24.18 4.36 + 18.89 18.89 3.38 + 13.30 13.30 0.20 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 10.78 10.78 0.01 + 15.55 15.55 0.81 + 22.06 22.06 4.04 + 25.53 25.53 4.36 + 26.36 26.36 4.36 + 25.65 25.65 4.36 + 25.17 25.17 4.35 + 25.50 25.50 4.37 + 25.05 25.05 4.36 + 26.32 26.32 4.36 + 25.84 25.84 4.36 + 26.09 26.09 4.37 + 25.39 25.39 4.37 + 23.76 23.76 4.36 + 20.18 20.18 2.50 + 21.48 21.48 1.34 + 22.60 22.60 4.21 + 26.04 26.04 4.37 + 25.62 25.62 4.37 + 25.14 25.14 4.36 + 25.48 25.48 4.37 + 25.00 25.00 4.37 + 26.30 26.30 4.36 + 25.83 25.83 4.36 + 21.55 21.55 3.81 + 17.23 17.23 0.49 + 13.45 13.45 0.01 + 14.09 14.09 0.01 + 14.83 14.83 0.01 + 13.56 13.56 0.01 + 11.92 11.92 0.01 + 10.50 10.50 0.01 + 13.22 13.22 0.39 + 18.36 18.36 4.33 + 20.46 20.46 4.36 + 20.76 20.76 4.36 + 20.27 20.27 4.36 + 20.29 20.29 4.35 + 19.82 19.82 4.36 + 20.13 20.13 4.34 + 20.73 20.73 4.36 + 20.93 20.93 4.35 + 20.50 20.50 4.35 + 20.49 20.49 4.35 + 20.04 20.04 4.35 + 20.34 20.34 4.36 + 19.93 19.93 4.36 + 20.41 20.41 4.36 + 20.73 20.73 4.35 + 20.21 20.21 4.35 + 20.26 20.26 4.36 + 19.80 19.80 4.35 + 20.10 20.10 4.35 + 19.66 19.66 4.36 + 18.83 18.83 4.36 + 13.93 13.93 4.12 + 8.57 8.57 0.92 + 4.17 4.17 0.03 + 0.60 0.60 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 83.70 83.70 0.04 + 90.71 90.71 1.44 + 66.45 66.45 1.71 + 56.40 56.40 2.46 + 14.17 14.17 2.56 + 14.78 14.78 2.54 + 14.38 14.38 2.46 + 14.69 14.69 2.52 + 15.92 15.92 2.57 + 16.00 16.00 2.49 + 14.87 14.87 2.47 + 16.12 16.12 2.56 + 14.68 14.68 2.54 + 13.33 13.33 2.45 + 14.63 14.63 2.52 + 15.86 15.86 2.56 + 15.96 15.96 2.48 + 14.85 14.85 2.48 + 16.04 16.04 2.56 + 15.62 15.62 2.53 + 13.28 13.28 2.45 + 14.32 14.32 2.52 + 15.76 15.76 2.56 + 15.87 15.87 2.47 + 14.86 14.86 2.48 + 15.97 15.97 2.56 + 16.51 16.51 2.52 + 13.22 13.22 2.45 + 14.04 14.04 2.54 + 15.64 15.64 2.56 + 15.00 15.00 2.46 + 14.83 14.83 2.48 + 15.98 15.98 2.56 + 16.32 16.32 2.50 + 14.21 14.21 2.46 + 14.06 14.06 2.54 + 89.83 89.83 2.56 + 94.50 94.50 2.49 + 68.11 68.11 3.42 + 59.48 59.48 5.03 + 15.39 15.39 5.00 + 15.11 15.11 5.03 + 15.96 15.96 5.05 + 15.23 15.23 5.00 + 15.21 15.21 5.00 + 15.47 15.47 5.04 + 15.71 15.71 5.02 + 15.42 15.42 5.00 + 15.18 15.18 5.03 + 16.02 16.02 5.04 + 15.27 15.27 5.00 + 15.31 15.31 5.01 + 15.53 15.53 5.05 + 15.73 15.73 5.02 + 15.44 15.44 5.00 + 15.23 15.23 5.04 + 16.11 16.11 5.04 + 15.30 15.30 5.00 + 14.69 14.69 5.01 + 15.59 15.59 5.05 + 15.04 15.04 5.02 + 15.52 15.52 5.00 + 15.28 15.28 5.04 + 16.20 16.20 5.04 + 15.33 15.33 5.00 + 14.81 14.81 5.01 + 15.67 15.67 5.04 + 15.09 15.09 5.00 + 15.59 15.59 5.00 + 15.31 15.31 5.04 + 16.26 16.26 5.04 + 15.35 15.35 5.00 + 14.92 14.92 5.01 + 15.75 15.75 5.04 + 15.13 15.13 5.01 + 15.66 15.66 5.00 + 15.37 15.37 5.04 + 16.27 16.27 5.04 + 15.37 15.37 4.99 + 14.99 14.99 5.03 + 15.82 15.82 5.05 + 15.18 15.18 5.02 + 15.01 15.01 5.01 + 88.02 88.02 2.54 + 95.75 95.75 3.00 + 73.67 73.67 1.31 + 57.73 57.73 1.29 + 14.70 14.70 2.50 + 13.79 13.79 2.46 + 15.12 15.12 2.55 + 15.95 15.95 2.55 + 15.24 15.24 2.46 + 15.03 15.03 2.50 + 16.38 16.38 2.57 + 14.59 14.59 2.50 + 13.46 13.46 2.46 + 15.08 15.08 2.54 + 15.87 15.87 2.54 + 15.21 15.21 2.45 + 15.05 15.05 2.52 + 16.23 16.23 2.57 + 15.49 15.49 2.49 + 13.41 13.41 2.47 + 14.79 14.79 2.56 + 15.77 15.77 2.54 + 14.41 14.41 2.46 + 15.05 15.05 2.52 + 16.16 16.16 2.56 + 16.39 16.39 2.48 + 13.36 13.36 2.47 + 14.52 14.52 2.56 + 15.62 15.62 2.53 + 14.37 14.37 2.45 + 15.09 15.09 2.52 + 16.11 16.11 2.56 + 16.20 16.20 2.48 + 14.34 14.34 2.48 + 14.53 14.53 2.56 + 13.99 13.99 2.52 + 84.97 84.97 0.33 + 91.81 91.81 0.56 + 68.03 68.03 0.00 + 51.37 51.37 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 18.78 18.78 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 193.00 193.00 82.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 32.33 32.33 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 166.56 166.56 76.89 + 66 114 0.00 0.00 0.00 + 66 130 68.56 68.56 0.00 + 66 146 0.00 0.00 0.00 + 66 162 32.33 32.33 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.00 0.00 0.00 + 82 114 0.00 0.00 0.00 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 32.33 32.33 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 0.00 0.00 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 0.00 0.00 0.00 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 32.33 32.33 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 0.00 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 32.33 32.33 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 92.44 92.44 0.00 + 130 82 0.00 0.00 0.00 + 130 98 201.33 201.33 82.78 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 32.33 32.33 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 168.56 168.56 0.00 + 146 66 0.00 0.00 0.00 + 146 82 0.00 0.00 0.00 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 24.00 24.00 0.00 + 146 162 32.33 32.33 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 225.67 225.67 83.22 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 30.89 30.89 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 47.00 47.00 0.33 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-image-up.yaml b/unittest/graphics/tests/dump-image-up.yaml new file mode 100644 index 00000000000..ea95cd8ef99 --- /dev/null +++ b/unittest/graphics/tests/dump-image-up.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:36 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 up 1 0 0 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.78 126.20 126.20 + 128.09 124.72 124.72 + 128.74 124.42 124.42 + 128.60 124.44 124.44 + 127.94 124.23 124.23 + 126.81 123.92 123.92 + 125.39 123.62 123.62 + 127.56 124.28 123.92 + 128.61 124.11 123.70 + 128.72 123.31 122.59 + 127.78 121.96 121.25 + 126.56 121.06 120.34 + 126.09 121.89 120.69 + 127.20 123.88 121.38 + 131.29 127.59 123.19 + 130.66 126.57 122.34 + 129.84 126.83 122.02 + 130.23 128.62 122.81 + 130.34 129.60 123.09 + 130.97 130.28 123.81 + 131.00 130.19 124.29 + 130.50 128.95 121.54 + 130.22 128.70 119.78 + 129.44 127.81 119.33 + 135.21 132.29 119.08 + 134.51 132.09 121.31 + 128.18 126.89 124.50 + 123.34 121.61 124.02 + 121.83 118.05 123.66 + 127.37 121.60 119.95 + 130.00 123.40 111.81 + 130.96 122.63 105.94 + 130.24 124.77 101.54 + 128.44 124.39 108.25 + 129.00 120.94 108.67 + 129.58 119.00 113.95 + 131.47 115.76 115.67 + 135.02 115.86 115.32 + 140.62 120.75 110.51 + 141.06 115.33 102.16 + 142.44 117.70 102.51 + 135.53 121.50 102.25 + 127.94 126.35 101.25 + 125.49 135.09 104.80 + 127.80 144.39 98.65 + 129.48 146.23 98.62 + 123.15 135.96 99.42 + 116.15 126.03 98.84 + 114.84 121.30 99.89 + 108.22 112.48 95.75 + 106.86 114.65 95.95 + 113.03 119.77 97.42 + 117.64 122.92 104.39 + 117.67 124.34 108.69 + 120.89 120.33 108.23 + 126.81 123.77 111.57 + 131.87 126.01 111.75 + 135.94 126.37 112.53 + 142.75 130.28 116.11 + 138.71 124.75 115.12 + 135.68 114.28 107.20 + 138.89 113.05 113.08 + 133.10 111.27 110.78 + 131.29 113.58 111.07 + 130.96 116.16 112.41 + 127.00 114.45 111.89 + 123.82 115.50 114.05 + 121.73 115.54 114.25 + 123.89 119.83 120.19 + 121.89 119.17 119.00 + 122.07 120.53 124.25 + 122.08 121.84 128.75 + 124.45 124.45 131.35 + 124.29 124.29 131.00 + 123.99 123.99 129.70 + 123.68 123.68 127.56 + 124.81 124.81 126.06 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.64 127.64 127.64 + 128.07 128.07 128.07 + 127.78 127.78 127.78 + 124.78 129.22 124.78 + 123.31 129.48 123.31 + 123.14 129.59 123.14 + 121.41 128.75 121.41 + 123.14 129.40 123.14 + 123.73 128.78 123.73 + 125.14 128.97 125.14 + 126.38 128.94 126.38 + 128.82 128.08 127.00 + 128.53 124.95 123.27 + 130.72 124.70 121.71 + 130.81 123.58 119.67 + 130.74 121.85 117.83 + 131.34 118.98 113.56 + 134.47 120.75 110.63 + 135.89 121.62 107.81 + 135.08 122.55 108.38 + 136.70 126.47 111.16 + 134.92 126.22 110.52 + 133.84 126.44 111.39 + 132.84 127.93 115.50 + 130.82 127.43 117.14 + 130.87 128.50 119.29 + 130.44 127.72 118.56 + 130.13 127.63 117.89 + 129.09 127.02 117.05 + 130.56 125.85 113.51 + 129.66 122.03 110.89 + 130.13 117.44 107.67 + 134.78 117.95 109.31 + 132.64 117.96 114.67 + 128.50 116.48 117.84 + 123.57 115.62 121.42 + 119.72 116.52 123.48 + 117.44 119.80 125.91 + 116.31 122.17 125.25 + 119.85 122.08 125.03 + 124.67 122.44 123.14 + 126.67 121.58 125.38 + 132.85 126.20 132.85 + 133.12 126.56 133.12 + 131.93 126.17 131.93 + 129.31 125.28 129.31 + 131.06 127.61 126.11 + 132.09 129.35 122.81 + 132.11 129.13 119.59 + 133.69 130.06 119.41 + 133.53 128.06 118.23 + 131.76 124.66 118.11 + 126.90 119.35 121.23 + 127.59 119.55 125.71 + 126.92 119.08 127.50 + 124.25 118.83 126.81 + 124.36 119.31 125.36 + 123.13 121.25 125.93 + 121.00 127.64 130.04 + 124.23 130.83 130.83 + 123.11 130.00 130.00 + 122.50 129.43 129.43 + 121.44 127.91 127.91 + 121.97 126.77 126.77 + 124.90 127.77 127.77 + 127.06 129.27 129.27 + 127.83 128.88 128.88 + 130.44 129.83 126.58 + 131.16 130.62 125.10 + 132.24 131.82 125.83 + 132.64 132.01 125.31 + 132.12 131.12 125.02 + 130.56 129.75 125.34 + 128.81 128.12 124.41 + 128.40 127.86 124.16 + 130.97 129.29 122.64 + 133.66 125.26 119.13 + 128.35 123.66 121.67 + 124.44 121.44 124.47 + 123.32 121.70 126.78 + 123.16 121.93 129.14 + 122.12 123.36 130.53 + 122.31 125.13 130.70 + 122.39 125.69 129.53 + 123.26 127.39 127.06 + 125.22 130.01 124.79 + 124.94 130.71 125.08 + 129.43 131.62 125.19 + 131.38 130.63 122.91 + 131.14 130.51 123.65 + 130.17 129.28 123.16 + 128.78 127.91 123.25 + 127.50 126.94 123.97 + 126.53 126.32 125.19 + 126.78 126.78 126.78 + 128.44 128.44 128.44 + 127.92 127.92 127.92 + 128.69 126.25 126.25 + 128.77 126.90 126.90 + 129.61 125.78 125.78 + 130.82 124.95 124.95 + 130.88 123.85 123.85 + 127.92 120.70 125.00 + 127.69 120.80 125.55 + 125.84 120.68 124.94 + 125.72 124.42 125.42 + 124.58 127.34 124.62 + 125.56 128.93 123.36 + 124.70 129.34 123.50 + 124.83 130.33 124.14 + 124.53 130.32 125.25 + 123.00 124.73 121.70 + 125.51 122.67 120.07 + 126.03 121.92 120.64 + 125.99 121.84 117.38 + 129.92 121.98 113.28 + 130.00 123.39 110.66 + 131.25 125.16 108.12 + 130.80 125.15 110.60 + 127.44 120.77 110.96 + 129.46 121.17 113.28 + 124.53 120.77 118.75 + 126.80 122.91 122.02 + 124.81 122.97 122.88 + 125.21 121.01 121.21 + 120.94 116.81 117.14 + 123.62 116.66 116.06 + 126.75 120.41 118.89 + 123.94 122.78 122.14 + 124.26 126.11 125.33 + 125.73 127.17 129.24 + 128.09 126.12 130.12 + 131.83 125.61 126.69 + 131.97 123.56 123.20 + 133.72 123.91 122.74 + 130.76 123.25 119.36 + 130.18 124.63 118.00 + 128.76 124.70 121.86 + 127.45 125.14 124.34 + 130.09 129.50 126.31 + 131.50 130.97 125.61 + 132.15 130.92 120.47 + 133.62 132.44 119.84 + 132.52 130.97 118.70 + 130.94 129.53 118.94 + 129.45 127.98 119.61 + 128.75 127.81 122.77 + 127.79 127.33 124.84 + 126.69 128.00 125.94 + 128.46 130.75 127.32 + 125.92 130.38 124.88 + 121.05 125.19 120.28 + 121.92 124.56 121.23 + 123.18 125.21 121.29 + 126.27 126.78 120.88 + 129.84 129.65 123.12 + 129.72 129.86 122.71 + 129.53 129.54 122.51 + 128.65 128.32 122.19 + 127.54 127.60 123.39 + 126.19 126.53 123.89 + 127.08 127.78 127.08 + 126.06 127.34 126.06 + 127.69 129.50 123.52 + 128.04 131.00 123.66 + 128.60 131.15 120.61 + 129.48 130.50 118.23 + 131.26 131.91 117.79 + 131.39 131.16 117.40 + 131.91 131.03 117.58 + 132.02 130.11 118.72 + 129.26 127.83 120.06 + 126.87 126.06 121.66 + 127.39 127.17 126.08 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 128.00 128.00 128.00 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 128.00 128.00 128.00 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 128.00 128.00 128.00 + 66 130 180.67 145.56 9.56 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 128.00 128.00 128.00 + 82 82 128.00 128.00 128.00 + 82 98 199.00 174.44 13.89 + 82 114 74.00 74.00 74.00 + 82 130 34.00 9.67 138.22 + 82 146 134.33 134.33 134.33 + 82 162 251.33 235.11 34.78 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 132.00 116.56 100.78 + 98 34 79.89 170.44 62.56 + 98 50 128.00 128.00 128.00 + 98 66 163.89 163.89 163.89 + 98 82 138.44 115.00 115.00 + 98 98 128.00 128.00 128.00 + 98 114 9.89 8.89 92.33 + 98 130 8.78 139.44 139.44 + 98 146 117.44 112.44 85.33 + 98 162 99.78 110.11 99.78 + 98 178 113.89 99.00 17.56 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 119.11 89.11 89.11 + 114 34 116.44 115.11 113.78 + 114 50 110.56 85.67 110.56 + 114 66 128.00 128.00 128.00 + 114 82 195.22 181.22 19.89 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 128.00 128.00 128.00 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 128.00 128.00 128.00 + 146 130 128.00 128.00 128.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 128.00 128.00 128.00 + 162 130 128.00 128.00 128.00 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-view-phi.yaml b/unittest/graphics/tests/dump-image-view-phi.yaml new file mode 100644 index 00000000000..46fa1d84f6f --- /dev/null +++ b/unittest/graphics/tests/dump-image-view-phi.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:06 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 120 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 131.96 130.66 122.83 + 134.25 133.14 121.14 + 134.90 133.87 120.88 + 134.60 133.29 120.77 + 132.85 130.94 120.25 + 129.79 128.62 118.72 + 127.71 126.94 117.99 + 128.06 129.54 120.53 + 126.81 129.71 120.97 + 126.80 128.22 120.72 + 126.33 126.56 120.60 + 125.14 125.93 121.23 + 125.41 126.22 124.17 + 126.78 128.02 126.78 + 127.45 128.22 125.30 + 127.39 128.43 124.76 + 128.22 129.09 124.39 + 126.35 127.45 123.39 + 124.50 126.83 122.84 + 124.22 127.11 123.73 + 123.51 126.76 123.19 + 123.62 126.56 123.62 + 123.30 125.61 123.30 + 123.95 125.20 123.95 + 127.58 127.13 122.64 + 132.49 131.91 125.61 + 133.57 132.33 121.45 + 133.97 132.83 120.67 + 131.59 130.12 118.52 + 133.54 131.91 120.11 + 131.82 130.41 122.89 + 128.81 128.09 124.23 + 128.54 128.28 126.84 + 129.00 129.00 129.00 + 127.78 127.64 126.86 + 128.30 127.92 125.90 + 129.07 128.43 124.97 + 130.36 129.52 123.42 + 130.59 130.03 123.72 + 131.29 130.76 124.44 + 131.12 130.21 123.67 + 130.63 127.70 124.93 + 128.54 125.89 124.66 + 126.81 123.73 125.50 + 130.99 122.84 127.88 + 128.97 125.31 125.16 + 125.81 131.17 125.53 + 124.21 133.28 127.00 + 125.15 132.03 121.23 + 125.03 129.62 116.91 + 121.86 127.53 116.25 + 119.94 124.36 112.85 + 124.67 119.56 110.36 + 125.28 116.88 112.15 + 120.15 114.36 115.46 + 121.44 114.06 109.93 + 132.03 120.04 109.91 + 138.21 114.25 106.61 + 140.00 114.40 106.36 + 133.25 113.71 105.05 + 135.75 118.04 109.58 + 133.62 119.53 111.08 + 130.90 121.75 115.44 + 126.22 121.50 115.85 + 129.16 122.83 116.60 + 133.22 124.51 117.71 + 132.87 122.03 112.40 + 136.73 120.21 108.56 + 134.87 120.81 108.60 + 124.00 116.75 109.84 + 121.64 118.18 114.11 + 121.64 121.51 118.84 + 117.08 119.58 119.80 + 118.03 120.11 125.59 + 122.47 118.44 125.56 + 124.31 114.80 122.35 + 123.45 112.85 120.17 + 121.89 113.00 120.37 + 124.74 116.89 120.66 + 127.64 120.89 122.09 + 128.23 123.77 123.77 + 126.71 124.83 124.83 + 128.21 126.31 126.31 + 129.03 126.33 126.33 + 128.61 127.30 127.30 + 128.45 128.45 128.45 + 129.35 128.94 126.72 + 132.53 132.04 127.23 + 133.62 133.05 126.68 + 134.03 133.47 127.16 + 132.38 131.52 125.73 + 131.66 130.11 121.19 + 123.86 125.52 122.64 + 122.47 128.19 127.16 + 121.26 127.11 132.01 + 122.26 124.62 131.99 + 124.28 123.33 130.68 + 124.08 119.22 124.64 + 127.70 120.83 119.06 + 131.04 124.61 118.88 + 130.16 124.48 117.42 + 131.12 129.25 118.90 + 135.11 133.56 122.10 + 134.84 133.38 121.58 + 131.82 130.75 122.11 + 130.18 129.09 123.12 + 128.69 127.94 123.94 + 124.92 124.56 122.58 + 125.09 125.05 124.83 + 128.31 128.31 128.31 + 128.36 128.36 128.36 + 126.27 128.59 128.59 + 126.25 128.62 128.62 + 125.11 129.93 129.93 + 124.91 131.24 131.24 + 123.83 131.50 131.50 + 123.56 130.07 130.93 + 122.92 124.81 129.96 + 122.66 123.53 130.33 + 122.48 122.83 130.50 + 122.87 122.25 129.76 + 123.99 122.77 128.51 + 123.81 122.46 126.44 + 125.27 123.00 124.44 + 129.85 124.03 124.03 + 127.81 123.72 123.72 + 126.36 124.82 124.82 + 128.59 126.88 126.88 + 132.66 129.33 121.06 + 134.92 131.89 121.31 + 135.68 132.63 121.78 + 135.78 130.90 121.30 + 135.12 127.98 126.69 + 134.84 126.94 129.46 + 130.11 121.42 132.72 + 127.25 122.19 129.77 + 125.46 129.19 132.16 + 123.92 130.13 130.85 + 122.00 126.76 126.16 + 122.88 126.26 124.91 + 124.42 125.45 119.92 + 127.29 123.28 114.44 + 128.34 122.69 114.81 + 129.66 122.15 113.97 + 125.66 119.04 111.33 + 129.85 124.24 116.98 + 131.72 124.71 113.56 + 131.46 124.35 112.38 + 130.10 123.07 110.76 + 126.93 121.16 110.65 + 124.42 119.43 110.89 + 128.54 123.80 113.19 + 134.66 127.75 115.15 + 133.76 128.19 116.81 + 130.30 126.88 117.62 + 128.34 126.38 119.23 + 131.20 127.89 120.58 + 129.32 126.47 120.88 + 128.50 125.14 120.83 + 133.03 127.76 121.87 + 134.47 129.04 121.92 + 134.69 128.65 120.86 + 134.04 127.69 120.60 + 132.44 123.69 118.72 + 129.37 120.98 117.96 + 128.00 119.73 118.22 + 129.44 120.42 118.35 + 128.84 121.03 118.06 + 126.36 120.48 117.94 + 126.69 123.82 121.91 + 126.55 125.39 124.20 + 127.39 126.48 125.57 + 128.84 127.88 126.91 + 126.92 128.94 126.92 + 125.65 128.89 125.65 + 124.67 130.70 124.67 + 123.74 131.19 123.74 + 125.88 130.12 125.88 + 126.83 129.94 126.83 + 126.61 129.21 126.61 + 127.32 127.86 127.32 + 127.09 127.09 127.09 + 126.29 126.29 126.29 + 125.50 125.50 125.50 + 126.31 126.31 126.31 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.68 128.29 126.22 + 130.59 129.95 124.83 + 130.49 130.12 124.44 + 129.81 128.79 123.33 + 130.40 129.80 123.69 + 130.93 130.35 123.85 + 131.25 130.26 121.89 + 131.46 130.47 119.85 + 130.49 129.84 118.64 + 127.97 128.67 118.41 + 127.09 127.99 118.77 + 126.88 127.80 120.88 + 124.49 124.98 120.17 + 125.45 126.47 123.59 + 127.49 128.28 126.67 + 128.55 130.57 126.38 + 128.66 131.74 125.77 + 127.39 132.58 127.06 + 126.06 132.31 126.84 + 124.53 130.68 126.19 + 122.98 125.19 119.02 + 125.66 127.42 116.56 + 128.87 130.47 115.12 + 129.07 131.19 115.00 + 129.54 130.87 113.06 + 124.58 125.53 110.81 + 119.08 121.64 109.17 + 117.83 120.45 107.75 + 127.22 125.31 108.55 + 129.44 130.91 115.47 + 130.63 131.04 116.98 + 130.31 128.78 117.67 + 128.38 125.20 115.94 + 126.75 125.45 115.43 + 130.06 125.61 115.42 + 130.96 126.44 114.95 + 131.88 125.72 115.43 + 129.44 122.81 111.11 + 127.84 119.47 110.17 + 129.23 119.31 115.98 + 123.61 122.08 120.41 + 123.23 125.00 122.65 + 122.70 125.55 126.27 + 118.12 126.02 127.32 + 116.39 127.19 128.15 + 115.91 128.84 132.17 + 120.13 126.42 127.98 + 118.19 119.02 120.97 + 122.64 118.30 117.50 + 126.27 117.29 116.54 + 128.74 120.88 120.58 + 129.56 118.86 120.81 + 127.03 118.22 121.55 + 125.14 118.83 120.60 + 125.25 118.14 117.93 + 125.00 123.05 121.69 + 129.37 130.10 124.75 + 128.06 129.16 126.61 + 128.51 130.81 130.86 + 125.24 126.98 129.07 + 133.21 125.58 126.08 + 131.28 121.97 114.36 + 136.94 126.39 110.17 + 142.78 131.34 109.82 + 141.82 127.27 106.47 + 137.66 123.12 105.89 + 136.44 122.85 105.89 + 131.16 120.06 109.58 + 124.80 112.38 107.85 + 126.42 112.62 106.81 + 132.08 117.57 108.74 + 137.75 120.19 106.05 + 134.56 119.12 105.05 + 133.97 118.18 103.67 + 135.71 118.40 102.19 + 134.03 116.99 101.94 + 133.97 118.27 105.03 + 130.93 118.88 107.62 + 126.77 121.25 109.28 + 128.69 127.47 113.38 + 127.75 122.53 109.03 + 129.16 120.41 111.53 + 130.00 118.53 109.89 + 129.60 117.56 109.79 + 126.41 114.59 107.83 + 124.48 113.48 107.95 + 123.84 116.58 112.78 + 124.79 119.75 116.77 + 126.88 122.94 120.72 + 128.26 124.49 121.46 + 131.96 127.69 123.15 + 133.89 128.34 121.39 + 132.37 127.35 120.72 + 131.16 126.00 120.21 + 131.03 125.52 119.85 + 128.52 123.95 119.38 + 126.28 123.25 121.05 + 127.22 123.08 122.25 + 128.39 121.25 121.25 + 129.24 120.94 120.94 + 127.50 119.42 119.42 + 126.66 119.47 119.47 + 125.03 119.48 119.48 + 124.21 121.03 121.03 + 126.38 125.44 125.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 176.44 160.56 56.22 + 18 82 136.11 130.33 100.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 41.44 123.44 41.44 + 34 82 128.00 128.00 128.00 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 145.56 130.33 39.67 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 225.00 203.33 26.22 + 66 66 3.33 62.56 92.89 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 128.00 128.00 128.00 + 66 130 82.33 6.67 6.67 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 128.00 128.00 128.00 + 82 82 128.00 128.00 128.00 + 82 98 114.33 136.56 136.56 + 82 114 130.44 19.00 19.00 + 82 130 235.44 137.33 22.89 + 82 146 159.11 28.11 28.11 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 133.56 81.11 44.78 + 114 114 101.33 101.33 101.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 25.11 145.67 228.22 + 130 114 128.00 128.00 128.00 + 130 130 128.00 128.00 128.00 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 209.11 64.33 209.11 + 146 114 185.22 167.33 48.89 + 146 130 128.00 128.00 128.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 227.56 213.56 39.89 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 177.89 97.11 15.11 + 162 130 128.00 128.00 128.00 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 145.78 34.78 22.78 + 178 130 96.44 58.44 58.44 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 117.56 117.56 117.56 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-image-view-theta.yaml b/unittest/graphics/tests/dump-image-view-theta.yaml new file mode 100644 index 00000000000..818f7dc32c7 --- /dev/null +++ b/unittest/graphics/tests/dump-image-view-theta.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:31:05 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 10 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.10 125.19 125.19 + 128.09 122.47 122.47 + 129.03 121.17 121.17 + 128.81 120.72 120.72 + 127.78 119.89 119.89 + 125.83 119.38 119.38 + 124.24 120.11 120.11 + 128.25 123.66 121.53 + 131.28 125.93 120.60 + 134.56 128.76 121.28 + 135.49 128.47 119.72 + 135.11 127.72 119.59 + 130.71 125.06 119.39 + 128.31 124.11 119.60 + 126.61 124.42 121.91 + 129.48 125.00 122.48 + 131.53 124.50 121.00 + 132.62 122.92 117.92 + 134.41 121.23 114.78 + 134.91 121.13 113.83 + 132.91 120.38 113.39 + 128.81 118.86 113.17 + 126.55 119.94 116.16 + 127.33 122.37 118.97 + 126.50 123.67 120.86 + 129.92 128.17 125.97 + 131.23 127.61 123.55 + 133.62 128.03 121.48 + 134.33 128.75 121.36 + 135.46 128.66 120.33 + 133.84 127.13 119.91 + 127.73 122.29 120.62 + 125.50 122.06 124.23 + 123.87 121.91 126.75 + 126.76 122.49 123.48 + 129.35 121.78 117.03 + 131.67 121.89 113.64 + 131.34 122.85 108.44 + 131.26 122.98 103.78 + 132.96 120.19 100.28 + 132.34 116.47 103.84 + 138.18 115.98 111.50 + 143.18 117.44 110.69 + 140.19 116.88 106.05 + 137.50 116.61 103.85 + 128.43 114.24 104.61 + 126.30 123.61 114.79 + 129.71 132.06 121.97 + 130.81 136.38 122.17 + 131.57 133.03 119.45 + 130.44 127.27 115.25 + 127.83 122.01 112.12 + 129.05 121.78 112.38 + 130.56 122.06 114.22 + 131.53 122.08 117.00 + 135.82 120.34 115.83 + 135.69 121.36 116.48 + 135.81 117.86 115.54 + 127.04 110.72 112.38 + 121.84 111.03 111.19 + 121.26 114.05 112.89 + 127.45 123.70 109.69 + 130.13 129.82 115.40 + 130.35 130.80 117.48 + 126.03 126.06 115.59 + 127.95 125.75 112.88 + 125.51 123.62 113.67 + 125.26 125.41 118.25 + 121.75 125.57 117.94 + 122.00 127.34 116.97 + 119.12 125.47 111.83 + 117.67 123.28 113.02 + 119.22 123.84 118.32 + 124.95 118.34 116.08 + 129.07 117.50 116.80 + 133.46 118.81 118.89 + 132.48 117.31 117.97 + 128.23 117.07 120.76 + 120.53 118.47 122.45 + 118.59 120.11 120.11 + 120.44 122.97 123.44 + 116.52 122.57 122.73 + 116.70 123.51 118.38 + 121.02 126.22 117.81 + 126.48 130.03 119.14 + 126.81 130.60 120.87 + 124.98 127.18 119.17 + 123.53 124.95 119.52 + 121.41 124.42 120.05 + 127.30 129.72 122.48 + 130.04 132.12 119.98 + 131.91 133.75 117.97 + 131.57 133.09 116.75 + 132.59 132.12 113.05 + 131.08 129.22 111.97 + 129.43 127.47 113.31 + 128.19 127.06 118.06 + 129.30 128.21 122.23 + 128.65 127.88 123.82 + 126.64 126.27 124.22 + 127.02 126.97 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.67 125.68 125.68 + 128.31 124.89 124.89 + 128.29 124.45 124.45 + 128.16 123.78 123.78 + 127.47 123.50 123.50 + 126.69 123.81 123.81 + 129.39 124.68 122.40 + 130.57 122.96 119.52 + 131.19 120.83 117.11 + 132.24 119.51 114.11 + 136.00 118.50 108.03 + 137.03 119.19 106.14 + 132.38 118.12 105.12 + 135.18 125.57 110.09 + 135.64 127.50 109.51 + 136.38 130.50 111.92 + 136.51 131.71 111.83 + 139.36 132.81 108.65 + 139.53 132.56 108.31 + 141.74 133.78 107.81 + 142.81 132.02 102.24 + 147.24 133.51 100.88 + 143.96 128.54 97.86 + 140.78 126.75 103.92 + 136.63 126.05 111.00 + 128.38 119.08 105.33 + 125.71 118.54 110.63 + 125.75 119.19 112.53 + 128.80 121.53 113.91 + 133.79 119.06 113.55 + 132.66 119.60 111.92 + 129.51 117.75 112.93 + 126.14 114.06 116.90 + 122.46 115.39 116.61 + 130.17 117.94 117.56 + 131.38 116.36 113.72 + 129.50 116.50 106.09 + 130.75 124.27 107.03 + 128.53 130.60 107.88 + 125.73 128.08 106.89 + 125.17 127.40 107.67 + 127.19 128.19 112.72 + 119.98 125.33 114.75 + 116.03 118.94 116.42 + 114.89 115.15 122.78 + 112.61 112.29 123.61 + 115.31 115.62 127.75 + 121.06 120.40 130.19 + 120.91 120.47 127.02 + 121.33 122.62 123.89 + 122.30 126.66 123.41 + 123.62 129.28 124.28 + 125.64 131.49 126.95 + 119.89 126.03 127.87 + 119.28 124.41 129.88 + 118.85 124.86 131.66 + 121.57 119.36 126.23 + 126.23 113.86 121.54 + 124.36 112.80 119.19 + 123.27 113.14 115.98 + 131.06 121.27 116.42 + 135.03 127.09 115.75 + 134.71 130.24 117.03 + 134.91 130.83 116.29 + 133.78 129.11 116.25 + 130.97 127.78 116.80 + 126.40 127.13 119.97 + 128.07 126.78 121.83 + 126.97 126.56 121.92 + 127.15 128.28 123.47 + 127.98 133.19 122.56 + 132.64 138.12 118.97 + 135.23 138.82 112.44 + 132.64 136.41 106.27 + 133.40 133.50 103.83 + 136.11 125.92 102.07 + 136.48 122.53 102.46 + 133.68 118.38 103.31 + 133.58 118.86 111.27 + 132.09 117.78 113.75 + 129.93 117.56 114.14 + 130.95 121.09 116.92 + 129.13 123.17 123.11 + 125.45 121.01 124.27 + 122.50 119.70 127.50 + 120.06 117.38 130.20 + 120.29 114.89 128.25 + 120.39 113.86 125.59 + 120.97 114.50 124.08 + 121.82 115.42 120.35 + 124.43 119.05 120.93 + 125.37 121.81 121.81 + 125.38 123.54 123.54 + 127.12 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 128.00 128.00 128.00 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 154.44 37.44 37.44 + 66 66 143.67 122.78 101.78 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 207.22 186.44 59.56 + 82 82 128.00 128.00 128.00 + 82 98 57.44 57.44 114.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 195.33 41.11 41.11 + 98 98 24.00 216.00 216.00 + 98 114 105.00 91.11 16.11 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 176.22 157.33 19.89 + 114 82 17.78 39.33 17.78 + 114 98 128.00 128.00 128.00 + 114 114 143.22 143.22 143.22 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 127.11 125.11 114.44 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 114.89 122.44 103.78 + 130 130 87.44 87.44 122.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 175.11 150.22 15.56 + 146 98 104.33 103.56 99.56 + 146 114 128.00 128.00 128.00 + 146 130 128.00 128.00 128.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 128.00 128.00 128.00 + 162 130 128.00 128.00 128.00 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-acolor-wildcard.yaml b/unittest/graphics/tests/dump-modify-acolor-wildcard.yaml new file mode 100644 index 00000000000..aef644afd5f --- /dev/null +++ b/unittest/graphics/tests/dump-modify-acolor-wildcard.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:26 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray acolor * red/green/blue/yellow/cyan/magenta +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.27 127.38 + 130.62 130.62 125.25 + 131.43 131.43 124.35 + 131.98 131.98 121.97 + 133.47 133.47 120.99 + 133.22 133.22 120.40 + 129.16 134.43 117.58 + 125.83 131.53 117.83 + 126.36 131.68 120.78 + 124.12 129.41 120.42 + 122.15 128.10 120.25 + 125.87 130.59 121.72 + 124.86 127.15 121.25 + 125.14 127.44 123.23 + 125.83 128.47 125.76 + 126.36 129.01 126.36 + 129.21 127.03 129.21 + 129.00 126.41 129.00 + 129.03 126.37 129.03 + 129.98 127.16 127.34 + 133.66 127.57 127.48 + 134.06 127.42 127.38 + 134.96 127.30 127.31 + 134.01 126.61 126.69 + 131.28 124.02 125.42 + 130.49 122.14 123.73 + 129.72 118.12 118.60 + 133.01 123.45 122.33 + 131.59 123.58 122.61 + 131.47 123.95 123.08 + 129.65 123.33 122.73 + 128.12 125.22 123.05 + 129.68 128.78 123.36 + 131.43 130.81 123.75 + 130.97 130.60 123.19 + 131.09 130.66 121.77 + 133.23 132.31 116.95 + 133.50 132.71 115.53 + 133.26 130.39 114.08 + 135.12 132.07 117.69 + 134.46 127.71 120.56 + 132.21 125.16 122.42 + 129.01 123.53 124.55 + 131.05 126.32 127.31 + 133.46 130.06 127.45 + 134.72 132.31 122.47 + 133.49 134.22 121.99 + 133.46 136.25 119.85 + 130.91 135.12 119.95 + 128.54 132.35 120.34 + 125.81 125.90 118.14 + 124.20 127.92 117.84 + 128.24 126.17 119.31 + 128.37 122.64 119.16 + 124.30 125.97 116.00 + 126.59 129.87 116.67 + 129.40 131.84 117.45 + 126.08 128.53 116.08 + 124.94 131.38 115.26 + 121.12 128.72 111.20 + 119.98 127.19 113.58 + 121.42 127.28 119.56 + 124.19 130.58 124.69 + 123.69 136.02 120.30 + 123.33 137.51 119.75 + 120.67 136.97 124.22 + 119.87 134.98 127.78 + 118.61 133.99 130.03 + 116.86 131.07 131.78 + 115.73 131.21 129.63 + 119.56 128.49 125.36 + 121.90 127.23 121.37 + 126.85 127.31 120.14 + 128.12 127.41 120.86 + 125.75 124.03 119.77 + 122.70 120.89 119.27 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.90 126.98 126.98 + 128.92 126.98 126.98 + 128.65 126.79 126.79 + 130.74 124.69 124.69 + 130.81 125.42 123.59 + 131.77 128.44 122.38 + 131.03 129.09 122.52 + 130.52 131.84 121.30 + 127.20 133.75 123.83 + 126.14 129.75 123.79 + 126.03 127.81 123.17 + 125.08 126.59 123.73 + 124.38 124.68 120.93 + 122.22 121.19 120.22 + 127.75 119.03 118.31 + 131.50 121.17 116.38 + 132.12 125.03 118.26 + 133.67 129.51 121.86 + 132.67 128.68 121.46 + 130.13 126.77 121.61 + 126.42 124.61 121.75 + 125.26 124.77 124.16 + 128.63 126.88 126.88 + 128.58 126.88 126.88 + 126.87 128.53 128.53 + 126.27 128.87 128.87 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 121.83 128.87 131.22 + 121.83 127.19 128.42 + 125.55 122.02 122.34 + 128.32 119.83 116.25 + 130.88 123.44 117.42 + 131.21 123.98 119.42 + 127.69 121.62 119.53 + 127.16 123.76 122.48 + 128.37 127.34 124.03 + 131.27 129.66 123.87 + 132.31 130.70 122.00 + 133.06 131.47 121.89 + 133.97 130.68 121.36 + 136.27 125.23 123.39 + 138.31 124.86 123.97 + 137.97 124.51 121.55 + 135.99 122.63 120.82 + 134.57 121.97 121.42 + 125.06 116.38 126.79 + 121.14 120.65 127.58 + 120.41 126.17 133.75 + 120.03 126.86 134.28 + 120.06 125.86 130.71 + 125.81 126.55 125.72 + 125.90 127.39 122.13 + 128.81 130.37 123.28 + 125.88 126.75 116.80 + 123.22 127.87 114.81 + 119.16 128.62 115.78 + 118.53 132.69 116.85 + 118.89 140.23 118.95 + 117.81 137.77 117.69 + 120.40 136.65 118.70 + 121.48 132.99 116.45 + 122.58 131.62 114.78 + 124.26 130.22 115.96 + 122.60 130.72 115.23 + 124.99 131.65 117.91 + 122.39 135.79 120.30 + 120.70 136.66 120.16 + 118.75 138.09 118.34 + 118.35 137.45 117.71 + 116.44 135.53 116.62 + 116.55 131.84 116.82 + 113.73 128.34 116.98 + 115.70 132.97 122.20 + 118.17 132.85 125.49 + 120.44 133.12 127.36 + 119.92 130.50 126.53 + 120.70 127.34 125.98 + 122.43 127.08 125.58 + 124.26 126.86 124.86 + 126.17 126.17 128.18 + 125.67 125.67 128.63 + 126.85 126.85 128.13 + 127.91 127.91 127.85 + 126.19 126.19 126.95 + 126.61 126.61 125.01 + 125.00 125.00 123.02 + 124.88 124.88 122.62 + 126.33 126.33 125.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 125.67 129.43 129.43 + 124.25 130.25 130.25 + 124.47 130.95 130.95 + 124.39 130.91 130.91 + 124.13 130.56 130.56 + 123.81 129.26 129.26 + 121.70 131.26 127.97 + 121.64 132.50 129.29 + 121.36 133.91 131.68 + 121.25 133.63 131.64 + 120.22 133.29 126.95 + 120.48 133.72 124.92 + 121.80 133.21 120.86 + 128.35 134.79 118.72 + 130.10 134.66 117.79 + 131.79 134.14 115.90 + 134.25 135.56 114.14 + 135.51 136.62 112.45 + 131.65 136.99 109.64 + 134.53 134.88 107.64 + 139.26 132.89 107.45 + 137.09 130.18 107.63 + 135.62 127.31 112.50 + 134.31 126.64 117.42 + 129.50 122.06 118.11 + 126.67 119.20 114.19 + 122.08 120.55 117.11 + 120.92 122.76 118.25 + 124.03 128.35 120.08 + 132.94 124.63 118.13 + 137.03 122.03 118.59 + 137.07 118.37 119.56 + 135.46 122.64 122.81 + 130.31 124.44 118.00 + 126.23 126.36 118.54 + 124.19 124.50 120.22 + 128.75 128.13 118.02 + 133.67 133.09 114.48 + 134.16 132.29 112.87 + 131.47 131.54 112.19 + 133.62 133.69 107.85 + 132.02 134.00 104.72 + 130.48 130.40 103.87 + 126.36 124.65 103.79 + 124.73 124.23 108.25 + 124.06 123.96 108.56 + 122.95 123.61 115.58 + 128.57 126.44 119.55 + 128.41 128.96 122.30 + 127.02 129.88 123.10 + 124.59 129.51 121.83 + 124.91 131.46 123.99 + 125.62 132.27 126.89 + 120.63 128.76 130.16 + 116.02 128.81 133.79 + 116.72 130.74 137.26 + 115.89 130.09 135.44 + 116.88 130.43 134.59 + 114.80 126.29 129.88 + 118.89 124.00 122.97 + 125.00 128.01 115.09 + 131.73 133.41 110.23 + 131.88 135.15 109.80 + 131.58 137.13 104.33 + 131.30 137.31 104.41 + 128.52 133.05 105.28 + 123.83 129.54 109.30 + 125.54 130.35 113.95 + 123.70 130.93 116.67 + 124.27 128.44 111.97 + 117.53 126.53 111.50 + 117.65 134.97 111.39 + 121.64 137.46 109.14 + 123.45 137.62 107.08 + 127.44 133.74 103.36 + 134.73 126.58 103.84 + 133.97 120.91 105.30 + 137.26 119.55 107.98 + 137.96 116.77 112.17 + 132.19 117.04 109.81 + 126.22 122.12 108.28 + 121.99 125.49 108.23 + 115.33 125.38 113.48 + 112.81 124.84 118.45 + 113.21 122.37 122.42 + 115.14 121.59 126.87 + 117.06 123.03 132.47 + 115.67 124.54 133.97 + 113.81 124.09 131.47 + 114.21 125.38 128.57 + 116.67 128.16 129.34 + 120.56 128.37 128.37 + 124.19 127.28 127.28 + 126.72 127.44 127.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 201.56 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 133.22 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 247.78 247.78 32.44 + 66 82 107.89 71.33 107.89 + 66 98 122.00 122.00 57.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 111.67 85.44 + 82 82 107.56 91.22 159.00 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 210.67 47.11 47.11 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 31.44 130.11 120.22 + 130 130 57.89 33.00 166.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 118.00 113.78 + 146 130 123.22 84.67 172.33 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 62.78 141.56 20.56 + 162 130 72.11 108.11 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-adiam.yaml b/unittest/graphics/tests/dump-modify-adiam.yaml new file mode 100644 index 00000000000..60e5ee96a1d --- /dev/null +++ b/unittest/graphics/tests/dump-modify-adiam.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:28 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray adiam 1*6 1.5 adiam 7*14 0.7 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.26 128.12 127.37 + 131.09 129.97 123.92 + 132.38 131.52 123.11 + 133.33 132.21 120.92 + 136.38 134.49 118.36 + 137.15 135.41 116.87 + 136.91 135.23 115.31 + 135.84 134.56 116.05 + 133.42 132.82 115.89 + 130.66 130.41 115.59 + 128.36 128.06 115.77 + 125.17 125.52 116.00 + 124.56 125.83 118.48 + 122.48 123.78 119.30 + 122.05 123.80 119.51 + 123.57 124.78 119.98 + 123.15 123.47 120.65 + 123.28 124.27 121.64 + 127.03 127.98 127.03 + 127.47 128.01 123.92 + 129.92 129.91 121.75 + 131.13 131.34 122.20 + 132.07 132.31 121.94 + 131.04 131.92 119.61 + 129.88 131.28 118.50 + 129.20 129.97 118.16 + 127.29 128.16 114.96 + 125.54 126.16 114.58 + 129.55 128.57 119.36 + 128.13 127.69 125.32 + 127.83 127.69 125.94 + 130.79 129.90 124.00 + 130.35 128.99 121.49 + 131.88 130.82 121.23 + 132.41 131.63 122.17 + 133.71 132.60 121.09 + 136.41 134.17 117.06 + 139.69 136.86 113.88 + 140.01 137.39 113.69 + 138.93 136.58 113.17 + 138.56 131.69 113.67 + 139.58 130.41 116.57 + 137.60 126.14 118.22 + 138.30 125.67 119.25 + 135.25 122.60 120.06 + 132.49 120.61 119.66 + 129.92 119.61 121.32 + 131.82 124.20 125.22 + 129.94 126.38 124.46 + 128.76 130.56 126.62 + 126.50 130.25 126.63 + 127.17 130.26 123.09 + 127.36 129.28 119.75 + 126.99 127.84 122.78 + 131.54 127.67 119.73 + 133.30 129.39 116.81 + 134.10 131.82 115.93 + 135.04 133.52 115.82 + 133.50 132.84 116.50 + 131.40 130.10 114.48 + 128.16 126.98 113.13 + 124.80 123.88 110.66 + 123.31 121.86 111.05 + 120.28 117.46 107.73 + 120.14 117.42 108.92 + 127.53 127.31 114.53 + 129.84 132.51 119.36 + 130.22 133.59 121.61 + 126.83 130.02 121.41 + 125.91 129.85 123.53 + 123.48 127.11 123.20 + 120.67 123.84 121.56 + 118.04 117.49 118.22 + 116.95 115.81 117.81 + 125.45 116.23 117.47 + 126.23 114.86 115.47 + 127.45 116.89 116.89 + 129.30 121.47 121.47 + 127.23 121.82 121.82 + 125.77 122.92 122.92 + 125.53 124.80 124.80 + 128.64 128.64 128.64 + 128.65 128.65 128.65 + 129.26 128.88 126.78 + 130.88 129.87 123.97 + 132.37 131.47 122.53 + 129.09 134.47 125.14 + 128.17 136.06 125.61 + 129.87 133.63 124.47 + 130.46 130.80 122.16 + 129.07 129.53 121.83 + 127.78 127.56 121.30 + 125.03 125.04 120.83 + 120.78 119.62 117.70 + 119.42 118.02 117.09 + 122.28 119.95 116.44 + 123.27 121.06 116.62 + 127.19 124.69 118.53 + 127.84 125.33 116.36 + 130.03 127.73 118.24 + 130.69 129.24 121.50 + 128.91 127.74 121.42 + 127.55 126.78 122.71 + 125.58 125.19 123.19 + 124.85 126.41 125.99 + 121.59 128.99 132.59 + 119.27 128.58 135.76 + 117.46 128.26 137.31 + 116.64 127.47 137.98 + 116.51 125.83 136.43 + 117.97 123.08 134.46 + 119.05 121.78 132.80 + 120.03 120.19 129.49 + 120.89 117.27 124.92 + 122.48 114.64 119.66 + 122.92 113.59 116.25 + 128.13 118.00 118.71 + 130.06 121.89 120.95 + 129.97 123.56 118.44 + 131.72 127.36 117.06 + 132.28 130.12 116.33 + 137.56 130.25 121.21 + 137.96 127.70 124.72 + 139.10 127.58 122.47 + 141.31 128.38 124.19 + 141.35 128.60 124.75 + 131.92 120.31 128.07 + 127.27 117.28 129.36 + 117.84 119.82 130.31 + 114.84 121.63 133.48 + 119.52 123.65 134.98 + 121.28 123.03 134.17 + 122.31 121.92 132.40 + 124.00 120.55 128.79 + 124.56 120.97 127.18 + 126.19 118.83 122.42 + 126.28 117.17 117.75 + 131.87 121.66 115.02 + 133.69 124.47 113.47 + 130.11 124.91 111.80 + 129.88 126.41 112.13 + 130.97 128.26 112.67 + 133.81 131.82 114.31 + 134.62 132.54 113.88 + 134.62 132.84 114.64 + 132.76 131.25 115.00 + 129.54 128.81 114.69 + 128.77 127.28 115.49 + 132.05 128.57 117.38 + 132.03 125.89 114.19 + 131.62 124.35 112.63 + 129.88 122.75 111.46 + 129.76 123.87 114.41 + 130.22 125.44 115.70 + 129.13 125.50 117.25 + 125.03 120.59 116.47 + 125.16 121.39 120.24 + 129.04 124.27 122.49 + 126.84 123.84 123.35 + 126.81 124.50 123.75 + 126.64 125.66 124.89 + 128.18 127.18 126.18 + 126.17 128.18 126.17 + 126.17 128.18 126.17 + 124.74 129.30 124.74 + 124.61 130.56 124.61 + 124.41 131.12 124.41 + 123.23 126.62 123.23 + 124.58 125.15 124.58 + 126.34 126.34 126.34 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.64 126.24 126.24 + 128.09 125.41 125.41 + 128.28 125.44 125.44 + 127.64 125.17 125.17 + 127.24 124.57 124.57 + 128.19 126.44 125.19 + 129.03 125.89 124.75 + 128.90 124.55 123.25 + 129.38 123.28 122.16 + 129.35 123.56 118.77 + 133.54 128.09 115.51 + 136.42 133.12 116.86 + 137.57 134.41 112.91 + 138.47 135.59 111.59 + 142.40 139.09 107.75 + 142.59 139.04 106.61 + 140.90 136.80 104.89 + 140.54 135.84 102.30 + 141.42 136.13 101.83 + 133.70 130.28 108.77 + 132.80 129.79 113.80 + 129.20 126.51 115.45 + 128.07 124.60 114.08 + 126.62 124.87 114.28 + 126.58 129.76 120.11 + 122.25 127.55 120.83 + 125.86 120.84 119.34 + 130.53 116.65 117.53 + 132.01 116.44 119.42 + 133.09 115.70 120.08 + 134.94 120.94 118.33 + 132.16 122.09 118.56 + 129.85 122.67 117.86 + 129.50 127.39 115.82 + 128.93 130.16 104.92 + 127.50 136.56 101.42 + 127.33 139.14 100.48 + 135.43 138.00 95.23 + 137.66 138.32 95.33 + 138.00 136.20 94.86 + 135.99 132.56 95.39 + 133.00 133.29 100.25 + 124.85 126.79 97.64 + 119.93 121.43 98.92 + 121.68 120.97 104.06 + 127.10 123.79 111.12 + 129.75 126.72 113.48 + 124.93 129.13 118.46 + 122.07 129.56 123.67 + 119.25 128.17 126.52 + 120.52 124.89 125.69 + 120.12 122.00 125.30 + 121.78 123.90 126.59 + 121.18 120.75 126.06 + 120.27 116.52 123.86 + 120.94 115.59 124.78 + 119.82 114.75 124.72 + 122.01 118.61 123.20 + 124.90 121.01 117.05 + 130.16 125.30 114.52 + 132.21 127.64 111.95 + 136.49 128.38 108.98 + 138.00 128.06 104.75 + 131.33 128.41 107.00 + 130.12 132.71 114.44 + 126.32 132.25 117.94 + 123.42 130.62 116.06 + 116.75 132.35 117.72 + 120.94 139.00 117.97 + 126.78 144.37 118.53 + 127.34 149.48 114.32 + 130.53 146.75 105.21 + 135.11 135.26 99.09 + 139.10 129.25 99.97 + 145.12 123.73 100.53 + 146.65 118.75 101.71 + 143.66 112.69 102.19 + 140.68 106.95 102.91 + 136.76 104.59 104.69 + 130.81 106.14 114.05 + 125.09 106.47 116.25 + 118.52 105.98 118.48 + 116.91 110.56 126.83 + 118.89 116.22 130.55 + 117.53 115.60 132.26 + 116.86 115.66 133.01 + 116.07 114.39 131.87 + 115.84 112.48 128.46 + 116.55 113.00 124.74 + 116.00 112.73 120.63 + 117.93 116.47 121.33 + 123.54 123.44 125.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 22.11 70.44 22.11 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 221.22 196.00 18.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 225.00 214.33 55.44 + 66 82 156.67 5.33 59.56 + 66 98 118.56 118.56 118.56 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 98.00 82.89 1.67 + 82 82 78.11 92.56 31.67 + 82 98 113.78 113.78 126.44 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 121.78 120.56 114.00 + 114 98 31.22 46.22 93.78 + 114 114 152.33 152.33 152.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 17.56 193.89 193.89 + 130 130 20.78 20.78 208.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 84.56 75.56 28.67 + 146 130 36.00 36.00 254.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 93.44 114.56 22.44 + 162 130 125.56 106.22 86.78 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-amap-ca.yaml b/unittest/graphics/tests/dump-modify-amap-ca.yaml new file mode 100644 index 00000000000..f2df0fb70fa --- /dev/null +++ b/unittest/graphics/tests/dump-modify-amap-ca.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:29 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} q type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray amap -1.0 1.0 ca 0.0 3 min blue 0.0 white max red +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.19 128.19 + 130.62 130.34 130.34 + 131.43 131.14 131.14 + 131.98 131.41 131.41 + 133.47 132.88 132.88 + 133.22 132.35 132.35 + 133.53 132.90 133.81 + 130.91 130.34 130.96 + 131.02 130.52 131.18 + 128.54 128.21 129.07 + 126.80 126.62 127.93 + 129.53 129.16 130.22 + 126.64 126.31 126.83 + 127.12 126.94 127.27 + 128.04 128.04 128.47 + 128.67 128.67 129.01 + 128.93 128.93 129.21 + 128.60 128.60 129.00 + 128.67 128.67 129.03 + 129.81 129.56 129.74 + 133.35 133.06 133.37 + 133.85 133.65 133.85 + 134.66 134.35 134.66 + 133.54 133.06 133.53 + 130.72 130.19 130.75 + 129.94 129.40 129.95 + 128.97 128.72 129.47 + 132.44 132.44 133.01 + 131.02 130.93 131.50 + 130.69 130.61 131.40 + 128.77 128.72 129.59 + 127.86 127.58 127.84 + 129.56 129.27 129.39 + 131.31 131.03 131.15 + 130.90 130.56 130.63 + 131.01 130.47 130.54 + 133.06 131.90 132.06 + 133.35 132.47 132.62 + 132.74 132.04 132.56 + 134.58 133.86 134.41 + 133.91 132.53 133.07 + 131.97 131.00 131.24 + 131.23 130.21 130.21 + 133.22 132.69 132.69 + 136.57 134.47 134.47 + 137.13 132.91 133.41 + 136.52 132.35 133.63 + 137.17 132.27 133.38 + 136.00 129.42 133.35 + 134.19 127.83 132.34 + 132.22 125.79 129.35 + 132.46 128.33 132.95 + 135.76 132.35 138.13 + 134.31 131.53 137.53 + 135.03 133.50 138.93 + 138.34 137.22 141.56 + 140.34 139.16 143.18 + 135.03 134.10 138.14 + 134.90 133.88 137.09 + 130.43 129.43 131.37 + 127.31 126.36 126.89 + 128.03 127.61 127.97 + 132.62 132.12 132.26 + 135.41 134.94 135.54 + 135.53 135.23 137.21 + 134.63 133.82 137.94 + 133.31 132.59 136.91 + 132.10 131.16 135.81 + 129.80 129.07 134.43 + 132.39 129.18 133.69 + 133.79 129.37 132.37 + 132.87 128.31 129.78 + 134.84 128.84 128.93 + 134.52 128.22 128.22 + 129.50 124.97 124.97 + 124.06 121.80 121.80 + 126.31 125.86 125.86 + 128.86 128.03 128.03 + 128.88 128.05 128.05 + 128.90 128.06 128.06 + 128.92 128.07 128.07 + 128.61 128.61 128.65 + 130.68 130.68 130.74 + 130.77 130.60 130.65 + 131.72 131.41 131.46 + 131.00 130.80 130.84 + 133.21 132.03 134.41 + 133.41 132.16 134.98 + 132.88 131.09 135.29 + 132.31 130.38 135.32 + 130.78 129.38 134.20 + 129.29 127.63 132.16 + 125.70 124.14 127.72 + 129.72 126.90 129.12 + 132.22 128.96 129.74 + 132.12 130.50 130.50 + 133.66 133.34 133.35 + 132.63 132.08 132.12 + 130.06 129.59 129.66 + 126.38 126.11 126.16 + 125.25 125.19 125.21 + 128.59 128.59 128.63 + 128.54 128.54 128.58 + 128.49 128.49 128.53 + 128.36 128.36 128.87 + 127.58 127.58 131.44 + 128.71 128.71 134.47 + 128.25 128.25 134.31 + 129.78 128.18 134.93 + 129.28 127.03 134.02 + 131.13 126.52 133.03 + 129.07 124.47 128.33 + 131.03 125.74 126.27 + 131.21 126.23 126.23 + 127.69 123.93 123.93 + 127.16 125.28 125.28 + 128.37 127.84 127.84 + 131.27 130.32 130.32 + 132.31 131.00 131.00 + 133.06 131.53 131.53 + 133.66 132.24 132.54 + 135.44 134.84 135.66 + 137.97 137.09 137.44 + 137.62 136.40 136.74 + 135.12 134.35 135.22 + 133.62 132.76 133.72 + 127.42 127.02 130.45 + 126.67 126.32 129.26 + 127.72 127.72 133.75 + 128.24 128.16 134.20 + 128.97 126.86 133.06 + 133.62 128.81 134.03 + 132.87 128.16 131.84 + 137.00 130.91 131.96 + 133.50 127.17 127.72 + 132.91 127.94 128.20 + 132.24 129.46 130.16 + 134.09 132.78 133.78 + 138.20 137.48 139.51 + 135.50 134.75 137.02 + 135.33 134.06 135.38 + 131.82 130.44 131.60 + 130.19 129.34 130.78 + 128.97 128.56 129.81 + 129.47 129.10 130.35 + 131.19 130.74 131.21 + 135.29 134.10 134.60 + 135.97 135.18 135.88 + 137.03 136.44 137.50 + 136.56 135.81 136.71 + 134.86 133.43 134.10 + 131.12 129.97 130.69 + 127.75 126.53 127.12 + 132.67 131.87 132.17 + 132.78 131.87 131.94 + 133.12 132.07 132.07 + 130.50 129.42 129.42 + 127.34 126.58 126.58 + 126.28 125.92 126.72 + 125.78 125.71 126.79 + 127.09 127.09 128.18 + 128.52 127.32 130.23 + 130.49 128.28 131.65 + 131.46 128.95 132.40 + 129.50 127.23 130.93 + 129.12 126.19 129.14 + 126.59 124.26 126.11 + 125.29 123.93 124.42 + 126.33 125.94 125.94 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 129.43 129.00 129.00 + 130.25 129.89 129.89 + 130.95 130.66 130.66 + 130.91 130.63 130.63 + 130.56 130.00 130.00 + 129.26 128.63 128.63 + 130.88 130.16 130.54 + 132.38 131.90 132.02 + 133.84 133.30 133.38 + 133.41 132.97 133.19 + 132.90 132.15 132.55 + 133.54 132.89 133.06 + 133.04 132.41 132.57 + 134.25 133.65 134.18 + 134.14 133.66 134.19 + 133.87 133.22 133.49 + 135.41 134.36 134.51 + 136.62 135.16 135.16 + 136.75 135.49 135.72 + 137.09 134.65 135.27 + 138.71 135.90 136.45 + 137.34 135.00 135.78 + 137.25 134.76 137.08 + 136.80 134.12 137.23 + 132.92 130.79 134.25 + 130.32 128.66 132.91 + 130.47 129.42 135.15 + 129.82 129.07 135.50 + 132.04 130.51 135.64 + 135.70 131.72 135.50 + 137.31 133.01 134.82 + 138.63 133.38 133.97 + 142.28 135.59 137.34 + 138.60 132.12 135.13 + 138.63 133.85 137.97 + 135.87 132.95 138.06 + 136.60 135.05 140.37 + 139.31 136.52 140.96 + 137.11 135.22 138.62 + 135.57 133.06 137.34 + 139.42 136.14 140.07 + 141.91 136.94 140.02 + 141.09 135.27 138.19 + 135.75 130.06 132.76 + 132.23 128.55 130.96 + 129.22 125.72 127.17 + 129.41 127.23 129.97 + 131.08 128.99 131.50 + 133.22 131.00 134.32 + 132.00 130.11 133.17 + 128.61 127.19 130.85 + 129.15 128.18 131.24 + 129.62 129.13 131.78 + 129.49 128.69 132.29 + 131.12 130.16 134.04 + 133.72 133.10 136.64 + 133.47 132.33 135.49 + 133.60 131.79 134.98 + 129.03 127.11 129.78 + 127.25 124.31 125.75 + 131.90 127.67 128.47 + 137.85 133.09 133.57 + 137.86 134.33 134.62 + 139.19 134.22 134.72 + 138.92 133.75 134.32 + 134.60 130.18 130.97 + 130.75 126.92 129.34 + 132.84 130.31 133.19 + 133.93 131.82 135.54 + 136.94 135.19 139.62 + 134.69 133.46 141.66 + 138.59 137.46 147.14 + 141.57 140.34 150.40 + 141.34 139.81 150.41 + 140.19 137.75 146.87 + 143.00 136.52 142.30 + 140.35 133.17 136.06 + 139.99 131.41 131.59 + 141.89 130.22 130.38 + 138.43 127.47 128.10 + 135.86 127.86 128.48 + 133.21 127.59 129.33 + 130.62 127.98 132.37 + 128.53 127.19 133.15 + 127.92 127.50 134.08 + 128.06 127.67 133.69 + 130.26 129.47 135.88 + 130.96 130.08 136.34 + 128.91 128.04 133.07 + 127.98 126.96 129.69 + 129.09 127.81 128.78 + 128.37 127.47 127.47 + 127.28 126.92 126.92 + 127.44 127.36 127.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 177.67 177.67 201.56 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 130.22 130.22 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 247.78 216.33 216.33 + 66 82 107.89 105.33 105.33 + 66 98 122.00 102.11 102.11 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 109.33 109.33 + 82 82 164.44 156.67 156.67 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 209.78 187.22 188.11 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 89.44 82.44 123.11 + 130 130 116.33 116.33 191.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.67 117.67 + 146 130 176.67 172.00 216.11 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 123.56 119.67 137.67 + 162 130 103.89 103.89 108.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-amap-cf.yaml b/unittest/graphics/tests/dump-modify-amap-cf.yaml new file mode 100644 index 00000000000..bba244fb20e --- /dev/null +++ b/unittest/graphics/tests/dump-modify-amap-cf.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:29 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} q type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray amap min max cf 0.0 4 min blue 0.3 green 0.7 yellow max red +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.04 128.27 127.38 + 129.47 130.62 125.25 + 130.31 131.43 124.35 + 130.11 131.98 121.97 + 130.90 133.47 120.99 + 130.64 133.22 120.40 + 128.09 134.43 117.58 + 124.66 131.53 117.83 + 125.05 131.68 120.78 + 123.26 129.41 120.42 + 121.74 128.10 120.25 + 124.89 130.59 121.72 + 123.98 127.15 121.25 + 124.68 127.44 123.23 + 125.84 128.47 125.76 + 126.39 129.01 126.36 + 127.06 129.21 127.03 + 126.44 129.00 126.41 + 126.40 129.03 126.37 + 127.08 129.98 124.52 + 128.44 133.66 121.39 + 128.88 134.06 120.73 + 128.72 134.96 119.65 + 127.39 134.01 119.28 + 124.97 131.28 118.16 + 123.44 130.49 116.22 + 121.58 129.72 116.47 + 125.83 133.01 122.33 + 125.17 131.59 122.61 + 125.33 131.47 123.08 + 124.45 129.65 122.73 + 125.83 128.12 123.05 + 127.81 129.68 123.36 + 129.78 131.43 123.75 + 129.41 130.97 123.19 + 128.72 131.09 121.77 + 128.76 133.23 116.95 + 129.56 133.50 115.53 + 128.00 133.26 114.08 + 129.46 135.12 117.16 + 127.34 134.46 114.23 + 127.48 132.21 115.37 + 127.69 131.23 114.64 + 130.29 133.22 118.24 + 133.91 134.85 117.81 + 134.63 131.81 115.08 + 133.34 129.64 117.08 + 134.46 129.24 118.03 + 130.63 123.38 118.41 + 128.26 120.59 118.48 + 126.27 117.52 117.03 + 121.94 121.78 117.66 + 122.14 126.47 118.06 + 121.25 125.50 118.39 + 120.29 130.31 115.87 + 123.09 135.89 114.04 + 126.50 137.70 113.78 + 123.69 132.51 112.53 + 123.87 133.68 112.96 + 120.54 130.07 109.85 + 121.08 127.52 111.06 + 123.50 128.38 116.27 + 127.39 132.76 119.38 + 127.08 136.02 117.73 + 125.81 135.34 118.36 + 124.40 132.40 120.02 + 124.02 130.18 121.06 + 123.60 128.47 121.69 + 122.14 125.84 123.08 + 125.44 126.36 116.22 + 129.07 125.17 113.31 + 130.10 124.69 111.47 + 133.56 124.91 112.22 + 133.31 125.02 114.46 + 128.78 122.47 116.02 + 123.81 120.30 117.91 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.90 126.98 126.98 + 128.92 126.98 126.98 + 127.69 128.65 126.79 + 127.84 130.74 124.69 + 127.96 130.81 123.59 + 128.88 131.77 122.38 + 129.09 131.03 122.52 + 127.35 130.62 120.25 + 125.43 130.21 120.64 + 123.89 127.39 121.89 + 123.69 125.44 122.23 + 123.17 124.98 122.70 + 121.98 123.72 120.06 + 120.38 121.24 119.46 + 124.44 123.50 117.91 + 128.38 125.74 116.23 + 129.38 129.37 118.26 + 130.43 133.67 121.86 + 128.94 132.67 121.46 + 127.11 130.13 121.61 + 124.78 126.42 121.75 + 124.85 125.26 124.16 + 127.73 128.63 126.88 + 127.71 128.58 126.88 + 127.67 128.53 126.87 + 127.05 128.09 127.05 + 122.91 124.56 130.26 + 121.17 123.58 133.30 + 120.21 122.72 133.00 + 121.83 122.34 129.47 + 121.83 120.64 126.28 + 123.88 117.89 122.11 + 125.14 117.75 118.34 + 130.53 121.08 117.67 + 131.21 122.31 119.42 + 127.69 120.86 119.53 + 126.86 123.72 122.48 + 128.03 127.34 124.03 + 130.54 129.66 123.87 + 130.54 130.70 122.00 + 130.63 131.47 120.28 + 130.43 132.39 119.78 + 128.38 136.27 118.25 + 129.94 138.31 117.03 + 129.01 137.97 114.53 + 126.86 135.99 113.70 + 126.48 134.57 114.10 + 120.48 125.62 120.83 + 121.02 124.09 123.47 + 120.41 122.53 132.30 + 120.58 123.00 132.47 + 121.22 120.52 127.78 + 126.98 121.16 122.78 + 128.33 121.91 117.74 + 134.62 126.36 115.76 + 130.97 123.72 111.92 + 128.68 125.62 111.76 + 124.53 129.40 110.80 + 124.80 133.87 110.36 + 126.72 139.72 112.62 + 124.38 137.13 111.81 + 125.22 136.34 113.51 + 122.90 132.62 112.97 + 122.45 131.11 113.70 + 123.48 129.69 116.44 + 122.92 130.44 115.52 + 125.20 131.59 117.97 + 127.22 135.79 115.15 + 128.12 136.66 113.17 + 127.45 138.09 112.39 + 126.92 137.45 111.10 + 125.50 135.53 110.02 + 124.06 131.84 112.25 + 122.23 128.34 112.13 + 129.38 132.97 115.70 + 130.51 132.85 118.17 + 131.19 133.12 120.44 + 128.55 130.50 119.92 + 126.06 127.34 120.70 + 124.98 125.58 123.94 + 124.75 124.86 126.25 + 126.17 126.17 128.18 + 125.67 123.59 128.63 + 126.85 122.69 128.13 + 127.91 122.89 127.85 + 126.19 121.71 126.95 + 126.61 121.39 125.01 + 125.00 120.96 123.02 + 124.88 122.52 122.62 + 126.33 125.66 125.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.71 129.43 125.67 + 129.48 130.25 124.25 + 130.35 130.95 124.47 + 130.28 130.91 124.39 + 129.50 130.56 124.13 + 128.22 129.26 123.81 + 127.64 131.26 121.70 + 129.33 132.50 121.64 + 131.25 133.91 121.36 + 131.19 133.63 121.25 + 127.48 133.29 120.22 + 127.36 133.72 120.48 + 125.78 133.21 118.13 + 128.02 134.79 118.72 + 129.23 134.66 117.79 + 129.72 134.14 115.90 + 130.51 135.56 114.14 + 131.16 136.62 112.45 + 129.91 136.99 109.64 + 128.74 136.34 107.64 + 130.03 137.49 107.45 + 128.05 136.15 107.63 + 127.14 134.13 112.16 + 126.27 132.45 117.20 + 122.74 128.47 117.80 + 118.23 127.12 113.82 + 117.01 128.44 112.33 + 116.20 127.41 112.32 + 120.67 128.06 114.33 + 124.57 128.75 112.24 + 129.22 130.56 110.17 + 132.01 130.60 106.86 + 132.32 130.25 108.95 + 125.98 127.94 107.59 + 122.14 131.80 105.83 + 116.11 131.41 105.60 + 116.79 134.36 106.63 + 123.02 135.21 104.54 + 124.52 134.54 104.28 + 123.38 130.69 104.93 + 124.45 133.69 103.98 + 126.22 133.21 102.16 + 127.33 129.41 101.75 + 123.53 125.25 102.33 + 122.02 126.27 107.51 + 122.24 124.36 108.16 + 123.17 124.69 115.33 + 126.36 126.92 119.18 + 127.48 128.25 120.21 + 127.03 127.78 120.41 + 123.47 124.61 120.56 + 123.41 125.95 123.05 + 124.27 127.30 126.11 + 123.75 126.62 124.55 + 124.86 127.81 122.36 + 128.06 130.32 124.14 + 128.22 130.08 121.31 + 128.35 130.26 120.56 + 124.28 126.19 117.71 + 124.55 122.86 115.72 + 128.32 126.11 111.50 + 132.17 131.50 109.91 + 131.85 133.13 109.80 + 131.50 133.47 104.33 + 130.71 133.47 104.41 + 127.45 130.26 105.28 + 123.03 125.48 107.89 + 122.83 128.81 113.13 + 122.75 130.08 116.18 + 119.41 135.00 109.89 + 112.08 130.97 108.80 + 113.35 133.50 110.47 + 116.48 135.51 110.03 + 117.12 135.56 107.83 + 119.44 134.19 104.73 + 126.89 131.91 99.49 + 129.78 127.46 97.48 + 134.84 124.41 101.05 + 138.37 119.17 103.42 + 132.36 118.36 102.39 + 127.39 121.86 103.31 + 122.98 123.17 107.56 + 117.33 124.45 112.45 + 115.69 123.66 117.92 + 115.91 123.09 121.83 + 117.80 122.93 123.98 + 121.41 124.44 126.72 + 122.56 125.77 124.20 + 122.25 125.03 120.25 + 123.28 125.87 116.91 + 125.88 128.34 117.67 + 126.88 128.37 120.56 + 126.69 127.28 124.19 + 127.31 127.44 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 36.78 201.56 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 125.11 133.22 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 235.78 210.89 32.44 + 66 82 97.00 107.89 71.33 + 66 98 122.00 98.56 57.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 105.11 111.67 85.44 + 82 82 125.78 164.44 28.89 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 156.56 166.33 47.11 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 43.78 54.78 88.67 + 130 130 33.00 49.22 180.89 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 117.00 118.00 113.78 + 146 130 106.67 133.67 130.56 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 57.33 133.22 28.89 + 162 130 81.44 108.11 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-amap-da.yaml b/unittest/graphics/tests/dump-modify-amap-da.yaml new file mode 100644 index 00000000000..4967461672e --- /dev/null +++ b/unittest/graphics/tests/dump-modify-amap-da.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:30 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} q type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray amap -1.0 1.0 da 0.0 3 min -0.2 blue 0.2 max red min max gray +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.83 127.83 127.83 + 128.07 128.07 128.07 + 128.34 128.34 128.34 + 127.42 127.42 127.42 + 127.61 127.61 127.61 + 127.26 127.26 127.26 + 123.93 123.93 129.19 + 121.97 121.97 127.68 + 123.58 123.58 128.90 + 122.28 122.28 127.56 + 121.20 121.20 127.16 + 123.81 123.81 128.52 + 123.06 123.06 125.36 + 124.19 124.19 126.49 + 125.80 125.80 128.44 + 126.36 126.36 129.01 + 128.25 128.25 128.25 + 127.81 127.81 127.81 + 127.85 127.85 127.85 + 127.39 127.39 127.39 + 127.95 127.95 127.95 + 128.35 128.35 128.35 + 128.16 128.16 128.16 + 126.90 126.90 126.90 + 124.84 124.84 124.84 + 123.70 123.70 123.70 + 123.55 123.55 123.55 + 128.32 128.32 128.32 + 127.55 127.55 127.55 + 127.45 127.45 127.45 + 126.20 126.20 126.20 + 125.61 125.61 125.61 + 126.67 126.67 126.67 + 128.03 128.03 128.03 + 127.50 127.50 127.50 + 126.61 126.61 126.61 + 125.25 125.25 125.25 + 125.27 125.27 125.27 + 124.62 124.62 124.62 + 126.71 126.71 126.71 + 124.43 124.43 124.43 + 124.25 124.25 124.25 + 123.52 123.52 123.52 + 126.48 126.48 126.48 + 130.22 125.48 125.48 + 131.78 119.88 120.93 + 131.27 117.61 120.92 + 132.51 115.90 120.72 + 130.36 111.47 120.50 + 127.99 110.75 120.89 + 126.69 110.81 119.03 + 122.97 113.61 122.92 + 124.66 117.65 127.89 + 123.42 116.22 127.08 + 120.83 118.69 127.80 + 122.06 121.95 129.46 + 123.28 123.28 130.69 + 120.10 120.10 127.36 + 121.45 121.45 126.36 + 119.10 119.10 121.64 + 119.46 119.46 119.80 + 122.70 122.70 122.70 + 126.74 126.74 126.74 + 126.28 126.28 128.84 + 126.03 126.03 129.59 + 122.53 122.53 130.54 + 120.88 120.88 130.29 + 119.92 119.92 130.36 + 118.98 118.98 130.36 + 121.39 115.14 124.33 + 125.84 114.42 120.00 + 127.34 114.37 116.86 + 131.00 116.20 116.39 + 131.32 117.67 117.67 + 127.62 117.89 117.89 + 123.39 118.59 118.59 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.09 128.09 128.09 + 128.09 128.09 128.09 + 127.72 127.72 127.72 + 127.92 127.92 127.92 + 127.59 127.59 127.59 + 127.31 127.31 127.31 + 127.25 127.25 127.25 + 125.30 122.39 127.45 + 122.42 119.83 128.87 + 120.43 118.69 129.64 + 120.59 118.22 129.44 + 120.41 118.83 129.35 + 119.14 117.26 126.70 + 118.58 116.83 123.90 + 122.98 118.93 123.12 + 125.67 121.94 123.44 + 126.67 125.66 125.66 + 128.41 128.41 128.41 + 127.18 127.18 127.18 + 125.88 125.88 125.88 + 124.08 124.08 124.08 + 124.71 124.71 124.71 + 127.76 127.76 127.76 + 127.73 127.73 127.73 + 126.87 126.87 128.53 + 126.27 126.27 128.87 + 122.91 122.91 131.44 + 121.17 121.17 134.47 + 120.21 120.21 134.31 + 121.83 116.53 131.22 + 121.83 113.98 128.42 + 125.55 110.25 122.34 + 128.32 111.64 116.25 + 130.88 116.73 117.42 + 131.21 119.42 119.42 + 127.69 119.53 119.53 + 126.57 123.06 123.06 + 127.05 126.03 126.03 + 128.86 127.25 127.25 + 128.25 126.64 126.64 + 126.93 126.93 126.93 + 127.38 127.38 127.38 + 127.85 127.85 127.85 + 128.66 128.66 128.66 + 127.16 127.16 127.16 + 125.59 125.59 125.59 + 124.86 124.86 124.86 + 120.31 120.31 126.11 + 119.30 119.30 127.76 + 120.41 120.41 133.75 + 120.36 120.36 133.94 + 120.78 116.31 130.00 + 127.19 114.08 124.39 + 127.97 113.56 120.21 + 132.00 117.24 120.13 + 129.61 115.06 115.82 + 128.28 116.82 116.82 + 125.89 118.06 118.06 + 124.45 121.16 122.30 + 124.84 124.84 129.52 + 121.83 121.83 128.18 + 121.17 121.17 128.38 + 119.29 119.29 125.68 + 119.82 119.82 125.14 + 121.70 121.70 125.36 + 122.36 122.36 124.36 + 125.05 125.05 125.50 + 126.00 126.00 126.00 + 125.97 125.97 125.97 + 126.46 126.46 126.46 + 125.39 125.39 125.39 + 123.41 123.41 123.41 + 122.33 122.33 122.33 + 120.26 120.26 120.26 + 125.17 125.17 125.17 + 126.16 126.16 126.16 + 127.15 127.15 127.15 + 125.29 125.29 125.29 + 124.03 124.03 124.03 + 124.77 124.77 124.77 + 125.56 125.56 125.56 + 126.17 126.17 128.18 + 125.67 122.88 128.63 + 126.85 121.12 128.13 + 127.91 120.86 127.85 + 126.19 119.95 126.95 + 126.61 119.56 125.01 + 125.00 119.58 123.02 + 124.88 121.72 122.62 + 126.33 125.44 125.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.55 127.55 127.55 + 127.49 127.49 127.49 + 128.19 128.19 128.19 + 128.06 128.06 128.06 + 127.46 127.46 127.46 + 126.55 126.55 126.55 + 126.50 126.50 126.50 + 127.67 127.67 127.67 + 128.43 128.43 128.43 + 128.13 128.13 128.13 + 127.03 127.03 127.03 + 127.76 127.76 127.76 + 126.48 126.48 126.48 + 127.12 127.12 127.12 + 126.95 126.95 126.95 + 125.92 125.92 125.92 + 125.53 125.53 125.53 + 125.14 125.14 125.14 + 124.42 124.42 124.42 + 125.42 121.64 121.64 + 127.02 121.18 121.18 + 127.39 120.39 120.39 + 126.88 119.69 123.26 + 127.11 120.22 125.82 + 123.28 118.42 125.29 + 119.11 116.02 123.06 + 116.12 116.12 125.67 + 115.13 115.13 125.69 + 118.88 115.71 125.62 + 124.17 114.28 120.81 + 129.34 116.72 118.80 + 129.28 115.97 118.12 + 129.56 115.17 123.73 + 123.85 110.86 122.16 + 118.42 109.50 126.02 + 115.20 110.07 126.86 + 116.58 114.03 127.19 + 117.99 115.70 125.78 + 118.69 117.66 124.00 + 117.56 114.86 123.26 + 119.88 115.16 122.06 + 122.03 115.02 121.39 + 122.94 114.62 121.26 + 120.66 112.89 118.05 + 121.67 114.71 118.09 + 122.07 113.60 115.40 + 122.11 114.96 120.39 + 125.25 117.92 122.94 + 125.03 118.11 126.24 + 124.13 118.86 126.91 + 121.63 117.89 125.56 + 121.75 120.03 127.33 + 122.94 122.94 129.59 + 121.56 121.56 129.28 + 121.09 121.09 129.41 + 123.83 123.83 131.79 + 123.59 122.42 129.32 + 124.00 121.80 128.16 + 120.67 118.85 124.08 + 122.40 116.69 119.50 + 126.16 116.20 117.34 + 130.41 118.72 118.72 + 130.10 120.31 120.31 + 129.74 116.83 116.83 + 129.24 115.88 115.88 + 125.05 115.75 115.75 + 120.89 112.78 117.22 + 122.75 115.66 121.55 + 121.34 116.06 126.78 + 117.56 114.31 128.50 + 110.38 109.56 130.64 + 110.69 110.69 134.72 + 113.14 113.14 134.79 + 112.67 112.48 133.04 + 115.11 111.48 127.58 + 121.41 109.17 119.30 + 122.62 109.71 115.55 + 129.07 112.94 113.26 + 134.48 112.03 112.03 + 131.64 110.00 110.00 + 128.78 112.15 112.15 + 127.89 114.14 114.14 + 121.94 114.78 120.09 + 118.30 115.39 125.05 + 116.89 116.18 128.31 + 117.05 117.05 129.54 + 118.64 118.64 132.28 + 118.84 118.84 131.53 + 118.25 118.25 128.10 + 119.10 119.10 124.44 + 122.14 122.14 124.03 + 124.47 124.47 124.47 + 125.73 125.73 125.73 + 127.08 127.08 127.08 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 34.78 201.56 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 117.11 117.11 117.11 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 208.78 86.89 86.89 + 66 82 89.67 89.67 89.67 + 66 98 122.00 57.89 57.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 98.56 98.56 98.56 + 82 82 68.78 68.78 125.67 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 136.22 136.22 136.22 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 31.44 21.56 120.22 + 130 130 57.89 33.00 166.22 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 115.89 115.89 115.89 + 146 130 83.44 83.44 181.00 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 51.78 51.78 110.33 + 162 130 90.22 90.22 90.22 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-amap-sf.yaml b/unittest/graphics/tests/dump-modify-amap-sf.yaml new file mode 100644 index 00000000000..45500224609 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-amap-sf.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:31 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} q type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray amap min max sf 0.1 5 blue cyan green yellow red +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.38 128.27 128.27 + 125.25 130.62 130.62 + 124.35 131.43 131.43 + 121.97 131.98 131.98 + 120.99 133.47 133.47 + 120.40 133.22 133.22 + 122.85 134.43 129.16 + 123.53 131.53 125.83 + 126.09 131.68 126.36 + 125.70 129.41 124.12 + 126.20 128.10 122.15 + 126.44 130.59 125.87 + 123.55 127.15 124.86 + 125.54 127.44 125.14 + 128.41 128.47 125.83 + 129.01 129.01 126.36 + 129.21 127.03 127.03 + 129.00 126.41 126.41 + 129.03 126.37 126.37 + 127.34 127.16 127.16 + 127.48 127.57 127.57 + 127.38 127.42 127.42 + 127.31 127.30 127.30 + 126.69 126.61 126.61 + 125.42 124.02 124.02 + 124.58 122.97 122.14 + 128.06 127.59 118.12 + 131.88 133.01 123.45 + 130.60 131.59 123.58 + 130.60 131.47 123.95 + 129.06 129.65 123.33 + 125.95 128.12 125.22 + 124.26 129.68 128.78 + 124.36 131.43 130.81 + 123.55 130.97 130.60 + 122.20 131.09 130.66 + 117.87 133.23 132.31 + 116.32 133.50 132.71 + 116.94 133.26 130.39 + 119.67 134.59 132.62 + 114.65 128.12 134.04 + 115.37 125.16 132.21 + 114.64 123.53 131.23 + 118.24 126.32 133.22 + 122.55 130.06 131.84 + 126.16 131.25 125.72 + 127.76 130.91 124.14 + 129.61 131.43 123.64 + 125.00 126.09 125.86 + 121.11 122.21 127.77 + 117.69 115.92 128.03 + 114.38 116.08 131.23 + 118.22 121.23 132.39 + 113.69 121.17 134.92 + 115.96 122.16 131.38 + 117.33 124.18 132.24 + 116.13 126.12 134.99 + 112.07 123.19 132.94 + 116.17 123.11 130.46 + 115.50 120.02 124.43 + 116.08 121.86 122.50 + 121.06 122.49 123.60 + 124.82 125.14 127.32 + 127.51 123.69 126.25 + 126.81 123.33 126.89 + 120.16 123.72 131.74 + 115.31 125.58 134.99 + 113.28 125.62 136.06 + 113.48 123.78 135.16 + 113.77 126.75 131.60 + 114.25 125.89 130.68 + 116.45 126.41 126.82 + 119.41 127.31 127.58 + 121.00 127.41 127.98 + 120.28 124.03 125.23 + 119.53 120.89 122.44 + 125.44 125.44 126.31 + 126.98 126.98 128.86 + 126.98 126.98 128.88 + 128.90 126.98 126.98 + 128.92 126.98 126.98 + 128.65 126.79 126.79 + 130.74 124.69 124.69 + 128.99 125.42 125.42 + 125.70 128.44 128.44 + 124.46 129.09 129.09 + 122.89 126.77 128.93 + 119.86 124.72 131.16 + 113.13 124.12 136.80 + 111.95 123.67 137.25 + 113.22 123.50 135.60 + 111.49 122.50 133.82 + 113.16 120.47 129.28 + 118.80 119.03 127.27 + 121.48 121.17 126.39 + 124.33 125.03 126.05 + 126.01 129.51 129.51 + 125.45 128.68 128.68 + 124.97 126.77 126.77 + 123.55 124.61 124.61 + 124.66 124.77 124.77 + 128.63 126.88 126.88 + 128.58 126.88 126.88 + 126.87 126.87 128.53 + 126.27 126.27 128.87 + 122.91 122.91 131.44 + 121.17 121.17 134.47 + 120.21 120.21 134.31 + 121.83 121.83 131.22 + 120.06 120.06 130.19 + 117.37 117.37 130.51 + 119.02 119.02 125.55 + 123.44 123.44 124.86 + 123.98 123.98 126.65 + 121.62 121.62 125.59 + 122.59 123.76 127.05 + 124.03 127.34 128.37 + 123.87 129.66 131.27 + 122.00 130.70 132.31 + 120.28 131.47 133.06 + 121.50 132.39 132.26 + 124.14 131.12 130.38 + 123.55 131.37 131.80 + 120.97 130.94 131.53 + 119.94 128.87 129.75 + 119.39 127.26 129.28 + 118.55 119.49 127.73 + 118.60 119.50 128.47 + 120.41 120.41 133.75 + 120.03 120.70 134.28 + 117.29 118.72 133.49 + 118.48 121.19 133.06 + 118.62 122.61 129.41 + 121.12 127.47 130.97 + 121.28 123.28 124.10 + 120.71 120.97 124.23 + 118.36 120.18 125.01 + 116.25 124.20 127.62 + 121.11 130.59 126.38 + 117.63 131.00 124.64 + 115.33 133.81 126.61 + 112.54 132.38 126.00 + 114.73 129.78 124.47 + 118.16 127.97 124.31 + 121.36 124.59 122.60 + 124.11 125.44 124.99 + 123.40 127.54 127.54 + 122.14 127.69 127.69 + 125.77 124.70 124.70 + 123.59 124.96 124.96 + 121.46 124.09 124.09 + 120.84 123.25 123.25 + 120.10 120.36 120.36 + 119.56 129.12 129.12 + 118.80 132.22 132.22 + 120.44 133.12 133.12 + 119.92 130.50 130.50 + 120.70 127.34 127.34 + 122.43 127.08 127.08 + 124.26 126.86 126.86 + 126.17 126.17 128.18 + 125.67 122.88 128.63 + 126.85 121.12 128.13 + 127.91 120.86 127.85 + 126.19 119.95 126.95 + 126.61 119.56 125.01 + 125.00 119.58 123.02 + 124.88 121.72 122.62 + 126.33 125.44 125.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 125.67 129.43 129.43 + 124.25 130.25 130.25 + 124.47 130.95 130.95 + 124.39 130.91 130.91 + 124.13 130.56 130.56 + 123.81 129.26 129.26 + 124.99 127.97 127.97 + 124.86 129.29 129.29 + 123.59 131.68 131.68 + 123.24 131.64 131.64 + 126.57 126.95 126.95 + 129.28 124.92 124.92 + 126.81 124.53 124.53 + 125.15 128.35 128.35 + 122.36 130.10 130.10 + 118.25 131.79 131.79 + 115.45 134.25 134.25 + 112.45 135.51 136.62 + 111.75 131.65 134.88 + 117.45 134.53 127.91 + 119.67 139.26 127.05 + 122.56 137.09 123.18 + 124.80 135.62 123.69 + 126.39 134.31 125.35 + 123.55 129.50 124.07 + 119.41 126.67 122.30 + 115.54 124.82 125.48 + 111.86 125.31 127.70 + 113.08 125.93 129.71 + 113.82 122.78 130.81 + 116.64 122.25 130.21 + 118.19 119.83 127.89 + 122.71 120.90 128.91 + 118.95 120.06 126.69 + 116.88 119.36 126.94 + 118.26 116.38 122.20 + 115.27 120.52 125.82 + 108.32 124.97 133.42 + 106.53 125.95 133.32 + 103.80 123.15 134.25 + 104.89 123.95 135.57 + 107.12 121.03 134.42 + 109.42 116.86 131.82 + 111.61 112.55 125.48 + 118.67 114.33 120.84 + 120.42 117.34 117.02 + 122.51 119.86 119.78 + 123.98 126.44 124.14 + 122.09 127.39 128.61 + 120.32 127.02 129.80 + 117.89 124.59 128.53 + 118.42 124.91 130.48 + 120.25 125.62 132.27 + 117.70 125.37 133.09 + 114.81 126.69 135.00 + 116.72 129.30 137.26 + 115.89 129.72 135.44 + 116.88 130.43 134.59 + 114.61 126.29 130.07 + 117.02 124.00 124.84 + 119.96 124.94 123.22 + 122.95 127.12 125.30 + 122.86 128.88 125.08 + 122.79 129.03 121.22 + 124.12 129.12 119.78 + 123.79 126.17 116.89 + 121.51 120.20 116.53 + 124.82 120.17 118.97 + 124.86 120.65 118.74 + 120.70 121.49 118.44 + 109.61 120.72 123.70 + 101.97 127.86 133.66 + 100.10 132.70 139.00 + 97.79 133.06 140.68 + 96.18 131.62 140.39 + 90.61 122.86 147.16 + 92.92 117.95 143.24 + 103.50 116.76 137.38 + 113.43 106.75 132.04 + 116.31 103.12 125.14 + 120.81 104.62 118.98 + 125.49 105.67 115.12 + 125.38 106.15 115.78 + 123.73 109.91 119.56 + 120.16 112.50 124.63 + 115.88 117.61 130.10 + 114.67 122.13 135.78 + 112.43 124.54 137.22 + 111.33 124.09 133.94 + 112.06 125.38 130.72 + 115.95 128.16 130.06 + 120.56 128.37 128.37 + 124.19 127.28 127.28 + 126.72 127.44 127.44 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 201.56 201.56 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 100.78 133.22 133.22 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 154.33 247.78 125.89 + 66 82 71.33 71.33 107.89 + 66 98 122.00 122.00 57.89 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 85.44 111.67 111.67 + 82 82 28.89 34.33 164.44 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 210.67 47.11 47.11 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 31.44 31.44 120.22 + 130 130 33.00 33.00 191.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 113.78 118.00 118.00 + 146 130 36.22 84.67 220.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 40.78 121.33 62.78 + 162 130 108.11 72.11 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-atrans-fsaa.yaml b/unittest/graphics/tests/dump-modify-atrans-fsaa.yaml new file mode 100644 index 00000000000..e34566f6d8c --- /dev/null +++ b/unittest/graphics/tests/dump-modify-atrans-fsaa.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:33 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.5 view 60 30 shiny 0.2 box yes 0.02 bond atom 0.3 fsaa yes + dump_modify viz backcolor gray element C C O H N C C C O H H S O H atrans 13 0.3 atrans 14 0.3 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 134.32 132.01 118.32 + 133.59 130.33 118.08 + 134.60 130.72 117.83 + 135.26 130.58 117.26 + 134.04 130.87 117.30 + 133.25 130.41 117.03 + 133.09 131.22 117.56 + 133.55 131.96 118.62 + 133.22 131.43 117.97 + 133.66 131.66 118.27 + 134.69 132.38 118.72 + 135.37 132.64 119.27 + 134.63 131.66 118.11 + 136.61 132.16 118.61 + 138.15 134.40 120.73 + 139.28 135.21 121.41 + 133.12 129.97 116.05 + 134.12 127.68 113.97 + 136.47 130.08 116.57 + 137.40 129.25 118.37 + 133.38 127.08 120.11 + 136.42 129.19 124.61 + 134.20 128.76 123.49 + 135.10 128.41 122.25 + 130.88 127.33 120.22 + 131.28 127.23 120.02 + 132.85 128.28 120.89 + 135.19 128.04 120.86 + 133.12 126.17 118.93 + 135.35 125.14 118.01 + 133.62 125.69 118.13 + 133.84 124.43 117.31 + 132.87 128.06 120.72 + 134.90 129.60 122.39 + 133.14 128.47 121.08 + 131.40 125.33 118.16 + 130.57 126.20 118.51 + 132.50 125.67 118.21 + 133.49 128.12 120.93 + 136.31 128.76 121.53 + 134.43 128.06 120.75 + 135.56 127.80 120.56 + 136.19 128.69 121.42 + 137.09 126.80 119.59 + 130.47 124.86 117.58 + 132.66 125.88 119.62 + 135.87 128.12 122.86 + 138.75 126.30 121.50 + 134.49 124.94 117.56 + 137.68 126.54 115.73 + 138.83 131.11 117.67 + 141.68 131.21 117.89 + 138.38 131.62 117.25 + 141.06 131.53 117.43 + 139.50 132.32 116.96 + 142.09 133.88 118.28 + 140.84 135.55 118.62 + 140.67 134.32 116.56 + 134.53 129.00 113.39 + 136.79 127.21 113.68 + 138.77 129.27 115.62 + 138.97 127.45 114.06 + 141.83 132.74 119.25 + 146.88 135.99 122.47 + 139.22 134.00 120.52 + 135.02 129.20 116.30 + 130.57 125.95 112.92 + 137.69 128.21 115.47 + 136.76 128.69 116.26 + 140.41 129.44 117.61 + 136.09 126.75 114.53 + 136.75 124.33 111.83 + 137.61 127.46 114.12 + 136.84 125.75 113.78 + 134.57 127.73 117.27 + 137.67 128.66 117.53 + 134.41 124.83 114.05 + 137.10 125.15 113.82 + 135.10 127.06 114.00 + 138.40 129.07 115.54 + 138.62 133.51 119.97 + 142.35 134.81 121.31 + 139.19 130.51 116.91 + 138.44 126.72 113.44 + 135.22 127.86 115.08 + 137.56 129.96 121.42 + 134.40 129.93 127.14 + 134.99 127.91 127.42 + 133.09 126.78 126.25 + 134.82 125.97 124.88 + 132.37 124.88 122.87 + 134.84 122.38 119.56 + 132.44 123.01 119.95 + 133.49 123.36 120.47 + 132.15 124.47 121.40 + 133.28 123.78 120.88 + 133.44 125.91 122.84 + 136.67 128.05 124.99 + 132.52 125.94 123.06 + 129.84 120.05 118.17 + 130.97 123.47 122.20 + 136.23 123.66 122.25 + 134.76 123.83 122.53 + 138.43 125.52 123.20 + 136.00 127.65 124.59 + 134.35 125.89 122.82 + 129.05 122.28 119.22 + 133.27 121.23 118.33 + 130.60 120.71 117.65 + 132.62 119.52 116.62 + 129.65 121.27 118.20 + 131.61 120.06 117.17 + 133.44 128.24 124.95 + 137.87 133.19 126.44 + 134.49 129.06 120.19 + 134.97 126.33 118.58 + 133.50 126.33 117.81 + 139.25 130.00 121.73 + 135.81 127.38 117.97 + 135.63 123.37 113.80 + 132.06 122.63 111.62 + 133.62 123.97 113.83 + 134.51 126.08 115.28 + 140.49 127.80 118.02 + 137.82 129.31 118.30 + 139.26 127.87 118.04 + 136.15 128.49 119.80 + 135.68 125.74 121.09 + 131.19 125.45 121.23 + 136.42 128.56 123.25 + 134.30 128.82 124.03 + 136.59 128.68 123.81 + 135.95 129.80 120.69 + 134.53 125.78 115.78 + 134.62 127.68 116.53 + 133.82 126.40 116.89 + 137.96 132.50 120.83 + 140.69 133.99 122.69 + 136.74 129.89 117.98 + 137.65 125.56 114.08 + 138.66 128.34 116.48 + 139.59 127.59 117.72 + 134.31 127.03 115.78 + 134.06 125.64 116.08 + 134.69 128.62 117.22 + 135.62 128.88 117.30 + 135.06 128.97 116.31 + 136.93 128.54 115.75 + 138.56 131.27 118.33 + 137.12 128.31 118.08 + 134.44 128.52 121.72 + 132.64 126.43 122.03 + 133.99 128.82 123.45 + 135.31 127.41 121.28 + 136.63 129.03 122.28 + 137.38 127.97 120.83 + 134.40 127.03 119.70 + 133.47 124.61 117.72 + 129.85 123.33 116.69 + 131.56 123.39 117.44 + 131.62 127.11 120.00 + 133.83 128.62 121.68 + 133.56 130.18 122.33 + 135.03 130.69 122.72 + 133.53 128.40 120.68 + 137.72 130.52 122.61 + 134.97 129.09 121.47 + 134.31 126.42 118.68 + 130.22 125.23 117.44 + 128.74 123.64 115.97 + 132.94 127.42 120.19 + 136.31 129.71 123.07 + 135.76 130.95 123.61 + 135.56 129.78 122.07 + 129.36 125.69 118.09 + 127.82 123.81 117.09 + 130.47 128.42 122.39 + 131.89 129.68 124.22 + 133.00 129.75 121.61 + 136.06 130.69 118.83 + 133.43 130.12 117.08 + 133.97 130.61 117.25 + 134.83 132.94 118.90 + 135.56 133.60 119.56 + 134.16 131.74 117.97 + 134.27 130.96 117.67 + 134.56 130.28 116.09 + 135.50 129.94 115.87 + 134.63 130.73 116.88 + 134.31 130.89 116.73 + 133.71 131.42 117.41 + 132.81 130.47 116.52 + 133.09 130.44 116.38 + 135.46 132.30 118.22 + 135.32 131.85 117.95 + 135.22 130.81 117.03 + 133.93 131.34 118.58 + 133.29 130.82 118.53 + 133.31 131.47 117.52 + 133.35 131.65 117.50 +col_means: | + 133.05 131.74 121.64 + 133.11 131.69 121.06 + 132.71 131.27 120.72 + 132.25 130.62 120.28 + 133.65 130.43 120.77 + 134.34 130.70 120.68 + 135.93 132.02 122.16 + 133.67 130.93 120.78 + 134.63 130.28 120.22 + 134.19 130.10 119.83 + 135.28 128.72 118.61 + 133.42 128.41 118.14 + 132.60 126.91 116.33 + 133.75 129.59 118.87 + 133.67 128.60 118.25 + 132.30 129.25 118.94 + 132.99 129.90 119.81 + 133.59 130.42 120.14 + 135.14 128.75 119.42 + 134.49 129.23 119.27 + 135.53 129.11 119.17 + 134.51 128.69 118.67 + 135.24 126.78 117.31 + 134.95 128.00 118.10 + 136.81 127.36 116.94 + 136.66 129.41 119.56 + 134.66 125.55 115.76 + 133.29 127.22 117.02 + 132.97 127.68 117.50 + 135.21 130.72 120.86 + 138.93 131.59 122.12 + 136.24 131.38 121.44 + 134.01 129.31 119.78 + 133.37 128.87 119.00 + 134.91 127.49 117.84 + 134.25 128.03 118.09 + 136.76 128.87 118.50 + 137.25 131.41 121.88 + 138.32 130.54 121.01 + 135.00 129.15 119.14 + 133.34 125.97 116.58 + 134.38 129.31 119.36 + 138.98 130.85 121.25 + 136.66 130.86 120.58 + 137.49 132.10 122.50 + 136.47 131.34 121.48 + 138.25 127.80 118.17 + 135.15 126.51 116.61 + 135.51 124.36 114.81 + 134.41 126.68 116.80 + 137.11 130.37 120.28 + 135.11 131.18 121.14 + 135.76 129.75 120.78 + 135.06 129.77 121.38 + 135.24 126.75 119.45 + 133.69 126.78 119.09 + 134.94 125.50 118.20 + 134.31 128.16 120.39 + 136.08 129.04 121.69 + 132.52 127.03 119.81 + 135.90 127.95 120.89 + 136.03 129.41 122.42 + 140.29 130.91 124.76 + 136.11 129.54 122.95 + 138.26 129.48 123.31 + 136.01 128.98 122.16 + 137.85 127.55 119.82 + 133.96 127.80 120.31 + 136.28 129.16 122.28 + 134.57 128.33 121.14 + 136.42 128.43 122.02 + 149.07 137.03 92.17 + 154.93 138.09 82.27 + 128.25 116.02 72.77 + 129.88 120.29 105.42 + 134.46 128.59 123.37 + 133.53 124.33 119.47 + 133.39 126.41 121.79 + 138.66 130.86 126.47 + 136.99 131.54 126.80 + 137.38 130.85 126.50 + 134.35 130.50 125.83 + 139.18 134.03 129.88 + 136.50 132.32 127.64 + 137.25 129.13 124.48 + 134.00 126.31 121.62 + 134.32 123.65 119.17 + 135.25 127.16 122.51 + 135.10 123.94 119.64 + 132.74 124.98 120.38 + 131.82 122.37 118.01 + 133.96 128.49 123.64 + 137.77 133.31 128.89 + 138.47 135.33 130.57 + 138.24 133.55 129.33 + 137.93 133.03 128.31 + 136.66 127.81 123.44 + 134.35 127.14 122.44 + 134.88 125.00 120.69 + 133.89 127.70 122.99 + 135.32 128.34 124.86 + 135.25 127.38 124.33 + 137.12 125.17 121.10 + 131.72 125.11 120.00 + 130.26 123.82 118.42 + 129.12 125.89 120.45 + 132.78 125.54 118.87 + 134.25 128.88 121.90 + 137.82 129.40 123.74 + 135.40 128.22 123.47 + 136.47 126.57 123.58 + 132.13 124.82 122.60 + 135.19 124.42 121.40 + 134.96 127.53 123.27 + 139.64 127.38 122.83 + 137.39 128.16 124.06 + 138.53 128.24 124.94 + 132.85 125.89 123.42 + 132.74 121.55 119.29 + 130.64 121.94 121.31 + 135.31 123.61 122.18 + 134.72 126.37 123.77 + 134.11 124.25 121.58 + 132.40 125.75 122.64 + 135.20 128.38 125.21 + 135.31 130.12 127.37 + 156.04 135.90 56.66 + 155.18 137.84 59.66 + 119.27 106.34 52.55 + 129.00 120.76 118.33 + 132.66 120.27 118.43 + 132.25 123.20 122.38 + 135.40 126.55 124.86 + 134.35 127.91 126.05 + 132.43 124.61 121.88 + 127.33 121.54 117.32 + 128.81 122.17 117.38 + 129.62 123.69 117.83 + 133.91 126.53 119.91 + 135.16 127.59 120.43 + 138.90 128.18 120.73 + 137.10 127.44 120.41 + 139.49 127.45 120.29 + 135.21 126.95 119.79 + 136.43 128.45 120.75 + 133.98 128.88 120.00 + 138.22 128.47 119.39 + 135.82 129.06 119.28 + 136.97 126.32 116.63 + 136.61 126.41 116.53 + 138.76 127.58 118.18 + 134.18 128.43 118.35 + 137.21 130.69 121.16 + 134.53 129.59 119.84 + 136.46 128.81 118.83 + 136.06 129.15 118.84 + 137.15 127.05 116.69 + 134.00 127.11 116.86 + 137.91 130.34 120.56 + 136.34 132.10 121.99 + 135.91 130.62 121.39 + 134.16 129.18 119.48 + 135.52 125.52 116.44 + 136.07 128.82 118.43 + 136.49 128.00 117.79 + 137.26 130.70 120.06 + 138.38 129.59 119.07 + 133.95 128.40 118.28 + 133.37 126.47 116.16 + 133.43 128.32 118.38 + 136.37 129.19 119.53 + 134.78 128.97 119.19 + 132.88 126.49 116.89 + 133.03 127.69 117.58 + 135.84 128.68 119.00 + 134.57 128.38 118.64 + 135.04 127.06 117.42 + 132.32 127.30 117.24 + 135.19 130.62 120.90 + 134.28 131.35 121.64 + 135.73 132.25 122.41 + 134.06 130.53 120.53 + 133.63 129.12 119.91 + 133.46 129.41 119.55 + 132.91 128.13 118.14 + 133.19 129.81 119.86 + 134.81 128.63 118.48 + 134.43 129.42 118.80 + 133.83 128.59 117.94 + 132.78 129.24 118.51 + 133.46 129.56 119.23 + 132.46 129.67 119.41 + 132.91 130.04 119.89 + 132.01 130.09 120.08 + 131.47 129.70 119.12 + 131.99 129.96 119.48 + 133.38 130.50 119.72 + 133.11 130.37 119.94 + 132.14 129.17 118.95 + 132.01 130.00 119.50 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 170.44 146.11 16.56 + 2 66 128.00 128.00 128.00 + 2 82 142.11 142.11 142.11 + 2 98 127.11 127.11 127.11 + 2 114 151.11 110.33 110.33 + 2 130 126.11 121.56 98.00 + 2 146 152.67 147.22 100.44 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 118.89 108.78 54.11 + 18 50 128.00 128.00 128.00 + 18 66 125.22 125.22 125.22 + 18 82 132.67 105.00 105.00 + 18 98 125.78 119.00 119.00 + 18 114 141.44 114.33 114.33 + 18 130 153.89 134.67 134.67 + 18 146 120.78 120.78 120.78 + 18 162 128.00 128.00 128.00 + 18 178 153.22 139.78 139.78 + 18 194 219.56 206.00 33.00 + 34 2 128.00 128.00 128.00 + 34 18 145.56 145.11 143.11 + 34 34 128.00 128.00 128.00 + 34 50 128.89 120.56 120.56 + 34 66 128.00 128.00 128.00 + 34 82 118.44 118.44 118.44 + 34 98 128.00 128.00 128.00 + 34 114 139.44 112.44 112.44 + 34 130 135.22 135.22 135.22 + 34 146 125.00 121.89 121.89 + 34 162 125.11 125.00 125.00 + 34 178 152.44 152.44 152.44 + 34 194 128.00 128.00 128.00 + 50 2 191.33 181.89 47.00 + 50 18 128.00 128.00 128.00 + 50 34 154.56 113.78 113.78 + 50 50 148.22 148.22 148.22 + 50 66 147.22 132.67 132.67 + 50 82 137.44 114.78 114.78 + 50 98 120.78 120.78 120.78 + 50 114 146.89 110.56 110.56 + 50 130 151.78 139.33 139.33 + 50 146 128.67 117.22 117.22 + 50 162 137.33 136.33 136.33 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 131.56 131.56 131.56 + 66 34 141.56 115.89 115.89 + 66 50 119.56 118.67 113.67 + 66 66 169.67 164.00 81.67 + 66 82 126.11 112.44 112.44 + 66 98 123.78 108.11 108.11 + 66 114 141.22 116.22 116.22 + 66 130 135.44 135.44 135.44 + 66 146 134.56 129.00 99.89 + 66 162 122.00 122.00 122.00 + 66 178 118.22 116.89 116.89 + 66 194 130.11 130.11 130.11 + 82 2 128.00 128.00 128.00 + 82 18 137.89 122.11 122.11 + 82 34 124.78 124.78 124.78 + 82 50 133.00 126.00 126.00 + 82 66 137.89 130.44 130.44 + 82 82 130.11 130.11 130.11 + 82 98 140.67 140.67 140.67 + 82 114 207.22 192.22 34.56 + 82 130 179.00 156.89 38.33 + 82 146 144.44 134.89 134.89 + 82 162 121.78 121.78 121.78 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 125.00 124.56 124.56 + 98 34 134.67 126.33 126.33 + 98 50 128.89 114.56 114.56 + 98 66 149.00 140.44 140.44 + 98 82 136.56 115.78 115.78 + 98 98 134.11 134.11 134.11 + 98 114 152.89 152.89 152.89 + 98 130 95.33 70.00 96.78 + 98 146 148.00 148.00 148.00 + 98 162 144.22 144.22 144.22 + 98 178 130.89 121.56 121.56 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 118.22 114.44 114.44 + 114 34 122.89 119.22 119.22 + 114 50 150.22 150.22 150.22 + 114 66 120.67 120.67 120.67 + 114 82 181.44 178.44 127.44 + 114 98 146.89 130.00 130.00 + 114 114 141.00 125.22 125.22 + 114 130 113.89 110.33 118.11 + 114 146 141.22 117.22 117.22 + 114 162 128.11 116.22 116.22 + 114 178 126.89 126.89 126.89 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 122.00 122.00 122.00 + 130 34 129.11 129.11 129.11 + 130 50 150.56 139.67 82.33 + 130 66 144.44 144.44 144.44 + 130 82 121.33 121.33 121.33 + 130 98 152.33 152.33 152.33 + 130 114 129.44 127.22 127.22 + 130 130 141.00 134.78 108.44 + 130 146 128.00 115.00 115.00 + 130 162 141.44 112.67 112.67 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 130.56 106.11 106.11 + 146 34 144.67 128.78 44.11 + 146 50 129.67 104.44 104.44 + 146 66 148.44 136.78 136.78 + 146 82 129.11 129.11 129.11 + 146 98 137.56 133.44 133.44 + 146 114 116.78 107.00 107.00 + 146 130 112.56 104.89 104.89 + 146 146 121.67 120.67 120.67 + 146 162 145.11 107.00 107.00 + 146 178 120.11 105.44 95.89 + 146 194 161.67 156.78 96.22 + 162 2 128.00 128.00 128.00 + 162 18 136.78 120.78 82.67 + 162 34 129.56 126.11 126.11 + 162 50 128.00 128.00 128.00 + 162 66 125.67 104.00 104.00 + 162 82 129.22 129.22 129.22 + 162 98 126.11 126.11 126.11 + 162 114 121.89 121.89 121.89 + 162 130 124.89 124.89 124.89 + 162 146 121.89 121.89 121.89 + 162 162 134.67 127.44 127.44 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 195.89 189.67 68.78 + 178 18 128.00 128.00 128.00 + 178 34 127.00 127.00 127.00 + 178 50 128.00 128.00 128.00 + 178 66 138.11 104.44 104.44 + 178 82 123.67 123.67 123.67 + 178 98 128.00 128.00 128.00 + 178 114 141.11 121.44 121.44 + 178 130 125.11 116.67 116.67 + 178 146 129.33 129.33 129.33 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 178.11 168.89 51.22 + 194 66 128.33 128.33 128.33 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 135.67 135.67 135.67 + 194 130 129.89 119.33 119.33 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-atrans-mixed.yaml b/unittest/graphics/tests/dump-modify-atrans-mixed.yaml new file mode 100644 index 00000000000..9f8fba63602 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-atrans-mixed.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:51:19 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.5 view 60 30 shiny 0.2 box yes 0.02 bond atom 0.3 + dump_modify viz backcolor gray element C C O H N C C C O H H S O H atrans 14 0.25 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 134.13 128.00 115.76 + 132.99 125.81 117.98 + 138.10 124.92 114.85 + 139.25 127.66 115.20 + 134.40 123.19 110.57 + 132.89 126.49 114.22 + 132.69 126.78 114.28 + 133.77 130.49 118.60 + 133.77 129.57 117.44 + 132.50 129.94 118.22 + 134.03 129.25 115.73 + 135.84 131.17 118.25 + 136.18 128.81 114.56 + 139.90 128.55 115.70 + 137.29 125.17 111.94 + 140.94 131.15 117.69 + 135.66 122.64 108.70 + 136.27 117.09 103.77 + 146.20 117.87 105.61 + 142.15 119.11 110.52 + 131.84 103.69 100.53 + 143.74 120.56 117.86 + 139.44 113.19 109.67 + 139.63 120.38 115.37 + 131.06 112.53 106.30 + 134.59 121.69 115.27 + 134.57 117.42 111.40 + 141.29 121.12 115.33 + 137.41 110.11 104.70 + 145.37 114.38 108.31 + 141.87 107.47 100.00 + 139.20 110.23 103.75 + 135.28 101.45 93.91 + 140.91 119.80 113.37 + 136.97 109.12 102.09 + 134.04 115.58 109.06 + 136.17 112.47 105.03 + 136.28 117.22 110.14 + 134.45 107.88 99.93 + 143.21 120.57 114.07 + 139.22 107.51 100.52 + 145.58 116.80 110.91 + 145.29 104.56 98.53 + 142.88 110.12 103.40 + 135.40 101.38 94.91 + 138.69 112.29 106.89 + 138.85 98.14 93.17 + 149.97 110.65 106.65 + 149.37 94.40 87.59 + 147.61 106.98 96.44 + 141.17 100.41 87.97 + 149.81 117.14 103.83 + 146.28 104.93 91.39 + 145.49 113.97 100.59 + 141.03 106.27 90.91 + 143.91 119.11 105.08 + 140.13 113.20 95.50 + 148.00 123.08 106.22 + 140.21 104.62 90.77 + 146.91 114.59 102.45 + 149.88 102.86 90.72 + 147.10 108.84 97.07 + 149.83 107.50 95.18 + 154.34 125.14 111.92 + 137.21 109.95 95.71 + 138.10 117.69 105.62 + 137.06 106.51 94.02 + 152.41 124.35 111.92 + 146.30 111.69 99.18 + 146.98 116.14 103.50 + 139.96 99.58 87.36 + 143.05 106.16 93.67 + 147.20 101.12 90.13 + 143.30 103.58 93.14 + 138.30 94.39 86.58 + 146.75 114.54 103.66 + 144.19 96.95 84.61 + 150.00 110.34 97.67 + 138.83 103.51 91.23 + 141.87 115.69 103.40 + 137.22 103.86 91.64 + 153.75 124.30 111.64 + 150.02 105.03 90.89 + 146.97 112.54 99.85 + 138.78 100.15 87.81 + 143.47 113.89 107.48 + 143.66 100.92 99.15 + 145.97 113.66 112.11 + 146.79 96.27 94.46 + 150.44 109.55 107.73 + 143.07 93.32 89.97 + 142.62 103.11 100.81 + 141.03 86.69 83.33 + 143.44 105.69 103.39 + 135.66 91.20 87.85 + 138.94 107.47 105.17 + 136.53 92.79 89.44 + 149.22 114.94 112.64 + 137.63 93.91 92.10 + 134.59 100.08 98.28 + 140.30 95.30 93.48 + 145.75 106.14 104.33 + 140.15 97.05 95.23 + 150.60 113.28 111.64 + 146.26 93.48 91.67 + 148.48 107.86 106.05 + 143.07 89.73 87.92 + 138.69 97.75 95.94 + 144.74 89.50 87.37 + 145.21 100.41 98.11 + 138.61 90.39 87.77 + 130.24 95.11 93.30 + 133.04 93.56 91.75 + 146.03 118.94 117.13 + 138.57 90.12 87.86 + 144.97 106.21 103.35 + 139.38 90.42 84.81 + 147.41 115.92 110.03 + 137.88 89.95 85.89 + 144.53 107.98 103.00 + 142.38 96.70 92.42 + 137.94 101.61 99.80 + 135.26 86.28 81.58 + 149.44 107.01 104.19 + 147.54 89.34 86.19 + 146.95 104.97 101.36 + 138.12 91.83 87.01 + 141.32 106.98 104.81 + 138.88 96.73 94.92 + 148.50 113.35 111.03 + 142.52 102.12 97.92 + 143.29 115.28 111.33 + 140.19 95.59 92.13 + 139.08 106.60 102.37 + 137.02 102.02 94.61 + 132.43 107.80 103.02 + 136.82 99.06 94.31 + 154.12 121.72 114.82 + 146.89 100.61 89.61 + 147.60 107.12 97.94 + 150.26 98.39 88.58 + 148.78 110.88 104.22 + 137.67 97.02 86.63 + 132.97 103.37 100.38 + 138.09 101.05 94.53 + 139.03 116.42 106.30 + 138.85 103.81 89.33 + 143.12 112.80 100.85 + 144.38 105.64 94.33 + 142.69 113.75 106.86 + 136.97 104.34 100.93 + 136.16 114.84 111.31 + 139.82 105.58 99.50 + 147.00 114.64 108.56 + 147.43 100.67 92.75 + 145.73 112.22 105.05 + 137.03 92.89 85.20 + 137.01 106.09 101.19 + 131.52 101.62 98.46 + 131.84 110.39 107.68 + 132.76 108.82 102.83 + 138.25 121.29 114.66 + 133.22 117.13 109.34 + 136.51 123.16 115.81 + 136.20 112.84 105.66 + 149.81 124.03 116.23 + 142.68 109.30 100.82 + 137.47 111.39 103.12 + 134.35 106.72 98.64 + 131.87 111.55 104.80 + 132.50 110.05 102.79 + 140.12 120.96 114.41 + 140.29 114.80 107.14 + 140.50 122.00 114.11 + 128.07 113.64 105.45 + 126.31 117.95 111.10 + 128.96 123.35 117.75 + 136.60 129.31 123.92 + 137.59 121.25 111.96 + 140.00 125.30 112.07 + 137.28 123.78 109.18 + 134.68 127.14 112.88 + 129.75 125.39 111.51 + 136.37 132.60 118.70 + 137.28 129.56 116.04 + 137.04 127.72 114.78 + 138.37 124.34 110.20 + 138.19 125.34 110.90 + 133.85 123.03 108.98 + 134.44 127.37 113.31 + 133.30 127.42 113.75 + 132.34 127.92 113.98 + 133.10 127.33 112.97 + 138.97 132.03 117.43 + 137.62 127.60 113.39 + 137.19 127.89 115.00 + 134.44 127.09 113.25 + 133.26 129.04 117.45 + 132.96 130.44 115.81 + 133.37 131.72 117.60 +col_means: | + 134.06 132.57 122.46 + 131.81 130.53 120.08 + 134.10 132.72 121.50 + 132.75 130.06 119.21 + 134.91 127.90 119.47 + 135.72 125.26 114.91 + 139.64 128.22 118.80 + 134.94 122.55 111.74 + 137.29 126.98 116.50 + 135.87 123.37 112.22 + 140.60 123.50 113.01 + 135.22 116.61 106.89 + 134.53 118.70 108.39 + 135.91 122.08 111.36 + 134.34 122.89 112.14 + 134.10 122.39 111.87 + 135.90 127.64 117.36 + 134.97 120.08 110.53 + 139.12 122.06 115.19 + 138.10 118.39 110.52 + 139.57 120.08 111.91 + 136.28 112.28 102.47 + 141.25 118.19 109.12 + 143.00 113.75 102.64 + 147.01 116.72 106.41 + 139.41 104.73 95.19 + 138.89 113.80 104.36 + 134.63 110.58 100.04 + 133.76 115.35 106.31 + 139.29 115.91 107.66 + 146.74 124.71 116.34 + 138.04 113.82 105.49 + 136.22 121.34 112.91 + 136.72 116.31 105.50 + 141.24 120.00 110.92 + 141.16 108.88 99.01 + 144.19 117.14 107.59 + 141.56 107.91 99.56 + 146.44 119.83 111.53 + 137.06 101.02 93.40 + 141.25 113.04 105.45 + 140.56 106.81 98.80 + 145.66 121.00 113.61 + 138.39 109.00 101.10 + 147.18 124.50 116.19 + 140.47 108.44 99.30 + 146.21 114.66 106.38 + 142.94 103.46 95.00 + 142.77 109.61 101.65 + 133.97 99.64 92.23 + 142.66 121.86 111.94 + 141.86 111.72 100.86 + 146.24 121.00 112.49 + 140.89 107.92 101.53 + 143.63 113.37 107.38 + 141.19 98.06 91.41 + 142.67 108.42 102.46 + 139.75 102.78 95.70 + 142.83 116.92 110.47 + 135.69 100.31 94.87 + 143.10 112.58 107.56 + 148.35 104.58 99.01 + 149.28 115.80 111.97 + 136.26 89.73 84.78 + 150.78 111.42 106.78 + 152.10 96.32 90.69 + 145.47 107.02 99.46 + 139.13 91.25 83.47 + 145.25 114.62 107.77 + 142.75 100.42 92.89 + 145.83 111.00 106.12 + 143.78 98.39 92.76 + 155.10 118.01 95.86 + 137.29 85.31 59.99 + 141.01 104.39 91.89 + 143.44 97.58 93.69 + 138.21 104.09 100.44 + 133.11 93.00 90.57 + 146.16 116.08 112.27 + 144.09 98.35 94.47 + 143.74 113.16 111.00 + 139.47 97.92 95.25 + 145.78 119.03 116.22 + 139.72 102.78 100.05 + 145.75 112.31 109.85 + 143.49 97.56 93.94 + 141.35 104.22 101.42 + 144.33 95.30 93.09 + 141.65 103.64 99.94 + 143.30 94.51 89.00 + 132.87 96.80 93.69 + 138.04 95.16 92.00 + 146.16 120.65 117.86 + 143.28 106.19 102.39 + 144.73 121.27 119.03 + 146.66 106.31 103.60 + 149.41 114.33 111.51 + 144.24 101.89 99.20 + 140.41 107.47 103.88 + 137.09 100.56 95.85 + 146.13 114.11 111.91 + 143.62 95.32 94.56 + 148.30 108.20 105.46 + 136.65 91.22 88.41 + 128.43 102.00 98.23 + 130.03 97.58 94.16 + 136.47 113.55 109.06 + 141.42 109.19 99.23 + 149.67 118.53 113.31 + 143.23 101.72 98.64 + 140.89 107.17 104.80 + 135.21 94.35 94.38 + 145.01 109.53 107.51 + 142.53 91.52 88.64 + 152.50 107.60 103.77 + 147.00 87.17 84.81 + 157.16 111.17 108.42 + 145.08 91.60 88.79 + 139.88 102.26 99.53 + 134.07 95.84 93.20 + 142.24 108.72 105.91 + 139.47 103.12 100.62 + 138.90 109.74 107.33 + 134.84 97.42 94.64 + 144.72 114.38 111.57 + 138.12 101.58 98.94 + 151.71 120.53 45.54 + 167.31 134.31 51.25 + 125.73 102.72 47.20 + 137.32 90.49 86.27 + 148.28 107.53 104.45 + 143.84 93.35 89.58 + 148.28 109.60 105.39 + 134.03 93.77 91.20 + 141.60 111.86 109.50 + 135.16 93.08 90.17 + 136.24 108.37 104.53 + 134.59 97.56 93.67 + 138.65 110.17 105.32 + 132.93 98.82 93.56 + 144.02 114.73 109.33 + 136.96 100.33 95.45 + 143.28 112.28 106.84 + 142.38 99.34 93.73 + 145.31 112.84 106.39 + 138.46 98.33 89.35 + 146.06 114.52 106.56 + 145.96 104.03 93.72 + 145.88 106.70 98.17 + 146.95 96.67 85.97 + 145.53 109.47 101.12 + 137.31 98.77 90.45 + 138.95 115.58 108.12 + 136.31 105.55 98.03 + 141.68 115.70 107.99 + 139.71 103.67 95.29 + 144.69 112.67 103.08 + 134.14 103.66 92.56 + 140.98 116.83 106.88 + 134.93 113.22 102.58 + 139.90 122.20 113.94 + 137.84 114.88 104.44 + 140.16 113.62 106.00 + 141.08 109.25 99.08 + 144.63 113.50 103.17 + 141.62 108.33 97.36 + 146.20 118.48 108.16 + 134.87 107.60 97.48 + 135.71 114.94 104.62 + 135.27 110.20 100.77 + 141.13 120.51 111.00 + 140.13 115.02 104.06 + 137.47 116.72 106.83 + 137.75 116.68 106.03 + 139.49 122.62 113.00 + 138.06 115.77 105.78 + 139.27 118.29 109.83 + 134.22 117.68 108.76 + 137.54 125.97 116.86 + 130.56 119.38 111.21 + 140.00 130.43 122.24 + 140.15 121.39 112.94 + 136.31 122.47 114.54 + 132.08 114.73 106.36 + 132.69 120.38 111.02 + 135.30 119.74 108.94 + 141.12 123.93 113.72 + 137.00 117.49 106.78 + 137.00 120.33 109.14 + 133.53 118.80 107.50 + 133.37 123.79 114.61 + 132.28 124.39 114.93 + 133.72 127.41 118.42 + 129.59 125.69 117.28 + 132.04 128.94 118.23 + 133.33 129.29 118.12 + 135.12 129.12 117.97 + 135.00 127.62 117.58 + 133.03 127.28 117.63 + 131.44 127.50 117.76 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 169.22 145.67 20.56 + 2 66 128.00 128.00 128.00 + 2 82 137.44 137.44 137.44 + 2 98 128.00 128.00 128.00 + 2 114 203.67 71.78 71.78 + 2 130 122.11 120.78 114.00 + 2 146 167.44 162.44 94.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 110.33 99.78 43.44 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 162.56 61.56 61.56 + 18 98 133.11 56.78 56.78 + 18 114 164.89 85.67 85.67 + 18 130 218.56 104.67 104.67 + 18 146 118.56 118.56 118.56 + 18 162 128.00 128.00 128.00 + 18 178 155.67 79.00 79.00 + 18 194 210.11 197.78 26.44 + 34 2 128.00 128.00 128.00 + 34 18 142.11 142.11 142.11 + 34 34 128.00 128.00 128.00 + 34 50 107.44 84.44 84.44 + 34 66 128.00 128.00 128.00 + 34 82 123.89 123.89 123.89 + 34 98 128.00 128.00 128.00 + 34 114 160.11 64.89 64.89 + 34 130 133.33 97.56 97.56 + 34 146 116.44 103.67 103.67 + 34 162 128.00 128.00 128.00 + 34 178 149.00 149.00 149.00 + 34 194 128.00 128.00 128.00 + 50 2 183.00 174.22 61.33 + 50 18 128.00 128.00 128.00 + 50 34 222.56 76.67 76.67 + 50 50 132.56 119.44 119.44 + 50 66 143.78 61.33 61.33 + 50 82 173.78 76.44 76.44 + 50 98 121.78 121.78 121.78 + 50 114 188.56 74.78 74.78 + 50 130 179.11 108.00 108.00 + 50 146 154.56 109.00 109.00 + 50 162 125.11 112.33 112.33 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 130.89 130.89 130.89 + 66 34 166.33 93.78 93.78 + 66 50 139.22 139.22 139.22 + 66 66 188.44 167.56 60.33 + 66 82 122.78 58.00 58.00 + 66 98 146.11 89.67 89.67 + 66 114 217.11 86.67 86.67 + 66 130 144.56 131.89 131.89 + 66 146 139.67 135.78 115.22 + 66 162 128.00 128.00 128.00 + 66 178 115.44 109.89 109.89 + 66 194 127.89 127.89 127.89 + 82 2 128.00 128.00 128.00 + 82 18 157.89 110.78 110.78 + 82 34 128.00 128.00 128.00 + 82 50 147.78 119.78 119.78 + 82 66 176.56 82.22 82.22 + 82 82 144.11 64.89 64.89 + 82 98 133.44 121.78 121.78 + 82 114 216.00 174.89 40.44 + 82 130 181.56 158.56 35.11 + 82 146 163.11 121.67 121.67 + 82 162 127.89 127.89 127.89 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 100.11 69.11 69.11 + 98 50 127.11 84.11 84.11 + 98 66 181.78 107.67 107.67 + 98 82 138.78 59.89 59.89 + 98 98 121.78 121.78 121.78 + 98 114 208.89 109.89 109.89 + 98 130 162.44 73.56 73.56 + 98 146 144.89 144.89 144.89 + 98 162 142.56 142.56 142.56 + 98 178 140.22 102.44 102.44 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 121.00 57.22 57.22 + 114 34 123.33 116.56 116.56 + 114 50 161.78 121.11 121.11 + 114 66 126.56 126.56 126.56 + 114 82 187.56 94.56 94.56 + 114 98 202.56 71.11 71.11 + 114 114 192.44 94.56 94.56 + 114 130 156.78 89.22 89.22 + 114 146 169.11 86.11 86.11 + 114 162 138.78 94.56 94.56 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 130.33 130.33 130.33 + 130 50 162.11 151.11 92.11 + 130 66 147.56 147.56 147.56 + 130 82 116.22 116.22 116.22 + 130 98 153.56 153.56 153.56 + 130 114 148.11 66.89 66.89 + 130 130 141.11 127.56 113.44 + 130 146 135.56 81.44 81.44 + 130 162 187.78 68.44 68.44 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 145.78 58.89 58.89 + 146 34 153.22 133.33 26.33 + 146 50 142.11 43.56 43.56 + 146 66 180.44 106.11 106.11 + 146 82 128.00 128.00 128.00 + 146 98 160.33 68.00 68.00 + 146 114 96.33 56.67 56.67 + 146 130 135.11 58.00 58.00 + 146 146 126.33 122.33 122.33 + 146 162 191.33 64.11 64.11 + 146 178 124.11 88.11 88.11 + 146 194 174.11 169.44 83.22 + 162 2 128.00 128.00 128.00 + 162 18 158.78 115.67 91.67 + 162 34 132.00 108.89 108.89 + 162 50 128.00 128.00 128.00 + 162 66 114.78 45.78 45.78 + 162 82 125.22 125.22 125.22 + 162 98 128.00 128.00 128.00 + 162 114 120.89 120.89 120.89 + 162 130 128.00 128.00 128.00 + 162 146 118.56 118.56 118.56 + 162 162 138.44 92.67 92.67 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 211.44 205.11 66.00 + 178 18 128.00 128.00 128.00 + 178 34 120.22 120.22 120.22 + 178 50 128.00 128.00 128.00 + 178 66 172.00 56.00 56.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 173.78 97.00 97.00 + 178 130 117.33 83.67 83.67 + 178 146 124.89 87.89 87.89 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 161.11 152.22 57.78 + 194 66 124.33 124.33 124.33 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 136.11 136.11 136.11 + 194 130 139.78 110.00 110.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-atrans.yaml b/unittest/graphics/tests/dump-modify-atrans.yaml new file mode 100644 index 00000000000..8ff27617500 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-atrans.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:33 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.5 view 60 30 shiny 0.2 box yes 0.02 bond atom 0.3 + dump_modify viz backcolor gray element C C O H N C C C O H H S O H atrans 13 0.3 atrans 14 0.3 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 132.84 131.25 117.47 + 132.91 128.79 118.59 + 134.10 130.80 117.30 + 136.59 130.89 117.94 + 133.31 131.62 117.47 + 133.38 130.12 117.35 + 133.50 131.72 118.17 + 133.22 131.89 119.50 + 133.37 131.76 118.08 + 132.79 130.82 118.59 + 134.16 131.86 117.53 + 134.94 131.66 118.74 + 133.38 131.71 117.47 + 138.21 131.94 119.09 + 139.04 135.72 122.49 + 140.25 135.78 122.33 + 133.66 132.05 118.11 + 134.20 125.00 111.19 + 133.96 128.34 114.55 + 137.41 128.13 119.05 + 128.74 127.58 121.38 + 141.10 131.70 128.51 + 134.85 129.43 124.86 + 136.50 128.23 122.72 + 129.93 128.48 120.70 + 132.49 127.38 120.46 + 130.56 128.38 120.83 + 136.75 127.70 121.41 + 129.56 128.26 121.31 + 140.24 125.08 118.51 + 134.47 126.48 118.69 + 135.33 124.28 117.31 + 129.40 127.94 120.06 + 138.01 130.89 124.47 + 132.37 128.68 121.64 + 132.66 125.56 119.04 + 129.51 128.12 120.68 + 136.47 126.51 119.42 + 133.31 127.49 120.04 + 138.65 128.87 122.37 + 129.66 128.28 120.97 + 139.53 128.44 122.55 + 133.09 129.51 121.94 + 137.72 125.05 117.83 + 129.60 128.11 120.10 + 135.82 126.02 120.12 + 134.84 127.84 122.65 + 142.66 125.23 121.23 + 128.28 127.23 118.89 + 142.47 126.23 115.19 + 135.38 128.35 114.38 + 145.47 132.00 118.19 + 135.10 133.41 118.33 + 141.16 129.01 115.14 + 137.58 130.20 115.23 + 142.15 132.50 118.46 + 136.27 134.41 116.71 + 143.51 133.72 116.86 + 134.28 130.32 115.25 + 139.65 126.33 113.69 + 133.80 132.19 118.51 + 141.19 124.56 112.29 + 142.78 133.66 120.61 + 151.76 138.94 125.71 + 133.87 132.16 117.92 + 137.72 128.58 116.52 + 128.30 124.98 111.70 + 145.00 131.74 119.99 + 131.18 127.03 115.47 + 143.49 128.97 116.50 + 137.12 129.40 117.17 + 138.95 122.31 109.81 + 132.35 130.31 117.77 + 139.09 122.64 111.70 + 133.06 126.94 116.83 + 143.13 130.68 119.80 + 128.22 125.83 115.81 + 140.90 125.05 112.95 + 135.16 127.20 113.88 + 140.89 130.25 117.47 + 134.24 132.72 119.28 + 146.28 135.88 123.22 + 137.79 130.94 116.80 + 141.51 127.09 114.41 + 132.74 131.41 119.06 + 140.41 130.33 123.43 + 132.63 128.66 127.80 + 136.79 127.53 127.03 + 127.72 127.10 127.22 + 139.40 125.20 124.34 + 129.60 126.17 123.72 + 138.60 121.40 119.09 + 127.38 123.50 120.15 + 136.82 123.49 121.19 + 131.99 123.27 120.42 + 137.00 124.78 122.47 + 128.57 127.86 124.50 + 140.91 128.70 126.39 + 130.91 125.72 123.00 + 130.81 118.78 117.92 + 128.88 125.58 124.79 + 140.16 123.81 122.73 + 133.84 123.64 121.80 + 144.76 128.23 126.26 + 125.03 124.09 120.74 + 137.68 125.06 122.76 + 125.77 122.25 118.90 + 134.51 117.89 115.59 + 126.42 125.79 122.44 + 136.24 116.67 114.37 + 130.44 122.77 119.92 + 130.49 116.08 113.77 + 127.48 126.63 121.80 + 143.32 136.60 131.26 + 132.83 128.67 118.91 + 137.34 125.31 119.23 + 133.09 129.47 118.50 + 142.51 130.71 123.91 + 133.81 124.27 114.90 + 136.70 121.52 113.62 + 130.48 127.53 112.99 + 134.23 120.41 112.23 + 129.93 124.62 112.55 + 143.19 125.94 117.90 + 135.14 133.49 119.41 + 141.01 126.44 119.72 + 134.31 125.88 117.89 + 136.18 123.34 119.02 + 127.72 126.73 120.64 + 143.12 131.50 126.83 + 133.75 129.36 124.72 + 141.44 131.57 124.76 + 132.90 131.56 119.14 + 135.72 123.08 114.78 + 136.22 128.37 115.73 + 133.68 123.94 115.41 + 133.49 131.90 118.11 + 145.03 135.03 126.06 + 134.91 130.57 118.04 + 140.15 125.24 114.69 + 133.51 131.82 117.48 + 143.49 128.38 119.79 + 132.19 124.89 114.08 + 132.59 121.69 114.25 + 133.57 131.96 118.11 + 137.53 128.94 117.77 + 135.06 130.22 116.65 + 137.90 126.80 113.98 + 133.47 131.86 118.11 + 139.54 126.64 118.20 + 135.25 128.53 123.22 + 133.74 127.08 123.04 + 129.78 128.66 122.56 + 140.26 127.50 121.42 + 135.08 130.04 122.12 + 140.50 128.74 121.56 + 129.82 128.40 120.70 + 135.17 123.34 117.53 + 132.88 124.27 117.58 + 131.64 122.24 116.69 + 129.99 128.43 120.08 + 135.78 127.92 121.02 + 132.08 128.73 120.94 + 136.29 130.19 122.85 + 129.82 128.50 121.32 + 143.63 131.77 123.98 + 135.24 128.76 120.28 + 136.15 124.53 116.27 + 129.65 128.15 120.08 + 129.72 122.00 115.25 + 132.33 129.03 122.69 + 138.56 129.96 123.40 + 129.80 128.37 120.70 + 137.47 129.07 121.18 + 130.19 125.62 117.44 + 127.92 123.40 116.55 + 129.15 128.10 122.50 + 135.07 132.34 126.95 + 132.47 130.07 120.78 + 138.41 131.26 118.03 + 133.83 132.08 117.48 + 135.10 131.24 116.98 + 134.19 132.41 118.54 + 135.93 133.75 119.86 + 133.78 132.25 118.74 + 134.75 130.41 117.46 + 134.19 130.24 116.10 + 136.09 128.90 114.45 + 133.17 131.53 117.48 + 134.18 129.88 115.81 + 132.58 130.39 116.72 + 131.99 129.57 115.64 + 133.53 131.82 117.47 + 137.70 132.84 118.25 + 134.69 131.16 116.94 + 135.65 130.32 117.43 + 133.57 131.96 118.11 + 133.62 130.94 119.34 + 133.06 131.05 116.41 + 133.37 131.72 117.60 +col_means: | + 134.06 132.57 122.46 + 131.85 130.57 120.11 + 134.10 132.72 121.50 + 132.53 130.90 120.06 + 133.29 129.46 121.02 + 132.87 129.62 120.19 + 137.37 131.68 122.25 + 131.88 130.24 119.44 + 137.26 132.32 121.84 + 134.08 130.72 119.56 + 137.85 129.02 118.53 + 130.37 129.07 119.36 + 132.56 124.89 114.58 + 135.10 130.78 120.06 + 134.09 127.69 116.95 + 131.84 130.60 120.08 + 134.36 130.95 120.67 + 132.28 129.53 118.28 + 135.91 127.93 119.47 + 131.44 130.31 120.07 + 136.91 127.27 118.00 + 134.97 128.69 118.50 + 138.27 127.10 118.03 + 132.70 131.24 120.14 + 140.87 127.51 117.20 + 132.99 128.38 118.84 + 136.30 124.74 115.30 + 132.16 130.62 120.08 + 132.68 125.77 115.81 + 133.46 129.78 120.11 + 143.86 134.16 124.33 + 132.88 131.19 120.09 + 135.03 129.81 120.72 + 131.10 128.18 118.28 + 135.81 125.25 116.17 + 130.67 129.25 119.39 + 138.72 126.27 116.72 + 139.83 132.88 122.77 + 141.09 131.22 121.64 + 131.78 130.47 120.07 + 134.93 125.41 116.49 + 134.19 131.75 121.64 + 142.03 131.25 122.48 + 131.66 130.50 120.07 + 143.87 135.53 125.78 + 135.78 129.91 119.36 + 139.33 126.99 117.84 + 132.75 131.37 120.11 + 138.79 123.50 114.85 + 129.62 124.77 115.42 + 139.87 131.37 121.44 + 132.53 130.97 120.11 + 139.65 131.20 122.69 + 133.87 127.90 119.76 + 139.26 127.43 120.13 + 131.77 130.55 121.88 + 136.75 123.52 117.12 + 132.29 129.01 121.19 + 140.53 131.29 123.92 + 131.06 129.93 121.86 + 137.83 126.19 119.69 + 136.93 130.65 123.17 + 143.65 131.51 126.21 + 130.33 129.65 123.08 + 140.93 128.18 122.79 + 133.69 129.34 122.16 + 140.49 125.78 118.22 + 131.00 130.29 122.53 + 139.86 129.62 122.76 + 133.88 127.94 120.42 + 140.16 129.26 123.48 + 130.97 130.40 123.12 + 159.44 142.01 94.22 + 129.18 117.97 64.59 + 126.11 113.30 88.95 + 131.72 131.09 124.46 + 135.28 121.04 116.36 + 133.24 126.36 122.22 + 141.28 131.12 127.31 + 130.42 129.94 124.94 + 139.66 129.80 126.03 + 133.66 131.41 126.94 + 142.70 135.74 131.26 + 131.05 130.62 125.40 + 140.73 128.04 124.52 + 137.38 129.27 123.68 + 134.72 121.05 117.00 + 130.62 130.36 125.44 + 138.15 124.13 119.67 + 130.45 125.20 120.61 + 130.61 118.25 114.10 + 131.88 131.57 126.28 + 142.11 135.90 132.06 + 139.07 134.97 130.96 + 139.44 133.71 129.79 + 133.35 132.92 127.39 + 141.82 128.66 124.23 + 130.97 127.34 122.11 + 133.97 121.39 117.79 + 131.56 129.96 124.39 + 141.50 130.47 126.96 + 132.76 125.09 122.50 + 140.69 124.72 120.70 + 128.41 127.78 122.44 + 131.92 122.12 117.30 + 127.06 125.92 120.28 + 133.38 124.23 119.31 + 131.41 130.74 121.60 + 143.91 130.76 125.33 + 137.41 128.76 123.78 + 137.82 124.15 120.17 + 126.65 125.48 124.11 + 140.94 126.45 123.68 + 135.16 128.63 124.11 + 143.43 126.22 122.09 + 131.71 130.76 125.62 + 148.80 132.51 128.51 + 134.12 126.00 123.47 + 136.96 122.27 120.26 + 128.60 126.18 125.66 + 136.50 121.17 119.75 + 133.94 125.58 123.79 + 136.48 122.90 120.48 + 126.42 125.02 122.25 + 138.84 127.15 124.34 + 133.50 128.34 125.70 + 148.64 127.19 52.20 + 160.04 145.07 62.01 + 123.52 108.12 52.60 + 128.97 121.91 117.84 + 135.48 119.39 117.94 + 123.34 122.75 123.78 + 139.97 125.75 123.42 + 136.71 130.50 128.36 + 134.38 123.89 122.23 + 124.05 123.19 119.06 + 130.74 121.43 116.86 + 125.76 120.95 114.25 + 136.08 125.72 119.88 + 128.25 125.90 117.92 + 143.08 128.87 122.41 + 138.68 128.93 121.37 + 138.93 125.28 118.35 + 132.59 127.53 119.12 + 139.96 128.06 119.87 + 129.79 125.22 116.24 + 141.03 128.83 120.88 + 132.56 131.04 120.72 + 137.40 122.02 113.49 + 136.14 125.14 115.53 + 141.06 126.47 116.38 + 132.21 130.53 119.44 + 138.09 129.62 121.15 + 133.43 128.34 118.08 + 137.80 128.07 119.31 + 130.91 129.49 119.39 + 142.41 128.06 117.38 + 132.35 126.18 115.78 + 138.20 127.33 117.38 + 132.03 130.72 120.06 + 139.01 131.94 123.69 + 136.38 130.90 120.45 + 135.26 122.75 115.06 + 131.92 130.74 120.09 + 141.04 128.03 116.98 + 140.53 133.74 122.76 + 141.91 130.86 120.53 + 132.14 130.81 120.08 + 134.29 125.87 115.55 + 131.29 129.09 119.76 + 137.17 128.15 118.64 + 132.69 131.08 120.11 + 133.94 124.21 114.32 + 131.71 126.55 116.94 + 138.07 129.47 119.84 + 132.12 130.66 120.67 + 135.25 124.66 116.20 + 132.40 127.94 118.55 + 137.06 130.72 120.86 + 131.28 129.66 118.78 + 137.87 133.91 124.69 + 134.87 131.26 120.02 + 134.25 128.16 119.18 + 130.59 129.44 120.00 + 132.75 126.59 117.22 + 133.66 130.47 119.67 + 136.01 128.85 118.64 + 132.03 130.81 120.10 + 136.06 128.86 117.67 + 132.74 129.02 117.72 + 132.64 128.36 119.19 + 131.64 130.46 120.08 + 134.11 130.35 120.44 + 130.99 129.43 120.09 + 131.79 130.17 119.47 + 132.84 131.29 120.12 + 134.12 130.50 119.35 + 132.10 129.34 119.31 + 132.40 129.26 118.96 + 132.25 130.66 120.07 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 169.22 145.67 20.56 + 2 66 128.00 128.00 128.00 + 2 82 137.44 137.44 137.44 + 2 98 128.00 128.00 128.00 + 2 114 158.22 111.78 111.78 + 2 130 122.11 120.78 114.00 + 2 146 167.44 162.44 94.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 110.33 99.78 43.44 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 146.89 105.22 105.22 + 18 98 112.56 112.56 112.56 + 18 114 135.78 112.00 112.00 + 18 130 161.11 129.44 129.44 + 18 146 118.56 118.56 118.56 + 18 162 128.00 128.00 128.00 + 18 178 153.67 137.56 137.56 + 18 194 210.11 197.78 26.44 + 34 2 128.00 128.00 128.00 + 34 18 151.67 151.67 151.67 + 34 34 128.00 128.00 128.00 + 34 50 117.11 107.78 107.78 + 34 66 128.00 128.00 128.00 + 34 82 118.67 118.67 118.67 + 34 98 128.00 128.00 128.00 + 34 114 155.00 122.78 122.78 + 34 130 135.33 135.33 135.33 + 34 146 121.67 115.67 115.67 + 34 162 128.00 128.00 128.00 + 34 178 163.11 163.11 163.11 + 34 194 128.00 128.00 128.00 + 50 2 183.00 174.22 61.33 + 50 18 128.00 128.00 128.00 + 50 34 164.33 113.22 113.22 + 50 50 151.78 151.78 151.78 + 50 66 146.89 121.67 121.67 + 50 82 130.00 112.56 112.56 + 50 98 118.11 118.11 118.11 + 50 114 145.78 105.67 105.67 + 50 130 148.56 133.67 133.67 + 50 146 137.89 121.22 121.22 + 50 162 149.78 149.78 149.78 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 139.44 139.44 139.44 + 66 34 134.67 110.00 110.00 + 66 50 129.44 129.44 129.44 + 66 66 182.11 175.44 68.22 + 66 82 136.22 124.78 124.78 + 66 98 126.89 100.33 100.33 + 66 114 145.11 112.11 112.11 + 66 130 139.67 139.67 139.67 + 66 146 135.89 132.00 111.44 + 66 162 128.00 128.00 128.00 + 66 178 112.78 112.78 112.78 + 66 194 127.89 127.89 127.89 + 82 2 128.00 128.00 128.00 + 82 18 132.00 119.33 119.33 + 82 34 121.11 121.11 121.11 + 82 50 158.33 158.33 158.33 + 82 66 137.00 137.00 137.00 + 82 82 136.22 136.22 136.22 + 82 98 142.78 142.78 142.78 + 82 114 203.56 179.33 44.89 + 82 130 181.56 158.56 35.11 + 82 146 133.78 124.33 124.33 + 82 162 127.89 127.89 127.89 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 126.44 117.78 117.78 + 98 50 119.44 110.78 110.78 + 98 66 148.78 132.56 132.56 + 98 82 126.22 112.44 112.44 + 98 98 128.44 128.44 128.44 + 98 114 149.00 149.00 149.00 + 98 130 107.00 83.89 130.00 + 98 146 159.00 159.00 159.00 + 98 162 156.56 156.56 156.56 + 98 178 134.22 120.00 120.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 117.33 110.78 110.78 + 114 34 120.89 120.89 120.89 + 114 50 153.44 153.44 153.44 + 114 66 122.22 122.22 122.22 + 114 82 187.67 184.56 120.44 + 114 98 144.11 106.56 106.56 + 114 114 146.67 115.44 115.44 + 114 130 109.44 109.44 124.00 + 114 146 152.33 119.44 119.44 + 114 162 128.00 110.33 110.33 + 114 178 126.22 126.22 126.22 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 122.89 122.89 122.89 + 130 34 130.33 130.33 130.33 + 130 50 149.22 138.22 79.22 + 130 66 156.22 156.22 156.22 + 130 82 116.22 116.22 116.22 + 130 98 158.56 158.56 158.56 + 130 114 135.67 135.67 135.67 + 130 130 164.00 157.33 119.78 + 130 146 142.44 129.56 129.56 + 130 162 133.67 117.11 117.11 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 121.67 105.33 105.33 + 146 34 142.89 126.78 40.00 + 146 50 135.67 101.00 101.00 + 146 66 156.89 138.78 138.78 + 146 82 128.00 128.00 128.00 + 146 98 129.89 129.89 129.89 + 146 114 108.78 91.00 91.00 + 146 130 107.00 102.56 102.56 + 146 146 121.33 121.33 121.33 + 146 162 157.33 110.44 110.44 + 146 178 117.33 105.44 105.44 + 146 194 174.11 169.44 83.22 + 162 2 128.00 128.00 128.00 + 162 18 136.44 120.44 90.44 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 125.33 98.00 98.00 + 162 82 118.56 118.56 118.56 + 162 98 128.00 128.00 128.00 + 162 114 115.89 115.89 115.89 + 162 130 121.22 121.22 121.22 + 162 146 120.56 120.56 120.56 + 162 162 131.56 131.56 131.56 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 211.44 205.11 66.00 + 178 18 128.00 128.00 128.00 + 178 34 118.11 118.11 118.11 + 178 50 128.00 128.00 128.00 + 178 66 152.78 108.00 108.00 + 178 82 123.00 123.00 123.00 + 178 98 128.00 128.00 128.00 + 178 114 147.00 129.11 129.11 + 178 130 127.56 117.67 117.67 + 178 146 140.89 140.89 140.89 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 161.11 152.22 57.78 + 194 66 130.11 130.11 130.11 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 135.11 135.11 135.11 + 194 130 127.67 127.67 127.67 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-backcolor2.yaml b/unittest/graphics/tests/dump-modify-backcolor2.yaml new file mode 100644 index 00000000000..a7751c740a0 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-backcolor2.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:35 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor navy backcolor2 skyblue +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 133.00 204.00 234.00 + 132.00 203.00 233.00 + 131.00 202.00 233.00 + 131.00 201.00 232.00 + 130.00 200.00 232.00 + 129.00 199.00 231.00 + 129.00 198.00 231.00 + 128.00 197.00 230.00 + 127.00 196.00 230.00 + 127.00 195.00 229.00 + 126.00 194.00 229.00 + 125.00 193.00 228.00 + 125.00 192.00 228.00 + 124.00 191.00 227.00 + 123.00 190.00 226.00 + 123.00 189.00 226.00 + 122.00 188.00 225.00 + 121.00 187.00 225.00 + 121.00 186.00 224.00 + 120.00 185.00 224.00 + 119.31 183.85 221.90 + 121.85 183.62 217.88 + 121.78 182.99 215.06 + 121.58 181.03 210.81 + 123.18 180.75 207.94 + 122.06 179.15 206.89 + 118.13 176.28 201.57 + 114.84 172.82 202.39 + 114.06 173.65 206.66 + 110.84 170.59 205.32 + 108.91 168.10 205.19 + 111.37 170.32 206.44 + 109.09 167.12 205.66 + 109.15 166.54 208.05 + 108.57 167.55 212.38 + 108.04 167.37 212.45 + 108.22 166.59 213.16 + 106.70 164.94 211.12 + 105.69 163.97 211.08 + 106.79 162.88 206.97 + 106.89 162.40 201.29 + 106.03 161.54 198.85 + 106.14 160.34 196.01 + 104.53 158.06 195.65 + 101.14 154.40 193.19 + 100.27 152.03 190.66 + 102.53 152.59 197.18 + 106.00 157.89 206.93 + 104.62 155.77 205.29 + 103.11 154.55 205.38 + 100.39 151.87 202.94 + 99.58 150.12 201.09 + 100.65 150.93 198.91 + 101.52 151.85 199.09 + 101.27 150.31 197.00 + 100.75 148.75 194.86 + 103.14 148.00 186.43 + 103.92 147.62 182.87 + 102.80 146.05 181.86 + 103.00 146.82 186.19 + 103.55 139.19 186.00 + 100.17 136.24 187.39 + 97.59 131.76 186.94 + 98.81 134.43 190.66 + 98.61 134.35 191.88 + 96.07 133.54 189.12 + 94.22 134.06 190.53 + 91.95 135.59 189.25 + 89.47 133.22 186.38 + 88.66 130.94 183.78 + 89.30 125.39 179.10 + 91.41 128.10 175.34 + 94.92 131.21 179.78 + 92.74 127.08 178.85 + 90.00 125.02 173.65 + 91.81 126.08 173.11 + 93.28 126.81 171.96 + 89.22 122.61 169.22 + 89.72 122.62 168.79 + 86.08 118.97 164.64 + 82.80 116.16 165.54 + 83.27 115.90 174.12 + 85.57 117.42 178.60 + 87.31 122.83 176.41 + 88.56 123.26 174.04 + 84.36 120.44 173.07 + 80.36 116.72 173.68 + 78.03 114.50 173.75 + 74.00 111.44 176.19 + 74.23 104.06 168.54 + 78.39 101.03 165.06 + 78.05 99.87 162.96 + 79.19 100.58 164.88 + 78.19 101.02 167.02 + 73.47 100.17 168.56 + 68.36 99.41 169.32 + 68.49 103.88 179.34 + 69.46 104.21 180.44 + 68.49 103.22 180.44 + 68.25 103.89 181.11 + 67.27 101.92 180.13 + 65.81 100.47 179.66 + 67.45 101.41 179.00 + 68.61 100.96 177.19 + 69.25 100.92 172.44 + 67.85 99.70 171.48 + 69.11 103.09 169.49 + 66.34 103.46 170.12 + 67.25 98.02 165.53 + 67.89 95.74 164.21 + 65.39 93.52 164.39 + 64.53 90.86 161.12 + 60.97 85.92 160.47 + 63.76 86.36 162.53 + 66.62 89.78 161.64 + 65.81 91.62 163.59 + 64.44 91.94 166.75 + 62.16 89.33 164.93 + 59.37 85.95 164.78 + 54.72 81.83 163.00 + 51.41 79.45 165.27 + 52.96 80.68 168.79 + 51.93 79.65 168.75 + 49.65 79.03 168.12 + 49.44 78.63 168.26 + 47.47 79.02 168.68 + 46.37 78.67 170.94 + 46.21 77.61 169.46 + 46.73 77.03 167.03 + 47.45 75.56 164.25 + 53.59 71.06 156.62 + 53.94 66.82 151.00 + 51.94 67.00 152.29 + 51.23 65.28 154.08 + 47.59 62.92 152.20 + 44.97 63.35 155.00 + 45.38 65.50 155.88 + 47.75 66.95 155.55 + 49.15 67.39 152.24 + 51.23 67.78 151.65 + 51.23 67.93 151.33 + 53.13 66.50 156.26 + 56.84 66.72 156.41 + 57.40 66.31 152.42 + 54.63 63.95 150.98 + 52.77 61.40 149.90 + 41.05 52.35 154.20 + 35.32 53.12 153.00 + 32.99 55.49 158.87 + 32.52 54.97 157.66 + 34.55 54.17 153.27 + 42.02 53.16 147.56 + 42.60 52.31 143.42 + 43.91 50.44 141.78 + 43.92 47.15 136.41 + 43.58 46.99 134.62 + 43.79 46.01 131.76 + 46.95 48.95 129.01 + 47.63 52.90 130.43 + 43.28 50.76 129.49 + 39.98 49.62 130.78 + 36.93 47.69 130.10 + 35.72 47.09 130.18 + 33.95 45.19 133.41 + 35.54 44.23 131.52 + 34.80 43.16 134.35 + 39.68 41.78 130.19 + 41.34 41.73 127.87 + 43.53 42.37 126.06 + 43.45 41.62 124.62 + 40.97 39.12 122.62 + 34.62 34.99 124.36 + 30.43 30.51 124.31 + 31.65 30.73 127.28 + 28.08 28.30 130.00 + 26.20 26.61 131.60 + 22.48 24.27 131.08 + 17.77 21.75 131.04 + 16.79 21.00 132.94 + 15.04 20.50 133.96 + 11.91 20.82 136.03 + 13.51 24.99 132.88 + 14.81 27.43 132.62 + 15.12 27.70 132.31 + 14.30 25.93 130.85 + 13.12 23.20 129.67 + 10.70 18.79 127.88 + 9.30 14.00 129.00 + 7.30 11.22 130.78 + 6.00 10.00 133.00 + 6.00 9.00 132.00 + 5.00 8.00 132.00 + 4.00 7.00 131.00 + 4.00 6.00 131.00 + 3.00 5.00 130.00 + 2.00 4.00 130.00 + 2.00 3.00 129.00 + 1.00 2.00 129.00 + 0.00 1.00 128.00 + 0.00 0.00 128.00 +col_means: | + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 67.01 100.01 177.26 + 67.92 98.86 175.00 + 68.66 99.08 175.22 + 68.53 99.02 175.15 + 67.89 98.75 174.88 + 66.93 98.43 174.56 + 69.58 98.17 171.24 + 70.78 98.30 170.83 + 71.45 97.44 170.20 + 71.23 97.02 170.09 + 72.09 98.44 168.75 + 73.48 100.26 168.97 + 74.43 100.77 165.12 + 76.74 104.50 165.80 + 77.03 105.29 164.19 + 76.76 104.84 160.97 + 78.50 105.39 157.92 + 79.97 105.49 155.03 + 81.29 104.25 150.44 + 79.86 103.03 151.28 + 80.15 104.33 154.92 + 78.41 102.86 157.24 + 75.62 101.33 163.47 + 73.49 100.80 169.29 + 69.64 97.20 168.69 + 68.36 93.31 161.42 + 67.83 92.81 158.51 + 66.70 92.93 156.16 + 68.66 96.40 159.55 + 75.00 93.25 161.06 + 78.89 91.08 163.16 + 78.38 87.31 162.16 + 77.42 90.08 164.35 + 72.65 91.63 156.69 + 70.16 93.17 153.66 + 63.40 94.03 147.37 + 67.14 100.11 142.41 + 74.42 104.53 140.08 + 75.49 104.92 140.66 + 75.21 104.44 141.19 + 79.70 104.49 139.19 + 81.93 104.59 139.72 + 82.47 105.12 144.45 + 76.61 100.34 146.12 + 71.36 99.03 154.82 + 68.53 96.91 156.76 + 66.25 95.89 164.64 + 68.83 98.80 170.41 + 69.17 100.67 171.56 + 68.25 101.56 171.28 + 66.97 102.17 169.03 + 67.52 104.97 171.61 + 67.75 106.67 175.64 + 67.79 101.19 174.08 + 70.53 99.27 171.71 + 72.66 99.99 174.20 + 73.55 99.03 171.53 + 72.86 98.67 171.56 + 70.06 96.89 168.21 + 69.67 97.29 166.97 + 79.17 104.23 163.54 + 88.55 111.78 161.69 + 88.82 114.64 161.35 + 93.13 117.72 156.63 + 92.27 116.92 157.79 + 87.42 114.56 159.85 + 80.65 113.67 163.93 + 79.34 114.77 169.40 + 76.76 115.78 173.22 + 82.02 122.14 171.05 + 84.70 130.31 163.66 + 91.86 137.39 157.41 + 99.50 142.41 153.55 + 101.65 143.19 150.14 + 102.73 137.91 145.71 + 108.67 125.81 143.47 + 104.81 116.97 146.84 + 99.38 107.44 154.94 + 99.55 103.97 162.75 + 96.47 103.22 161.37 + 92.83 106.19 160.14 + 89.55 107.33 160.38 + 84.84 106.88 164.75 + 78.32 105.58 169.19 + 75.31 103.89 171.76 + 72.36 102.01 173.28 + 71.03 100.99 176.56 + 72.22 99.87 174.11 + 71.87 98.48 170.07 + 71.86 98.54 166.74 + 70.91 98.64 168.16 + 69.19 99.98 172.13 + 67.23 101.03 176.41 + 66.37 101.69 179.30 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 + 66.17 101.99 180.74 +sample_blocks: | + 2 2 131.33 202.00 232.67 + 2 18 131.33 202.00 232.67 + 2 34 131.33 202.00 232.67 + 2 50 131.33 202.00 232.67 + 2 66 131.33 202.00 232.67 + 2 82 131.33 202.00 232.67 + 2 98 131.33 202.00 232.67 + 2 114 131.33 202.00 232.67 + 2 130 131.33 202.00 232.67 + 2 146 131.33 202.00 232.67 + 2 162 131.33 202.00 232.67 + 2 178 131.33 202.00 232.67 + 2 194 131.33 202.00 232.67 + 18 2 120.67 186.00 224.33 + 18 18 120.67 186.00 224.33 + 18 34 120.67 186.00 224.33 + 18 50 120.67 186.00 224.33 + 18 66 120.67 186.00 224.33 + 18 82 120.67 186.00 224.33 + 18 98 120.67 186.00 224.33 + 18 114 120.67 186.00 224.33 + 18 130 120.67 186.00 224.33 + 18 146 120.67 186.00 224.33 + 18 162 120.67 186.00 224.33 + 18 178 120.67 186.00 224.33 + 18 194 120.67 186.00 224.33 + 34 2 110.00 169.00 215.67 + 34 18 110.00 169.00 215.67 + 34 34 110.00 169.00 215.67 + 34 50 110.00 169.00 215.67 + 34 66 110.00 169.00 215.67 + 34 82 57.22 139.22 68.89 + 34 98 110.00 169.00 215.67 + 34 114 110.00 169.00 215.67 + 34 130 110.00 169.00 215.67 + 34 146 110.00 169.00 215.67 + 34 162 110.00 169.00 215.67 + 34 178 110.00 169.00 215.67 + 34 194 110.00 169.00 215.67 + 50 2 99.33 153.00 207.33 + 50 18 99.33 153.00 207.33 + 50 34 99.33 153.00 207.33 + 50 50 99.33 153.00 207.33 + 50 66 110.89 147.44 162.44 + 50 82 99.33 153.00 207.33 + 50 98 99.33 153.00 207.33 + 50 114 99.33 153.00 207.33 + 50 130 99.33 153.00 207.33 + 50 146 99.33 153.00 207.33 + 50 162 99.33 153.00 207.33 + 50 178 99.33 153.00 207.33 + 50 194 99.33 153.00 207.33 + 66 2 88.67 136.33 198.67 + 66 18 88.67 136.33 198.67 + 66 34 88.67 136.33 198.67 + 66 50 88.67 136.33 198.67 + 66 66 193.11 187.89 99.67 + 66 82 85.89 75.67 147.00 + 66 98 72.56 93.89 121.44 + 66 114 88.67 136.33 198.67 + 66 130 88.67 136.33 198.67 + 66 146 88.67 136.33 198.67 + 66 162 88.67 136.33 198.67 + 66 178 88.67 136.33 198.67 + 66 194 88.67 136.33 198.67 + 82 2 78.00 120.00 190.33 + 82 18 78.00 120.00 190.33 + 82 34 78.00 120.00 190.33 + 82 50 78.00 120.00 190.33 + 82 66 78.11 102.00 126.89 + 82 82 102.00 89.56 165.89 + 82 98 78.00 120.00 190.33 + 82 114 78.00 120.00 190.33 + 82 130 78.00 120.00 190.33 + 82 146 78.00 120.00 190.33 + 82 162 78.00 120.00 190.33 + 82 178 78.00 120.00 190.33 + 82 194 78.00 120.00 190.33 + 98 2 67.33 104.00 181.67 + 98 18 67.33 104.00 181.67 + 98 34 67.33 104.00 181.67 + 98 50 67.33 104.00 181.67 + 98 66 67.33 104.00 181.67 + 98 82 67.33 104.00 181.67 + 98 98 67.33 104.00 181.67 + 98 114 67.33 104.00 181.67 + 98 130 67.33 104.00 181.67 + 98 146 67.33 104.00 181.67 + 98 162 67.33 104.00 181.67 + 98 178 67.33 104.00 181.67 + 98 194 67.33 104.00 181.67 + 114 2 56.33 87.00 173.00 + 114 18 56.33 87.00 173.00 + 114 34 56.33 87.00 173.00 + 114 50 56.33 87.00 173.00 + 114 66 56.33 87.00 173.00 + 114 82 56.33 87.00 173.00 + 114 98 56.33 87.00 173.00 + 114 114 165.22 172.11 191.22 + 114 130 56.33 87.00 173.00 + 114 146 56.33 87.00 173.00 + 114 162 56.33 87.00 173.00 + 114 178 56.33 87.00 173.00 + 114 194 56.33 87.00 173.00 + 130 2 45.67 71.00 164.33 + 130 18 45.67 71.00 164.33 + 130 34 45.67 71.00 164.33 + 130 50 45.67 71.00 164.33 + 130 66 45.67 71.00 164.33 + 130 82 45.67 71.00 164.33 + 130 98 45.67 71.00 164.33 + 130 114 17.33 118.78 129.22 + 130 130 48.78 26.78 170.33 + 130 146 45.67 71.00 164.33 + 130 162 45.67 71.00 164.33 + 130 178 45.67 71.00 164.33 + 130 194 45.67 71.00 164.33 + 146 2 35.00 54.00 155.67 + 146 18 35.00 54.00 155.67 + 146 34 35.00 54.00 155.67 + 146 50 35.00 54.00 155.67 + 146 66 35.00 54.00 155.67 + 146 82 35.00 54.00 155.67 + 146 98 35.00 54.00 155.67 + 146 114 35.22 51.44 138.33 + 146 130 112.78 72.44 175.33 + 146 146 35.00 54.00 155.67 + 146 162 35.00 54.00 155.67 + 146 178 35.00 54.00 155.67 + 146 194 35.00 54.00 155.67 + 162 2 24.33 38.00 147.33 + 162 18 24.33 38.00 147.33 + 162 34 24.33 38.00 147.33 + 162 50 24.33 38.00 147.33 + 162 66 24.33 38.00 147.33 + 162 82 24.33 38.00 147.33 + 162 98 24.33 38.00 147.33 + 162 114 79.33 88.00 30.56 + 162 130 50.44 40.11 82.78 + 162 146 24.33 38.00 147.33 + 162 162 24.33 38.00 147.33 + 162 178 24.33 38.00 147.33 + 162 194 24.33 38.00 147.33 + 178 2 13.67 21.00 138.67 + 178 18 13.67 21.00 138.67 + 178 34 13.67 21.00 138.67 + 178 50 13.67 21.00 138.67 + 178 66 13.67 21.00 138.67 + 178 82 13.67 21.00 138.67 + 178 98 13.67 21.00 138.67 + 178 114 13.67 21.00 138.67 + 178 130 13.67 21.00 138.67 + 178 146 13.67 21.00 138.67 + 178 162 13.67 21.00 138.67 + 178 178 13.67 21.00 138.67 + 178 194 13.67 21.00 138.67 + 194 2 3.00 5.00 130.33 + 194 18 3.00 5.00 130.33 + 194 34 3.00 5.00 130.33 + 194 50 3.00 5.00 130.33 + 194 66 3.00 5.00 130.33 + 194 82 3.00 5.00 130.33 + 194 98 3.00 5.00 130.33 + 194 114 3.00 5.00 130.33 + 194 130 3.00 5.00 130.33 + 194 146 3.00 5.00 130.33 + 194 162 3.00 5.00 130.33 + 194 178 3.00 5.00 130.33 + 194 194 3.00 5.00 130.33 +... diff --git a/unittest/graphics/tests/dump-modify-bcolor-bdiam.yaml b/unittest/graphics/tests/dump-modify-bcolor-bdiam.yaml new file mode 100644 index 00000000000..2542197982b --- /dev/null +++ b/unittest/graphics/tests/dump-modify-bcolor-bdiam.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:32 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond type 0.3 + dump_modify viz backcolor gray bcolor * red/green/blue bdiam * 0.25 bdiam 1*9 0.4 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 130.82 129.25 118.14 + 127.34 127.81 118.57 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 125.14 127.10 123.25 + 125.83 128.47 125.76 + 126.36 129.01 126.36 + 127.03 129.21 127.03 + 126.41 129.00 126.41 + 126.37 129.03 126.37 + 127.16 128.49 124.52 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 125.12 125.51 118.16 + 126.84 122.38 116.86 + 127.66 121.54 120.50 + 132.10 128.81 127.76 + 130.35 129.88 129.06 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.67 126.30 124.47 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.38 131.35 115.88 + 133.16 129.29 114.36 + 135.12 130.53 117.16 + 134.46 125.69 117.94 + 131.13 123.78 121.11 + 129.66 120.94 121.65 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 130.19 124.79 125.86 + 128.15 127.10 126.88 + 126.96 128.30 127.56 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 125.83 124.58 120.30 + 129.72 128.82 125.18 + 125.97 128.94 121.72 + 125.94 126.50 119.22 + 128.99 126.58 118.26 + 131.29 127.03 117.95 + 126.83 124.59 117.22 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.25 123.31 116.31 + 129.38 125.59 119.38 + 133.46 130.98 117.73 + 133.95 132.16 118.98 + 128.18 129.37 122.33 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.20 114.21 117.24 + 124.02 113.67 116.16 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.86 126.98 126.98 + 128.88 126.98 126.98 + 128.90 126.98 126.98 + 128.92 126.98 126.98 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 126.53 133.13 123.97 + 124.09 133.78 123.53 + 126.07 128.29 122.70 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.74 121.31 121.36 + 130.88 124.43 120.19 + 131.69 128.53 122.23 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 126.88 128.63 126.88 + 126.88 128.58 126.88 + 126.87 128.53 126.87 + 126.27 128.87 127.27 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.20 122.78 131.87 + 120.25 119.50 126.45 + 121.72 118.30 121.38 + 127.19 120.44 120.79 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.27 129.35 123.87 + 132.31 129.76 122.00 + 133.06 130.09 120.28 + 133.55 128.85 121.07 + 135.03 129.28 128.05 + 137.66 127.57 128.75 + 137.54 126.08 125.46 + 134.90 125.91 125.06 + 132.13 126.41 124.26 + 121.59 121.28 126.44 + 120.33 121.89 125.61 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 123.52 123.27 124.95 + 124.14 121.60 121.80 + 129.16 120.23 120.91 + 126.69 116.74 116.92 + 128.16 118.37 115.84 + 128.79 117.41 112.22 + 130.80 120.17 110.36 + 133.48 125.39 112.16 + 128.58 124.67 111.69 + 128.59 123.75 113.44 + 125.51 123.38 112.91 + 124.80 126.09 113.64 + 125.62 127.33 116.41 + 127.56 126.83 115.50 + 130.71 128.06 117.97 + 132.10 125.97 115.15 + 132.49 125.47 113.17 + 134.97 124.85 113.28 + 133.41 124.84 111.50 + 129.66 123.49 110.02 + 126.39 123.02 112.25 + 122.95 118.84 113.25 + 127.31 121.75 117.75 + 129.82 122.03 118.48 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 125.49 121.79 121.79 + 126.58 124.26 124.26 + 128.18 126.17 126.17 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 130.53 124.95 121.64 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 135.69 131.85 115.08 + 133.77 130.94 118.22 + 131.54 128.24 122.80 + 129.81 128.66 127.47 + 126.16 124.20 126.04 + 124.21 122.55 122.29 + 123.59 120.47 119.94 + 122.50 121.36 117.92 + 123.61 124.25 117.83 + 129.00 122.88 117.57 + 132.62 119.72 119.16 + 134.45 114.06 122.47 + 133.36 116.88 123.11 + 128.62 118.39 118.41 + 120.95 124.63 113.72 + 114.32 127.39 110.50 + 116.23 131.56 108.44 + 126.22 130.15 106.26 + 126.98 132.62 105.69 + 125.85 130.68 106.58 + 128.82 131.57 106.30 + 131.05 130.74 105.93 + 131.09 127.97 106.48 + 126.47 122.64 107.79 + 123.33 122.86 114.11 + 121.34 121.12 114.69 + 121.66 119.84 120.11 + 123.22 124.64 123.66 + 124.10 126.10 124.35 + 124.41 126.75 123.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.34 118.81 117.28 + 134.12 125.47 115.02 + 135.13 128.53 113.58 + 132.99 128.10 109.61 + 132.29 127.32 110.35 + 131.24 123.69 110.42 + 124.69 123.00 115.00 + 123.28 127.26 121.77 + 121.39 129.65 125.33 + 119.88 132.95 119.52 + 118.24 134.78 116.11 + 124.19 138.88 112.77 + 130.26 140.76 109.10 + 131.86 137.81 106.08 + 133.15 131.63 100.94 + 137.55 124.43 100.39 + 135.19 120.92 100.14 + 134.40 117.95 107.58 + 136.73 112.89 113.35 + 135.31 110.88 112.75 + 133.21 114.06 112.23 + 127.14 119.53 111.72 + 122.28 122.86 111.62 + 123.39 119.05 118.09 + 120.98 116.84 123.80 + 119.91 116.95 125.40 + 119.61 116.88 128.72 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 201.56 34.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 34.33 163.67 28.89 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 191.89 147.56 147.56 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 26.56 112.89 125.22 + 130 130 33.00 122.67 101.44 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 84.67 119.33 133.78 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.89 79.33 28.44 + 162 130 81.78 103.33 72.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-bmap.yaml b/unittest/graphics/tests/dump-modify-bmap.yaml new file mode 100644 index 00000000000..ff8826f1bba --- /dev/null +++ b/unittest/graphics/tests/dump-modify-bmap.yaml @@ -0,0 +1,606 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:31 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic + compute bond/local +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + compute bcolor peptide bond/local force + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond c_bcolor 0.3 + dump_modify viz backcolor gray bmap min max cf 0.0 3 min blue 0.5 white max red +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 130.82 131.41 120.31 + 127.34 128.53 119.30 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 126.25 125.99 125.45 + 127.11 127.10 128.41 + 127.69 127.69 129.01 + 128.13 128.13 129.21 + 127.67 127.67 129.00 + 127.70 127.70 129.03 + 127.75 128.03 125.58 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 125.12 126.61 119.25 + 126.68 127.19 121.83 + 127.42 127.59 126.79 + 131.86 131.78 130.97 + 130.31 130.16 129.37 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.67 127.28 125.44 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.32 131.62 116.20 + 132.73 131.35 116.85 + 134.61 133.07 120.20 + 133.94 128.22 120.98 + 131.98 124.87 123.50 + 130.34 120.91 122.30 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 130.09 125.81 127.00 + 127.90 128.73 128.76 + 128.29 131.16 129.96 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 127.94 126.08 119.69 + 131.13 129.59 124.55 + 130.84 127.83 125.47 + 127.42 126.20 120.42 + 129.16 128.54 120.84 + 131.11 129.97 121.07 + 126.83 125.06 117.69 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 127.36 122.78 116.88 + 131.57 126.03 122.00 + 136.02 129.71 119.02 + 134.72 131.77 119.36 + 129.34 130.46 122.27 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 124.83 114.92 117.39 + 124.83 114.24 115.91 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 127.92 127.92 128.86 + 127.93 127.93 128.88 + 127.94 127.94 128.90 + 127.95 127.95 128.92 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 128.69 133.12 126.12 + 127.97 133.77 127.39 + 127.38 128.28 124.00 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.27 123.58 124.10 + 130.21 127.64 124.07 + 131.41 129.93 123.91 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 126.88 126.88 128.63 + 126.88 126.88 128.58 + 126.87 126.87 128.53 + 126.27 127.27 128.87 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 120.83 124.42 131.87 + 125.95 123.03 128.57 + 125.19 119.88 123.26 + 127.50 120.41 121.13 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.07 130.77 125.48 + 132.10 131.17 123.61 + 132.87 131.50 121.89 + 133.35 132.46 124.87 + 135.03 129.28 128.05 + 137.66 129.70 130.88 + 137.47 128.91 128.37 + 134.83 126.75 125.97 + 133.26 126.39 125.38 + 124.29 120.40 128.26 + 123.15 120.69 127.22 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 125.69 123.20 127.06 + 125.42 121.47 122.95 + 129.84 120.86 120.86 + 127.72 117.71 116.86 + 129.18 119.33 115.79 + 128.79 119.13 113.94 + 131.15 121.56 113.63 + 134.31 125.89 116.92 + 128.94 124.08 113.20 + 128.59 125.83 115.53 + 125.51 124.33 113.85 + 125.11 125.00 115.05 + 125.94 126.24 117.81 + 127.88 125.72 116.92 + 131.12 127.92 118.52 + 133.16 126.28 117.19 + 133.56 125.14 114.57 + 135.87 125.70 113.23 + 134.44 124.77 112.57 + 131.22 122.18 112.89 + 128.26 121.50 115.64 + 125.30 119.07 115.25 + 130.25 123.19 119.14 + 130.15 122.33 118.47 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.79 123.07 123.77 + 125.87 125.54 126.25 + 127.47 127.47 128.18 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 131.69 126.05 121.58 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 135.69 133.27 116.50 + 133.77 131.76 119.05 + 131.54 130.22 124.78 + 129.81 128.66 127.47 + 126.16 125.18 127.02 + 124.21 122.55 122.29 + 124.50 122.86 121.42 + 122.02 123.66 120.70 + 124.17 127.44 122.55 + 130.88 127.02 124.77 + 134.12 123.44 125.53 + 134.30 116.47 125.03 + 132.97 121.69 128.31 + 128.19 122.11 122.57 + 126.20 121.89 119.45 + 119.75 123.18 117.94 + 123.06 130.75 116.48 + 128.51 132.46 108.56 + 126.98 132.62 105.69 + 126.70 131.26 106.31 + 129.88 132.31 105.97 + 131.05 130.74 105.93 + 130.37 129.82 111.41 + 124.95 124.98 112.45 + 123.33 123.38 114.64 + 121.34 121.12 114.69 + 122.81 122.00 123.42 + 125.35 124.63 125.78 + 126.67 126.09 126.92 + 126.41 126.75 125.75 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 127.54 120.94 117.22 + 135.41 126.68 114.94 + 135.13 128.53 113.58 + 133.91 129.24 113.08 + 133.24 128.66 114.19 + 130.84 125.62 112.76 + 124.91 125.17 116.96 + 123.93 128.05 125.72 + 122.95 130.92 131.51 + 121.20 129.18 128.65 + 119.34 132.65 119.26 + 124.19 139.53 113.42 + 129.46 142.23 111.37 + 133.08 142.04 109.09 + 134.88 139.70 107.28 + 140.71 129.60 104.75 + 138.10 120.78 103.73 + 137.25 116.12 110.98 + 137.65 115.35 120.25 + 135.39 112.42 115.64 + 133.21 114.06 112.23 + 129.66 117.54 116.03 + 128.32 121.17 119.03 + 125.14 118.97 119.92 + 122.01 117.81 123.75 + 120.92 117.91 125.34 + 120.91 118.11 128.64 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 117.22 117.22 201.56 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 164.44 99.00 94.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 184.33 184.33 191.89 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 38.89 124.56 124.56 + 130 130 118.78 118.78 191.11 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 123.22 118.22 171.22 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.89 100.33 49.44 + 162 130 87.67 82.89 98.44 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-boxtrans.yaml b/unittest/graphics/tests/dump-modify-boxtrans.yaml new file mode 100644 index 00000000000..dcf1338eeac --- /dev/null +++ b/unittest/graphics/tests/dump-modify-boxtrans.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:38 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box yes 0.05 axes center 0.5 0.05 + dump_modify viz backcolor black boxcolor yellow boxtrans 0.35 axestrans 0.35 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 1.04 1.04 0.00 + 3.46 3.46 0.47 + 2.27 2.27 0.04 + 9.22 9.22 2.17 + 4.79 4.79 1.01 + 10.35 10.35 2.17 + 2.60 2.60 0.62 + 10.70 10.70 2.17 + 4.88 4.88 1.15 + 10.21 10.21 2.17 + 3.98 3.98 1.15 + 10.40 10.40 2.17 + 4.52 4.52 1.04 + 9.58 9.58 2.17 + 1.80 1.80 0.51 + 9.21 9.21 2.17 + 5.65 5.65 1.10 + 10.47 10.47 2.17 + 5.79 5.79 1.19 + 10.18 10.18 2.17 + 5.54 5.54 1.09 + 10.41 10.41 2.17 + 2.31 2.31 0.36 + 9.97 9.97 2.17 + 4.85 4.85 1.06 + 7.04 7.04 0.15 + 2.65 2.65 0.00 + 5.16 5.16 0.00 + 2.80 2.80 0.00 + 6.54 6.54 0.00 + 0.85 0.85 0.01 + 6.79 6.79 0.00 + 2.87 2.87 0.65 + 10.11 10.11 2.17 + 5.33 5.33 0.12 + 13.05 13.05 2.18 + 6.64 6.64 1.17 + 13.46 13.46 2.17 + 4.75 4.75 0.17 + 13.02 13.02 2.17 + 6.24 6.24 1.00 + 12.56 12.56 2.17 + 4.58 4.58 0.94 + 11.38 11.38 2.18 + 5.58 5.58 1.19 + 11.66 11.66 3.44 + 3.92 3.92 0.98 + 14.01 14.01 3.45 + 5.75 5.75 0.99 + 12.91 12.91 2.18 + 5.78 5.78 1.07 + 13.22 13.22 2.17 + 5.93 5.93 2.02 + 12.80 12.80 3.50 + 4.53 4.53 0.06 + 12.13 12.13 3.04 + 4.22 4.22 0.73 + 6.49 6.49 0.90 + 2.48 2.48 0.52 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 1.64 1.64 0.01 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 2.42 2.42 0.52 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 1.64 1.64 0.01 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 2.48 2.48 0.52 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 1.64 1.64 0.01 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 2.42 2.42 0.52 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 1.64 1.64 0.01 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 2.48 2.48 0.52 + 5.38 5.38 0.86 + 2.13 2.13 0.00 + 5.38 5.38 0.86 + 1.64 1.64 0.01 + 7.04 7.93 1.00 + 3.62 3.54 0.94 + 7.08 8.85 1.18 + 2.42 2.42 0.01 + 7.93 8.52 0.99 + 2.83 4.18 0.25 + 6.92 6.49 0.07 + 1.69 2.91 0.06 + 7.54 9.88 1.13 + 3.02 3.79 0.89 + 10.03 12.21 2.13 + 5.11 4.92 1.04 + 12.71 10.74 0.31 + 4.76 4.39 0.33 + 13.81 13.06 2.17 + 4.12 4.12 0.75 + 14.64 14.64 3.45 + 5.79 5.79 1.17 + 12.88 12.88 2.17 + 4.52 4.52 1.11 + 13.02 13.02 2.17 + 5.39 5.39 1.01 + 11.14 11.14 2.18 + 3.43 3.43 0.41 + 11.10 11.10 0.91 + 5.29 5.29 1.01 + 13.21 13.21 2.18 + 4.38 4.38 0.05 + 12.83 12.83 2.17 + 6.44 6.44 1.05 + 13.09 13.09 2.18 + 3.85 3.85 0.48 + 12.62 12.62 2.17 + 5.65 5.65 1.10 + 7.94 7.94 0.10 + 1.64 1.64 0.01 + 6.49 6.49 0.00 + 2.75 2.75 0.00 + 6.22 6.22 0.00 + 0.79 0.79 0.00 + 4.78 4.78 0.00 + 2.33 2.33 0.00 + 8.92 8.92 2.17 + 5.30 5.30 1.18 + 10.40 10.40 2.17 + 5.50 5.50 1.14 + 10.76 10.76 2.17 + 3.06 3.06 0.24 + 10.33 10.33 2.17 + 4.97 4.97 1.02 + 10.54 10.54 2.17 + 4.46 4.46 1.16 + 9.70 9.70 2.17 + 5.00 5.00 1.17 + 9.98 9.98 2.17 + 2.27 2.27 0.89 + 10.54 10.54 2.17 + 4.50 4.50 0.99 + 10.22 10.22 2.17 + 4.01 4.01 0.19 + 10.50 10.50 2.17 + 4.74 4.74 1.19 + 10.09 10.09 2.17 + 2.81 2.81 0.10 + 6.88 6.88 1.97 + 2.37 2.37 0.61 + 2.06 2.06 0.02 + 0.27 0.27 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 15.70 15.70 0.00 + 45.92 45.92 0.39 + 16.36 16.36 0.65 + 27.91 27.91 1.89 + 2.35 2.35 0.20 + 6.62 6.62 1.83 + 2.73 2.73 0.00 + 7.72 7.72 0.33 + 2.33 2.33 1.10 + 7.40 7.40 1.12 + 4.04 4.04 0.03 + 6.39 6.39 2.27 + 2.04 2.04 0.00 + 7.81 7.81 0.87 + 5.34 5.34 2.21 + 9.31 9.31 0.47 + 3.33 3.33 0.00 + 7.20 7.20 1.99 + 5.39 5.39 0.06 + 7.66 7.66 1.72 + 0.99 0.99 0.00 + 7.73 7.73 0.29 + 1.97 1.97 0.00 + 7.28 7.28 1.25 + 3.60 3.60 0.41 + 6.38 6.38 2.25 + 3.74 3.74 0.86 + 7.78 7.78 0.75 + 1.57 1.57 0.00 + 9.06 9.06 0.55 + 4.12 4.12 1.16 + 7.14 7.14 2.08 + 2.96 2.96 0.12 + 8.57 8.57 1.59 + 1.88 1.88 0.00 + 7.74 7.74 0.28 + 13.18 13.18 1.97 + 47.08 47.08 1.37 + 17.56 17.56 0.06 + 29.47 29.47 3.27 + 2.13 2.13 1.03 + 9.27 9.27 1.01 + 3.90 3.90 2.27 + 9.03 7.24 2.87 + 2.42 1.27 0.04 + 5.87 4.93 3.04 + 4.01 3.64 0.81 + 9.44 8.54 1.81 + 3.34 3.34 1.86 + 10.18 9.15 1.33 + 3.67 3.67 0.56 + 7.35 6.26 3.77 + 0.00 0.00 0.00 + 9.02 7.56 3.08 + 3.03 2.58 1.09 + 9.78 9.29 0.98 + 2.71 2.71 1.36 + 7.68 7.16 2.67 + 5.50 4.95 1.96 + 7.98 7.33 24.62 + 2.55 2.55 2.99 + 9.15 9.96 2.54 + 2.55 2.69 2.10 + 9.65 10.40 2.00 + 2.20 2.20 0.83 + 5.63 5.63 3.88 + 5.10 5.43 1.05 + 7.76 8.76 2.92 + 4.17 4.17 2.23 + 10.42 10.55 2.10 + 4.04 4.04 2.25 + 7.07 8.21 2.87 + 2.93 2.93 0.02 + 6.51 7.10 3.90 + 4.78 4.78 1.70 + 9.42 10.10 2.07 + 0.00 0.00 0.00 + 9.41 10.29 2.03 + 4.08 5.11 0.61 + 5.75 5.75 3.96 + 5.10 5.10 1.06 + 7.95 8.99 2.76 + 2.77 3.55 1.34 + 44.88 44.88 0.53 + 11.32 11.32 0.07 + 36.04 36.04 1.09 + 14.51 14.51 0.20 + 7.40 8.07 1.53 + 1.48 2.70 0.06 + 9.92 10.47 1.00 + 4.16 4.54 1.92 + 8.22 9.21 1.71 + 3.81 3.81 0.07 + 8.24 10.24 2.31 + 4.55 4.95 0.89 + 7.44 8.54 0.70 + 3.29 3.29 1.14 + 7.89 9.03 0.81 + 3.73 3.73 0.00 + 5.76 5.76 2.17 + 4.50 5.45 0.02 + 7.37 7.37 1.40 + 4.74 4.74 1.92 + 10.07 10.07 1.56 + 3.69 3.69 0.00 + 7.08 7.08 1.55 + 5.49 5.49 0.23 + 8.07 8.07 2.12 + 2.02 2.02 0.00 + 7.33 7.33 0.51 + 1.51 1.51 0.00 + 7.61 7.61 0.78 + 3.07 3.07 0.83 + 5.79 5.79 2.22 + 3.60 3.60 0.47 + 7.32 7.32 1.26 + 0.00 0.00 0.00 + 8.48 8.48 0.31 + 3.99 3.99 1.69 + 42.12 42.12 0.00 + 16.97 16.97 0.10 + 33.85 33.85 0.00 + 12.61 12.61 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 0.00 0.00 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 56.67 56.67 37.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 10.78 10.78 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 72.89 72.89 62.00 + 66 114 0.00 0.00 0.00 + 66 130 22.89 22.89 0.00 + 66 146 0.00 0.00 0.00 + 66 162 10.78 10.78 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.22 0.22 38.22 + 82 114 0.00 0.00 0.00 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 10.78 10.78 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 0.00 0.00 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 0.22 0.22 38.22 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 10.78 10.78 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 26.78 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 10.78 10.78 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 24.33 24.33 0.00 + 130 82 28.33 28.33 28.33 + 130 98 66.22 66.22 22.89 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 10.78 10.78 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 60.78 60.78 0.00 + 146 66 0.00 0.00 0.00 + 146 82 0.00 0.00 0.00 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 8.67 8.67 0.00 + 146 162 10.78 10.78 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 75.33 75.33 17.89 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 19.33 19.33 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 16.11 16.11 0.00 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/dump-modify-btrans.yaml b/unittest/graphics/tests/dump-modify-btrans.yaml new file mode 100644 index 00000000000..4456ace4f88 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-btrans.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:51:18 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond type 0.3 + dump_modify viz backcolor gray btrans * 0.5 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.27 128.13 127.38 + 130.62 130.00 125.25 + 131.43 130.88 124.35 + 131.98 130.95 121.97 + 133.47 132.13 120.99 + 133.22 131.72 120.40 + 129.94 130.47 117.93 + 127.34 128.46 118.57 + 127.16 128.77 121.58 + 124.87 126.64 121.17 + 122.94 125.09 121.03 + 126.49 127.80 122.34 + 125.16 125.53 121.55 + 126.09 124.75 123.05 + 127.84 126.28 126.22 + 128.63 127.58 127.58 + 128.57 127.46 127.46 + 128.37 126.88 126.88 + 128.63 127.58 127.58 + 127.58 127.86 124.94 + 127.57 129.50 121.39 + 127.42 129.92 120.73 + 127.30 129.99 119.65 + 126.61 128.62 119.28 + 124.48 125.97 118.62 + 124.08 124.64 119.12 + 124.99 125.09 123.18 + 129.94 129.86 128.81 + 130.68 130.53 129.70 + 129.85 129.72 128.99 + 128.09 127.99 127.50 + 127.19 126.84 125.02 + 129.45 128.84 124.03 + 131.28 130.73 124.20 + 130.88 130.25 123.46 + 130.99 129.85 122.09 + 133.00 130.81 117.64 + 133.29 131.60 116.12 + 132.32 130.95 116.01 + 134.41 132.87 119.48 + 133.77 128.04 120.30 + 131.43 123.70 121.67 + 130.34 120.61 121.65 + 132.48 123.51 125.14 + 133.00 124.40 126.72 + 129.86 124.72 126.66 + 127.81 127.09 127.30 + 126.11 129.06 127.78 + 124.11 128.15 127.22 + 123.10 126.75 125.81 + 124.58 122.03 121.14 + 126.11 124.36 119.03 + 130.94 128.96 124.58 + 127.34 126.56 123.67 + 126.58 125.86 119.86 + 127.17 126.95 118.72 + 130.63 129.43 119.39 + 126.48 124.74 117.37 + 128.50 125.92 115.99 + 125.67 123.09 111.84 + 124.69 121.28 111.67 + 126.73 122.67 116.78 + 129.69 126.19 120.88 + 134.65 130.74 120.05 + 133.95 132.16 119.75 + 128.18 129.82 121.17 + 125.94 127.03 122.08 + 123.61 125.68 123.02 + 120.98 123.62 124.86 + 119.88 116.51 120.41 + 123.91 114.59 117.39 + 125.28 113.85 115.82 + 127.92 115.97 116.15 + 128.34 117.74 117.74 + 125.67 118.17 118.17 + 122.64 118.72 118.72 + 126.31 125.44 125.44 + 128.22 127.40 127.40 + 128.63 127.58 127.58 + 128.26 127.41 127.41 + 128.63 127.58 127.58 + 128.19 128.19 128.19 + 129.53 129.53 129.53 + 130.05 129.76 128.22 + 131.00 130.37 124.94 + 130.55 130.10 123.98 + 127.04 132.50 125.50 + 125.19 133.12 126.74 + 126.64 127.98 123.70 + 126.03 126.52 123.17 + 125.08 125.52 123.73 + 124.38 123.35 120.93 + 122.22 120.04 120.22 + 126.28 121.89 121.94 + 130.16 125.56 121.31 + 131.85 129.72 123.42 + 133.06 132.36 125.39 + 131.72 130.69 124.50 + 129.29 128.47 124.14 + 125.97 125.53 123.11 + 125.14 125.04 124.53 + 127.49 128.54 128.54 + 127.39 128.03 128.03 + 127.49 128.54 128.54 + 126.19 128.78 128.78 + 122.91 128.68 131.44 + 121.17 128.22 134.47 + 120.21 127.56 134.31 + 119.22 126.25 133.92 + 119.83 123.42 131.84 + 122.47 119.57 126.00 + 122.89 117.89 121.75 + 127.24 120.28 120.83 + 128.93 121.70 121.70 + 126.64 120.58 120.58 + 127.09 123.52 122.53 + 128.37 127.26 124.03 + 131.20 130.19 123.82 + 132.43 130.33 122.01 + 132.72 130.68 120.20 + 132.60 130.55 121.65 + 135.03 129.28 128.05 + 136.71 128.86 130.04 + 136.41 127.95 127.33 + 134.68 126.59 125.75 + 132.63 125.77 124.76 + 123.03 120.05 128.44 + 120.53 120.69 127.52 + 120.41 126.17 133.75 + 120.39 126.19 133.60 + 120.00 123.59 130.13 + 124.17 122.30 125.61 + 124.53 120.42 121.76 + 129.34 120.40 120.40 + 126.69 117.14 115.89 + 128.16 118.77 114.83 + 127.90 117.24 112.05 + 130.02 119.13 110.22 + 134.00 124.54 113.75 + 129.69 124.08 112.33 + 127.73 124.72 113.33 + 125.51 124.22 112.91 + 125.69 125.26 114.22 + 126.67 126.54 117.02 + 129.11 126.06 115.55 + 131.32 128.13 118.59 + 133.53 126.28 115.81 + 133.99 124.61 113.19 + 134.97 125.20 112.39 + 134.54 124.31 111.66 + 131.34 121.64 111.04 + 128.66 121.30 113.92 + 124.61 118.47 113.37 + 129.43 121.83 116.27 + 130.47 122.67 118.81 + 130.35 123.33 120.44 + 127.57 121.92 119.92 + 124.94 121.39 120.70 + 124.10 122.38 123.05 + 125.83 125.50 125.91 + 126.17 127.17 126.84 + 124.28 130.04 124.28 + 124.21 131.22 124.21 + 124.86 131.85 124.86 + 123.45 130.46 123.45 + 123.19 128.65 123.19 + 122.30 125.74 122.30 + 123.30 124.20 123.30 + 125.88 125.88 125.88 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.72 125.67 125.67 + 127.77 124.25 124.25 + 128.50 124.47 124.47 + 128.38 124.39 124.39 + 127.74 124.13 124.13 + 126.78 123.81 123.81 + 128.41 123.36 121.70 + 129.39 123.50 121.64 + 129.85 122.67 121.36 + 129.64 122.25 121.25 + 130.25 123.64 120.22 + 130.53 125.41 120.48 + 131.96 126.38 118.13 + 134.79 130.56 118.72 + 134.66 131.41 117.79 + 134.14 131.61 115.90 + 135.56 132.71 114.14 + 136.62 133.21 112.45 + 136.99 132.19 109.64 + 135.12 131.35 111.67 + 134.84 132.50 115.74 + 133.90 131.78 118.19 + 130.62 129.40 123.95 + 129.81 128.66 127.47 + 125.67 124.75 126.59 + 124.21 122.55 122.29 + 123.56 121.92 120.24 + 121.90 123.54 120.10 + 122.59 125.55 120.17 + 127.81 124.97 121.42 + 131.72 121.97 123.28 + 132.84 115.01 123.42 + 130.75 117.29 124.57 + 127.13 119.80 120.25 + 123.28 121.69 117.58 + 119.64 121.97 113.63 + 122.26 127.34 109.11 + 127.55 130.53 106.07 + 126.98 132.62 105.69 + 126.47 131.31 106.66 + 130.08 131.75 105.96 + 131.05 130.74 105.93 + 129.79 128.47 108.15 + 125.72 124.56 109.30 + 123.33 123.33 114.11 + 121.34 121.12 114.69 + 121.11 120.58 120.69 + 123.74 124.00 125.14 + 124.59 125.47 126.29 + 124.97 126.44 125.44 + 122.72 127.11 123.70 + 124.04 129.71 124.85 + 125.62 131.43 126.89 + 123.22 123.56 125.42 + 122.19 117.94 123.11 + 124.44 118.16 124.68 + 123.69 115.69 122.22 + 123.52 115.79 122.16 + 120.36 113.80 119.03 + 120.78 115.11 117.92 + 125.32 119.05 114.89 + 134.76 126.49 114.38 + 135.13 128.53 113.58 + 133.84 127.64 110.77 + 134.36 127.98 112.21 + 130.68 124.22 110.95 + 124.88 123.55 115.55 + 123.31 126.72 122.08 + 123.36 130.34 128.38 + 121.55 131.88 125.56 + 120.89 134.91 118.17 + 124.73 140.01 112.86 + 128.59 141.36 110.52 + 129.77 139.94 106.47 + 131.65 135.63 103.79 + 136.74 126.13 101.47 + 135.23 119.08 101.89 + 136.90 115.52 110.00 + 138.06 112.71 114.31 + 135.98 111.72 113.35 + 133.21 114.06 112.23 + 129.89 116.98 112.42 + 125.89 118.77 113.97 + 123.92 118.06 118.61 + 120.98 117.25 122.78 + 119.91 117.34 124.39 + 120.28 117.33 127.52 + 120.83 115.22 125.11 + 119.98 113.42 121.19 + 120.69 113.88 117.41 + 122.99 116.56 117.84 + 124.81 120.56 120.56 + 125.87 124.19 124.19 + 127.11 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 151.00 69.11 67.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 133.22 128.11 100.78 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 193.11 187.89 99.67 + 66 82 107.89 71.33 107.89 + 66 98 90.00 90.00 90.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 111.67 107.56 85.44 + 82 82 82.89 131.11 126.44 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 183.67 159.89 159.89 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 38.89 112.89 125.22 + 130 130 59.22 78.44 127.67 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 118.00 117.33 113.78 + 146 130 109.11 98.56 144.89 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 90.89 98.11 28.44 + 162 130 102.56 90.67 85.78 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-color-custom.yaml b/unittest/graphics/tests/dump-modify-color-custom.yaml new file mode 100644 index 00000000000..ed6e73f243c --- /dev/null +++ b/unittest/graphics/tests/dump-modify-color-custom.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:27 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray color mycol1 0.012 0.016 0.322 color mycol2 0x00AACC acolor * mycol1/mycol2 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.38 127.97 128.09 + 125.25 129.00 129.75 + 124.35 129.65 130.66 + 121.97 129.21 130.61 + 120.99 129.79 131.56 + 120.40 129.50 131.28 + 117.58 129.66 132.06 + 117.83 127.53 129.47 + 120.78 128.51 129.99 + 120.42 126.66 127.92 + 120.25 125.50 126.54 + 121.72 127.62 128.81 + 121.25 125.18 125.97 + 123.23 126.20 126.80 + 125.76 127.69 128.09 + 126.36 128.33 128.70 + 127.03 128.66 128.98 + 126.41 128.28 128.66 + 126.37 128.34 128.71 + 124.52 128.34 129.09 + 121.39 130.11 131.84 + 120.73 130.85 132.72 + 119.65 130.95 133.17 + 119.28 129.40 131.42 + 118.16 127.06 128.84 + 116.23 125.60 127.70 + 116.60 119.14 122.83 + 122.44 123.32 126.77 + 122.70 123.40 126.25 + 123.18 123.80 126.31 + 122.81 123.23 125.25 + 123.08 124.52 125.72 + 123.36 127.17 128.22 + 123.75 129.06 130.26 + 123.19 128.69 129.85 + 121.78 127.90 129.27 + 116.96 127.38 129.73 + 115.53 127.94 130.60 + 114.10 126.23 129.38 + 117.18 128.21 131.17 + 114.24 127.50 130.29 + 115.37 127.16 129.53 + 114.67 124.86 127.58 + 118.27 127.47 130.13 + 117.86 128.91 132.11 + 114.29 128.97 132.75 + 114.17 128.51 132.72 + 115.06 127.16 131.88 + 111.11 121.55 128.07 + 110.41 118.47 125.51 + 110.17 115.41 122.58 + 108.78 115.73 123.36 + 109.34 116.23 125.07 + 108.58 115.02 123.84 + 107.08 119.69 127.30 + 107.00 125.14 132.22 + 106.89 127.62 134.62 + 106.03 124.59 130.56 + 108.58 125.77 130.67 + 107.58 122.94 126.73 + 110.78 120.79 123.59 + 116.30 123.11 125.27 + 119.42 126.85 129.38 + 117.76 129.12 132.13 + 116.23 129.31 132.93 + 113.30 123.73 129.34 + 112.84 119.65 126.12 + 112.81 117.37 124.12 + 113.72 116.04 122.39 + 108.74 113.12 120.86 + 108.44 113.14 121.32 + 109.15 114.85 121.91 + 112.24 117.51 123.65 + 114.62 119.02 124.08 + 116.14 119.00 122.39 + 117.95 119.06 120.67 + 125.44 125.44 125.72 + 127.00 127.01 127.67 + 127.00 127.02 127.69 + 127.01 127.02 127.69 + 127.02 127.02 127.70 + 126.81 126.82 127.39 + 124.78 124.81 126.77 + 123.67 124.92 127.04 + 122.42 126.72 128.63 + 122.53 127.54 129.06 + 116.34 123.98 128.22 + 114.92 121.75 126.92 + 113.02 120.67 126.48 + 112.13 120.53 126.70 + 113.38 120.87 126.27 + 111.62 119.35 124.46 + 113.26 118.17 121.83 + 114.26 117.58 122.20 + 115.02 119.64 124.38 + 118.36 123.54 126.94 + 121.92 127.50 130.07 + 121.51 126.41 128.62 + 121.66 125.10 126.81 + 121.77 123.69 124.62 + 124.16 124.56 124.80 + 126.91 126.91 127.44 + 126.90 126.90 127.42 + 126.89 126.89 127.40 + 126.30 126.31 127.11 + 123.01 123.05 125.81 + 121.35 121.42 125.92 + 120.39 120.45 125.28 + 116.72 120.36 125.86 + 114.19 118.81 124.72 + 110.50 115.95 123.43 + 111.80 117.13 122.73 + 116.84 121.35 124.98 + 119.52 122.58 125.48 + 119.59 121.01 123.15 + 122.52 123.39 124.59 + 124.05 126.69 127.52 + 123.89 128.39 129.72 + 122.02 128.19 129.90 + 120.28 129.12 130.88 + 119.80 128.75 131.00 + 118.33 126.97 130.57 + 117.12 127.62 131.96 + 114.61 126.57 131.11 + 113.78 125.20 129.49 + 114.16 124.95 128.67 + 115.54 119.98 123.65 + 117.58 119.32 122.86 + 120.57 120.64 125.06 + 120.20 120.27 125.01 + 115.83 117.03 123.00 + 112.96 117.08 124.52 + 111.70 117.14 123.97 + 114.25 119.61 126.06 + 111.50 118.38 123.70 + 111.85 120.69 125.00 + 110.56 119.45 124.23 + 110.04 121.32 126.69 + 112.03 127.21 132.56 + 110.94 125.09 130.14 + 112.58 125.39 129.80 + 111.99 123.60 127.27 + 112.92 124.62 127.52 + 115.91 126.02 128.00 + 115.23 126.06 128.19 + 117.91 127.69 129.64 + 115.21 126.18 129.89 + 113.25 125.12 129.83 + 112.47 126.62 131.49 + 111.17 125.44 130.39 + 110.10 123.53 128.15 + 112.31 122.66 126.06 + 112.19 119.78 122.77 + 115.78 123.51 127.23 + 118.25 123.42 126.95 + 120.53 124.41 127.50 + 120.00 122.67 125.25 + 120.78 121.70 123.50 + 122.47 123.47 124.64 + 124.26 125.59 126.05 + 126.20 126.20 126.82 + 122.95 124.84 127.11 + 121.22 125.35 128.60 + 120.95 126.30 129.67 + 120.03 124.70 127.82 + 119.61 124.47 127.11 + 119.61 123.25 125.03 + 121.72 123.82 124.53 + 125.44 126.03 126.14 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 125.72 125.72 126.87 + 124.32 124.34 126.33 + 124.56 124.59 126.85 + 124.48 124.51 126.75 + 124.22 124.24 126.27 + 123.86 123.89 125.56 + 121.78 124.00 126.36 + 121.73 124.23 127.28 + 121.50 123.27 127.11 + 121.38 122.76 126.61 + 120.31 124.85 127.83 + 120.55 127.27 129.88 + 118.16 127.45 130.05 + 118.72 129.88 132.10 + 117.79 129.95 132.30 + 115.90 129.21 131.78 + 114.14 129.25 132.28 + 112.45 129.30 132.61 + 109.64 129.29 133.13 + 107.67 126.89 131.55 + 107.55 125.48 131.16 + 107.73 124.14 129.96 + 109.08 122.31 128.96 + 112.02 122.08 128.62 + 111.44 118.70 125.08 + 107.32 115.47 122.10 + 105.08 112.43 120.42 + 103.56 110.86 119.42 + 105.82 115.68 123.55 + 105.31 120.08 127.33 + 107.85 123.79 129.93 + 106.96 124.48 130.66 + 107.73 127.41 134.46 + 104.17 121.97 129.37 + 101.25 121.08 129.30 + 99.63 120.69 128.76 + 99.29 122.89 130.85 + 98.11 122.98 131.26 + 99.42 123.78 130.76 + 98.33 120.50 128.26 + 97.27 120.56 129.47 + 96.77 119.57 129.57 + 97.50 116.47 127.13 + 98.86 113.71 122.59 + 105.03 115.85 122.27 + 106.86 117.37 122.06 + 110.25 119.98 124.60 + 114.61 123.17 127.07 + 114.28 123.69 128.41 + 115.14 123.75 127.87 + 114.24 121.72 125.59 + 116.78 122.41 125.98 + 120.33 123.94 126.97 + 117.86 119.86 124.19 + 115.05 115.94 122.28 + 116.98 117.08 124.14 + 114.99 115.89 123.07 + 114.92 116.49 123.12 + 113.17 114.33 119.78 + 113.33 115.94 120.02 + 110.56 120.34 124.86 + 109.97 126.55 131.41 + 109.83 128.82 133.41 + 104.35 127.98 133.35 + 104.44 127.45 132.72 + 105.31 124.48 128.95 + 104.97 118.98 124.26 + 108.22 119.52 125.42 + 109.81 119.38 126.05 + 103.96 115.34 124.56 + 97.01 110.98 122.15 + 94.92 116.23 128.38 + 93.11 118.56 131.57 + 90.94 117.89 130.88 + 90.97 117.53 129.47 + 90.44 116.26 128.09 + 93.15 115.54 126.05 + 100.91 119.06 127.28 + 103.62 119.49 128.07 + 102.56 118.06 125.61 + 103.42 120.45 126.70 + 105.75 121.66 126.92 + 106.24 120.98 126.34 + 108.92 119.64 124.97 + 110.45 118.81 124.53 + 112.09 117.36 123.42 + 114.00 117.17 123.87 + 112.70 115.00 122.34 + 111.57 113.31 120.12 + 112.26 113.75 119.32 + 116.10 116.64 120.86 + 120.64 120.69 123.07 + 124.22 124.23 125.18 + 126.72 126.73 126.95 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 34.78 156.78 180.78 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 100.78 122.33 126.67 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 32.44 193.89 225.67 + 66 82 71.33 95.78 100.56 + 66 98 57.89 100.56 109.11 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 85.44 102.89 106.33 + 82 82 29.44 82.89 111.33 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 49.11 49.78 104.33 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 22.67 29.56 61.11 + 130 130 35.22 35.78 87.89 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 113.78 116.56 117.22 + 146 130 37.56 100.56 146.56 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 20.56 101.11 117.33 + 162 130 72.11 96.00 100.89 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-lights.yaml b/unittest/graphics/tests/dump-modify-lights.yaml new file mode 100644 index 00000000000..986aef360a1 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-lights.yaml @@ -0,0 +1,604 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:36 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/charmm/coul/charmm + bond harmonic + angle charmm + dihedral charmm + improper harmonic +setup_commands: | + units real + atom_style full + pair_style lj/charmm/coul/charmm 8.0 10.0 + bond_style harmonic + angle_style charmm + dihedral_style charmm + improper_style harmonic + read_data ${input_dir}/data.peptide + neighbor 2.0 bin + group peptide type <= 12 + dump viz peptide image 1 ${imagefile} type type size 200 200 zoom 2.15 view 80 30 center s 0.25 0.5 0.5 box no 0.0 shiny 0.2 bond atom 0.3 + dump_modify viz backcolor gray lights 0.9 0.1 0.1 0.1 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.62 128.41 127.36 + 131.18 130.34 124.83 + 132.44 131.34 123.60 + 134.88 133.03 121.06 + 136.21 134.06 119.80 + 136.81 134.47 119.16 + 134.47 134.78 116.86 + 132.49 133.65 117.65 + 129.66 131.62 120.82 + 129.47 131.32 120.78 + 128.12 130.72 120.92 + 127.24 130.20 122.19 + 128.23 130.28 121.94 + 129.51 130.14 123.42 + 127.14 128.56 125.98 + 126.62 128.22 126.62 + 126.75 127.79 126.75 + 126.11 127.63 126.11 + 126.11 127.62 126.11 + 127.97 128.90 124.19 + 128.01 130.05 120.42 + 128.00 130.53 119.19 + 128.01 130.85 117.93 + 127.98 130.69 117.89 + 127.24 130.25 117.19 + 127.45 130.72 116.22 + 130.25 132.16 124.22 + 132.20 132.03 130.94 + 131.74 131.54 130.49 + 131.38 131.18 130.13 + 131.16 130.97 129.96 + 131.34 130.76 127.63 + 131.99 131.16 125.66 + 132.75 131.65 123.91 + 133.31 132.04 123.25 + 134.54 132.82 121.97 + 139.24 136.16 117.81 + 141.02 137.59 115.92 + 142.13 138.68 116.03 + 139.69 135.82 119.52 + 142.66 130.99 122.51 + 141.65 129.02 124.05 + 140.90 126.87 123.49 + 137.97 126.12 125.47 + 135.19 123.66 128.04 + 133.96 124.61 130.09 + 131.47 126.79 132.03 + 128.35 130.52 129.54 + 126.91 131.56 129.50 + 126.72 131.37 129.32 + 129.75 127.19 125.92 + 131.87 132.12 124.09 + 134.51 132.41 125.74 + 132.91 129.66 126.55 + 132.56 128.16 121.28 + 133.76 129.31 120.09 + 134.94 131.53 119.85 + 134.66 130.68 119.72 + 134.50 130.53 118.20 + 134.49 129.98 116.72 + 135.35 129.68 116.22 + 135.71 130.10 117.00 + 136.19 127.47 120.44 + 136.18 132.88 119.79 + 136.82 134.09 119.15 + 133.19 132.53 121.06 + 129.66 130.38 122.91 + 127.81 130.19 124.19 + 124.03 127.94 127.93 + 124.22 121.29 124.81 + 126.50 116.05 122.37 + 128.35 115.35 120.26 + 132.57 114.90 117.23 + 133.59 117.93 117.93 + 132.59 119.64 119.64 + 131.50 120.78 120.78 + 130.22 125.44 125.44 + 129.27 126.74 126.74 + 129.27 126.74 126.74 + 128.74 128.74 128.74 + 128.74 128.74 128.74 + 128.63 128.63 128.63 + 130.07 130.07 130.07 + 131.38 130.98 128.84 + 133.16 132.15 125.59 + 133.37 132.29 124.56 + 131.56 136.61 127.79 + 128.67 138.64 129.91 + 130.72 133.34 125.66 + 132.21 130.78 123.52 + 130.88 129.74 124.81 + 132.15 129.46 123.44 + 130.68 127.14 124.56 + 132.04 124.54 126.86 + 134.51 126.00 125.41 + 137.08 131.22 123.47 + 134.46 133.19 124.38 + 134.37 132.99 124.28 + 133.68 132.35 124.85 + 132.68 131.50 125.28 + 130.40 129.84 126.83 + 128.68 128.68 128.68 + 128.68 128.68 128.68 + 126.73 129.27 129.27 + 126.09 129.90 129.90 + 122.30 129.84 133.63 + 119.81 128.65 136.24 + 118.56 128.62 137.44 + 117.97 128.04 138.12 + 118.66 127.47 137.56 + 122.47 122.36 133.70 + 127.39 119.61 128.31 + 130.54 120.50 125.22 + 132.97 122.89 122.89 + 132.77 122.72 122.72 + 132.16 124.50 123.42 + 132.15 126.91 123.58 + 133.03 129.58 122.97 + 134.93 130.87 121.06 + 136.75 132.21 121.69 + 136.84 132.53 122.94 + 137.63 130.22 128.80 + 139.72 129.58 129.60 + 142.16 131.10 127.03 + 142.48 130.30 127.47 + 141.69 129.76 128.09 + 131.86 121.44 136.92 + 127.62 124.83 135.25 + 119.16 126.71 136.78 + 119.23 126.12 136.21 + 120.50 124.15 134.22 + 125.17 120.48 129.29 + 126.00 119.94 127.19 + 131.23 121.25 121.25 + 133.47 120.27 118.36 + 137.06 119.93 115.33 + 138.88 120.24 112.69 + 140.90 122.84 109.72 + 137.63 127.44 109.94 + 135.95 127.40 109.60 + 133.94 127.87 111.52 + 134.71 128.79 111.30 + 135.69 130.84 112.36 + 135.78 132.75 115.36 + 138.16 131.68 114.53 + 136.95 131.78 116.94 + 139.62 128.97 113.45 + 141.04 128.16 110.94 + 142.84 128.45 109.73 + 143.00 126.89 108.42 + 143.35 126.65 107.72 + 140.67 126.59 110.84 + 139.26 124.83 111.41 + 137.81 123.71 114.08 + 134.73 123.03 116.64 + 133.03 123.68 119.17 + 132.79 123.48 119.11 + 131.21 123.36 120.36 + 129.43 123.50 122.25 + 129.87 126.06 124.17 + 126.08 129.84 126.08 + 124.20 131.75 124.20 + 123.71 132.53 123.71 + 123.83 132.66 123.83 + 123.14 133.21 123.14 + 123.69 132.51 123.69 + 123.56 132.19 123.56 + 125.34 130.12 125.34 + 127.83 127.83 127.83 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.18 125.45 125.45 + 128.40 123.58 123.58 + 128.56 123.61 123.61 + 128.59 123.60 123.60 + 128.55 123.57 123.57 + 128.46 123.53 123.53 + 130.33 122.94 121.02 + 130.48 122.41 120.44 + 130.08 121.16 119.83 + 130.16 121.09 119.83 + 132.32 123.01 119.14 + 133.46 124.44 119.17 + 135.76 126.19 116.63 + 138.60 132.54 117.25 + 139.84 134.00 116.02 + 141.60 136.15 114.11 + 143.50 137.97 112.19 + 145.35 140.12 110.28 + 148.50 140.60 107.11 + 146.88 140.44 110.54 + 145.53 141.10 114.34 + 143.53 139.13 118.44 + 137.81 134.78 124.02 + 132.55 131.01 128.72 + 130.57 129.11 130.41 + 133.67 130.94 128.61 + 133.65 131.52 127.91 + 131.72 133.93 130.25 + 130.27 132.59 130.62 + 138.19 127.36 128.23 + 142.72 123.89 126.30 + 142.84 118.75 126.58 + 135.46 116.53 126.75 + 133.02 121.72 121.81 + 130.22 125.11 122.64 + 125.57 127.94 118.12 + 125.31 137.56 109.19 + 132.02 144.25 107.06 + 138.04 146.50 107.01 + 136.97 146.56 109.42 + 142.22 142.60 103.42 + 142.78 140.82 102.72 + 145.43 140.93 106.57 + 141.79 138.30 110.51 + 133.91 133.98 118.93 + 132.16 132.04 120.78 + 128.43 127.42 125.92 + 128.68 127.31 128.69 + 126.48 127.75 130.25 + 126.12 128.81 129.97 + 126.53 131.56 129.19 + 126.66 134.26 129.03 + 128.00 135.51 127.92 + 126.34 125.70 126.58 + 124.83 118.50 124.08 + 123.39 116.71 125.47 + 124.17 114.14 122.92 + 124.76 114.14 122.97 + 125.04 113.36 122.19 + 127.14 115.78 122.11 + 134.97 121.17 117.09 + 143.65 127.94 111.73 + 144.28 130.48 111.75 + 147.11 132.97 108.49 + 145.85 134.17 110.68 + 144.00 135.86 113.84 + 138.60 137.64 119.75 + 135.50 137.22 124.22 + 127.89 136.56 129.07 + 129.85 140.87 129.88 + 127.13 148.10 124.85 + 130.14 151.59 116.42 + 135.21 154.38 111.35 + 140.56 154.82 106.73 + 145.70 150.69 100.56 + 153.46 138.41 98.15 + 154.18 134.42 101.33 + 155.38 123.59 107.73 + 152.35 114.02 114.78 + 151.10 111.78 116.01 + 149.83 116.77 114.75 + 147.34 118.17 114.73 + 139.60 120.02 119.60 + 130.94 121.55 124.51 + 129.74 120.68 125.81 + 126.70 118.61 127.12 + 121.36 115.58 130.40 + 121.03 113.59 129.16 + 121.80 112.84 127.20 + 125.67 115.06 122.16 + 127.56 117.33 120.27 + 128.66 120.33 120.33 + 128.26 124.16 124.16 + 128.06 126.72 126.72 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 128.00 128.00 128.00 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 128.00 128.00 128.00 + 18 130 128.00 128.00 128.00 + 18 146 128.00 128.00 128.00 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 128.00 128.00 128.00 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 46.67 142.22 46.67 + 34 98 128.00 128.00 128.00 + 34 114 128.00 128.00 128.00 + 34 130 128.00 128.00 128.00 + 34 146 128.00 128.00 128.00 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 128.00 128.00 128.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 154.11 145.56 99.67 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 128.00 128.00 128.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 187.00 174.00 75.22 + 66 82 181.11 71.11 181.11 + 66 98 127.00 127.00 127.00 + 66 114 128.00 128.00 128.00 + 66 130 128.00 128.00 128.00 + 66 146 128.00 128.00 128.00 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 128.00 128.00 128.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 167.56 154.67 85.33 + 82 82 151.89 143.33 183.56 + 82 98 128.00 128.00 128.00 + 82 114 128.00 128.00 128.00 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 128.00 128.00 128.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 128.00 128.00 128.00 + 98 82 128.00 128.00 128.00 + 98 98 128.00 128.00 128.00 + 98 114 128.00 128.00 128.00 + 98 130 128.00 128.00 128.00 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 128.00 128.00 128.00 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 128.00 128.00 128.00 + 114 98 128.00 128.00 128.00 + 114 114 182.56 182.56 182.56 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 128.00 128.00 128.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 128.00 128.00 128.00 + 130 82 128.00 128.00 128.00 + 130 98 128.00 128.00 128.00 + 130 114 28.56 221.00 221.00 + 130 130 43.89 15.89 209.78 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 128.00 128.00 128.00 + 146 34 128.00 128.00 128.00 + 146 50 128.00 128.00 128.00 + 146 66 128.00 128.00 128.00 + 146 82 128.00 128.00 128.00 + 146 98 128.00 128.00 128.00 + 146 114 140.22 136.00 113.78 + 146 130 128.11 64.78 184.22 + 146 146 128.00 128.00 128.00 + 146 162 128.00 128.00 128.00 + 146 178 128.00 128.00 128.00 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 128.00 128.00 128.00 + 162 34 128.00 128.00 128.00 + 162 50 128.00 128.00 128.00 + 162 66 128.00 128.00 128.00 + 162 82 128.00 128.00 128.00 + 162 98 128.00 128.00 128.00 + 162 114 164.56 159.00 25.78 + 162 130 180.56 125.89 71.11 + 162 146 128.00 128.00 128.00 + 162 162 128.00 128.00 128.00 + 162 178 128.00 128.00 128.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 128.00 128.00 128.00 + 178 34 128.00 128.00 128.00 + 178 50 128.00 128.00 128.00 + 178 66 128.00 128.00 128.00 + 178 82 128.00 128.00 128.00 + 178 98 128.00 128.00 128.00 + 178 114 128.00 128.00 128.00 + 178 130 128.00 128.00 128.00 + 178 146 128.00 128.00 128.00 + 178 162 128.00 128.00 128.00 + 178 178 128.00 128.00 128.00 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/dump-modify-subboxtrans.yaml b/unittest/graphics/tests/dump-modify-subboxtrans.yaml new file mode 100644 index 00000000000..91e03fc6ae8 --- /dev/null +++ b/unittest/graphics/tests/dump-modify-subboxtrans.yaml @@ -0,0 +1,593 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 14:47:38 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom atomic +setup_commands: | + units lj + region box block 0 6 0 8 0 10 + create_box 1 box + mass 1 1.0 + dump viz all image 1 ${imagefile} type type size 200 200 zoom 1.2 view 60 30 box no 0.0 subbox yes 0.05 + dump_modify viz backcolor black boxcolor yellow subboxtrans 0.35 +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 1.04 1.04 0.00 + 3.46 3.46 0.47 + 2.27 2.27 0.04 + 9.22 9.22 2.17 + 4.79 4.79 1.01 + 10.35 10.35 2.17 + 2.60 2.60 0.62 + 10.70 10.70 2.17 + 4.88 4.88 1.15 + 10.21 10.21 2.17 + 3.98 3.98 1.15 + 10.40 10.40 2.17 + 4.52 4.52 1.04 + 9.58 9.58 2.17 + 1.80 1.80 0.51 + 9.21 9.21 2.17 + 5.65 5.65 1.10 + 10.47 10.47 2.17 + 5.79 5.79 1.19 + 10.18 10.18 2.17 + 5.54 5.54 1.09 + 10.41 10.41 2.17 + 2.31 2.31 0.36 + 9.97 9.97 2.17 + 4.85 4.85 1.06 + 7.04 7.04 0.15 + 2.65 2.65 0.00 + 5.16 5.16 0.00 + 2.80 2.80 0.00 + 6.54 6.54 0.00 + 0.85 0.85 0.01 + 6.79 6.79 0.00 + 2.87 2.87 0.65 + 10.11 10.11 2.17 + 5.33 5.33 0.12 + 13.05 13.05 2.18 + 6.64 6.64 1.17 + 13.46 13.46 2.17 + 4.75 4.75 0.17 + 13.02 13.02 2.17 + 6.24 6.24 1.00 + 12.56 12.56 2.17 + 4.58 4.58 0.94 + 11.38 11.38 2.18 + 5.58 5.58 1.19 + 11.51 11.51 2.17 + 3.92 3.92 0.98 + 13.28 13.28 2.17 + 5.75 5.75 0.99 + 12.91 12.91 2.18 + 5.78 5.78 1.07 + 13.22 13.22 2.17 + 5.93 5.93 1.18 + 12.80 12.80 2.17 + 4.53 4.53 0.06 + 12.12 12.12 2.17 + 4.22 4.22 0.73 + 6.48 6.48 0.04 + 2.48 2.48 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 1.64 1.64 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 2.42 2.42 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 1.64 1.64 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 2.48 2.48 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 1.64 1.64 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 2.42 2.42 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 1.64 1.64 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 2.48 2.48 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 1.64 1.64 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 2.42 2.42 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 5.38 5.38 0.00 + 1.64 1.64 0.01 + 5.38 5.38 0.00 + 2.13 2.13 0.00 + 7.61 7.61 0.61 + 5.24 5.24 1.11 + 13.29 13.29 2.17 + 5.67 5.67 0.99 + 13.06 13.06 2.17 + 4.12 4.12 0.75 + 13.37 13.37 2.17 + 5.79 5.79 1.17 + 12.88 12.88 2.17 + 4.52 4.52 1.11 + 13.02 13.02 2.17 + 5.39 5.39 1.01 + 11.14 11.14 2.18 + 3.43 3.43 0.41 + 11.10 11.10 0.91 + 5.29 5.29 1.01 + 13.21 13.21 2.18 + 4.38 4.38 0.05 + 12.83 12.83 2.17 + 6.44 6.44 1.05 + 13.09 13.09 2.18 + 3.85 3.85 0.48 + 12.62 12.62 2.17 + 5.65 5.65 1.10 + 7.94 7.94 0.10 + 1.64 1.64 0.01 + 6.49 6.49 0.00 + 2.75 2.75 0.00 + 6.22 6.22 0.00 + 0.79 0.79 0.00 + 4.78 4.78 0.00 + 2.33 2.33 0.00 + 8.92 8.92 2.17 + 5.30 5.30 1.18 + 10.40 10.40 2.17 + 5.50 5.50 1.14 + 10.76 10.76 2.17 + 3.06 3.06 0.24 + 10.33 10.33 2.17 + 4.97 4.97 1.02 + 10.54 10.54 2.17 + 4.46 4.46 1.16 + 9.70 9.70 2.17 + 5.00 5.00 1.17 + 9.98 9.98 2.17 + 2.27 2.27 0.89 + 10.54 10.54 2.17 + 4.50 4.50 0.99 + 10.22 10.22 2.17 + 4.01 4.01 0.19 + 10.50 10.50 2.17 + 4.74 4.74 1.19 + 10.09 10.09 2.17 + 2.81 2.81 0.10 + 6.88 6.88 1.97 + 2.37 2.37 0.61 + 2.06 2.06 0.02 + 0.27 0.27 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +col_means: | + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 15.70 15.70 0.00 + 45.92 45.92 0.39 + 16.36 16.36 0.65 + 27.91 27.91 1.89 + 2.35 2.35 0.20 + 6.62 6.62 1.83 + 2.73 2.73 0.00 + 7.72 7.72 0.33 + 2.33 2.33 1.10 + 7.40 7.40 1.12 + 4.04 4.04 0.03 + 6.39 6.39 2.27 + 2.04 2.04 0.00 + 7.81 7.81 0.87 + 5.34 5.34 2.21 + 9.31 9.31 0.47 + 3.33 3.33 0.00 + 7.20 7.20 1.99 + 5.39 5.39 0.06 + 7.66 7.66 1.72 + 0.99 0.99 0.00 + 7.73 7.73 0.29 + 1.97 1.97 0.00 + 7.28 7.28 1.25 + 3.60 3.60 0.41 + 6.38 6.38 2.25 + 3.74 3.74 0.86 + 7.78 7.78 0.75 + 1.57 1.57 0.00 + 9.06 9.06 0.55 + 4.12 4.12 1.16 + 7.14 7.14 2.08 + 2.96 2.96 0.12 + 8.57 8.57 1.59 + 1.88 1.88 0.00 + 7.74 7.74 0.28 + 13.18 13.18 1.97 + 47.08 47.08 1.37 + 17.56 17.56 0.06 + 29.47 29.47 3.27 + 2.13 2.13 1.03 + 9.27 9.27 1.01 + 3.90 3.90 2.27 + 7.24 7.24 2.46 + 2.54 2.54 0.10 + 6.21 6.21 4.04 + 4.92 4.92 1.48 + 8.54 8.54 1.81 + 3.34 3.34 1.86 + 9.15 9.15 1.33 + 3.67 3.67 0.56 + 6.26 6.26 3.77 + 0.00 0.00 0.00 + 7.56 7.56 3.08 + 2.58 2.58 1.09 + 9.29 9.29 0.98 + 2.71 2.71 1.36 + 7.16 7.16 2.67 + 4.95 4.95 1.11 + 6.33 6.33 3.98 + 2.55 2.55 0.44 + 8.68 8.68 1.63 + 2.55 2.55 2.10 + 9.12 9.12 1.48 + 2.20 2.20 0.83 + 5.63 5.63 3.88 + 4.16 4.16 0.10 + 7.72 7.72 2.88 + 4.17 4.17 2.23 + 9.28 9.28 0.96 + 4.04 4.04 2.25 + 7.06 7.06 2.87 + 2.93 2.93 0.02 + 6.51 6.51 3.90 + 4.78 4.78 1.70 + 8.82 8.82 1.48 + 0.00 0.00 0.00 + 9.02 9.02 1.63 + 3.83 3.83 0.36 + 5.75 5.75 3.96 + 5.10 5.10 1.06 + 7.88 7.88 2.69 + 2.77 2.77 1.34 + 44.88 44.88 0.53 + 11.32 11.32 0.07 + 36.04 36.04 1.09 + 14.51 14.51 0.20 + 7.40 7.40 1.53 + 1.43 1.43 0.00 + 9.20 9.20 0.28 + 4.16 4.16 1.92 + 7.94 7.94 1.43 + 3.81 3.81 0.07 + 8.11 8.11 2.19 + 3.67 3.67 0.00 + 7.34 7.34 0.60 + 3.29 3.29 1.14 + 7.75 7.75 0.68 + 3.73 3.73 0.00 + 5.76 5.76 2.17 + 4.50 4.50 0.02 + 7.37 7.37 1.40 + 4.74 4.74 1.92 + 8.79 8.79 0.28 + 3.69 3.69 0.00 + 7.08 7.08 1.55 + 5.49 5.49 0.23 + 8.07 8.07 2.12 + 2.02 2.02 0.00 + 7.33 7.33 0.51 + 1.51 1.51 0.00 + 7.61 7.61 0.78 + 3.07 3.07 0.83 + 5.79 5.79 2.22 + 3.60 3.60 0.47 + 7.32 7.32 1.26 + 0.00 0.00 0.00 + 8.48 8.48 0.31 + 3.99 3.99 1.69 + 42.12 42.12 0.00 + 16.97 16.97 0.10 + 33.85 33.85 0.00 + 12.61 12.61 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 + 0.00 0.00 0.00 +sample_blocks: | + 2 2 0.00 0.00 0.00 + 2 18 0.00 0.00 0.00 + 2 34 0.00 0.00 0.00 + 2 50 0.00 0.00 0.00 + 2 66 0.00 0.00 0.00 + 2 82 0.00 0.00 0.00 + 2 98 0.00 0.00 0.00 + 2 114 0.00 0.00 0.00 + 2 130 0.00 0.00 0.00 + 2 146 0.00 0.00 0.00 + 2 162 0.00 0.00 0.00 + 2 178 0.00 0.00 0.00 + 2 194 0.00 0.00 0.00 + 18 2 0.00 0.00 0.00 + 18 18 0.00 0.00 0.00 + 18 34 0.00 0.00 0.00 + 18 50 0.00 0.00 0.00 + 18 66 0.00 0.00 0.00 + 18 82 0.00 0.00 0.00 + 18 98 0.00 0.00 0.00 + 18 114 0.00 0.00 0.00 + 18 130 0.00 0.00 0.00 + 18 146 0.00 0.00 0.00 + 18 162 0.00 0.00 0.00 + 18 178 0.00 0.00 0.00 + 18 194 0.00 0.00 0.00 + 34 2 0.00 0.00 0.00 + 34 18 0.00 0.00 0.00 + 34 34 0.00 0.00 0.00 + 34 50 0.00 0.00 0.00 + 34 66 0.00 0.00 0.00 + 34 82 0.00 0.00 0.00 + 34 98 0.00 0.00 0.00 + 34 114 0.00 0.00 0.00 + 34 130 56.67 56.67 37.33 + 34 146 0.00 0.00 0.00 + 34 162 0.00 0.00 0.00 + 34 178 0.00 0.00 0.00 + 34 194 0.00 0.00 0.00 + 50 2 0.00 0.00 0.00 + 50 18 0.00 0.00 0.00 + 50 34 0.00 0.00 0.00 + 50 50 0.00 0.00 0.00 + 50 66 0.00 0.00 0.00 + 50 82 0.00 0.00 0.00 + 50 98 0.00 0.00 0.00 + 50 114 0.00 0.00 0.00 + 50 130 0.00 0.00 0.00 + 50 146 0.00 0.00 0.00 + 50 162 10.78 10.78 0.00 + 50 178 0.00 0.00 0.00 + 50 194 0.00 0.00 0.00 + 66 2 0.00 0.00 0.00 + 66 18 0.00 0.00 0.00 + 66 34 0.00 0.00 0.00 + 66 50 0.00 0.00 0.00 + 66 66 0.00 0.00 0.00 + 66 82 0.00 0.00 0.00 + 66 98 56.67 56.67 33.67 + 66 114 0.00 0.00 0.00 + 66 130 22.89 22.89 0.00 + 66 146 0.00 0.00 0.00 + 66 162 10.78 10.78 0.00 + 66 178 0.00 0.00 0.00 + 66 194 0.00 0.00 0.00 + 82 2 0.00 0.00 0.00 + 82 18 0.00 0.00 0.00 + 82 34 0.00 0.00 0.00 + 82 50 0.00 0.00 0.00 + 82 66 0.00 0.00 0.00 + 82 82 0.00 0.00 0.00 + 82 98 0.00 0.00 0.00 + 82 114 0.00 0.00 0.00 + 82 130 0.00 0.00 0.00 + 82 146 0.00 0.00 0.00 + 82 162 10.78 10.78 0.00 + 82 178 0.00 0.00 0.00 + 82 194 0.00 0.00 0.00 + 98 2 0.00 0.00 0.00 + 98 18 0.00 0.00 0.00 + 98 34 0.00 0.00 0.00 + 98 50 0.00 0.00 0.00 + 98 66 0.00 0.00 0.00 + 98 82 0.00 0.00 0.00 + 98 98 0.00 0.00 0.00 + 98 114 0.00 0.00 0.00 + 98 130 0.00 0.00 0.00 + 98 146 0.00 0.00 0.00 + 98 162 10.78 10.78 0.00 + 98 178 0.00 0.00 0.00 + 98 194 0.00 0.00 0.00 + 114 2 0.00 0.00 0.00 + 114 18 0.00 0.00 0.00 + 114 34 0.00 0.00 0.00 + 114 50 0.00 0.00 0.00 + 114 66 0.00 0.00 0.00 + 114 82 0.00 0.00 0.00 + 114 98 0.00 0.00 0.00 + 114 114 0.00 0.00 0.00 + 114 130 0.00 0.00 0.00 + 114 146 0.00 0.00 0.00 + 114 162 10.78 10.78 0.00 + 114 178 0.00 0.00 0.00 + 114 194 0.00 0.00 0.00 + 130 2 0.00 0.00 0.00 + 130 18 0.00 0.00 0.00 + 130 34 0.00 0.00 0.00 + 130 50 0.00 0.00 0.00 + 130 66 24.33 24.33 0.00 + 130 82 0.00 0.00 0.00 + 130 98 66.22 66.22 22.89 + 130 114 0.00 0.00 0.00 + 130 130 0.00 0.00 0.00 + 130 146 0.00 0.00 0.00 + 130 162 10.78 10.78 0.00 + 130 178 0.00 0.00 0.00 + 130 194 0.00 0.00 0.00 + 146 2 0.00 0.00 0.00 + 146 18 0.00 0.00 0.00 + 146 34 0.00 0.00 0.00 + 146 50 60.78 60.78 0.00 + 146 66 0.00 0.00 0.00 + 146 82 0.00 0.00 0.00 + 146 98 0.00 0.00 0.00 + 146 114 0.00 0.00 0.00 + 146 130 0.00 0.00 0.00 + 146 146 8.67 8.67 0.00 + 146 162 10.78 10.78 0.00 + 146 178 0.00 0.00 0.00 + 146 194 0.00 0.00 0.00 + 162 2 0.00 0.00 0.00 + 162 18 0.00 0.00 0.00 + 162 34 0.00 0.00 0.00 + 162 50 0.00 0.00 0.00 + 162 66 75.33 75.33 17.89 + 162 82 0.00 0.00 0.00 + 162 98 0.00 0.00 0.00 + 162 114 0.00 0.00 0.00 + 162 130 0.00 0.00 0.00 + 162 146 19.33 19.33 0.00 + 162 162 0.00 0.00 0.00 + 162 178 0.00 0.00 0.00 + 162 194 0.00 0.00 0.00 + 178 2 0.00 0.00 0.00 + 178 18 0.00 0.00 0.00 + 178 34 0.00 0.00 0.00 + 178 50 0.00 0.00 0.00 + 178 66 0.00 0.00 0.00 + 178 82 0.00 0.00 0.00 + 178 98 0.00 0.00 0.00 + 178 114 16.11 16.11 0.00 + 178 130 0.00 0.00 0.00 + 178 146 0.00 0.00 0.00 + 178 162 0.00 0.00 0.00 + 178 178 0.00 0.00 0.00 + 178 194 0.00 0.00 0.00 + 194 2 0.00 0.00 0.00 + 194 18 0.00 0.00 0.00 + 194 34 0.00 0.00 0.00 + 194 50 0.00 0.00 0.00 + 194 66 0.00 0.00 0.00 + 194 82 0.00 0.00 0.00 + 194 98 0.00 0.00 0.00 + 194 114 0.00 0.00 0.00 + 194 130 0.00 0.00 0.00 + 194 146 0.00 0.00 0.00 + 194 162 0.00 0.00 0.00 + 194 178 0.00 0.00 0.00 + 194 194 0.00 0.00 0.00 +... diff --git a/unittest/graphics/tests/fix-graphics-arrows.yaml b/unittest/graphics/tests/fix-graphics-arrows.yaml new file mode 100644 index 00000000000..868284346a6 --- /dev/null +++ b/unittest/graphics/tests/fix-graphics-arrows.yaml @@ -0,0 +1,621 @@ +--- +lammps_version: 4 Jul 2026 +tags: graphics +date_generated: Thu Jul 9 13:32:19 2026 +epsilon_projection: 0.5 +epsilon_blocks: 2 +nprocs: 1 +prerequisites: | + atom full + pair lj/cut/coul/cut + bond zero + angle zero + fix graphics/arrows + fix graphics/objects + fix graphics/labels +setup_commands: | + units real + atom_style full + region box block -5 5 -5 5 -5 5 + create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 extra/special/per/atom 2 + mass 1 15.9994 + mass 2 1.008 + pair_style lj/cut/coul/cut 8.0 + pair_coeff 1 1 0.1553 3.166 + pair_coeff 2 2 0.0 1.0 + bond_style zero + bond_coeff 1 1.0 + angle_style zero + angle_coeff 1 109.47 + molecule water ${input_dir}/h2o.mol + create_atoms 0 random 30 34564 NULL mol water 25367 overlap 1.33 + velocity all create 300.0 5463576 + fix vel all graphics/arrows 1 velocity 50.0 0.066 autoscale 0.5 + compute dip all dipole + variable dip1x equal -0.66*c_dip[1] + variable dip1y equal -0.66*c_dip[2] + variable dip1z equal -0.66*c_dip[3] + variable dip2x equal 0.66*c_dip[1] + variable dip2y equal 0.66*c_dip[2] + variable dip2z equal 0.66*c_dip[3] + fix dipole all graphics/objects 1 arrow 1 v_dip1x v_dip1y v_dip1z v_dip2x v_dip2y v_dip2z 0.3 0.2 + fix label all graphics/labels 1 text "Dipole: $(c_dip:%8.3f) D" 100 30 0.0 size 16 backcolor darkgray + dump viz all image 1 ${imagefile} element type size 200 200 zoom 1.3 view 70 20 shiny 0.1 bond atom 0.2 box yes 0.025 fix dipole const 0 0 fix vel const 0 0 fix label const 1 0 + dump_modify viz backcolor gray element O H adiam 1 0.5 adiam 2 0.3 acolor 1 silver acolor 2 red fcolor vel cyan ftrans vel 0.5 fcolor dipole forestgreen +run_commands: | + run 0 +image_size: 200 200 +sampling: 3 16 +row_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.35 128.21 127.41 + 133.87 132.90 121.82 + 137.96 136.27 116.81 + 138.77 136.12 111.52 + 138.47 135.58 109.69 + 139.47 136.16 107.89 + 139.38 136.06 107.90 + 139.28 136.00 107.90 + 139.18 135.91 107.89 + 139.10 135.84 107.89 + 139.00 135.78 107.89 + 138.94 135.71 107.89 + 138.86 135.64 107.89 + 138.79 135.56 107.89 + 139.33 136.13 108.53 + 139.25 136.05 108.52 + 134.02 131.22 112.23 + 128.84 126.98 117.11 + 129.04 127.73 120.69 + 129.00 127.61 120.08 + 129.32 127.80 119.52 + 129.99 128.16 118.33 + 129.68 128.97 119.44 + 128.59 129.93 120.52 + 133.04 132.47 123.15 + 134.34 134.11 124.86 + 130.57 128.63 118.55 + 131.25 125.18 115.17 + 131.28 123.94 114.03 + 131.45 121.71 111.91 + 130.18 121.27 111.56 + 129.51 121.62 112.03 + 133.91 121.84 112.53 + 134.29 123.24 114.01 + 127.28 120.23 111.08 + 129.03 123.53 114.48 + 128.80 125.32 115.41 + 127.87 124.23 114.47 + 127.17 125.56 116.09 + 126.72 125.89 116.52 + 129.22 128.87 119.59 + 128.81 127.69 118.48 + 130.25 130.07 118.19 + 138.24 137.19 116.10 + 142.78 140.12 112.42 + 141.22 138.37 108.07 + 137.94 135.81 104.69 + 139.34 136.31 105.24 + 138.84 136.72 107.00 + 141.50 135.26 105.59 + 145.32 137.61 108.00 + 145.00 135.47 103.85 + 137.19 131.12 99.60 + 139.22 136.49 105.26 + 140.12 139.06 107.86 + 139.50 134.45 103.31 + 140.18 132.03 100.97 + 140.94 134.69 105.25 + 136.25 131.48 111.33 + 130.53 126.95 115.90 + 129.69 128.34 120.06 + 129.70 128.38 120.11 + 128.91 125.02 116.75 + 131.25 122.70 114.43 + 130.90 119.45 111.18 + 134.09 120.62 112.34 + 134.32 121.45 113.18 + 128.88 120.88 112.61 + 124.47 120.12 111.84 + 127.13 126.32 118.05 + 130.99 128.88 120.61 + 132.96 126.80 118.53 + 136.47 129.67 121.39 + 135.57 129.11 120.83 + 128.70 123.52 115.25 + 130.72 124.20 115.92 + 127.76 122.24 113.97 + 129.21 126.05 117.77 + 131.25 128.35 120.08 + 131.32 128.44 120.17 + 130.57 126.99 118.72 + 130.33 128.42 120.14 + 131.94 128.71 120.43 + 131.56 129.02 120.02 + 129.35 128.78 118.47 + 127.23 127.94 115.98 + 126.31 128.33 115.11 + 119.14 127.25 106.45 + 102.89 130.43 91.79 + 104.04 138.95 93.61 + 102.22 141.17 94.92 + 100.89 138.31 94.31 + 100.45 129.90 91.75 + 98.20 118.54 88.31 + 96.75 103.31 83.74 + 104.93 102.89 93.05 + 126.72 123.11 114.10 + 129.31 124.14 115.56 + 131.88 123.40 117.18 + 133.22 122.39 116.22 + 128.98 121.38 115.20 + 130.64 126.56 119.90 + 129.85 129.53 123.36 + 127.69 128.32 122.15 + 129.75 130.10 121.83 + 131.03 130.37 122.09 + 132.16 132.34 124.07 + 133.60 132.36 125.70 + 129.94 129.81 123.15 + 128.62 132.76 126.10 + 127.79 128.68 122.02 + 129.78 127.72 120.24 + 133.94 124.16 115.88 + 134.06 122.63 114.36 + 132.00 122.83 114.56 + 131.94 122.94 114.67 + 130.38 122.40 114.12 + 127.73 120.89 112.61 + 131.32 123.69 115.42 + 132.64 125.92 117.64 + 130.77 123.97 115.69 + 130.56 123.79 115.52 + 130.27 125.24 116.97 + 133.52 129.23 113.27 + 138.28 135.44 110.80 + 142.03 135.67 105.70 + 144.19 132.66 101.61 + 144.79 133.50 102.51 + 142.29 133.42 108.00 + 141.02 129.13 105.19 + 142.03 130.66 103.50 + 140.30 129.10 98.83 + 136.91 129.94 102.22 + 136.59 130.69 103.78 + 137.90 133.55 104.45 + 139.78 136.60 105.28 + 137.91 136.56 104.56 + 137.99 134.34 103.08 + 134.56 131.36 108.71 + 128.72 126.00 112.68 + 132.91 125.43 116.02 + 134.75 124.91 115.80 + 132.59 123.30 114.27 + 130.53 123.69 114.75 + 130.90 125.89 118.45 + 137.17 128.60 121.97 + 135.55 128.48 121.94 + 87.28 87.11 86.25 + 87.27 87.11 86.25 + 87.26 87.10 86.24 + 87.27 87.11 86.25 + 87.29 87.13 86.27 + 87.30 87.14 86.28 + 87.30 87.14 86.28 + 87.67 87.50 86.64 + 112.52 112.36 111.50 + 125.66 125.50 124.64 + 104.40 104.24 103.38 + 113.00 112.84 111.98 + 122.38 122.22 121.36 + 121.34 121.19 120.33 + 115.64 115.47 114.61 + 118.69 120.42 119.56 + 121.31 121.01 119.40 + 112.98 112.83 111.97 + 112.31 112.14 111.28 + 121.31 121.17 120.39 + 140.40 140.40 140.40 + 95.86 95.86 95.86 + 88.14 88.14 88.14 + 88.12 88.12 88.12 + 88.14 88.14 88.14 + 86.83 86.83 86.83 + 86.83 86.83 86.83 + 86.83 86.83 86.83 + 86.84 86.84 86.84 + 138.62 135.41 107.86 + 138.50 135.32 107.86 + 139.09 136.12 109.74 + 138.16 135.62 111.53 + 133.22 131.22 116.50 + 128.54 127.43 121.45 + 127.62 127.58 127.36 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +col_means: | + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 127.93 129.06 129.06 + 127.63 127.63 127.63 + 127.07 127.83 127.83 + 185.75 165.88 58.02 + 148.35 134.62 59.48 + 109.39 100.69 53.26 + 122.09 121.94 116.81 + 123.58 122.75 117.12 + 123.06 122.26 116.77 + 123.40 122.60 116.89 + 122.06 122.62 117.68 + 123.46 123.69 118.66 + 133.22 133.29 128.18 + 133.40 132.63 127.48 + 125.24 125.66 120.41 + 125.89 125.13 119.81 + 125.30 125.53 120.69 + 126.67 126.00 120.99 + 126.31 124.11 118.93 + 125.89 123.62 118.10 + 128.68 126.36 120.73 + 130.32 127.97 122.28 + 124.39 122.14 116.34 + 123.79 120.54 114.65 + 124.05 120.32 114.89 + 130.04 126.62 120.97 + 133.66 131.22 125.51 + 122.38 120.74 113.88 + 122.77 121.63 114.28 + 122.88 121.72 114.29 + 128.66 127.47 119.95 + 136.09 133.37 125.75 + 128.56 124.44 117.27 + 127.59 122.48 114.86 + 126.80 121.95 114.11 + 125.25 121.19 112.97 + 125.17 121.54 113.15 + 130.06 123.78 115.25 + 125.51 118.67 109.97 + 121.03 118.08 109.25 + 119.83 116.74 109.22 + 121.92 118.44 110.68 + 128.93 125.19 117.22 + 128.19 125.44 118.23 + 127.28 123.31 116.00 + 127.17 122.61 115.22 + 124.39 123.26 115.78 + 158.30 144.75 58.95 + 163.56 151.45 62.67 + 120.06 112.86 53.85 + 121.06 124.86 113.67 + 123.17 125.78 114.20 + 133.41 137.03 125.17 + 134.19 133.98 123.42 + 125.25 122.72 112.00 + 124.68 120.75 110.53 + 124.59 120.72 110.44 + 125.36 123.06 113.17 + 127.03 127.78 117.62 + 126.55 125.45 113.92 + 128.94 124.24 112.44 + 130.00 123.38 111.35 + 129.32 122.25 110.08 + 124.53 117.44 105.19 + 124.39 117.97 106.22 + 122.97 119.04 107.68 + 117.67 116.36 105.30 + 117.06 117.95 106.49 + 123.65 125.96 114.20 + 121.83 125.67 113.70 + 118.95 124.17 112.03 + 118.31 122.69 111.41 + 119.36 123.55 112.00 + 119.30 123.58 112.27 + 122.10 124.91 114.36 + 120.51 120.69 109.83 + 119.33 119.07 108.02 + 119.11 118.17 106.19 + 121.55 116.12 103.88 + 123.95 116.88 104.41 + 122.53 116.71 104.62 + 121.36 118.50 106.67 + 123.58 121.58 110.03 + 124.72 123.73 111.86 + 124.00 124.06 111.81 + 123.27 124.17 111.91 + 121.81 125.50 112.91 + 126.69 125.30 112.45 + 123.54 121.42 108.91 + 122.18 119.67 106.88 + 121.83 121.59 108.33 + 119.21 121.95 108.86 + 121.09 122.95 109.09 + 121.95 119.08 107.03 + 122.49 117.67 106.08 + 123.31 117.16 105.35 + 126.76 120.94 109.47 + 131.29 123.57 111.80 + 126.69 122.40 110.36 + 127.70 128.05 114.18 + 125.37 129.47 114.75 + 126.88 131.81 116.80 + 131.08 131.50 116.31 + 126.90 126.62 111.94 + 122.31 119.30 105.24 + 120.64 119.73 105.92 + 123.13 120.84 106.96 + 126.63 121.39 108.21 + 125.77 123.25 107.72 + 120.17 122.31 104.58 + 118.41 122.25 104.06 + 117.22 121.55 104.00 + 118.53 121.11 104.51 + 127.17 127.69 111.55 + 130.48 130.22 114.25 + 124.39 124.43 108.89 + 125.86 126.08 110.78 + 123.37 126.22 110.92 + 125.44 128.79 113.92 + 132.41 132.80 118.67 + 131.39 129.17 115.92 + 123.52 121.79 109.13 + 124.15 122.61 109.94 + 124.19 122.30 110.14 + 130.91 128.13 116.09 + 171.42 156.41 71.09 + 158.20 144.31 68.01 + 117.67 111.11 64.38 + 131.35 122.86 113.27 + 129.10 120.18 110.30 + 130.18 125.68 116.30 + 127.21 124.31 117.09 + 124.03 122.95 114.55 + 124.59 124.98 116.67 + 125.30 124.92 116.70 + 127.42 131.69 123.14 + 131.09 130.57 121.94 + 126.85 126.69 118.57 + 127.86 126.21 117.81 + 127.63 127.81 119.73 + 126.81 126.39 117.97 + 130.85 128.69 120.00 + 132.51 129.49 121.53 + 126.38 121.98 113.92 + 125.48 120.93 112.81 + 124.75 119.38 111.81 + 124.43 118.61 110.79 + 123.72 119.05 111.56 + 123.18 119.06 111.28 + 124.60 119.73 111.72 + 124.83 120.05 111.85 + 129.09 124.18 115.68 + 136.91 131.45 122.84 + 125.42 122.16 114.06 + 123.89 124.09 115.75 + 126.68 124.08 116.04 + 123.56 121.69 113.33 + 124.36 122.99 114.36 + 125.67 122.91 114.07 + 129.27 125.30 117.25 + 131.58 127.17 119.04 + 129.17 122.87 113.83 + 125.79 120.28 111.02 + 125.02 120.11 110.73 + 122.91 119.57 109.46 + 122.53 118.97 108.41 + 123.28 118.44 107.64 + 124.05 121.02 110.04 + 122.84 120.91 111.41 + 157.91 140.35 46.84 + 171.59 152.41 49.22 + 127.83 114.86 45.71 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 + 128.00 128.00 128.00 +sample_blocks: | + 2 2 128.00 128.00 128.00 + 2 18 128.00 128.00 128.00 + 2 34 128.00 128.00 128.00 + 2 50 128.00 128.00 128.00 + 2 66 128.00 128.00 128.00 + 2 82 128.00 128.00 128.00 + 2 98 128.00 128.00 128.00 + 2 114 128.00 128.00 128.00 + 2 130 128.00 128.00 128.00 + 2 146 128.00 128.00 128.00 + 2 162 128.00 128.00 128.00 + 2 178 128.00 128.00 128.00 + 2 194 128.00 128.00 128.00 + 18 2 128.00 128.00 128.00 + 18 18 128.00 128.00 128.00 + 18 34 128.00 128.00 128.00 + 18 50 163.67 145.67 47.78 + 18 66 128.00 128.00 128.00 + 18 82 128.00 128.00 128.00 + 18 98 128.00 128.00 128.00 + 18 114 135.89 128.33 88.67 + 18 130 220.00 203.44 16.78 + 18 146 170.33 167.00 91.78 + 18 162 128.00 128.00 128.00 + 18 178 128.00 128.00 128.00 + 18 194 128.00 128.00 128.00 + 34 2 128.00 128.00 128.00 + 34 18 128.00 128.00 128.00 + 34 34 158.56 136.78 19.67 + 34 50 128.00 128.00 128.00 + 34 66 128.00 128.00 128.00 + 34 82 128.00 128.00 128.00 + 34 98 163.56 163.56 163.56 + 34 114 128.89 128.89 128.89 + 34 130 128.00 128.00 128.00 + 34 146 157.89 157.89 157.89 + 34 162 128.00 128.00 128.00 + 34 178 128.00 128.00 128.00 + 34 194 128.00 128.00 128.00 + 50 2 128.00 128.00 128.00 + 50 18 220.89 200.89 14.00 + 50 34 128.00 128.00 128.00 + 50 50 128.00 128.00 128.00 + 50 66 128.00 128.00 128.00 + 50 82 128.00 128.00 128.00 + 50 98 128.00 128.00 128.00 + 50 114 128.00 128.00 128.00 + 50 130 128.00 128.00 128.00 + 50 146 128.00 128.00 128.00 + 50 162 128.00 128.00 128.00 + 50 178 128.00 128.00 128.00 + 50 194 128.00 128.00 128.00 + 66 2 128.00 128.00 128.00 + 66 18 136.00 122.00 47.00 + 66 34 128.00 128.00 128.00 + 66 50 128.00 128.00 128.00 + 66 66 128.00 128.00 128.00 + 66 82 128.00 128.00 128.00 + 66 98 128.00 128.00 128.00 + 66 114 115.67 115.33 113.78 + 66 130 183.56 172.33 40.78 + 66 146 152.67 152.67 152.67 + 66 162 128.00 128.00 128.00 + 66 178 128.00 128.00 128.00 + 66 194 128.00 128.00 128.00 + 82 2 128.00 128.00 128.00 + 82 18 136.00 122.00 47.00 + 82 34 128.00 128.00 128.00 + 82 50 128.00 128.00 128.00 + 82 66 128.00 128.00 128.00 + 82 82 128.00 128.00 128.00 + 82 98 129.78 118.44 118.44 + 82 114 113.11 113.11 113.11 + 82 130 128.00 128.00 128.00 + 82 146 128.00 128.00 128.00 + 82 162 128.00 128.00 128.00 + 82 178 128.00 128.00 128.00 + 82 194 128.00 128.00 128.00 + 98 2 128.00 128.00 128.00 + 98 18 136.00 122.00 47.00 + 98 34 128.00 128.00 128.00 + 98 50 128.00 128.00 128.00 + 98 66 89.44 111.00 49.56 + 98 82 57.11 167.89 57.11 + 98 98 57.11 166.78 57.11 + 98 114 56.33 163.89 56.33 + 98 130 50.44 149.67 50.44 + 98 146 128.00 128.00 128.00 + 98 162 128.00 128.00 128.00 + 98 178 128.00 128.00 128.00 + 98 194 128.00 128.00 128.00 + 114 2 128.00 128.00 128.00 + 114 18 123.89 123.11 48.11 + 114 34 128.00 128.00 128.00 + 114 50 128.00 128.00 128.00 + 114 66 128.00 128.00 128.00 + 114 82 131.00 131.00 131.00 + 114 98 128.00 128.00 128.00 + 114 114 128.00 128.00 128.00 + 114 130 128.00 128.00 128.00 + 114 146 128.00 128.00 128.00 + 114 162 128.00 128.00 128.00 + 114 178 128.00 128.00 128.00 + 114 194 128.00 128.00 128.00 + 130 2 128.00 128.00 128.00 + 130 18 136.00 122.00 47.00 + 130 34 128.00 128.00 128.00 + 130 50 128.00 128.00 128.00 + 130 66 170.00 161.56 91.00 + 130 82 115.44 115.44 115.44 + 130 98 128.00 128.00 128.00 + 130 114 128.00 128.00 128.00 + 130 130 128.00 128.00 128.00 + 130 146 128.00 128.00 128.00 + 130 162 128.00 128.00 128.00 + 130 178 128.00 128.00 128.00 + 130 194 128.00 128.00 128.00 + 146 2 128.00 128.00 128.00 + 146 18 136.00 122.00 47.00 + 146 34 128.00 128.00 128.00 + 146 50 121.78 120.56 113.78 + 146 66 128.00 128.00 128.00 + 146 82 111.67 111.67 111.67 + 146 98 128.00 128.00 128.00 + 146 114 101.78 106.56 106.56 + 146 130 128.00 128.00 128.00 + 146 146 113.78 119.44 119.44 + 146 162 144.44 135.78 89.56 + 146 178 228.44 210.00 17.11 + 146 194 128.00 128.00 128.00 + 162 2 128.00 128.00 128.00 + 162 18 79.00 79.00 79.00 + 162 34 79.00 79.00 79.00 + 162 50 79.00 79.00 79.00 + 162 66 121.00 121.00 121.00 + 162 82 79.00 79.00 79.00 + 162 98 79.00 79.00 79.00 + 162 114 137.67 137.67 137.67 + 162 130 119.11 119.11 119.11 + 162 146 79.00 79.00 79.00 + 162 162 79.00 79.00 79.00 + 162 178 79.00 79.00 79.00 + 162 194 128.00 128.00 128.00 + 178 2 128.00 128.00 128.00 + 178 18 79.00 79.00 79.00 + 178 34 79.00 79.00 79.00 + 178 50 79.00 79.00 79.00 + 178 66 78.89 78.89 78.89 + 178 82 79.00 79.00 79.00 + 178 98 79.00 79.00 79.00 + 178 114 79.00 79.00 79.00 + 178 130 79.00 79.00 79.00 + 178 146 79.00 79.00 79.00 + 178 162 79.00 79.00 79.00 + 178 178 78.89 78.89 78.89 + 178 194 128.00 128.00 128.00 + 194 2 128.00 128.00 128.00 + 194 18 128.00 128.00 128.00 + 194 34 128.00 128.00 128.00 + 194 50 128.00 128.00 128.00 + 194 66 128.00 128.00 128.00 + 194 82 128.00 128.00 128.00 + 194 98 128.00 128.00 128.00 + 194 114 128.00 128.00 128.00 + 194 130 128.00 128.00 128.00 + 194 146 128.00 128.00 128.00 + 194 162 128.00 128.00 128.00 + 194 178 128.00 128.00 128.00 + 194 194 128.00 128.00 128.00 +... diff --git a/unittest/graphics/tests/h2o.mol b/unittest/graphics/tests/h2o.mol new file mode 100644 index 00000000000..97a31de69dc --- /dev/null +++ b/unittest/graphics/tests/h2o.mol @@ -0,0 +1,62 @@ +# Water molecule. SPC/E + +3 atoms +2 bonds +1 angles + +Coords + +1 1.12456 0.09298 1.27452 +2 1.53683 0.75606 1.89928 +3 0.49482 0.56390 0.65678 + +Types + +1 1 +2 2 +3 2 + +Charges + +1 -0.8472 +2 0.4236 +3 0.4236 + +Bonds + +1 1 1 2 +2 1 1 3 + +Angles + +1 1 2 1 3 + +Shake Flags + +1 1 +2 1 +3 1 + +Shake Atoms + +1 1 2 3 +2 1 2 3 +3 1 2 3 + +Shake Bond Types + +1 1 1 1 +2 1 1 1 +3 1 1 1 + +Special Bond Counts + +1 2 0 0 +2 1 1 0 +3 1 1 0 + +Special Bonds + +1 2 3 +2 1 3 +3 1 2