Skip to content

Commit cd1c8ce

Browse files
Merge pull request #153 from abramov-v/air-core-formulas
Add air core inductor formulas
2 parents b5c0dad + 2fb781d commit cd1c8ce

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

electricpy/passive.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,83 @@ def air_core_inductance(d: float, coil_l: float, n: int):
441441
return k1 / k2
442442

443443

444+
def air_core_required_length(d: float, L: float, n: int):
445+
r"""
446+
Compute Required Length of Air Core Inductor
447+
448+
.. math:: l = \frac{1000 d^2 n^2 - 457418 d L}{1016127 L}
449+
450+
Parameters
451+
----------
452+
d: float
453+
Coil diameter, measured in meters
454+
L: float
455+
Inductance of air core inductor in Henry's (H)
456+
n: int
457+
Number of inductor turns
458+
459+
Returns
460+
-------
461+
float Coil length, measured in meters
462+
"""
463+
k1 = (1000 * d ** 2 * n ** 2) - (457418 * d * L)
464+
k2 = 1016127 * L
465+
return k1 / k2
466+
467+
468+
def air_core_required_diameter(coil_l: float, L: float, n: int):
469+
r"""
470+
Compute Diameter of Air Core Inductor
471+
472+
.. math:: 1000 n^2 d^2 - 457418 L d - 1016127 L l = 0
473+
474+
The diameter is obtained by solving the quadratic equation above.
475+
476+
Parameters
477+
----------
478+
coil_l: float
479+
Coil length, measured in meters
480+
L: float
481+
Inductance of air core inductor in Henry's (H)
482+
n: int
483+
Number of inductor turns
484+
485+
Returns
486+
-------
487+
float Coil diameter, measured in meters
488+
"""
489+
a = 1000 * n ** 2
490+
b = -457418 * L
491+
c = -1016127 * L * coil_l
492+
disc = b ** 2 - 4 * a * c
493+
d = (-b + _np.sqrt(disc)) / (2 * a)
494+
return d
495+
496+
497+
def air_core_required_num_turns(d: float, coil_l: float, L: float):
498+
r"""
499+
Compute Required Number of Turns of Air Core Inductor
500+
501+
.. math:: n = \sqrt{\frac{L(1016127 l + 457418 d)}{1000 d^2}}
502+
503+
Parameters
504+
----------
505+
d: float
506+
Coil diameter, measured in meters
507+
coil_l: float
508+
Coil length, measured in meters
509+
L: float
510+
Inductance of air core inductor in Henry's (H)
511+
512+
Returns
513+
-------
514+
float Number of inductor turns
515+
"""
516+
k1 = L * ((1016127 * coil_l) + (457418 * d))
517+
k2 = 1000 * d ** 2
518+
return _np.sqrt(k1 / k2)
519+
520+
444521
def inductive_voltdiv(Vin=None, Vout=None, L1=None, L2=None, find=''):
445522
r"""
446523
Inductive voltage divider.

0 commit comments

Comments
 (0)