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.
Added a compact json format to Serialization as to_jsonc()
, which is array intensive, instead to object intensive. Also added binary Serialization to MessagePack using the rmp crate as to_msg()
. The format is like jsonc, not json. The on disk savings of jsonc over json can be ~20%, and the savings for msg over json can be ~63%.
Now includes example of a many body simulation "universeina_box" use cargo run --example universe_in_a_box
This could take several seconds.
Branches can now be extracted from Trees, but this is not an ideal process. Trees should still be seen as containers for output only.
All physics constants are exported in the top in SI units. To retrieve them in Planck or natural units call calcify::Consts::planck() or calcify::Consts::natural().
FourMat::lambda() has been replaced by fn boost(initial: FourVec, v: ThreeVec). The math has been changed.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.