However, they do not provide the insight of symbolic analysis.Ī number of symbolic circuit analysis packages have been developed, primarily through the 1980s and 1990s ( Fernández & Rodríguez-Vázquez, 1996). These tools are excellent for the generation of numerical solutions to general, non-linear circuits. Open-source tools are available for numerical circuit simulation, including SPICE ( Nagel & Pederson, 1973) and its many derivatives, such as PySpice ( ), and Qucs ( Brinson & Jahn, 2009), an enhancement to SPICE. Many other features have since been added such as semi-automated textbook-quality schematic generation ( Hayes, 2016), discrete-time analysis, plotting, expression manipulation, network synthesis, and unit tracking. Thus, the response for arbitrary sources could be analysed. Lcapy was then largely rewritten to represent voltages and currents as a superposition of DC, AC, transient, and noise signals. Analysis of networks was performed by converting them to netlists. Netlists were then added to describe the component connectivity but analysis could only be performed in the Laplace domain. Later, networks were stored as an abstract syntax tree to provide a more general representation. This was efficient since the network could be represented as a Laplace-domain generalized impedance with either a current source or a voltage source. As components were added, the network was represented either as a Thévenin or Norton model. This was augmented with a collection of component classes that could be organised into networks using parallel and series operators ( Hayes, 2014). Lcapy started in 2013 as a collection of Python classes for handling rational functions for modelling piezo-electric transducers. Using symbolic mathematical tools allows expressions to be easily converted to standard forms, such a pole-zero-gain or partial fraction, to gain further insight into system behaviour. The symbolic solution provides insight into system behavior, for example, how a component influences the poles of a power-electronics controller ( Heffernan, Mitchell & Hayes, 2020). Moreover, it avoids the instability and inaccuracy associated with numerical integration required by time-stepping simulation. The primary advantage of symbolic analysis is that it provides an exact solution and avoids the trial-and-error nature of system analysis using numerical simulation. It utilizes the powerful Python symbolic mathematics package, Sympy ( Joyner et al., 2012 Meurer et al., 2017). Unlike most other circuit analysis programs, Lcapy stores all values and expressions symbolically. Lcapy is an open-source Python tool to symbolically generate and solve the system of integro-differential equations for a linear electrical, mechanical, or electro-mechanical circuit. An overview of the features and capabilities of Lcapy is presented, along with implementation details and performance considerations. Expressions can be formatted into LaTeX format for inclusion into a document or numerically evaluated and plotted. Textbook quality schematics in a number of different formats can be generated from netlists and customized for different conventions. Both continuous and discrete signals are supported. Dimensional analysis is performed to reduce user errors and to present results with units. Expressions can be formatted into many representations, parameterized, and transformed to other domains. Lcapy can present the system of equations produced from nodal analysis, modified nodal analysis, loop analysis, and state-space analysis. Lcapy can model circuits comprised of combinations of one-port and two-port networks or circuits specified using a netlist with a Spice-like notation. Expressions are evaluated using the computer algebra system SymPy. It uses a superposition of DC analysis, AC (phasor) analysis, transient (Laplace) analysis, and noise analysis. Lcapy is an open-source Python package for solving linear circuits symbolically.
0 Comments
Leave a Reply. |