Dimensionless is a package built on top of Unitful.jl. It contains tools to conduct dimensional analysis and solve similitude problems based on the Buckingham Π theorem.

Install the package using Julia's package manager:

`pkg> add Dimensionless`

Currently, Unitful's functionality is not exported from Dimensionless. To use Dimensionless, Unitful should be imported as well:

`julia> using Dimensionless, Unitful`

The main functionality of this package is to find and make use of bases made of problem-specific variables and their units. Such bases can then be used to transform additional variables that describe a physical problem to corresponding dimensionless values and back to a dimensional form.

For example, if a problem is, among other variables, characterized by a mass `m = 15 kg`

, a length `L = 75 cm`

, and the gravitational constant `g = 9.81 m/s^2`

, a corresponding basis for the problem can be calculated:

```
julia> using Dimensionless, Unitful
julia> basis = DimBasis("m"=>15u"kg", "L"=>75u"cm", "g"=>9.81u"m/s^2")
DimBasis{...}
```

This basis can now be used to coherently tranform any variable within the spanned space of this basis to a dimensionless value and back to a dimensional value again:

```
julia> p_dimless = dimless(0.2u"bar", basis)
76.45259938837918
julia> p_dimful = dimful(p_dimless, u"bar", basis)
0.2 bar
```

This procedure enables reducing the number of simulations or experiments as well as streamlining problem formulations. A full examplary use case can be found in the documentation.