YetAnotherSimulationSuite.jl: An Atomic Simulation Suite in Julia

YetAnotherSimulationSuite.jl: An Atomic Simulation Suite in Julia - Published in JOSS (2025)

https://github.com/cavenfish/yetanothersimulationsuite.jl

Science Score: 87.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

chemistry julia molecular-dynamics molecular-simulation physical-chemistry simulation-environment
Last synced: 2 months ago · JSON representation

Repository

YetAnotherSimulationSuite.jl (YASS). A simulation suite for atomic simulations in Julia.

Basic Info
Statistics
  • Stars: 8
  • Watchers: 2
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Topics
chemistry julia molecular-dynamics molecular-simulation physical-chemistry simulation-environment
Created almost 3 years ago · Last pushed 2 months ago
Metadata Files
Readme License

README.md

Logo

YetAnotherSimulationSuite.jl (YASS)

YASS is a modern, flexible atomic simulation suite written in Julia. It aims to provide:

  • 🎯 Simple, and intuitive API
  • ⚡ High performance native Julia implementation
  • 🔧 Easy extensibility for custom methods
  • 📦 Built-in potentials and analysis tools

Quick Start

```julia using YetAnotherSimulationSuite

Read molecule

water = readSystem("water.xyz")

Run 10ps NVE simulation

traj = run(TIP4Pf(), water, (0.0, 10.0ps), 1.0fs, NVE())

Analyze results

energies = [img.energy for img in traj.images] temperatures = [img.temp for img in traj.images] ```

Features

  • 🧪 Multiple molecular dynamics ensembles (NVE, NVT)
  • 🔬 Built-in analysis tools (RDF, VACF)
  • ⚛️ Geometry and cell optimizations
  • 📊 Common water models (TIP4P/2005f, SPC-F)
  • 💻 Easy-to-extend architecture
  • 🚄 High performance through Julia's native speed
  • 📝 Comprehensive documentation

Installation

pkg> add YetAnotherSimulationSuite

Performance

Julia often delivers substantial performance gains over Python for numerical and scientific code because it is JIT‑compiled, type‑stable, and generates native LLVM code, so well‑written Julia can approach C/Fortran speeds. However, that speed comes with trade‑offs: just‑in‑time compilation (and package precompilation) introduces startup latency, and Julia’s compilation artifacts and runtime can consume more memory than lightweight Python interpreters. In practice, Julia is most advantageous for long‑running, compute‑intensive workflows; for short scripts or very memory‑constrained environments you should weigh the startup and memory overheads or use precompilation strategies to mitigate them.

A benchmark comparing YASS to other similar packages can be found in the documentation.

Memory Considerations

Currently, YASS has a roughly 1 GB memory overhead due to dependencies, buffer allocations, and compilation artifacts. This overhead is typical for Julia packages with similar functionality, but may be significant for users with limited memory resources. This overhead is static and does not scale with system size, so larger simulations will see a smaller relative impact. Future optimizations may reduce this overhead.

A few examples of memory usage for different system sizes can be found in the documentation.

Contributing

We welcome contributions! Whether it's:

  • 🐛 Bug fixes
  • ✨ New features
  • 📚 Documentation improvements
  • 🧪 Additional test cases

If you find YASS useful or just want to show support, please consider starring the repository!

Development Status

Here's what we're working on:

Upcoming Features

  • [ ] NPT ensemble simulations
  • [ ] Anharmonic vibrational analysis
  • [ ] Path integral molecular dynamics (PIMD)
  • [ ] Additional analysis tools

License

YASS is MIT licensed. See LICENSE for details.

Citation

If you use YASS in your research, please cite:

bibtex @misc{yass2023, author = {Brian C. Ferrari}, title = {YetAnotherSimulationSuite.jl}, year = {2023}, publisher = {GitHub}, url = {https://github.com/Cavenfish/YetAnotherSimulationSuite.jl} }

JOSS Publication

YetAnotherSimulationSuite.jl: An Atomic Simulation Suite in Julia
Published
December 19, 2025
Volume 10, Issue 116, Page 9480
Authors
Brian C. Ferrari ORCID
Leiden Institute of Chemistry, Leiden University, Leiden 2300 RA, The Netherlands
Editor
Andrew Walker ORCID
Tags
Atomic Simulations Molecular Dynamics

GitHub Events

Total
  • Create event: 2
  • Commit comment event: 3
  • Issues event: 1
  • Release event: 2
  • Watch event: 3
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 28
  • Fork event: 1
Last Year
  • Create event: 2
  • Commit comment event: 3
  • Issues event: 1
  • Release event: 2
  • Watch event: 3
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 28
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 738
  • Total Committers: 4
  • Avg Commits per committer: 184.5
  • Development Distribution Score (DDS): 0.43
Past Year
  • Commits: 407
  • Committers: 4
  • Avg Commits per committer: 101.75
  • Development Distribution Score (DDS): 0.337
Top Committers
Name Email Commits
Brian C. Ferrari f****6@g****m 421
Brian C. Ferrari 4****h@u****m 270
Brian C. Ferrari b****i@s****m 45
CompatHelper Julia c****y@j****g 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 3 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: less than a minute
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: less than a minute
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JuliaTagBot (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
juliahub.com: YetAnotherSimulationSuite

YetAnotherSimulationSuite.jl (YASS). A simulation suite for atomic simulations in Julia.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 8.1%
Dependent packages count: 34.7%
Average: 41.0%
Downloads: 42.2%
Forks count: 53.7%
Stargazers count: 66.2%
Last synced: 3 months ago