# Physics

## Lumen to Candela online calculator & Python code

TechOverflow calculators:
You can enter values with SI suffixes like 12.2m (equivalent to 0.012) or 14k (14000) or 32u (0.000032).
The results are calculated while you type and shown directly below the calculator, so there is no need to press return or click on a Calculate button. Just make sure that all inputs are green by entering valid values.

lm

°

#### Formula

$$\Omega_{sr} = 2\cdot\pi\cdot(1-\cos(\frac{\theta}{2}))$$
$$I_{v} = \frac{\Phi_v}{\Omega_{sr}}$$

where:

• $\theta$ is the apex angle in radians
• $\Omega_{sr}$ is the solid angle in Steradians
• $\Phi_v$ is the luminous flux in lux (lx).
• $I_{v}$ is the luminous intensity in candela (cd).

#### Python code

You can use the UliEngineering library like this:

from UliEngineering.Physics.Light import lumen_to_candela_by_apex_angle
from UliEngineering.EngineerIO import auto_format, auto_print

# These are equivalent:
intensity = lumen_to_candela_by_apex_angle("25 lm", "120°") # intensity = 7.9577 (cd)
intensity = lumen_to_candela_by_apex_angle(25.0, 120.0) # intensity = 7.9577 (cd)

# ... or get out a human-readable value:
intensity_str = auto_format(lumen_to_candela_by_apex_angle, "25 lm", "120°") # "7.96 cd"
# ... or print directly
auto_print(lumen_to_candela_by_apex_angle, "25 lm", "120°") # prints "7.96 cd"


In case you can’t use UliEngineering, use this Python function:

import math

def lumen_to_candela_by_apex_angle(flux, angle):
"""
Compute the luminous intensity from the luminous flux,
assuming that the flux of <flux> is distributed equally around
a cone with apex angle <angle>.

Keyword parameters
------------------
flux : value, engineer string or NumPy array
The luminous flux in Lux.
angle : value, engineer string or NumPy array
The apex angle of the emission cone, in degrees
For many LEDs, this is

>>> lumen_to_candela_by_apex_angle(25., 120.)
7.957747154594769
"""
solid_angle = 2*math.pi*(1.-math.cos((angle*math.pi/180.)/2.0))
return flux / solid_angle

# Usage example
print(lumen_to_candela_by_apex_angle(25., 120.)) # Prints 7.957747154594769 (cd)

Posted by Uli Köhler in Calculators, Physics