top of page
exercise 9.10
Question
ZIP with MATLAB scripts and note:
exercise 9.10 notes:
Background
Rectangular waveguide filled with gyrotropic material: the material spins polarization on the direction of the travelling wave.
Ferrite permeability mu is a tensor.
A gyrotropic material has natural electromagnetic resonance.
The delta H also called 'linewidth' is the Q factor or 3dB bandwidth Linewidth of xe
-
mu=mu0*mur
-
mur=1+xe
-
xe : magnetic susceptibility
-
xe=xe1+1j*xe11
The following graph is the imaginary part of the magnetic susceptibility of an unspecified ferrite material.
Here gamma to calculate w0 is not the lossy material propagation constant alpha+1j*beta
but
gamma_gr=abs(qe)/me
with
qe : electron charge
me : electron mass
Circuit
Constants
c0 = 299792458 % [m/s] light velocity
eps0 = 8.854187817e-12 % [F/m]=[C^2/N*m^2] permittivity, empty space
mu0 = 4*pi*1e-7 % [H/m]=[T*m/A] permeability, empty space
m_electron=9.109e-31 % [kg] electron mass
q_electron=-1.602176634e-19 % [C] electron charge
k1 factor [Hz/Oe]: needed to calculate precession frequencies:
From Quantum mechanics, the magnetic properties of materials like ferrites
arise from electron spin.
So electrons have angular momentum caused by orbital motion around nuclei
and magnetic moment caused by spin.
Lange factor g:
g=1 electron moment is only caused by orbital motion
g=2 electron moment is only caused by its spin, this is the case
gyromagnetic ratio gamma_gr : ratio between angular and spin moment
gamma_gr=abs(q_electron/m_electron) % [C/kg] gyromagnetic ratio
the gyromagnetic ratio is at the same time :
* electron mass to charge ratio
* and electron angular momentum to magnetic moment ratio
Magnetic field : H
magnetic field strength [A/m] in MKS units system
[Oe] in CGS
Oe2Am=4*pi*1e-3 % conversion factor [Oe] to [A/m]
magnetic flux : B
[Gauss] : H through a given surface
[Wb]
1 [Mx] = 1e-8 [Wb]
1 [Tesla] = 1 [Wb/m^2]
G2Wb_ov_m2=1e-4
B in [G] = mur * H in [Oe]
conversion factor [Gauss] to [Weber/m^2]
A1=4*pi % area of 1m radius sphere
k1= Oe2Am * G2Wb_ov_m2 * A1 * gamma_gr % [Oe/Hz]
[POZAR] approximates k1 with 2.8e6
Question Inputs
a=.01 % [m] rectangular waveguide horizontal size
f=1e10 % [Hz]
lambda0=c0/f;
k0=2*pi/lambda0;
h0max=1500 % [Oe]
delta_h=1700 % [G] same as 4*pi*Ms , Ms magnetization
er=13 % relative permittivity
mur=1 % no specific mur defined so assume 1
N1=1e3 % amount steps in H0 range
dh0=h0max/N1 % H0 range step
H0=[dh0:dh0:h0max];
waveguide geometry fill-up parameters
because of surface and vpasolve attempts didn't work
I decided to fill the waveguide progressively.
N3=[1.01 2 10 1e2 1e3];
t=a/2*(1-1./N3) % ferrite(s) thickness
c=.25*(a-2*t) % c: ferrite left hand side air gap span
d=c % d: ferrite right hand side gap span
Range for sought propagation constant
N5=1e3 % beta resolution, when not symbolic
Beta_range=k0*linspace(.5,4,N5);
f0 : precession (a.k.a. Larmor) frequency, 1st limit
material and H0 dependent
F0=k1*H0;
fm : precession higher frequency, 2nd limit
material dependent
fm=k1*delta_h
k2 : mu permeability deviation
frequency, material and H0 dependent
K2=mu0*mur*fm*f./(F0.^2-f^2);
this exercise is about solving the following equation:
I tried with a surface but with tangent and cotangents turning the equation into transcendental, not even MATLAB standard functions can get this in a single shot. [POZAR] suggests Newton-Raphson.
I found a good approximation matching expected results with Douglas Schwarz support function intersections.m
%% mue : Effective Permeability
MUe = mu0*mur*(1+fm*f./(F0.^2-f^2)); % (9.25a)
%% B contains all betas for each t/a
B=zeros(2,numel(H0)+1,numel(N3));
for s2=1:1:numel(N3)
% n4 low means thin ferrite, n4 large means ferrite completely
% filling up waveguide cross-section.
t1=t(s2);
c1=c(s2);
d1=d(s2); % c=d imposed, from question header but leave d in case future use
beta=Beta_range; % it was syms but didn't work
Beta=[t1;c1];
for s1=1:1:numel(H0)
Kfsq=4*pi*f^2*MUe(s1)*eps0*er-beta.^2;
Kasq=4*pi^2/c0^2*f^2-beta.^2;
% building equation
Eq1=Kfsq./(MUe(s1)).^2; % [1]
Eq2=K2(s1).^2.*beta.^2./((mu0*mur)^2*MUe(s1).^2); % [2]
KEq3=abs(Kasq.^.5).*cot(abs(Kasq.^.5)*c1)./(mu0*MUe(s1)); % [3]
Eq31=KEq3.*abs(Kfsq.^.5).*cot(abs(Kfsq.^.5)*t1);
Eq32=KEq3.*K2(s1).*beta/mur;
Eq4=Kasq/mu0^2; % [4]
Eq5=cot(abs(Kasq.^.5)*c1).*tan(abs(Kasq.^.5)*d1); % [5]
KEq6=abs(Kasq.^.5).*tan(abs(Kasq.^.5)*d1)./(mu0*MUe(s1)); % [6]
Eq61=KEq6.*abs(Kfsq.^.5).*cot(abs(Kfsq.^.5)*t1);
Eq62=-KEq6.*K2(s1).*beta./mur;
% assembling equation
S1vor=Eq1+Eq2+Eq31+Eq32+Eq4+Eq5+Eq61+Eq62;
%% solving equation
% When plotting the following
% figure;plot(beta,S1vor);grid on;xlabel('\beta');title('S1vor')
% the asymptote is the sought point [beta(n) H0(n)].
% To capture this point support function intersections.m is particularly handy
% directly using the Y points generated by plot function
hf1=figure;
hf1.Visible='off';
hp1=plot(beta,S1vor);grid on;xlabel('\beta');title('S1vor');
% capturing asymptote
[x0,y0]=intersections([beta(1) beta(end)],[0 0],beta,hp1.YData,'robust');
if numel(x0)<2
x0=[x0;0];
end
if numel(x0)>2
x0([3:end])=[];
end
%% logging single point result
Beta=[Beta x0];
close all;
% Not closing so many figures causes forced shut down that in turn
% shows up as the following low level error on launching MATLAB again:
%
% Warning: MATLAB previously crashed due to a low-level graphics error.
% To prevent another crash in this session, MATLAB is using software
% OpenGL instead of using your graphics
% hardware. To save this setting for future sessions, use the opengl('save', 'software') command.
% For more information, see Resolving Low-Level Graphics Issues.
% > In matlab.graphics.internal.initialize (line 15)
end
% Beta(:,1)=[]; % 1st round left log header empty, but when calculating for
% different [t c] I am putting [t(s2);c(s2)] in each Beta header, to be
% able to tell what fill-out corresponds to each pair of curves.
%% Displaying beta(H0) for particular [t c] fill-up
B(:,:,s2)=Beta;
b1=Beta(1,[2:end]);
b2=Beta(2,[2:end]);
hf1=figure;plot(H0,b1/k0,H0,b2/k0)
ax2=gca;
grid on;
grid minor;
ax2.PlotBoxAspectRatioMode='manual';
ax2.PlotBoxAspectRatio=[1 1 1];
grid on;
title('beta(H0)/k0');
str1=[ ' t/a = ' num2str(t1/a) ];
text(300,2.4,str1,'FontSize',14)
xlabel('H_0');ylabel('\beta/H_0');
legend({' \beta1','\beta2'},'Location','northeastoutside')
str2=['graph_' num2str(s2) '_chap_09_ex_10']
saveas(hf1,str2,'jpg')
end
t/a<<1 is very thin ferrite, and t/a=.25 means half area of waveguide cross section is covered with ferrite.
bottom of page