HTS Axial coil with cryocooler mass analysis
Calculate the coil and cryocooler mass for a magnet with a specific inner radius and target central field, as a function of operating temperature. This is also dependent on the amount of heat the cryocooler is removing, which is an input.
%-------------------------------------------------------------------------- % See also: CoilTurns, Cryocooler, PancakeMagnetMass, SuperPowerHTS %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % Copyright Princeton Satellite Systems, 2019. All rights reserved. % STTR NNX17CC74P %-------------------------------------------------------------------------- % Optimal mass for a single high-temperature superconducting coil % mirror coil: 15-20 T, inner radius 0.15 m % axial coil: 5-7 T, inner radius 0.5 m B0 = 2; % T, largest center magnet is ~2 T Ri = 0.45; % m qC = 5; % W; a guess nMag = 6; % number of magnets d = SuperconductorDataStructure('HTS'); Ts = linspace(10,69); Zs = zeros(size(Ts)); Ns = Zs; massCoil = Zs; massCryo = Zs; Iop = Zs; for k = 1:length(Ts) Ic = SuperPowerHTS( B0, Ts(k) ); Iop(k) = 0.6*Ic; N = 1; [massCoil(k),turns,height,width,N] = PancakeMagnetMass( B0, Ri, N, Iop(k), d ); Ns(k) = N; if Ts(k)>50 massCryo(k) = CryocoolerBrake( qC, Ts(k) ); else massCryo(k) = CryocoolerBrake( qC, Ts(k) ); end end mass = nMag*massCoil + massCryo; % Compare to low-temp at 4 K dLTS = SuperconductorDataStructure('LTS'); dLTS.Iop = 528; [massCoilLTS,turnsL,heightL,widthL,Blts] = CoilTurns(Ri,1.5e6,dLTS); % Cryocoolers massCryoLTS = CryocoolerBrake( qC, 4.2 ); tStr = sprintf('HTS Coil and Cryo Mass, Qc = %g W',qC); Plot2D(Ts,[massCoil;massCryo;mass],'Temperature','Mass',tStr) [~,kMin] = min(mass); hold on; plot(Ts(kMin),mass(kMin),'k*') plot(Ts(kMin),massCoil(kMin),'b.') plot(Ts(kMin),massCryo(kMin),'r.') legend('Coil','Cryo','Total','Min') %plot([10 70],massCoilLTS*[1 1],'g--') % an estimate of the structural mass (energy method), carbon fiber structure rhoM = 2500; % Density (kg/m^3) sigmaM = 1000e6; % Ultimate stress (N/m^2) volume = 4/3*pi*Ri^3; massStruct = MagnetMassVirial( rhoM, sigmaM, B0, volume ); if 0 disp('Use mouse to place text on plot') gtext(sprintf('B0 = %g T, D = %g m',B0,2*Ri)); end %--------------------------------------