/src/utils/get_ATF2_quads.m
MATLAB | 459 lines | 346 code | 25 blank | 88 comment | 11 complexity | 3091c1c29b99064f66ae56474f56de94 MD5 | raw file
Possible License(s): BSD-2-Clause
- function varargout=get_ATF2_quads(opCode,energy,varargin)
- %
- % KL=get_ATF2_quads(1,energy,Iquad,QMFFrev,fflag);
- %
- % Compute ATF2 quadrupole KLs from power supply currents and beam energy
- %
- % Iquad=get_ATF2_quads(2,energy,KL,QMFFrev,fflag);
- %
- % Compute ATF2 quadrupole power supply currents from KLs and beam energy
- %
- % NOTE: this code does not account for trim winding settings for QM6R and QM7R
- %
- % INPUTS (opCode=1):
- %
- % opCode = 1 (I to KL conversion)
- % energy = beam energy (GeV)
- % Iquad = ATF2 quad currents (amps) [51 element array]
- % QMFFrev = normal(=1) or reverse(=-1) polarity for FF QMs [6 element array]
- % fflag = (optional) if present and nonzero, fudge factors will be used
- %
- % INPUTS (opCode=2):
- %
- % opCode = 2 (KL to I conversion)
- % energy = beam energy (GeV)
- % KL = quadrupole KLs (1/m; positive means "QF")
- % QMFFrev = normal(=1) or reverse(=-1) polarity for FF QMs [6 element array]
- % fflag = (optional) if present and nonzero, fudge factors will be used
- %
- % The order of quadrupoles in the Iquad or KL arrays must be:
- %
- % QM6R ,QM7R ,QS1X ,QF1X ,QD2X ,QF3X ,QF4X ,QD5X ,QF6X ,QS2X ,
- % QF7X ,QD8X ,QF9X ,QK1X ,QD10X ,QF11X ,QK2X ,QD12X ,QF13X ,QD14X ,
- % QF15X ,QK3X ,QD16X ,QF17X ,QK4X ,QD18X ,QF19X ,QD20X ,QF21X ,QM16FF ,
- % QM15FF ,QM14FF ,QM13FF ,QM12FF ,QM11FF ,QD10BFF,QD10AFF,QF9BFF ,QF9AFF ,QD8FF ,
- % QF7FF ,QD6FF ,QF5BFF ,QF5AFF ,QD4BFF ,QD4AFF ,QF3FF ,QD2BFF ,QD2AFF ,QF1FF ,
- % QD0FF
- %
- % The order of quadrupoles in the QMFFrev array must be:
- %
- % QM16FF ,QM15FF ,QM14FF ,QM13FF ,QM12FF ,QM11FF
- %
- % OUTPUT (opCode=1):
- %
- % KL = quadrupole KLs (1/m; positive means "QF") [51 element array]
- %
- % OUTPUT (opCode=2):
- %
- % Iquad = quadrupole currents (amps) [51 element array]
-
- % ==============================================================================
- % 03-MAR-2009, M. Woodley
- % QS1X and QS2X are wired in reverse polarity (top=South when I>0)
- % 26-FEB-2009, M. Woodley
- % Set zero strength at zero current for QEA quads (for interpolating)
- % 22-FEB-2009, M. Woodley
- % Do either I-to-KL and KL-to-I conversion
- % ==============================================================================
-
- NATF2q=51;
-
- % check input args
-
- if (~exist('opCode','var'))
- error('opCode argument not supplied')
- end
- if (~exist('energy','var'))
- error('energy argument not supplied')
- else
- if (energy<=0)
- error('Bad energy value')
- end
- end
- if (opCode==1)
- if (nargin<4)
- error('At least 4 input arguments required for opCode=1')
- end
- Iquad=varargin{1};
- if (length(Iquad)~=NATF2q)
- error('Incorrect Iquad length')
- end
- elseif (opCode==2)
- if (nargin<4)
- error('At least 4 input arguments required for opCode=2')
- end
- KL=varargin{1};
- if (length(KL)~=NATF2q)
- error('Incorrect KL length')
- end
- else
- error('Invalid opCode')
- end
- QMFFrev=varargin{2};
- if (length(QMFFrev)~=6)
- error('Incorrect QMFFrev length')
- end
- if (nargin>4)
- fflag=varargin{3};
- else
- fflag=0;
- end
- fudge=(fflag~=0);
-
- % ==============================================================================
- %
- % ATF2 QUAD MAGNET DATA
- %
- % ==============================================================================
-
- % there are 8 types of ATF2 quad:
-
- % 1 = Hitachi type 4
- % 2 = Tokin type 3581
- % 3 = Hitachi type 5
- % 4 = Hitachi type 2
- % 5 = IDX skew
- % 6 = QC3 (shimmed) [QF1FF]
- % 7 = QC3 (shimmed) [QD0FF]
- % 8 = QEA-D32T180 [each has it's own MMS data]
-
- % MMS data for quad types (I is amp, G is T/m)
- % (from: ATF$MAG:MAG_KI_Q_HITACHI_4.FOR
- % ATF$MAG:MAG_KI_Q_TOKIN_3581.FOR
- % ATF$MAG:MAG_KI_Q_HITACHI_5.FOR
- % ATF$MAG:MAG_KI_Q_HITACHI_2.FOR
- % ATF$MAG:MAG_KI_Q_IDX_SKEW.FOR
- % SLAC magnetic measurements data [QF1FF]
- % SLAC magnetic measurements data [QD0FF]
- % mainamp50AmaxAbs.txt (M.Masuzawa)
- % mainamp150AmaxAbs.txt (M.Masuzawa))
-
- Nmms=[11,11,11,11,6,13,13];
-
- qI=[ ...
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 , 0.0 ; ...
- 20.2, 50.0, 10.4, 10.2, 4.0, 50.0170753, 50.0106160; ...
- 40.2, 80.0, 20.2, 20.2, 8.0, 60.0253628, 60.0276535; ...
- 60.4,100.0, 30.4, 30.2, 12.0, 70.0958753, 70.0855160; ...
- 80.4,130.0, 40.2, 40.0, 16.0, 80.0715627, 80.0717910; ...
- 100.0,150.0, 50.0, 50.0, 20.0, 90.1618378, 90.1688160; ...
- 120.2,170.0, 60.2, 60.2, 0 ,100.0284003,100.0348160; ...
- 140.2,190.0, 70.2, 70.2, 0 ,110.0944627,110.0881035; ...
- 160.2,210.0, 80.4, 80.2, 0 ,120.0628878,120.0671535; ...
- 180.0,230.0, 90.4, 90.2, 0 ,130.1262003,130.1366660; ...
- 200.4,245.0,100.6,100.2, 0 ,140.1526753,140.1541410; ...
- 0 , 0 , 0 , 0 , 0 ,145.2119002,145.2155410; ...
- 0 , 0 , 0 , 0 , 0 ,150.2062628,150.2204785; ...
- ];
-
- % NOTE: data for QC3s is integrated gradient (T)
-
- qG=[ ...
- 0.000, 0.0, 0.000, 0.000,0.000,0.0 ,0.0 ; ...
- 4.612, 7.5, 4.845, 3.832,1.115,2.2467284,2.2493081; ...
- 9.201,11.8, 9.424, 7.646,2.247,2.6961437,2.6988262; ...
- 13.858,14.8,14.248,11.498,3.385,3.1478458,3.1507880; ...
- 18.440,19.1,18.833,15.202,4.522,3.5957252,3.5993780; ...
- 22.884,21.8,23.382,18.927,5.662,4.0480109,4.0525394; ...
- 27.464,24.4,27.994,22.657,0 ,4.4894084,4.4949355; ...
- 31.925,26.4,32.566,26.285,0 ,4.9388469,4.9453874; ...
- 36.386,28.0,37.206,29.896,0 ,5.3839400,5.3913758; ...
- 40.726,29.3,41.726,33.438,0 ,5.8322381,5.8405937; ...
- 45.143,30.1,46.223,36.758,0 ,6.2782832,6.2871601; ...
- 0 , 0 , 0 , 0 ,0 ,6.5027131,6.5118793; ...
- 0 , 0 , 0 , 0 ,0 ,6.7255943,6.7351056; ...
- ];
-
- % NOTE: a second set of MMS data (at higher current) was made for QF1FF and
- % QD0FF ... use this data for I > 150 amps
-
- qI2=[ ...
- 80.0638875, 80.062675 ; ...
- 130.1210375,130.1277625; ...
- 150.2125625,150.2228125; ...
- 170.176 ,170.188325 ; ...
- 190.25665 ,190.2619 ; ...
- 200.087275 ,200.0862125; ...
- 210.1335 ,210.1445875; ...
- 220.181025 ,220.1833125; ...
- ];
-
- % NOTE: these are integrated gradients (T)
-
- qG2=[ ...
- 3.5979756,3.6005798; ...
- 5.8444164,5.8492512; ...
- 6.7416765,6.7474992; ...
- 7.6309404,7.63769 ; ...
- 8.5209835,8.5285362; ...
- 8.9548028,8.9629504; ...
- 9.3972297,9.4059275; ...
- 9.8377363,9.8470287; ...
- ];
-
- qleff=[0.198745,0.084339,0.19861,0.07867,0.07867,0.475,0.475,0.19849];
-
- % NOTE: convert integrated strengths to gradients for standard handling
-
- qG(:,6)=qG(:,6)/qleff(6); % QC3 [QF1FF]
- qG(:,7)=qG(:,7)/qleff(7); % QC3 [QD0FF]
- qG2(:,1)=qG2(:,1)/qleff(6); % QC3 [QF1FF]
- qG2(:,2)=qG2(:,2)/qleff(7); % QC3 [QD0FF]
-
- % quadrupole family types
-
- qtype=[ ...
- 1; 2; 5; 3; 3; 3; 3; 3; ...
- 3; 5; 4; 3; 3; 5; 8; 8; ...
- 5; 8; 1; 1; 1; 5; 8; 8; ...
- 5; 8; 8; 4; 4; 8; 8; 8; ...
- 8; 8; 8; 8; 8; 8; 8; 8; ...
- 8; 8; 8; 8; 8; 8; 8; 8; ...
- 8; 6; 7; ...
- ];
-
- % polarities (zero means bipolar)
-
- qsgn=[...
- -1; 1; 0; 1;-1; 1; 1;-1; ...
- 1; 0; 1;-1; 1; 0;-1; 1; ...
- 0;-1; 1;-1; 1; 0;-1; 1; ...
- 0;-1; 1;-1; 1; 1;-1;-1; ...
- 1; 1;-1;-1;-1; 1; 1;-1; ...
- 1;-1; 1; 1;-1;-1; 1;-1; ...
- -1; 1;-1; ...
- ];
-
- % FF QM reversal state
-
- idQM=[30:35]';
- qsgn(idQM)=qsgn(idQM).*QMFFrev;
-
- % "Kubo" fudge factors
- % (NOTE: set fudge factors to zero ... who knows what they are now)
-
- qfudge=zeros(NATF2q,1);
-
- % pointers to QS1X and QS2X ... wired in reverse polarity
-
- idQSX=[3;10];
-
- % ==============================================================================
-
- % compute rigidity
-
- Cb=1e10/2.99792458e8; % kG-m/GeV
- brho=Cb*energy;
-
- % perform requested conversion
- % (NOTE: polynomial evaluation is not presently used to convert current
- % to gradient ... linear interpolation of MMS data is used)
-
- if (opCode==1)
-
- % convert current to KL
-
- KL=zeros(NATF2q,1);
- for n=1:NATF2q
- nt=qtype(n);
- bipolar=(qsgn(n)==0);
- if (Iquad(n)==0)
- continue
- elseif (~bipolar&&(Iquad(n)<0))
- continue
- else
- if (nt==8)
- [Imms,Gmms]=QEAmms(n);
- else
- Imms=qI(1:Nmms(nt),nt);
- Gmms=qG(1:Nmms(nt),nt);
- end
- if ((nt==6)&&(Iquad(n)>150)) % use QF1FF high-current data
- Imms=qI2(:,1);
- Gmms=qG2(:,1);
- elseif ((nt==7)&&(Iquad(n)>150)) % use QD0FF high-current data
- Imms=qI2(:,2);
- Gmms=qG2(:,2);
- end
- G=interp1(Imms,Gmms,abs(Iquad(n)),'linear');
- if (fudge),G=G/(1+qfudge(n));end
- if (bipolar)
- G=G*sign(Iquad(n));
- else
- G=G*qsgn(n);
- end
- KL(n)=10*G*qleff(nt)/brho;
- end
- end
- KL(idQSX)=-KL(idQSX); % QS1X and QS2X wired in reverse polarity
- varargout{1}=KL;
- else
-
- % convert KL to current
-
- Iquad=zeros(NATF2q,1);
- for n=1:NATF2q
- nt=qtype(n);
- bipolar=(qsgn(n)==0);
- if (KL(n)==0)
- continue
- elseif (~bipolar&&(sign(KL(n))~=qsgn(n)))
- continue
- else
- if (nt==8)
- [Imms,Gmms]=QEAmms(n);
- else
- Imms=qI(1:Nmms(nt),nt);
- Gmms=qG(1:Nmms(nt),nt);
- end
- if ((nt==6)&&(Iquad(n)>150)) % use QF1FF high-current data
- Imms=qI2(:,1);
- Gmms=qG2(:,1);
- elseif ((nt==7)&&(Iquad(n)>150)) % use QD0FF high-current data
- Imms=qI2(:,2);
- Gmms=qG2(:,2);
- end
- G=0.1*brho*abs(KL(n))/qleff(nt); % T/m
- if (fudge),G=G*(1+qfudge(n));end
- Iquad(n)=interp1(Gmms,Imms,G,'linear');
- if (bipolar),Iquad(n)=Iquad(n)*sign(KL(n));end
- end
- Iquad(idQSX)=-Iquad(idQSX); % QS1X and QS2X wired in reverse polarity
- varargout{1}=Iquad;
- end
- end
-
- end
- function [qI,qG]=QEAmms(id)
-
- % id name QEA# Imax Col
- % -- ------- ---- ---- ---
- % 15 QD10X 12 150 13
- % 16 QF11X 11 150 12
- % 18 QD12X 16 150 15
- % 23 QD16X 3 150 4
- % 24 QF17X 6 150 7
- % 26 QD18X 8 150 9
- % 27 QF19X 10 150 11
- % 30 QM16FF 9 150 10
- % 31 QM15FF 2 150 3
- % 32 QM14FF 1 150 2
- % 33 QM13FF 5 150 6
- % 34 QM12FF 15 150 14
- % 35 QM11FF 4 150 5
- % 36 QD10BFF 25 50 12
- % 37 QD10AFF 22 50 9
- % 38 QF9BFF 23 50 10
- % 39 QF9AFF 24 50 11
- % 40 QD8FF 20 50 7
- % 41 QF7FF 27 50 14
- % 42 QD6FF 26 50 13
- % 43 QF5BFF 29 50 16
- % 44 QF5AFF 28 50 15
- % 45 QD4BFF 33 50 20
- % 46 QD4AFF 30 50 17
- % 47 QF3FF 31 50 18
- % 48 QD2BFF 34 50 21
- % 49 QD2AFF 32 50 19
-
- lookup=[ ...
- 15 150 13
- 16 150 12
- 18 150 15
- 23 150 4
- 24 150 7
- 26 150 9
- 27 150 11
- 30 150 10
- 31 150 3
- 32 150 2
- 33 150 6
- 34 150 14
- 35 150 5
- 36 50 12
- 37 50 9
- 38 50 10
- 39 50 11
- 40 50 7
- 41 50 14
- 42 50 13
- 43 50 16
- 44 50 15
- 45 50 20
- 46 50 17
- 47 50 18
- 48 50 21
- 49 50 19
- ];
-
- % mainamp150AmaxAbs.txt (M.Masuzawa)
-
- mms150=[ ...
- % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
- % Current QEA01 QEA02 QEA03 QEA04 QEA05 QEA06 QEA07 QEA08 QEA09 QEA10 QEA11 QEA12 QEA15 QEA16
- % ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
- 0.0000000 0.027852904 0.030506356 0.027256228 0.032829583 0.026876856 0.027443571 0.031409271 0.029505244 0.025968155 0.028044462 0.022606753 0.025058137 0.030732028 0.028316030
- 10.000000 0.93772334 0.93937820 0.93742323 0.94295686 0.93441892 0.93938303 0.93977302 0.94099826 0.93904907 0.94194758 0.93286663 0.93956733 0.94647944 0.94635600
- 20.000000 1.8596991 1.8603314 1.8592361 1.8664562 1.8528848 1.8613006 1.8582008 1.8629626 1.8631428 1.8659338 1.8576188 1.8642662 1.8714479 1.8737825
- 30.000000 2.7942219 2.7947519 2.7938874 2.8019083 2.7836847 2.7963331 2.7882466 2.7984815 2.7999740 2.8019509 2.7873280 2.8015041 2.8097651 2.8142490
- 40.000000 3.7219207 3.7224891 3.7216418 3.7304349 3.7072167 3.7248392 3.7106743 3.7271931 3.7295382 3.7310123 3.7169988 3.7312465 3.7410450 3.7473235
- 50.000000 4.6551557 4.6554065 4.6547413 4.6638241 4.6360159 4.6587200 4.6389837 4.6609015 4.6642461 4.6648588 4.6430759 4.6657333 4.6776905 4.6852636
- 60.000000 5.5738125 5.5738368 5.5732274 5.5829530 5.5497336 5.5780277 5.5530548 5.5802903 5.5841994 5.5831165 5.5638790 5.5852056 5.5990934 5.6079135
- 70.000000 6.4870849 6.4860616 6.4862618 6.4965849 6.4582496 6.4919772 6.4617090 6.4939456 6.4988241 6.4955730 6.4779158 6.4995794 6.5144272 6.5247884
- 80.000000 7.3985457 7.3957953 7.3972039 7.4089684 7.3641810 7.4039865 7.3686643 7.4049659 7.4110003 7.4056296 7.3833327 7.4111490 7.4097128 7.4393244
- 90.000000 8.2836657 8.2789059 8.2809420 8.2950335 8.2439737 8.2886238 8.2487793 8.2896624 8.2962818 8.2881460 8.2702589 8.2957354 8.3124323 8.3268652
- 100.00000 9.1123867 9.1020203 9.1059580 9.1207247 9.0675383 9.1115141 9.0734730 9.1165915 9.1232882 9.1116486 9.0975027 9.1158381 9.1324730 9.1499929
- 110.00000 9.7852097 9.7633123 9.7741728 9.7834826 9.7384729 9.7754278 9.7469425 9.7866335 9.7921076 9.7767239 9.7518406 9.7700624 9.7869825 9.8076000
- 120.00000 10.274178 10.242992 10.261633 10.265922 10.228235 10.260318 10.238844 10.274369 10.278795 10.260708 10.233387 10.245369 10.264085 10.285763
- 130.00000 10.658867 10.620907 10.645681 10.647207 10.613884 10.643704 10.626049 10.658575 10.662965 10.642764 10.607639 10.621065 10.641808 10.664033
- 140.00000 10.975464 10.932746 10.962528 10.961823 10.931271 10.959914 10.944938 10.975292 10.979631 10.957787 10.922914 10.932220 10.954095 10.976683
- 150.00000 11.252048 11.205402 11.239195 11.236837 11.208383 11.236096 11.222959 11.252003 11.256350 11.233049 11.191726 11.204431 11.227302 11.250130
- ];
-
- % set zero current strength to zero (ignore remnant field when interpolating)
-
- n=find(mms150(:,1)==0);
- mms150(n,2:end)=zeros(size(mms150(n,2:end)));
-
- % mainamp50AmaxAbs.txt (M.Masuzawa)
-
- mms50=[ ...
- % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
- % Current QEA13 QEA14 QEA17 QEA18 QEA19 QEA20 QEA21 QEA22 QEA23 QEA24 QEA25 QEA26 QEA27 QEA28 QEA29 QEA30 QEA31 QEA32 QEA33 QEA34
- % ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
- 0.0000000 0.028219100 0.040338729 0.029890871 0.029497238 0.034525234 0.029425563 0.027658368 0.027779808 0.027477957 0.027904926 0.028466344 0.027899513 0.021434505 0.020964241 0.022032959 0.031943474 0.028553501 0.032123175 0.028957782 0.030306084
- 3.3333001 0.32538533 0.33715573 0.32505092 0.32442081 0.33133936 0.32527959 0.32236442 0.32316262 0.32378274 0.32318223 0.32277632 0.32569003 0.31823730 0.31833690 0.31833255 0.32496139 0.32426021 0.32609594 0.32492208 0.32532936
- 6.6666999 0.63208896 0.64047939 0.62909323 0.62828606 0.63420987 0.63093483 0.62648714 0.62732536 0.62899351 0.62777531 0.62660450 0.63004756 0.62380683 0.62063122 0.62245131 0.62730497 0.62851375 0.63048053 0.63080686 0.63031852
- 10.000000 0.94148004 0.94603467 0.93590742 0.93486601 0.93937200 0.93977785 0.93356729 0.93421125 0.93711084 0.93520695 0.93332684 0.93697536 0.93220925 0.93336999 0.92926800 0.93291068 0.93584037 0.93825185 0.93971300 0.93844241
- 13.333000 1.2529521 1.2537711 1.2449207 1.2435915 1.2468803 1.2507372 1.2427585 1.2436256 1.2473272 1.2448578 1.2420537 1.2458996 1.2426412 1.2442291 1.2379702 1.2409927 1.2454461 1.2481778 1.2507575 1.2488642
- 16.667000 1.5639043 1.5619390 1.5534923 1.5519813 1.5545483 1.5611117 1.5514039 1.5526090 1.5572330 1.5539834 1.5500604 1.5545545 1.5523636 1.5558752 1.5462418 1.5489813 1.5547541 1.5578287 1.5613403 1.5589787
- 20.000000 1.8741443 1.8705049 1.8618793 1.8599479 1.8627108 1.8707479 1.8593891 1.8607818 1.8663399 1.8625795 1.8572839 1.8631321 1.8616416 1.8612897 1.8541365 1.8565601 1.8693553 1.8670722 1.8712773 1.8684933
- 23.333000 2.1841798 2.1801219 2.1701567 2.1678445 2.1716371 2.1799972 2.1672122 2.1689975 2.1754117 2.1708317 2.1641300 2.1717048 2.1705081 2.1738250 2.1618476 2.1639242 2.1730690 2.1759412 2.1809573 2.1777673
- 26.667000 2.5015478 2.4985588 2.4863641 2.4835498 2.4888871 2.4966478 2.4827976 2.4850328 2.4919055 2.4866457 2.4782469 2.4880300 2.4868593 2.4898355 2.4769828 2.4786382 2.4888225 2.4917469 2.4980671 2.4942434
- 30.000000 2.8104367 2.8091772 2.7940876 2.7817678 2.7979240 2.8048146 2.7898581 2.7925751 2.8000093 2.7939847 2.7838352 2.7957492 2.7943413 2.7978346 2.7833722 2.7845740 2.7960050 2.7988794 2.8063977 2.8015463
- 33.333000 3.1178350 3.1189554 3.1004212 3.0964954 3.1058538 3.1115117 3.0956228 3.0989015 3.1066909 3.0998857 3.0877182 3.1027405 3.1005061 3.1060436 3.0885746 3.0891926 3.1019273 3.1042821 3.1130064 3.1073811
- 36.667000 3.4247386 3.4286873 3.4063148 3.4016933 3.4134352 3.4176803 3.4008279 3.4047415 3.4126701 3.4052124 3.3910625 3.4092085 3.4063492 3.4109607 3.3936911 3.3930762 3.4074311 3.4094582 3.4190931 3.4125471
- 40.000000 3.7313569 3.7384400 3.7118733 3.7068160 3.7210751 3.7232792 3.7056735 3.7103586 3.7184212 3.7102764 3.6940403 3.7157691 3.7122478 3.7137301 3.6987295 3.6968606 3.7129827 3.7139955 3.7245657 3.7174027
- 43.333000 4.0364571 4.0471492 4.0160818 4.0105395 4.0274525 4.0274763 4.0088239 4.0143366 4.0225286 4.0137668 3.9955339 4.0211272 4.0167503 4.0174079 4.0025177 3.9992521 4.0173407 4.0175309 4.0290337 4.0212517
- 46.667000 4.3408098 4.3552766 4.3197250 4.3134394 4.3334475 4.3303418 4.3110003 4.3178172 4.3259072 4.3162355 4.2959971 4.3253222 4.3204656 4.3214779 4.3060641 4.3016801 4.3217702 4.3206162 4.3329167 4.3249798
- 50.000000 4.6463265 4.6635814 4.6250100 4.6178207 4.6411600 4.6339417 4.6146355 4.6222954 4.6305385 4.6191273 4.5978169 4.6309385 4.6259670 4.6268058 4.6109891 4.6052308 4.6270924 4.6251469 4.6381001 4.6298366
- ];
-
- % set zero current strength to zero (ignore remnant field when interpolating)
-
- n=find(mms50(:,1)==0);
- mms50(n,2:end)=zeros(size(mms50(n,2:end)));
-
- qleff=0.19849;
- n=find(lookup(:,1)==id);
- Imax=lookup(n,2);
- Col=lookup(n,3);
- if (Imax==150)
- qI=mms150(:,1);
- qG=mms150(:,Col)/qleff;
- elseif (Imax==50)
- qI=mms50(:,1);
- qG=mms50(:,Col)/qleff;
- end
-
- end