Skip to main content

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) (alias R)
    • 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) (alias P)
    • 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^3
  • M 10^6
  • G 10^9
  • T 10^12
  • m 10^-3
  • u 10^-6
  • n 10^-9
  • p 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


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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylacc-0.0.3-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file pylacc-0.0.3.tar.gz.

File metadata

  • Download URL: pylacc-0.0.3.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pylacc-0.0.3.tar.gz
Algorithm Hash digest
SHA256 65dead6586067c58865b6e969180516acc6e741521df328c908becb320b3fde0
MD5 5b5cfb9325f88b9996e73898f349297e
BLAKE2b-256 3ad74df0c6b53c86065df3cba76298e00637fecd118598a910c69b87d6b8a905

See more details on using hashes here.

File details

Details for the file pylacc-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pylacc-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pylacc-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7cd7d3f63c5f74c60a1734a659da4feec9c521706575c1220e893db9a2966f22
MD5 d3ff19caf4805c02965de5e252909d43
BLAKE2b-256 d61d8976a297eac02fbafb46ecebd85306bcc2a4c097a4c729279ca455fd2802

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page