Constants ~~~~~~~~~ The following mathematical and physical constants are available through the ``h`` module: :: h.PI 3.14159265358979323846 h.E 2.71828182845904523536 h.GAMMA 0.57721566490153286060 (Euler) h.DEG 57.29577951308232087680 (deg/radian) h.PHI 1.61803398874989484820 (golden ratio) h.FARADAY 96484.56 (coulombs/mole) (legacy value) h.FARADAY 96485.3321233100141 (modern value. derived from mole and electron charge) h.R 8.31441 (molar gas constant, joules/mole/deg-K) (legacy value) h.R 8.3144626181532395 (modern value. derived from boltzmann constant and mole) h.Avogadro_constant 6.02214076e23 (codata2018 value, introduced version 8.0) As of Version 8.0 (circa October, 2020) modern units are the default. See :func:`nrnunit_use_legacy` .. warning:: Constants are not treated specially by the interpreter and may be changed with assignment statements. However a change of ``FARADAY``, ``R``, or ``Avogadro_constant`` generate a warning message (default once). Python warning messages can be managed with ``import warnings; warnings.filterwarnings(action)`` where useful actions are ``"error"``, ``"ignore"``, ``"always"``, or ``"once"``. If assignment takes place due to execution of a hoc interpreter statement, the warning occurs only once but cannot be avoided. The legacy FARADAY is a bit different than the legacy faraday of the units database. The legacy faraday in a :file:`.mod` mechanism is 96520.