Skin effect derivation and plotting in Matlab

  • Thread starter RGann
  • Start date
  • #1
12
1

Main Question or Discussion Point

This is driving me crazy. The derivation of the current distribution in a long cylindrical wire is extremely straightforward, giving
[tex]J(r) = J(a) \frac{J_0(k r)}{J_0(k a)}[/tex]
where [itex]J[/itex] is the current density, [itex]a[/itex] is the radius of the wire, and [itex]k[/itex] is the complex wave vector, which in a metal (with nearly no permittivity) is given by
[tex]k^2 \approx -i \omega \mu \sigma[/tex]
[itex]J_0[/itex] is the Bessel function of order zero. These expressions match several books I've checked. But when I try to plot the current distribution for, say, copper in Matlab, it doesn't look like the plot in my book. The code is
Code:
mu = 1.2566290e-6;
sigma = 5.96e7;
omega = 2*pi*1e4; %10 kHz
a = .05;
k = sqrt(-1i*omega*mu*sigma);
r=0:.0001:.01;
J = besselj(0,k*r)/besselj(0,k*a);
rej = real(J);
plot(r,rej)
The plot is attached. Is this correct? It doesn't seem to match the Wikipedia plot either. Does the current actually dip negative? It is otherwise qualitatively right, in that all of the current is concentrated near the edge, but I thought the max was at the very edge. What am I missing here?

Thanks
 

Attachments

Answers and Replies

  • #2
jasonRF
Science Advisor
Gold Member
1,283
334
Two things:
1) you are only plotting out to r=0.01, instead of all the way to the outer edge of the wire (r=a)
2) you are plotting only the real part of the current. If you plot the magnitude of the current I think you will find that it is monotonically increasing out to the edge of the wire.

jason
 
  • Like
Likes 1 person
  • #3
12
1
Good catch, you have identified my conceptual problem. When I start out, I have the Maxwell equations, namely

[tex]\nabla \times \vec{H} = \vec{J} + \frac{\partial \vec{D}}{\partial t} \quad \quad \nabla \times \vec{E} = -\frac{\partial \vec{B}}{\partial t}[/tex]

Then I write that [itex]\partial\vec{B}/\partial t = i \omega \vec{B}[/itex]. That would imply that I need to take the real part of [itex]J[/itex] at the end, because I'm using [itex]e^{i \omega t}[/itex] instead of [itex]\cos \omega t[/itex]. But the correct answer is to take the magnitude, that is [itex]|J|[/itex]. Could you explain why this is the correct thing to do? What significance does that have?
 
  • #4
jasonRF
Science Advisor
Gold Member
1,283
334
The magnitude tells you how much current is flowing; the phase tells you phase shift as a function of radius. I would expect the phase to go through 2 pi phase shift for every wavelength in the wire (check out the real part of k to determine the effective wavelength in the wire). Note that the average power dissipated due to Ohmic losses is
[tex]
\frac{1}{2} \Re \int \mathbf{J \cdot E^\ast}\, dV = \frac{1}{2 \sigma} \int |\mathbf{J}|^2 \, dv
[/tex]
since E and J are in phase. So it really is the magnitude of J that you probably care most about.

jason
 
  • Like
Likes 1 person
  • #5
jasonRF
Science Advisor
Gold Member
1,283
334
Just thought about this post again - there are cases where you DO care about the phase of J. In particular, if you want to compute the impedance (per unit length) then you need the complex current density. In the case of the wire you do find that the impedance is complex - since it has a resistance and inductance per unit length.

jason
 
  • #6
12
1
ok, so the wrinkle is that J(r) gives information not just about current but about the phase of the current at that location, and that at a given r it is not the same at adjacent points. This is a result of dropping the time dependence out explicitly. Brilliant, thanks.
 

Related Threads on Skin effect derivation and plotting in Matlab

  • Last Post
Replies
9
Views
8K
  • Last Post
Replies
2
Views
1K
  • Last Post
Replies
3
Views
4K
  • Last Post
Replies
4
Views
620
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
3
Views
4K
Replies
6
Views
3K
  • Last Post
Replies
1
Views
513
  • Last Post
Replies
3
Views
2K
Replies
3
Views
672
Top