Source code for einsteinpy.symbolic.constants
from sympy.core.symbol import Symbol
[docs]
class SymbolicConstant(Symbol):
"""
This class inherits from ~sympy.core.symbol.Symbol
"""
def __new__(cls, name, descriptive_name=None, **assumptions):
"""
Constructor and Initializer
Parameters
----------
name : str
Short, commonly accepted name of the constant.
For example, 'c' for Speed of light.
descriptive_name : str
The extended name of the constant.
For example, 'Speed of Light' for 'c'.
Defaults to None.
"""
instance = super(SymbolicConstant, cls).__new__(cls, name, **assumptions)
instance._descriptive_name = descriptive_name
return instance
@property
def descriptive_name(self):
"""
Returns the extended name of the constant
"""
return self._descriptive_name
c = SymbolicConstant("c", "Speed Of Light")
G = SymbolicConstant("G", "Gravitational Constant")
Cosmo_Const = SymbolicConstant("Lambda", "Cosmological Constant")
eps_0 = SymbolicConstant("eps_0", "Permittivity of free space")
[docs]
def get_constant(name):
"""
Returns a symbolic instance of the constant
Parameters
----------
name : str
Name of the constant.
Currently available names are 'c', 'G', 'Cosmo_Const', 'eps_0'.
Returns
-------
~einsteinpy.symbolic.constants.SymbolicConstant
An instance of the required constant
"""
const_dict = {"c": c, "G": G, "Cosmo_Const": Cosmo_Const, "eps_0": eps_0}
return const_dict[name]