Mutual inductance of two disk coils (MATLAB)

In summary, Greg found an alternative solution to the mutual inductance equation provided in the paper.
  • #1
tommydyhr
2
0
Hi,

I'm been spending way too much time this weekend, wrestling with the equations provided in the paper [The mutual inductance of two thin coaxial disk coils in air, Babic S., DOI: 10.1109/TMAG.2004.824810], but I just can't seem to verify the results obtained in the examples in the journal. Unfortunately, due to copyright reasons, I can't paste the equations here, but for those of you who have access to scientific journals (most college students, I suppose) can access it from the DOI.

To solve equation 3 in the paper, I've made the following script:

Code:
clear
clc

R1 = 0.1;
R2 = 0.2;
R3 = 0.3;
R4 = 0.4;
dist = 0.1;
N1 = 100;
N2 = 100;
mu_0 = 4.*pi.*10.^(-7);

p = [R1 R1 R2 R2];
l = [R3 R4 R4 R3];

sum_result = 0;
for n = 1:4
    J1F = @(beta) ((beta>0)&(beta<(pi/2))).*(1./sin(beta)).*(atan((dist.^2.*cos(beta)+p(n).*l(n).*(sin(beta)).^2)./(dist.*sin(beta).* (sqrt(l(n).^2+p(n).^2+dist.^2-2.*l(n).*p(n).*cos(beta))) ))-atan((dist.^2.*cos(beta)-p(n).*l(n).*(sin(beta)).^2)./(dist.*sin(beta).*(sqrt(l(n).^2+p(n).^2+dist.^2+2.*l(n).*p(n).*cos(beta)))))) + (beta==0)*((sqrt((l(n)+p(n))^2+dist^2)-(sqrt((l(n)-p(n)).^2+dist.^2)))./dist) + (beta==pi/2).*2.*atan((l(n).*p(n))./(dist.*sqrt(l(n).^2+p(n).^2+dist.^2)));
    J2F = @(beta) asinh((l(n)+p(n).*cos(2.*beta))./sqrt(p(n).^2.*(sin(2.*beta)).^2+dist.^2));
    J3F = @(beta) asinh((p(n)+l(n).*cos(2.*beta))./sqrt(l(n).^2.*(sin(2.*beta)).^2+dist.^2));
    J1 = integral(J1F,0,pi/2);
    J2 = integral(J2F,0,pi/2);
    J3 = integral(J3F,0,pi/2);
    k = sqrt((4*p(n)*l(n))/((l(n)+p(n))^2+dist^2));
    m = 2*p(n)/(sqrt(p(n)^2+dist^2)+p(n));
    pn = 2*l(n)/(sqrt(l(n)^2+dist^2)+l(n));
    theta1 = asin(abs(dist)/(sqrt(p(n)^2+dist^2)+p(n)));
    theta2 = asin(sqrt((1-m^2)/(1-k^2)));
    theta3 = asin(abs(dist)/(sqrt(l(n)^2+dist^2)+l(n)));
    theta4 = asin(sqrt((1-pn^2)/(1-k^2)));
    T = ellipticE(k)*(-2*l(n)*p(n)*sqrt(l(n)*p(n))/k) + k*sqrt(l(n)*p(n))*(dist^2-l(n)^2-p(n)^2+p(n)*sqrt(p(n)^2+dist^2)+l(n)*sqrt(l(n)^2+dist^2))*ellipticK(k)-pi*abs(dist)*0.5*p(n)*sqrt(p(n)^2+dist^2)*(1-Heuman_Lambda(theta1,k)-sign(sqrt(p(n)^2+dist^2)-l(n))*(1-Heuman_Lambda(theta2,k)))-pi*abs(dist)*0.5*l(n)*sqrt(l(n)^2+dist^2)*(1-Heuman_Lambda(theta3,k)-sign(sqrt(l(n)^2+dist^2)-p(n))*(1-Heuman_Lambda(theta4,k)))-0.5*dist^3*J1+p(n)^3*J2+l(n)^3*J3;
    sum_result = sum_result + ((-1)^(n-1))*T;
end

M = ((mu_0*N1*N2)/(3*(R2-R1)*(R4-R3)))*sum_result

Where I've defined the Heuman Lambda function in a separate file:
Code:
function [ HL ] = Heuman_Lambda( t,m )

mdash = (1-m);

[K,E] = ellipke(m);
[K2,E2] = ellipke(mdash);
incF = ellipticF(t,mdash);
incE = ellipticE(t,mdash);

Z = incE - (E2*incF)/K2; % Jacobi zeta function

HL = incF / K2 + (2/pi) * K * Z;

Whichever of the examples I try, I always seem to get a complex result, as opposed to the 1.226 mH from the paper.

If anyone can spot any glaringly obvious mistakes from the code, I'd be forever in your debt! :)

Edit: I suppose it's worth noting that with the values provided (ie. R1 = 10cm, R2 = 20cm, R3 = 30cm, R4 = 40cm, dist = 10cm), theta1 and theta2 returns complex values due to arcsin(x) not being defined in R for x > 1.
 
Physics news on Phys.org
  • #2
Thanks for the post! Sorry you aren't generating responses at the moment. Do you have any further information, come to any new conclusions or is it possible to reword the post?
 
  • #3
Thanks Greg. I found a completely alternative solution, which I can't really elaborate on here. I tried to delete this topic a couple of days ago, but I couldn't find the button for it! :rolleyes:
 

1. What is mutual inductance?

Mutual inductance refers to the phenomenon where a changing magnetic field in one circuit induces a voltage in another nearby circuit. It is a measure of the coupling between two circuits and is dependent on their physical arrangement and material properties.

2. How is mutual inductance calculated?

Mutual inductance is calculated using the formula M = k * sqrt(L1 * L2), where M is the mutual inductance, k is the coupling coefficient, and L1 and L2 are the self-inductances of the two coils. The coupling coefficient is a measure of how well the magnetic flux is coupled between the two coils and ranges from 0 to 1.

3. How can mutual inductance be visualized?

Mutual inductance can be visualized by plotting the voltage induced in one coil as a function of the current flowing through the other coil. This curve is known as the mutual inductance characteristic and can help to understand how the two coils are coupled and how their inductance affects each other.

4. What is the significance of mutual inductance in practical applications?

Mutual inductance is important in many practical applications, such as in transformers, motors, and generators. It allows for energy to be transferred between circuits without physical contact, making it a key component in the functioning of these devices.

5. How can MATLAB be used to analyze mutual inductance of two disk coils?

MATLAB can be used to calculate the mutual inductance of two disk coils by using the built-in functions for calculating inductance and coupling coefficient. The self-inductance and physical dimensions of the coils can be inputted into the program, and the mutual inductance can be calculated and plotted using the appropriate formulas and commands.

Similar threads

  • Electromagnetism
Replies
16
Views
1K
Replies
2
Views
1K
  • Introductory Physics Homework Help
Replies
28
Views
373
  • MATLAB, Maple, Mathematica, LaTeX
Replies
8
Views
1K
  • Programming and Computer Science
Replies
4
Views
1K
  • Advanced Physics Homework Help
Replies
15
Views
2K
  • Introductory Physics Homework Help
Replies
3
Views
784
  • MATLAB, Maple, Mathematica, LaTeX
Replies
5
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
  • Introductory Physics Homework Help
Replies
1
Views
712
Back
Top