Realtime visualization and optimization of vacuum surfaces - Boyd Blackwell, ANU • Real time tracing code BLINE (Summer Scholar: Antony Searle, ANU) – – – – multi-thread/processor mesh accuracy speed hierarchial system element/mesh structure • Perturbation method for iota (Summer Scholar: Ben McMillan, ANU/UMelb) • Real-time optimization by simulated annealing – demonstration Minimal Confinement Geometries • Simplest possible geometries with closed surfaces that resemble real geometries, for testing codes – – – – – fast direct evaluation, exact iota ~ 1 aspect ratio ~ 5-10 highly 3D enclose no conductors • “triator” – 4 simple elements (finite filaments) – iota ~ 0.6, bean shaped, (similar to Tom Todds?) • “1 element” toroidal helix – slow evaluation Mesh Interpolation • cubic tri-spline on regular rectangular meshes • copy of mesh in neighbourood stored to better fit in CPU cache – derivatives stored only in local mesh (4 point eval from main mesh) H-1 • mesh hierarchy underneath the hierarchy of magnetic macro-elements TFC – e.g. H-1 has 3 meshes for main field, but one coarse mesh for VF coils – allows quick configuration exploration by varying currents (linear combination I1M1 + I2M2 + I3M3) VF 3 ea. 32×128×32 • mesh filled on demand and/or in background – (see also Gourdon code, Zacharov’s code (Hermite polynomials)) Mesh Convergence Convergence of mesh tracing (NEW) Mesh spacing (log(m)) – distance to nearest conductor recorded in each cell, automatically revert to direct calculation if too y = 6.02x + 5.07 close. -2 -1.5 0 -1 -0.5 0 -1 -2 -3 -4 -5 log(Error Sum) y = 5.23x + 2.65 -6 log(Max Error) Linear (log(Error Sum)) Linear (log(Max Error)) 5th order or better in x -7 Error (log()) • Meshes of 10-50MByte are adequate even near edge Multi-processing • windows threads (posix under linux) (MISD) – needs semaphore system (e.g. no tracing while loading a new mesh) • multi-threaded code runs fine on single processor – some priority tuning useful on single processor • initial scheme – tracing thread, display thread and mesh-filling threads – large caches on Intel machines favour each thread working in distant memory locations • multi-threading object oriented coding Perturbation Calculation of iota • Find a nearby rational surface by iteration ~middle order – say ~ 30 circuits B0 • Store B and derivatives along this closed path • For each variation in the perturbing winding, integrate x B/B0 • where B is the perturbing field and B0 the original field (Alternatively integrate cpt of B in surface, normalized to B0 and the puncture spacing at that point ~ Boozer ) B Accuracy of / I • Check / I by ultra high accuracy (1e-7) direct calculation of • correction for area change can be significant Change in transform vs Coil current Ratio Change in transform 0.02 0.01 0 0.88 0.9 0.92 0.94 0.96 0.98 1 1.02 1.04 1.06 -0.01 -0.02 -0.03 y = 0.3039x - 0.3038 R2 = 1 -0.04 Perturbation result: 0.315 cf 0.304 Machine Optimization of iota • Minimization by steepest descent (but multi-variate) • Simulated annealing – – – – virtual temperature T accept a new configuration even if slightly worse (up to T) “heat” to explore new configurations “cool” to home in on optimum • Annealing more tolerant of occasional anomalies in goodness function, e.g. local minima or discontinuities (resonances) “Reinvent” helical conductor in flexible heliac • Constrain conductor to lie inside a torus, N=3 – (actually end-point and middle point fixed) • Seek maximum transform for length current • Result is very close to the flexible heliac R>Rmin constraint “sawtooth coil” • Constrain conductor to lie on a cylinder, N=3 • Seek maximum transform near the axis of a heliac per unit length current • Reproduces approximate “sawtooth coil” Conclusions and Future Work • Very useful for following particles out of machine (so far, not a drift calculation) • Very quick (50k/sec) configuration evaluation for varying current ratios in existing coil system (e.g. H-1 flexibility studies) • Fast evaluation (10k/sec) of new winding (“simple”) in arbitrarily complex existing configuration • Iota perturbation calculation works, and is fast. • Well calculation implemented, but not debugged • Possibly extend to island width as in Rieman & Boozer 1983 • optimization principle demonstrated • “standard results” recovered • real time operation possibility of human guidance during optimization Develop/find “Meta-Language” for description of symmetries and constraints
© Copyright 2026 Paperzz