TRExMC

A Julia package for simulating statistical mechanics with massively-parallel Monte Carlo methods.

https://github.com/meese-wj/trexmc.jl

Science Score: 31.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A Julia package for simulating statistical mechanics with massively-parallel Monte Carlo methods.

Basic Info
  • Host: GitHub
  • Owner: meese-wj
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Size: 350 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 4
Created almost 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

TRExMC.jl

Thermodynamics via Replica-Exchange Monte Carlo

Stable Dev Build Status Coverage

A Julia package for simulating statistical mechanics with massively-parallel Monte Carlo methods.

This package is currently under development. I hope to have it up and running soon. Stay tuned for details.

Package Motivation

The goal for this package is to provide a relatively simple Julian API for simulating thermodynamical quantities in statistical mechanics with Monte Carlo methods. As the title implies, the methods of interest focus on replica-exchange, or massively-parallel simulation of systems that occasionally swap information for mutually faster convergence.

With this said, a helpful user interface is important for usability and ultimately reproducibility of scientific results. We therefore place some constraints on how one can actually access the high-performance code. Luckily, the Julia type system with multiple-dispatch can do this for us.

Package Organization

In our view, any Monte Carlo simulation can be disected into a set of interacting black boxes. These include

  1. Parameters: the data structures that act as experimental knobs with which one tunes a simulation.
  2. Models: the data structure that contains all relevant information for the system being simulated. The models encapsulate the following data structures:
    1. Lattices: the underlying geometry in which a system evolves during a simulation.
    2. Hamiltonians: the data structure that contains all of a system's degrees of freedom and how they interact amongst themselves. (In many ways this defines the system itself.)
    3. Observables: the thermodynamic quantities to be sampled during the Monte Carlo simulation.
  3. Algorithms: the Monte Carlo methods used to define individual time-steps in the simulation. These also update the system itself.
  4. Simulations: the set of main functions that actually perform a simulation.

Each of these pieces are defined through a series of methods and types whose implementations are independent. Because of this, each of these pieces are separated as submodules (in the Julian sense). We also deliberately choose to trap the exported names from these submodules within TRExMC. This reduces the amount of clutter in the namespace, even though I admit that needing to write things, like Hamiltonians.BasicIsing may get annoying at times. 🙃

Citing

When the time comes...

Eventually, my goal is to publish on this repo, but right now I don't have squat for it. The infrastructure was put into place by PkgTemplates.jl for me though.

See CITATION.bib for the relevant reference(s).

Owner

  • Name: W. Joe Meese
  • Login: meese-wj
  • Kind: user
  • Location: Minneapolis, MN
  • Company: University of Minnesota -- Twin Cities

I'm a PhD Candidate in Theoretical Condensed Matter Physics. I'm interested in using Monte Carlo methods to study emergent behavior in quantum materials.

Citation (CITATION.bib)

@misc{TRExMC.jl,
	author  = {W. Joe Meese <meese022@umn.edu> and contributors},
	title   = {TRExMC.jl},
	url     = {https://github.com/meese-wj/TRExMC.jl},
	version = {v1.0.0-DEV},
	year    = {2023},
	month   = {8}
}

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: over 1 year 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: 4.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 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: 4
juliahub.com: TRExMC

A Julia package for simulating statistical mechanics with massively-parallel Monte Carlo methods.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 10.1%
Dependent packages count: 37.9%
Average: 44.3%
Forks count: 54.4%
Stargazers count: 74.9%
Last synced: 10 months ago