GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • WOLFRAM
  • Products
  • AI AccessUse with Mathematica and Wolfram|One
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App
  • Wolfram|Alpha Website
  • Wolfram|Alpha APIs
  • Wolfram AI Ecosystem

This view

  • Original page
  • New address

GeezerVison is showing reference.wolfram.com — NondimensionalizationTransform—Wolfram Documentation

NondimensionalizationTransform[eq,ovars,fvars]

nondimensionalizes eq, replacing original variables ovars with the variables fvars.

NondimensionalizationTransform[eq,ovars,fvars,prop]

returns a property associated with the nondimensionalization of eq.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
GeneratedParameters  
GeneratedQuantityMagnitudes  
IncludeQuantities  
UnitSystem  
Applications  
Properties & Relations  
Possible Issues  
Neat Examples  
See Also
Related Guides
History
Cite this Page

NondimensionalizationTransform

NondimensionalizationTransform[eq,ovars,fvars]

nondimensionalizes eq, replacing original variables ovars with the variables fvars.

NondimensionalizationTransform[eq,ovars,fvars,prop]

returns a property associated with the nondimensionalization of eq.

Details and Options

  • eq is an equation or differential equation constructed of Quantity and QuantityVariable objects or a list of such expressions.
  • ovars is a list of QuantityVariable objects present in eq.
  • fvars is a list of replacement variables for ovar.
  • In addition to the nondimensionalized equation, NondimensionalizationTransform can supply the rules for the "forward" transformation from the dimensional form to the nondimensional form and the "reverse" transformation from the new nondimensional form back to the original equation.
  • NondimensionalizationTransform supports the following properties:
  • "DimensionalizationMultipliers"Association of multipliers for the reverse transformation
    "DimensionalizationRules"list of rules for reversing the transformation
    "NondimensionalizationMultipliers"Association of multipliers for the transformed variables
    "NondimensionalizationRules"list of rules for nondimensionalizing the equation
    "ReducedForm"the nondimensionalized equation
  • Alternatively "PropertyAssociation" can be used to return an Association of the properties.
  • NondimensionalizationTransform returns "ReducedForm" by default.
  • The following options can be given:
  • GeneratedParameters Chow to name generated replacement variables
    GeneratedQuantityMagnitudes Khow to name generated quantity factors
    IncludeQuantities {}additional quantities to include
    UnitSystem Automaticunit system used to generate factors
  • The GeneratedQuantityMagnitudes setting is used in cases where it is not possible to remove all dimensions from a variable using the QuantityVariable and Quantity objects within the equation. In those cases, new quantities are added to the solution with the symbol provided by the GeneratedQuantityMagnitudes option.
  • The GeneratedParameters setting is used when there are additional QuantityVariable objects within the equation not included in ovar. NondimensionalizationTransform removes all QuantityVariable objects from an equation. Additional QuantityVariable objects are replaced by variables as specified by the GeneratedParameters option.
  • IncludeQuantities adds additional Quantity objects to use in generating dimensionless solutions.
  • UnitSystem controls the unit system to use for generating multiplicative factors when removing dimensions from the equation. With Automatic, NondimensionalizationTransform creates the factors from the units and physical quantities present in the equation or specified by IncludeQuantities.
  • UnitSystem can also be set to use a natural units system. These options include "DeSitterUnits", "GaussianNaturalUnits", "GaussianQuantumChromodynamicsUnits", "HartreeAtomicUnits", "LorentzHeavisideNaturalUnits", "LorentzHeavisideQuantumChromodynamicsUnits", "PlanckUnits", "RydbergAtomicUnits" and "StonyUnits".

Examples

open all close all

Basic Examples  (2)

Remove dimensions from the driven oscillator equation:

Wolfram Language code: NondimensionalizationTransform[ω x[t] + a Derivative[1][x][t] == A f[t], {x, t, f}, {y, u, g}]

Compute the replacement rules for the wave equation that yields a dimensionless form:

Wolfram Language code: waveequation = u^(0, 2)[x, t] == cp^2 u^(2, 0)[x, t];
Wolfram Language code: NondimensionalizationTransform[waveequation, {u, x, t}, {v, y, u}, "NondimensionalizationRules"]

Scope  (4)

Solve for the nondimensionalized form of the quantum harmonic oscillator:

Wolfram Language code: odeHO = (1/2) m x^2 ω^2 ψ[x] + ((Quantity[-(1/2), "ReducedPlanckConstant"^2]) Derivative[2][ψ][x]/m) == E ψ[x];
Wolfram Language code: NondimensionalizationTransform[odeHO, {ψ, x} , {Ψ, ξ}]

Examine the replacement rules for this transformation:

Wolfram Language code: NondimensionalizationTransform[odeHO, {ψ, x}, {Ψ, ξ}, "NondimensionalizationMultipliers"]

Specify a replacement variable for energy to replace C[1] in the solution:

Wolfram Language code: NondimensionalizationTransform[odeHO, {ψ, x, E}, {Ψ, ξ, e}]

Nondimensionalize algebraic equations:

Wolfram Language code: accelerationSpeedDistance = s == s0 + (1/2) a t^2 + t v;
Wolfram Language code: NondimensionalizationTransform[accelerationSpeedDistance, {a, v, t, s0}, {b, w, u, d0}]

Examine the solutions for driven RC and LRC circuits:

Wolfram Language code: τ = QuantityVariable["t", "Time"]; q = QuantityVariable["Q", "ElectricCharge"]; v = QuantityVariable["V", "ElectricPotential"]; r = QuantityVariable["R", "ElectricResistance"]; c = QuantityVariable["C", "ElectricCapacitance"]; l = QuantityVariable["L", "MagneticInductance"];
Wolfram Language code: odeRC = r q'[τ] + q[τ] / c == v[τ]
Wolfram Language code: odeLRC = l q''[τ] + r q'[τ] + q[τ] / c == v[τ]
Wolfram Language code: NondimensionalizationTransform[odeRC, {q, v, τ}, {x, f, u}]

Find the properties available:

Wolfram Language code: NondimensionalizationTransform["Properties"]

Compute all properties of this transformation:

Wolfram Language code: NondimensionalizationTransform[odeRC, {q, v, τ}, {x, f, u}, "PropertyAssociation"]

Examine the LRC circuit nondimensionalization:

Wolfram Language code: NondimensionalizationTransform[odeLRC, {q, v, τ}, {x, f, u}, "PropertyAssociation"]

Remove dimensions from lists of equations at once:

Wolfram Language code: ψ = QuantityVariable["ψ", "Length" ^ (-1 / 2)]; ψaux = QuantityVariable[Subscript["ψ", "aux"], "Length" ^ (-1 / 2) / "Length"]; 𝓍 = QuantityVariable["x", "Length"]; 𝓂 = QuantityVariable["m", "Mass"]; ω = QuantityVariable["ω", "Frequency"]; ℰ = QuantityVariable["E", "Energy"];
Wolfram Language code: odeHO = {-Quantity[1, "ReducedPlanckConstant"] ^ 2 / (2 𝓂) ψaux'[𝓍] + 1 / 2 𝓂 ω ^ 2 𝓍 ^ 2 ψ[𝓍] == ℰ ψ[𝓍], ψaux[𝓍] == ψ'[𝓍]};
Wolfram Language code: NondimensionalizationTransform[odeHO, {ψ, ψaux, 𝓍}, {Ψ, Ψaux, ξ}]

Options  (5)

GeneratedParameters  (1)

Control how introduced parameters are named:

Wolfram Language code: eq = (1/2) m x^2 ω^2 ψ[x] + ((Quantity[-(1/2), "ReducedPlanckConstant"^2]) Derivative[2][ψ][x]/m) == E ψ[x];
Wolfram Language code: NondimensionalizationTransform[eq, {ψ, x}, {Ψ, ξ}, GeneratedParameters -> Z]

Avoid GeneratedParameters entirely by specifying replacements for more QuantityVariable objects:

Wolfram Language code: NondimensionalizationTransform[eq, {ψ, x, E} , {Ψ, ξ, e}, GeneratedParameters -> Z]

GeneratedQuantityMagnitudes  (1)

Adjust the names of introduced constants:

Wolfram Language code: waveEquation = u^(0, 2)[x, t] == cp^2 u^(2, 0)[x, t]; NondimensionalizationTransform[waveEquation, {u, x, t}, {v, y, u}, "NondimensionalizationMultipliers", GeneratedQuantityMagnitudes -> "foo"]

Alternatively, specify additional quantities to include when solving for a dimensionless form:

Wolfram Language code: NondimensionalizationTransform[waveEquation, {u, x, t}, {v, y, u}, "NondimensionalizationMultipliers", IncludeQuantities -> {Quantity[1, "Atmospheres"], Quantity[1, "PlanckLength"]}]

IncludeQuantities  (1)

Add additional quantities that can be used to solve for a dimensionless form:

Wolfram Language code: waveEquation = u^(0, 2)[x, t] == cp^2 u^(2, 0)[x, t]; NondimensionalizationTransform[waveEquation, {u, x, t}, {v, y, u}, IncludeQuantities -> {"Seconds"}]

UnitSystem  (2)

Simplify Newton's law of gravitation using Planck units:

Wolfram Language code: F = QuantityVariable["F", "Force"]; m1 = QuantityVariable[Subscript["m", 1], "Mass"]; m2 = QuantityVariable[Subscript["m", 2], "Mass"]; r = QuantityVariable["r", "Length"]; G = Quantity[1, "GravitationalConstant"];
Wolfram Language code: grav = F == G m1 m2 / r ^ 2
Wolfram Language code: NondimensionalizationTransform[grav, {F, m1, m2, r}, {f, mp1, mp2, ρ}, "NondimensionalizationMultipliers", UnitSystem -> "PlanckUnits"]

Compare against the standard method solution:

Wolfram Language code: NondimensionalizationTransform[grav, {F, m1, m2, r}, {f, mp1, mp2, ρ}, "NondimensionalizationMultipliers"]

Explore the available natural unit systems and the values of their units:

Wolfram Language code: SlideView[{...}]

Applications  (4)

Nondimensionalize Poisson's equation for gravity:

Wolfram Language code: x = QuantityVariable["x", "Length"]; y = QuantityVariable["y", "Length"]; z = QuantityVariable["z", "Length"]; g = QuantityVariable["ϕ", "GravitationalPotential"]; ρ = QuantityVariable["ρ", "MassDensity"];
Wolfram Language code: peq = Laplacian[g[x, y, z], {x, y, z}] == 4 Pi Quantity[1, "GravitationalConstant"]ρ
Wolfram Language code: NondimensionalizationTransform[peq, {g, ρ}, {γ, r}]

Examine the dimensionless Klein–Gordon equation:

Wolfram Language code: x = QuantityVariable["x", "Length"]; y = QuantityVariable["y", "Length"]; z = QuantityVariable["z", "Length"]; t = QuantityVariable["t", "Time"]; m = QuantityVariable["m", "Mass"]; ψ = QuantityVariable["ψ", "Length" ^ (-1 / 2)];
Wolfram Language code: eq = 1 / Quantity[1, "SpeedOfLight"] ^ 2D[ψ[x, y, z, t], t, t] - Laplacian[ψ[x, y, z, t], {x, y, z}] + m ^ 2 Quantity[1, "SpeedOfLight"^2] / Quantity[1, "ReducedPlanckConstant"^2]ψ[x, y, z, t]
Wolfram Language code: NondimensionalizationTransform[eq, {ψ, t}, {Ψ, τ}]

Simplify the result further by specifying replacement variables for most of the QuantityVariable objects:

Wolfram Language code: NondimensionalizationTransform[eq, {ψ, t, x, y, z}, {Ψ, τ, ξ, η, ζ}]

Compute the dimensionless form of physical systems:

Wolfram Language code: eq = Expand /@ Entity["PhysicalSystem", "VanDerWaalsGas"][EntityProperty["PhysicalSystem", "EquationOfState"]]
Wolfram Language code: NondimensionalizationTransform[eq, {p, V, T, n}, {𝓅, 𝓋, 𝓉, ν}]

Nondimensionalize a one-dimensional Schrödinger's equation using Planck units and Hartree units:

Wolfram Language code: r = QuantityVariable["r", "Length"]; t = QuantityVariable["t", "Time"]; me = Quantity[1, "ElectronMass"]; ψ = QuantityVariable["ψ", "Length" ^ (-1 / 2)]; e0 = Quantity[4 Pi, "ElectricConstant"]; e = Quantity[1, "ElementaryCharge"];
Wolfram Language code: eq = I Quantity[1, "ReducedPlanckConstant"]D[ψ[r, t], t] == -Quantity[1, "ReducedPlanckConstant"] ^ 2 / (2 me)D[ψ[r, t], {r, 2}] + e ^ 2 / (e0 r) ψ[r, t]
Wolfram Language code: NondimensionalizationTransform[eq, {ψ, r, t}, {Ψ, ρ, τ}, UnitSystem -> "PlanckUnits"]

Examine the result to check that it is dimensionless:

Wolfram Language code: % /. q_Quantity :> UnitConvert[q, "SIBase"]

Compare to the solution in Hartree atomic units:

Wolfram Language code: NondimensionalizationTransform[eq, {ψ, r, t}, {Ψ, ρ, τ}, UnitSystem -> "HartreeAtomicUnits"]

Properties & Relations  (1)

DimensionalCombinations derives dimensionless combinations of QuantityVariable objects:

Wolfram Language code: s = QuantityVariable["s", "Length"]; s0 = QuantityVariable["s0", "Length"]; a = QuantityVariable["a", "Acceleration"]; t = QuantityVariable["t", "Time"]; v = QuantityVariable["v", "Speed"];
Wolfram Language code: DimensionalCombinations[{s, s0, a, t, v}, GeneratedParameters -> None]

Compare to the dimensionalization rules for an equation for linear motion:

Wolfram Language code: accelerationSpeedDistance = s == s0 + (1/2) a t^2 + t v;
Wolfram Language code: NondimensionalizationTransform[accelerationSpeedDistance, {a, t, s0}, {b, u, d0}, "DimensionalizationRules"]

Possible Issues  (3)

Equations must be dimensionally balanced:

Wolfram Language code: Q1 = QuantityVariable["Q", "ElectricCharge"]; t1 = QuantityVariable["t", "Time"];
Wolfram Language code: NondimensionalizationTransform[Q1 - t1 == 0, {Q1, t1}, {Q2, t2}]

Replacement variables must be dimensionless:

Wolfram Language code: NondimensionalizationTransform[(d/t) == v, {d, t}, {Quantity[1, "Meters"], t2}]

Supplied variables should be present within the equation:

Wolfram Language code: NondimensionalizationTransform[(d/t) == v, {d, QuantityVariable["Q", "ElectricCharge"]}, {d2, Q2}]

Neat Examples  (1)

Transform Coulomb's law and Newton's law of gravitation using different sets of natural units:

Wolfram Language code: naturalunits = {"PlanckUnits", "HartreeAtomicUnits", "RydbergAtomicUnits", "LorentzHeavisideNaturalUnits", "GaussianNaturalUnits"};
Wolfram Language code: cleq = First@FormulaData["CoulombsLaw"]
Wolfram Language code: nlogeq = FormulaData["NewtonsLawOfUniversalGravitation"]
Wolfram Language code: coulomb = NondimensionalizationTransform[cleq, {F, Subscript[Q, 1], Subscript[Q, 2], r}, {f, q1, q2, ρ}, UnitSystem -> #]& /@ naturalunits; gravity = NondimensionalizationTransform[nlogeq, {F, Subscript[m, 1], Subscript[m, 2], r}, {f, m1, m2, ρ}, UnitSystem -> #]& /@ naturalunits;

Compare how the formulas look under different natural unit systems:

Wolfram Language code: Grid[Prepend[Transpose[{naturalunits, gravity, coulomb}], {"unit system", "gravitational force", "electrostatic force"}], Dividers -> Center]

See Also

QuantityVariable  QuantityVariableDimensions  DimensionalCombinations

Related Guides

    ▪
  • Units & Quantities

History

Introduced in 2018 (11.3)

Wolfram Research (2018), NondimensionalizationTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/NondimensionalizationTransform.html.

Text

Wolfram Research (2018), NondimensionalizationTransform, Wolfram Language function, https://reference.wolfram.com/language/ref/NondimensionalizationTransform.html.

CMS

Wolfram Language. 2018. "NondimensionalizationTransform." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NondimensionalizationTransform.html.

APA

Wolfram Language. (2018). NondimensionalizationTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NondimensionalizationTransform.html

BibTeX

@misc{reference.wolfram_2026_nondimensionalizationtransform, author="Wolfram Research", title="{NondimensionalizationTransform}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/NondimensionalizationTransform.html}", note=[Accessed: 12-November-2026]}

BibLaTeX

@online{reference.wolfram_2026_nondimensionalizationtransform, organization={Wolfram Research}, title={NondimensionalizationTransform}, year={2018}, url={https://reference.wolfram.com/language/ref/NondimensionalizationTransform.html}, note=[Accessed: 12-November-2026]}

Top
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.