Simulation of Circuits Without Kirchhoff's Laws?

In summary, the conversation discusses a proposal for a project in Computational Physics that involves creating a program to simulate circuits numerically. The purpose of the project is to observe emergent chaos in Chua's Circuit and compare it to a physical demo. The project will use numerical integration and a searching algorithm to identify loops for use in Kirchhoff's Laws. The speaker plans to store each component in the circuit as an object and use C++ 11 for programming. Their main challenge is finding the proper differential equations to describe the circuit and link them together without solving a matrix with Kirchhoff's laws. They also have some weaknesses in terms of experience with AC circuits and LRC circuits. The conversation also raises the question of whether Kirchhoff
  • #1
GEslinger
1. The problem statement, all variables, and given/known data
I am currently drafting a proposal for a project in Computational Physics. I'm planning on creating a program that simulates circuits numerically instead of solving the system of equations. The purpose of my project is to observe the emergent chaos in Chua's Circuit and compare it against a physical demo, though I plan to use my program to explore other circuits as well.
I would like to approach the project with numerical integration, as it supports time-dependent behavior in a circuit and provides a lot of data to compare with my demo. My problem is this: How do I find the proper differential equations (or systems thereof) to describe the circuit and link them together, preferably without solving a matrix with Kirchhoff's laws?

Homework Equations


The easiest algorithm for me to implement would be Runge-Kutta 4th order.
I can also implement a searching algorithm that identifies loops for use in Kirchoff's Laws, and I plan to store all junctions as objects to access the voltage and current at all points in the system.
I am currently using C++ 11 to program my project. It's extremely versatile and I have a lot of experience. I will probably be able to implement any solutions that use objects, polymorphic behavior, inheritance, and templates. What I cannot do, however, is pass around equations in a matrix, arrange them into REF or RREF, or isolate a variable to numerically integrate. I need the differential equations to be defined at the start of the program before I jump into a loop to start simulating the circuit. (If you know of a way to generate expressions at runtime, do tell!)
As for my weaknesses: I don't have a lot of experience with AC circuits nor LRC circuits. I am also somewhat new to Computational Physics, so I can't always come up with good algorithms. I still think my project is feasible.

The Attempt at a Solution


I would like to store each component in the circuit as an object, containing variables for resistance, inductance, capacitance, and the differential equations to track stored energy (for capacitors and inductors). They would also be able to access their voltages and currents through the junctions they're connected to. Every timestep would loop through each component, evaluate how its energy/voltage/current changes, and somehow update the voltage and current in each junction. I see a problem in that, inductors and capacitors can be driven by the circuit or drive it themselves, depending on the voltage and currents at a particular time.

The fundamental question that presents an issue is about the nature of all circuits. Are Kirchoff's laws simply emergent behavior of components acting individually, or do they govern the behavior of the circuit directly, thus being necessary to solve for every circuit? Any help, suggestions, or resources for further reading are appreciated.
 
Physics news on Phys.org
  • #2
GEslinger said:
I see a problem in that, inductors and capacitors can be driven by the circuit or drive it themselves, depending on the voltage and currents at a particular time.
Not sure that you should worry about what drives what. These components have properties and follow rules that you should implement in your simulation. That should be all you have to worry about.
The fundamental question that presents an issue is about the nature of all circuits. Are Kirchoff's laws simply emergent behavior of components acting individually, or do they govern the behavior of the circuit directly, thus being necessary to solve for every circuit?
Your simulation should not violate Kirchoff's laws but that does not mean that you should have to solve a large matrix of simultaneous equations. The current into each node should equal the current out of it. And the sum of voltage drops around any closed loop should be 0. The current law can be simulated by making nodes an object that can neither create nor destroy current. I think simulating the voltage law is much more difficult since it includes an entire loop of components. It's not clear to me how to deal directly with that. Hopefully, it will take care of itself by the fact that all components follow correct electromagnetic rules.
 
  • #3
Google : ' Analysis of electric circuits using differential equations and frontal solvers '
 

What is the purpose of simulating circuits without Kirchhoff's Laws?

The purpose of simulating circuits without Kirchhoff's Laws is to explore alternative methods for analyzing and designing circuits. While Kirchhoff's Laws are widely used in traditional circuit analysis, they may not always be applicable or may be difficult to apply in certain situations. Simulations allow for a more comprehensive understanding of how a circuit behaves and can help in identifying potential issues or improving circuit design.

What are some limitations of using Kirchhoff's Laws for circuit analysis?

Kirchhoff's Laws are based on idealized assumptions about circuit components and may not accurately model real-world behavior. They also require the circuit to be in a steady state, which may not always be the case. Additionally, Kirchhoff's Laws can become complex and difficult to apply in circuits with multiple loops or branches.

What are some alternative methods for simulating circuits without Kirchhoff's Laws?

Some alternative methods for simulating circuits without Kirchhoff's Laws include using computer software, such as SPICE or MATLAB, to model and simulate circuit behavior. Other methods include using circuit simulators, such as breadboard trainers or electronic circuit kits, to physically build and test circuits.

What are the advantages of simulating circuits without Kirchhoff's Laws?

Simulating circuits without Kirchhoff's Laws allows for a more flexible and comprehensive analysis of circuit behavior. It also allows for the testing of circuits in non-ideal conditions, such as varying temperatures or component values. Additionally, simulations can be done quickly and easily, without the need for physical components.

What are some potential applications of simulating circuits without Kirchhoff's Laws?

Simulations of circuits without Kirchhoff's Laws can be useful in a variety of applications, such as circuit design and optimization, troubleshooting and fault analysis, and education and training. They can also be used in research and development to explore new circuit designs and technologies.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
22
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
773
  • Engineering and Comp Sci Homework Help
2
Replies
42
Views
5K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
16
Views
1K
  • Introductory Physics Homework Help
Replies
8
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
Back
Top