Electronics > Projects, Designs, and Technical Stuff
Finite element Transient Signal Analysis
aussie_laser_dude:
Hey guys,
I've got two circuits in an attached image, both appear to be the same circuit, just a resistor and a capacitor in parallel connected to jumper leads.
A naive analysis of the two circuits would suggest that they are identical in performance. My understanding is that there is actually a subtle difference caused by the extra metal track path that could be measured by time domain reflectometry / some advanced transient signal analysis / something along those lines.
I don't have an EE background (but strong in math / physics / science) and would like to do something like a "transient signal analysis" for both circuits where a short square wave pulse is applied across the jumper leads and the charge distribution / electric field / current / voltage etc are calculated at different points along the circuit with respect to time.
To say this another way, let a brief 1V square wave pulse occur during time t=-1000 to t = 0 picoseconds.
What is the electrical current at position 'X' at time t=0 ps, t=1ps, t=2ps....... t = 1 minute (ps standing for picosecond)?
My understanding is that circuit a) and b) will have almost identical current with respect to time, but due to speed of light delay / dielectric effect of pcb / time varying charge distributions + electric fields we will have subtle differences. Maybe in some circuits, like kilometer long wires in weird geometries we could easily measure these effects.
I'd appreciate some knowledge about what techniques / software etc are available for these type of calculations. I'm looking for current techniques, and also looking for an understanding of the underlying physics. What principals are in play? eg. momentary charge accumulation in wires, speed of light delay of electric field, mass of electron? velocity distribution of free electrons? i'm guessing on those last two. Obviously there's non-ideal properties of devices like capacitors leaking current. I'm more interested in the physics of electricity dashing around weird pcb track layouts.
Any knowledge would be greatly appreciated :)
John
TheUnnamedNewbie:
Underlying principles is just Maxwells equations.
There are I believe 3 main algorithms that are used in commercial simulators for these kinds of applications:
- Finite-difference Time-domain or FDTD - usually 3D
- Finite Element Method or FEM - usually 3D
- Method of Moments - 2D. Marketing likes to call them 2.5 D (which I can understand) or even 'Planar 3D'. In short, the original MoM algorithm can only work with currents that are planar, but they can be in different planes (in other words, current vectors must always be 0 in the z-axis, but the z-coordinate of the current vector may be non-zero). For much PCB work this is enough, as you can often consider PCB structures as planar. Breaks down once you get to very high frequencies and very thin traces (where your trace thickness becomes a significant fraction of trace width). It has some advantages like only having to consider metals (you need to do some mathematical magic for calculating the substrate one time). There are some 'adavancements' that can also acount for vertical current, and most importantly, that the solvers tend to be way cheaper to buy. Sometimes people also say they are much faster than full 3D simulators, but my experience is that this is often offset by the high-performance adaptive meshers in FEM solvers.
Software (non-exhaustive list, just what I have experience with):
CST Microwave studio (Dassault systems)
EMPro (Keysight)
Advanced Design System/ADS (Keysight) (Note that Keysight has been actively rebranding their software stuff under one family - it is now all called Pathwave I think?)
Momentum Simulator (Keysight, part of ADS)
Lumerical (Lumerical Inc)
HFSS (Ansys)
Microwave Office (Was by AWR under national instruments, but Mentor bought them)
EMX by Integrand Software
Cadence has some solver but their marketing material is just the biggest pile of trash ever that tells you absolutly nill about what their software actually can do.
Sonnet
FDTD simulators: CST Microwave, EMPro in FDTD mode, Lumerical FDTD (Lumerical also has a 2.5 D solver that can do smart stuff for simulating waveguide structures), I think HFSS has an FDTD solver these days too. Comsol probably also has one since comsol can pretty much do everything you want.
FEM simulators: CST Microwave I think has FEM solvers these days, EMPRo in FEM mode, HFSS, ADS FEM solver (still not sure how this is different from EMPro)
MoM simulators: ADS Momentum, EMX, Sonnet, Microwave Office,
Note that all of this software is generally quite expensive. I believe it goes from a few k$/license for some of the 2.5 D solvers, to 250k$ and up for the very advanced 3D solvers like HFSS. As a rule of thumb they are all absolutly horrible to work with and notoriously unstable, but I can't do my job without them. The more you get away from the basic stuff, the more you really needa understand what is going on, because these simulators will only spit out results as good as your input. If you decide to make ports that are a few wavelengths large, you will get nonphysical nonsense out.
About your specific circuit example:
The current will most definitly not be the same. Even if the pathlength were the same, the 'snake-y' trace will have much more significant inductance.
aussie_laser_dude:
--- Quote ---Underlying principles is just Maxwells equations.
--- End quote ---
Nice! I was hoping for this.
Didn't really know what to expect with software, looks like people have actually done a lot of stuff in this area. Thanks for the incredible list!
--- Quote ---As a rule of thumb they are all absolutly horrible to work with and notoriously unstable, but I can't do my job without them.
--- End quote ---
Does there exist software that will do steps like these?
1. Make a PCB design with Digi-Key component data linked to components in altium/kicad etc (something like my above circuits for example)
2. Create a set of arbitrary input waveforms (a single square wave pulse in my example)
3. Select point on circuit with measurement type. Select simulation time. ('X' mark for current as measurement type and 1 minute simulation time in my example)
4. Hit "run simulation" button, wait a few hours/days while simulation output data is graphed (current vs time graph for position 'X' in my example)
Very interested to know if there's something like this.
Thanks again for the amazing response!
John
2N3055:
You should look into transmission line theory. Plenty of literature on the topic..
Take a peek at FEMM and OpenEMS.
TheUnnamedNewbie:
--- Quote from: aussie_laser_dude on April 18, 2020, 01:12:20 pm ---
Does there exist software that will do steps like these?
1. Make a PCB design with Digi-Key component data linked to components in altium/kicad etc (something like my above circuits for example)
2. Create a set of arbitrary input waveforms (a single square wave pulse in my example)
3. Select point on circuit with measurement type. Select simulation time. ('X' mark for current as measurement type and 1 minute simulation time in my example)
4. Hit "run simulation" button, wait a few hours/days while simulation output data is graphed (current vs time graph for position 'X' in my example)
--- End quote ---
yes and no. Two main reasons: The most powerful solver algorithms are frequency-domain based (FEM and MoM). You can of course use this for time-domain simulation later with FFTs.
Second is that that is simply not how the tool workflow is. To get the full reasoning I would have to write out a basic introduction to EM simulation and RF electronics, which I'm not really in a mood to do.
Usually, the simulation of the PCB behavior is disconnected from the components that are integrated into it. You would first simulate the PCB, and then in software say 'To this passive network model, I connect this here and that here'. You can do something similar to what you mean with ADS, as it can do hierarchical simulation of both schematic (= what components are connected where) and PCB EM, but in the background it just does this separation for you, and only simulates the EM structure if there are any changes on the PCB layout.
As an example, here is how I simulated capacitor layouts. First I made the design in Altium (not shown). I then used the ODB++ format to export the PCB files to ADS, where I imported them into layout. I then did an EM simulation of the layout, adding ports where I would have components (ports are connection nodes). I then place a block representing this PCB network in a schematic view, and attach the capacitors I want to attach and ports (I got the models for these capacitors from the manufacturer). I then simulate the schematic which will show me how the PCB and capacitors behave. Right now I'm in the frequency domain since that is what I'm interested in, but you can also do time-domain simualtions in ADS and other tools.
(Note that this is not meant to be a how-to guide, just trying to give you an idea of workflow).
Navigation
[0] Message Index
[#] Next page
Go to full version