Expand description

Calcify

A crate for 3-D and 4-D vector and matrix algebra, conceived for use in physics simulations. Builds out from a basic ThreeVec struct including most commonly used operations built in. Includes physics constants, 3 and 4-D vectors and matrices and many associated operations, collections, histograms, and output trees, which are serialized in json or MessagePack.

ICalcify

Python command line utility and module for analyzing Tree files.

Check it out here!

Modules

consts module

Errors module

File IO

Structs

A histogram is a Collection of Bins

Branch

A wrapper around the std::vec::vec

Tree of Collections of only a single type, which impl the Feed trait for added functionality

Four Matrix

Four Vector

Point, or Two Vector, depending on your perspective. A plot is a Collection of Points

A 2D histogram is a Collection of PointBins

Three dimensional scalar field

Three Matrix

Three Vector

Three dimensional vector field

Tree of Collections for saving to a file.

Enums

Variants of S space-time invariant

Traits

Deserialization trait which all types you intend to get out of a Tree need to implement. Really only designed to work with data that was serialized with the Calcify::Serializable trait and will not work on arbitrarily modified tree files

Serialization trait which all types you intend to put in a Tree need to implement.

Functions

Beta factor, |v| over the speed pf light in a vacuum, in SI.

Returns a FourVec, inside a Result, boosted into a frame of arbitrary velocity v.

Return the angle between two vectors in degrees

Gamma, the lorentz factor, in SI.

Return the angle between two vectors in radians