Python Linear Analog Circuit Caclulator
Project description
PyLACC
Python Linear Analog Circuit Caclulator
API
from pylacc.circuit import *
Components
-
Voltage Source:
E(E, F, **)
-
Current Source:
I(I, F, **)
-
Resistor:
R(R, F, **)
-
Capacitor:
C(C, **)
XC(XC, **)
-
Inductor:
L(L, **)
XL(XL, **)
-
**
E
Voltage (complex, phasor)I
Current (complex, phasor)Z
Impedence (complex, phasor) (aliasR
)C
Capacitance (positive, real)L
Inductance (positive, real)XC
Capacitive Reactance (positive, real)XL
Inductive Reactance (positive, real)F
Frequency (positive, real)PT
True Power (positive, real) (aliasP
)PR
Reactive Power (positive, real)PA
Apparent Power (positive, real)
-
All names can be lower case for fast calculator input
-
All arguments are optional
Complex Values
1.0 + 1.0j
(complex)(radius, angle)
(phasor, degrees)
Units
k
10^3M
10^6G
10^9T
10^12m
10^-3u
10^-6n
10^-9p
10^-12
Series Circuits +
e(12) + r(100) + r(300)
+(12V 30mA)
+-S[12V](30mA 360mW)
+-R[100Ω](3V 30mA)
+-R[300Ω](9V 30mA)
Parallel Circuits /
e(12, 60) + xl(100) / xc(200) / r(300)
+(12V 72.1∠-56.3°mA)
+-S[12V 60Hz](72.1∠-56.3°mA 865mVA)
+-/(12V 72.1∠-56.3°mA)
+ /-L[100Ω](12V 120∠-90°mA 265mH)
+ /-C[200Ω](12V 60∠90°mA 13.3μF)
+ /-R[300Ω](12V 40mA)
Solving
.solve()
recursively solves for all unknowns. Printing or representing a component / circuit implicitly triggers the solver.
Filtering
_.z
- Only show inferred impedence_.p
- Only show inferred power_('e', 'z')
- Custom output filter_('e,z')
- Calculator shorthand
Grouping
Components can be grouped to prevent further concatenation.
FILTER = (l(1e-3) + c(0.0022e-6)).g
C = e(10, 107e3) + FILTER + r(100)
C.solve()
FILTER
+(380∠-87.8°mV 99.9∠2.18°mA)
+-L[1mH](67.2∠92.2°V 99.9∠2.18°mA 672Ω)
+-C[2.2nF](67.6∠-87.8°V 99.9∠2.18°mA 676Ω)
TODO
- Support multiple sources
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pylacc-0.0.3.tar.gz
(7.0 kB
view hashes)
Built Distribution
pylacc-0.0.3-py3-none-any.whl
(6.1 kB
view hashes)