From: Paul
Date: Fri, 11 May 2001 19:53:19 +0100
Subject: [TSSP] Time domain modeling
Hi All, Another weekend looms, and I'll resist the temptation of the Corby Teslathon in order to get a bit more done on the simulator software. Malcolm, you were right when you wrote: > at a glance, k looks to be pretty low for that system. ? when referring to that Thor waveform. Found a coding error that messed up the pri-sec coupling. The modes have the right phase too, now, so we get a waveform that looks more like a real coil - I'll put up a gif file later in the weekend - the code is in pieces right now. It's amazing how many different ways there are to setup the solenoid operator [A], I'm on my third attempt now - they all work but I'm trying to keep program code in 1:1 correspondence with the math in pn1401 so that it can be validated by inspection, and its a case of finding a reasonable compromise between pn1401 clarity and program speed. For some of the routines I've ended up with two versions, a slow one which is inspectably correct, and a fast one which is incomprehensible. A command line option toggles between the two, so that the outputs can be checked for agreement. Anyway, yesterday I found an intelligible construction for F and K which is O(N^3) and today I made it work in the code, so there's light at the end of the tunnel. Finding the complex frequencies of the normal modes turns out to be quite reliable - even when the system is heavily loaded at the top. It starts to struggle at very low k-factors since it is trying to distinguish between two very closely spaced modes, but the k values in question are much lower than normally used on TCs. Other than that, the det(A-1) appears very well behaved and the usual gradient descent methods work fine. Has an interesting landscape - I'll include some maps in pn1401. The technique of inverse iteration, as a means of finding the normal mode spatial distributions, works beautifully on the [A] operator, very stable, and converges in just 1 or 2 iterations, providing gamma is computed accurately enough - it wont let me get away with being sloppy with the determinant. The method involves picking a random vector and passing it 'backwards' through the operator, and what emerges is a vector that's a lot less like a random vector and more like the eigenvector. Take that vector and send it round again, and so on. Potential trouble here with closely spaced modes - the iteration can converge to the wrong mode, so you have to detect this and start again with a different random vector. I'm having to model at around 200 elements, in order to compute det(A-1) in reasonable time, say less than 1 second. The matrix triangulation is O(N^3). The summation loops to form the solenoid operator A are also O(N^3), but F and K can be computed just once, apart from a single factor involving the series resistance Rs, which is frequency dependant. The description of the coil in terms of a Fredholm integral is turning out to be quite fruitful, mathematically speaking, meaning that from time to time, nice things pop out of the equations - things that make you want to stop and get a beer. For example, the solenoid operator [A] can be decomposed into the product of two other operators, [A] = w^2 [L][C] where C is a function of the Cint, Cext, Ctor, Ctop, and L is a function of the secondary mutual inductance profile. Thus we end up with a characteristic equation of det(w^2 LC - 1) = 0 where 1 is the identity operator. Thus in going from the lumped case to the distributed case, we replace the lumped reactances with their corresponding operators - operators which are differential in the time domain, and integral in the spatial domain. All in all, quite a simple and pleasant system to work with. As regards load impedance, we must decide between two ways to model this, and the decision must be left to nature. The question is this: Can we get away with a time-averaged load impedance which is a function of the top voltage averaged over a cycle or more, or must we come to terms with an impedance which is changing significantly within a cycle. Repeat this question with 'load impedance' replaced with 'gap resistance' and 'top voltage' replaced by 'primary current'. Both these need answering by experiment. The matter boils down to whether or not the top voltage and primary current are sine waves, or are the peaks and troughs flattened or peaky? Scope traces of top voltage waveform at various CW power levels within the brush discharge regime, plus a control waveform at a level below breakout. The waves can be LP filtered at say 20*Fres and we can FT the trace data to determine the harmonic distortion. If low enough, we can use a time averaged load impedance, rather than an instantaneous load conductance, which represents a big reduction of CPU effort in the time domain modeling. Anyway, enough waffle, Cheers for now, -- Paul Nicholson, Manchester, UK. --
Maintainer Paul Nicholson, paul@abelian.demon.co.uk.