vita-core 0.1.0

Zero-dependency primitives for atomistic and molecular computation.
Documentation
  • Coverage
  • 99.67%
    299 out of 300 items documented0 out of 0 items with examples
  • Size
  • Source code size: 433.84 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 11.16 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 3s Average build duration of successful builds.
  • all releases: 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • vita-rs/vita
    1 0 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • TKanX

Vita Core (vita-core)

The questions a physical system can answer, not the structures that store the answers.

Overview

vita-core is a zero-dependency vocabulary for atomistic and molecular computation.

layer what it provides
primitives Element, Isotope, SiteId, … — what is at each site
linear algebra Scalar, Point3, Vector3, Matrix3 — abstract 3‑D math
capability HasSites, HasPositions, HasElements, … — questions a system can answer
dimensions 20 physical dimension modules, each with a Quantity<V, U> newtype — no unit confusion

A system is never a concrete type in this crate. Everything is a trait bound — code declares the capabilities it needs and stays blind to the storage behind them:

use vita_core::prelude::*;

fn center_of_mass<M>(m: &M) -> Point3<Length<f64, Angstrom>>
where
    M: HasSites + HasPositions<f64> + HasMasses<f64>,
{
    // ...
}

Installation

[dependencies]
vita-core = "0.1.0"

Documentation

The documentation for vita-core is available at docs.rs/vita-core.