get_lj_scale_factors

mdcraft.algorithm.unit.get_lj_scale_factors(bases: dict[str, Quantity | Quantity], other: dict[str, list] = None) dict[str, Quantity | Quantity][source]

Evaluates scale factors for Lennard-Jones reduced units.

By default, the following scale factors are calculated:

Quantity (dict key)

Expression

"molar_energy"

\(N_\mathrm{A}\epsilon\)

"time"

\(\sqrt{m\sigma^2/\epsilon}\)

"velocity"

\(\sigma/\tau\)

"force"

\(\epsilon/\sigma\)

"temperature"

\(\epsilon/k_\mathrm{B}T\)

"pressure"

\(\epsilon/\sigma^3\)

"dynamic_viscosity"

\(\epsilon\tau/\sigma^3\)

"charge"

\(\sqrt{4\pi\varepsilon_0\sigma\epsilon}\)

"dipole"

\(\sqrt{4\pi\varepsilon_0\sigma^3\epsilon}\)

"electric_field"

\(\sqrt{\epsilon/(4\pi\varepsilon_0\sigma^3)}\)

"mass_density"

\(m/\sigma^3\)

Parameters:
basesdict

Fundamental quantities: molar mass (\(m\)), length (\(\sigma\)), and energy (\(\epsilon\)).

Format:

{
  "mass": <openmm.unit.Quantity> | <pint.Quantity>,
  "length": <openmm.unit.Quantity> | <pint.Quantity>,
  "energy": <openmm.unit.Quantity> | <pint.Quantity>
}

Reference units: \(\mathrm{g/mol}\), \(\mathrm{nm}\), and \(\mathrm{kJ}\).

otherdict, optional

Other scale factors to compute. The key should be the name of the scale factor, and the value should contain tuple objects with the names of bases or default scale factors and their powers.

Example: {"diffusivity": (("length", 2), ("time", -1))}.

Returns:
scalesdict

Scale factors.