Skip to main content

convert units using Froude and Reynolds similitude

Project description

scaling

Convert quantities between model and prototype scale using Froude and Reynolds similitude.

Installation

pip install scaling

Usage

>>> from scaling import FroudeConverter
>>> froude = FroudeConverter()

>>> # Convert model value of 200 mm to prototype value (m) with scale of 10
>>> froude.model_to_proto(200, length_scale=10, input_unit='mm', target_unit='m')
2.0

>>> # Get Froude scaling exponent for quantities of time
>>> froude.scaling_exponent('s')
0.5

>>> # Get length, mass and time dimensions for quantities of energy
>>> froude.dimensions('kJ')
'L^2 M^1 T^-2'

Dataframes are also accepted, and specific units can be specified for the values in the index.

>>> T = 2
>>> H = 100

>>> # Generate regular waves with height=100mm, and period=2s
>>> t = np.arange(0, 10.1, 0.1)
>>> eta = 0.5 * H * np.sin(t * 2 * np.pi / T)

>>> df_model = pd.DataFrame(index=t, data=eta)
>>> df_model.columns = ['$\eta$ (mm)']
>>> df_model.index.name = 'Time (s)'

>>> df_model.plot()

model

>>> # Convert to prototype dimensions, with length scale=25
>>> df_proto = froude.model_to_proto(
        df_model,
        length_scale=25,
        input_unit='mm',
        target_unit='m',
        index_input_unit='s',
        index_target_unit='s')

>>> df_proto.columns = ['$\eta$ (m)']
>>> df_proto.plot()

proto

scaling uses pint for unit and dimension conversions. pint is able to interpret a wide range of different input units.

>>> # Convert water head model value (mm) to prototype pressure value (kPa)
>>> froude.model_to_proto(10, length_scale=100, 'mm.H20', 'kPa')
9.80665

>>> # Demonstrate different ways of specifying units of newtons
>>> froude.dimensions('N')
'L^1 M^1 T^-2'
>>> froude.dimensions('newton')
'L^1 M^1 T^-2'
>>> froude.dimensions('kg.m/s/s')
'L^1 M^1 T^-2'
>>> froude.dimensions('kilogram.metre/second^2')
'L^1 M^1 T^-2'

Froude scaling reference

Quantity Dimensions Scaling exponent
Length L^1 λ^1
Mass M^1 λ^3
Time T^1 λ^0.5
Velocity L^1 T^-1 λ^0.5
Acceleration L^1 T^-2 λ^0
Force L^1 M^1 T^-2 λ^3
Pressure L^-1 M^1 T^-2 λ^1
Overtopping L^2 T^-1 λ^1.5

Reynolds scaling reference

Quantity Dimensions Scaling exponent
Length L^1 λ^1
Mass M^1 λ^3
Time T^1 λ^2
Velocity L^1 T^-1 λ^-1
Acceleration L^1 T^-2 λ^-3
Force L^1 M^1 T^-2 λ^0
Pressure L^-1 M^1 T^-2 λ^-2
Overtopping L^2 T^-1 λ^0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scaling-0.2.3.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

scaling-0.2.3-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file scaling-0.2.3.tar.gz.

File metadata

  • Download URL: scaling-0.2.3.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for scaling-0.2.3.tar.gz
Algorithm Hash digest
SHA256 987af0e25637ab0bd708326fa251e19a97e3b4224119fbb02cf7f81d082ef144
MD5 4dad3bdaeefa51958f2045fcf2090199
BLAKE2b-256 7d2b592a67406a94c56ef39989a3158bb96c72416f54413deecb6f2a17f15f34

See more details on using hashes here.

File details

Details for the file scaling-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: scaling-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 3.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for scaling-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4657132a0f12a1fdcb0df3ed19a37cae104e56dce817c4b3f81a252d545db6c6
MD5 49450cdfe0c19660aa153873db679788
BLAKE2b-256 d521d480aae4ef69eb5057a2365106abe5792e740a1b72d21a9219041faa0cc7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page