Description
...or DIMensional analysis With unITS is a C++14 library for compile-time dimensional analysis and unit awareness.
Dimwits alternatives and similar libraries
Based on the "Scientific Computing" category.
Alternatively, view Dimwits alternatives based on common mentions on social networks and blogs.
-
FFTW
DO NOT CHECK OUT THESE FILES FROM GITHUB UNLESS YOU KNOW WHAT YOU ARE DOING. (See below.) -
Kratos Multiphysics
Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface. -
preCICE
A coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations. -
HELICS
Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS) -
Units
A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements -
itpp
IT++ library mirror/fork. C++ library of mathematical, signal processing and communication classes and functions. -
suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework -
Blitz++
Git mirror of Blitz++ at http://sourceforge.net/projects/blitz/
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Dimwits or a related project?
Popular Comparisons
README
Dimwits
...or DIMensional analysis With unITS is a C++14 library for compile-time dimensional analysis and unit awareness.
Minimal Example
#include <iostream>
#include "dimwits.hpp"
using namespace dimwits;
int main(){
/* quantities play nicely with auto */
auto myVelocity = 1.0 * meter / second;
std::cout << "The speed is: " << myVelocity << std::endl;
/* quantities are constexpr friendly */
constexpr Quantity< Inch > myLength = 1.0 * meter;
std::cout << "1 meter in inches is: " << myLength << std::endl;
/* quantities of the same dimensionality can be implicitly converted
* (conversions are also constexpr friendly) */
constexpr Quantity< Foot > otherLength = myLength;
std::cout << "1 meter in feet is: " << otherLength << std::endl;
/* si-prefixes can be specified on either side of the assignment */
Quantity< Kilo<Gram> > myMass = 1.0 * mega(tonne);
std::cout << "1 megatonne in kilograms is: " << myMass << std::endl;
/* NIST values for common physical constants are provided */
std::cout << "The speed of light is: " << constant::lightSpeed << std::endl;
}
This example has the following output:
The speed is: 1 s^-1 m
1 meter in inches is: 39.3701 in
1 meter in feet is: 3.28084 ft
1 megatonne in kilograms is: 1e+09 kg
The speed of light is: 2.99792e+08 s^-1 m