Skip to main content

this solve electrical circuits by symbolic way

Project description

Hi welcome to ESCAPy V 0.0.1

ESCAPy is : Electronic Symbolic Circuit Analisys on Python

here you can understand how to use this library...

1.- formulation:

######################################################################

ESCAPy is simple and powerfull

######################################################################

ESCAPy works whit MNA (Modify Nodal Analisys) theory and MNA is a formulation used for electrical circuit and all theory was obteined for Mourad Fakhfakh, Esteban Tlelo Cuautle Francisco V. Fernandez and other authors and MNA gets an algebraic system by the way Ax = z where A is a square matrix, x is incognigts vector and z is an input system where z have independent sources like voltage and current sources.

other important think is Netlist input, the algorithm works whit an Netlist input this netlist can be generated by spice tool in my personal experience I had been used LTSPICE works good and is open source, this Netlist should be a order for example if we have a circuit like this Netlist:

V1 1 0
R1 1 2
C1 2 0
L1 2 3
R2 3 0
I1 0 3

I recomend reorder al elements by type and numbrer like this:

V1 1 0
R1 1 2
R2 3 0
C1 2 0
L1 2 3
I1 0 3

and before save the Netlist whit .cir extension this is necesary put this .cir whit program.py in other words in the same folder.

Important if you have been interested in how to learn do Netlist easy and fast I recomend you visist scam MATLAB for Erik Cheever web site:

######################################################################

https://lpsa.swarthmore.edu/Systems/Electrical/mna/MNA6.html

######################################################################

but dont worry I have been generated some examples you can check it in examples.

2.- solutions:

the solution for A matrix should be do it by Gauss Elimination (GE), adjunte matrix (ADJ) and Lower and Upper method (LU) all of this are implemented by Sympy and collected on ESCAPy but if you are searching power compute... Welcome to DDD (Determinant Diagram Decision) this idea was collected from Sheldon Tan and developed for me.

DDD Method should compute matrix whit size 4x4 and up. If you try compute a system 3x3 or 2x2 is important don't use DDD, just use Sympy method (ADJ, GE or LU).

DDD works whit symengine is fast and also DDD works better.

3.- outputs:

you can have an output in latex way or simple aoutput, and also you can have an estetic output, depend of size circuit, and oviously output size.

4.- instructions for use ESCAPy:

you can use this repository or simple install library by pip,

######################################################################

pip install escapy

######################################################################

do a netlist, import escapy and put netlist name and extension let me show you:

from escapy import scapy 
escapy.MNAf('3_OpAmps.cir')

A,x,z = scapy.formula_DDD()
Xout = scapy.resuelve_serie_DDD(A,x,z)
x_out = scapy.simplifica(Xout)

also you can use a multiprocess method for solve a determinant in DDD:

from escapy import scapy 
scapy.MNAf('3_OpAmps.cir')

A,x,z = scapy.formula_DDD()
Xout = scapy.resuelve_paralelo_DDD(A,x,z)
x_out = scapy.simplifica(Xout)

and if you prefer use an sympy method:

from escapy import scapy 
escapy.MNAf('3_OpAmps.cir')

A,x,z = scapy.formula_sympy()
Xout = scapy.resuelve_LU(A,x,z)
x_out = scapy.simplifica(X1)

finaly in terminal you can write:

x_out 
x

or

print(x_out)
print(x)

remember all incongnits x verctor represent an output from x_out

be happy and anjoy!

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

escapy-0.0.1.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

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

escapy-0.0.1-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file escapy-0.0.1.tar.gz.

File metadata

  • Download URL: escapy-0.0.1.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for escapy-0.0.1.tar.gz
Algorithm Hash digest
SHA256 19166ffaf94be565d45ffd456ad6327ff8395ad138d0bdc4051c90d9f834ffb0
MD5 9dddfe84c3ae96bbec91fc413aede104
BLAKE2b-256 6afdf610314466953e1b6bb4865a6090109b92259ee47333eccd55f219375f40

See more details on using hashes here.

File details

Details for the file escapy-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: escapy-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for escapy-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7e4db3dfb559c7b378c8c2afbb08186e6f9c2898520b3e24aeb78300f0c0d6a4
MD5 215f442c6d2e383f279b5274c31c7989
BLAKE2b-256 7da8cbc3442a8f94fee42e97ec081d1111b42be5da71fc832c972a47d50f2a6d

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