Contents

Compare current profiles for PFRC magnets

Three current shapes are compared for fixed magnet radii.

See also: SolveSolenoid, FLinearCurrent, FSteppedCurrent

%--------------------------------------------------------------------------
%	Copyright (c) 2019 Princeton Satellite Systems, Inc.
%   All rights reserved.
%--------------------------------------------------------------------------

Magnet geometry

as  = [0.5 0.5 0.5 0.5];
zs  = [10 30 50 70]*1e-2;

% Target leak field
B0 = 5; % T

Default shape is uniform current

[iC,iCs] = SolveSolenoid( as, zs, B0 );
ScanMagnetArray(as,iCs,zs);
[Bs,xs] = ScanMagnetArray(as,iCs,zs);
set(gcf,'Name','Axial Field Scan - Uniform Current')

Linearly tapering current

Imin = 0.2;
[iC2,iC2s] = SolveSolenoid( as, zs, B0, @(x) FLinearCurrent(x, Imin) );
ScanMagnetArray(as,iC2s,zs);
[Bs2,xs2] = ScanMagnetArray(as,iC2s,zs);
set(gcf,'Name','Axial Field Scan - Tapering Current')

Stepped current

Iend = 0.3;
[iC3,iC3s] = SolveSolenoid( as, zs, B0, @(x) FSteppedCurrent(x, Iend) );
ScanMagnetArray(as,iC3s,zs);
[Bs3,xs3] = ScanMagnetArray(as,iC3s,zs);
set(gcf,'Name','Axial Field Scan - Stepped Current')

Summary

fprintf('\nUniform Current: %g A\n',iC)
fprintf('Maximum Linear Current: %g A\n',iC2)
fprintf('Minimum Linear Current: %g A\n',min(iC2s))
fprintf('Maximum Stepped Current: %g A\n',iC3)

NewFig('Shape Comparison')
plot(xs,Bs);
hold on;
plot(xs2,Bs2);
plot(xs3,Bs3);
xlabel('z');
ylabel('B')
grid on
legend('Uniform','Linear','Stepped')


Figui;


%--------------------------------------
Uniform Current: 936958 A
Maximum Linear Current: 1.23606e+06 A
Minimum Linear Current: 247211 A
Maximum Stepped Current: 1.00181e+06 A