Electrum

A Julian toolkit for solid-state chemical theory.

https://github.com/brainandforce/electrum.jl

Science Score: 44.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
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A Julian toolkit for solid-state chemical theory.

Basic Info
  • Host: GitHub
  • Owner: brainandforce
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 2.94 MB
Statistics
  • Stars: 31
  • Watchers: 3
  • Forks: 0
  • Open Issues: 10
  • Releases: 19
Created about 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Electrum.jl

Documentation (stable) Documentation (dev) CI status Codecov Aqua.jl

A Julia package for working with crystal structures, associated data, and various file formats, with the aim of making theory development for solid state chemistry and materials science easier for everyone.

This package is written in pure Julia with minimal dependencies, so instead of pulling operations from established packages in other languages (such as scipy) they are implemented in this package. We hope that Electrum.jl can serve as a reference for both useful operations on crystal structures and well-maintained scientific software.

How to install

Electrum.jl is available in the Julia General package registry! You can add it to your environment with the add command in package mode: (@v1.6+) pkg> add https://github.com/brainandforce/Electrum.jl Or you can import the Pkg module: julia-repl julia> Pkg.add("Electrum") If you'd like to track a specific on this repository for development purposes, you can refer to the repo URL and tag it with the desired branch name (here, I've used release): (@v1.6+) pkg> add https://github.com/brainandforce/Electrum.jl#release julia-repl julia> Pkg.add(url="https://github.com/brainandforce/Electrum.jl", rev="release") The current development state is kept in the main branch, and the most recent stable version is the head of the release branch. Specific releases for a minor version may be found by suffixing the minor version with /release: for instance, 0.1/release contains the latest release version in the 0.1 series.

Electrum.jl is tested against the most recent LTS release (currently 1.6.7) and the current stable release. Julia 1.5 and earlier are not supported.

Current features

  • Reading of common file formats:
    • abinit potential, density, and wavefunction outputs: tested on versions 7.10.5, 8.10.3, and 9.10.1 (current version as of last update)
    • LAMMPS atomic position data: tested on 3 November 2022 release
    • VASP POSCAR/CONTCAR, WAVECAR, DOSCAR, and PROCAR: tested on version 4.6
    • XCrysDen XSF: tested against the official specification
    • XYZ files
    • CPpackage outputs: tested against the release version of CPpackage3
  • Writing of common file formats:
    • LAMMPS atomic position data
    • XCrysDen XSF
    • XYZ files
    • VASP POSCAR/CONTCAR
    • TOML files
  • Operations on datagrids:
    • Standard arithmetic operations: addition, subtraction, multiplication, division, negation...
    • Broadcasting of any Julia operation with dot syntax
    • FFTs and inverse FFTs on real and reciprocal space data
    • Real space gradients

Planned features

This project is just starting to get off the ground, but here's what we have planned:

  • Reading and writing of common file formats:
    • XTL files
    • CIF files
  • Manipulation of data grids associated with crystal structures
    • Real space grid reinterpolation
  • Other operations
    • Working with crystal symmetry
    • Converting k-point meshes to symmetry-reduced lists of weighted k-points
  • Integration with AtomsBase.jl

...and more that we will decide in time! If you'd like to contibute, be sure to read the included contributing guidelines.

Packages which use Electrum.jl

If your package uses Electrum.jl, we'd like to know about it - open an issue or a pull request with changes to the list of packages we know depend on Electrum.jl given below: - DFT-raMO (not currently available in the Julia package registry)

Owner

  • Name: Brandon Flores
  • Login: brainandforce
  • Kind: user
  • Location: Madison, WI

Chemist in the Fredrickson Group at UW-Madison

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Electrum.jl
message: >-
  This software is MIT licensed, which means that
  citation is not required to use this package in
  research. However, citations are always greatly
  appreciated!
type: software
authors:
  - given-names: Brandon
    family-names: Flores
    email: bsflores@wisc.edu
    affiliation: University of Wisconsin-Madison
    orcid: 'https://orcid.org/0000-0003-0816-4491'
  - given-names: Amber
    family-names: Lim
    email: xalim@wisc.edu
    affiliation: University of Wisconsin-Madison
    orcid: 'https://orcid.org/0000-0001-9893-1740'
  - given-names: Patrick
    family-names: Cross
    email: pcross@wisc.edu
    affiliation: University of Wisconsin-Madison
    orcid: 'https://orcid.org/0000-0002-4064-4033'
identifiers:
  - type: other
    value: b7bf5f09-dce4-461b-b741-5180c76f4cfe
    description: Julia package UUID
repository-code: 'https://github.com/brainandforce/Electrum.jl'
url: 'https://github.com/brainandforce/Electrum.jl'
repository: 'https://github.com/brainandforce/Electrum.jl'
abstract: >-
  A Julia library for working with crystal structures
  and associated data with the goal of making theory
  development easier.
keywords:
  - crystallography
  - computational chemistry
license: MIT

GitHub Events

Total
Last Year

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 19
juliahub.com: Electrum

A Julian toolkit for solid-state chemical theory.

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.8%
Stargazers count: 31.8%
Average: 33.7%
Dependent packages count: 38.4%
Forks count: 54.7%
Last synced: 7 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v1 composite
  • actions/checkout v3 composite
  • codecov/codecov-action v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/documentation.yml actions
  • actions/checkout v3 composite
  • julia-actions/setup-julia v1 composite