kami

5 Reputation

One Badge

6 years, 5 days

MaplePrimes Activity


These are questions asked by kami

 

 

Hello;

 I am trying to verify the analytic solution of a electric and magnetic fields created by a small dipole antenna (also called "Hertzian dipole"). The study of a small dipole is ground zero of anyone learning about antennas as calculations are "relatively" easy if a mathematical software is used. As the title suggests, the fieldplot3d returns an empty box.

Here is some introduction for the problem in question:

 The procedure is relatively straightforward, first, current density vector is defined, from there, magnetic vector potential (named "vector A") is calculated. The curl of vector A gives the magnetic field (named "B-field") produced by the antenna. From B-field, H field is deduced as it is only a multiplication of the B-field by a constant.

 At this point, I try to plot the H-field, and it works like a charm. No problem at all.

The electric field (named "E-field") then, may be calculated by taking the curl of the H-field and multiplying by a constant.

 At this second point, I try to plot the E-field, however, Maple returns an empty box. 

First, I thaught, maybe it was a problem of division by 0, however, after redefining the axis ranges, the problem still persists. I am attaching the code and the images. Any help will be greatly appreciated.

PS: This is my first post and I am very new to maple, please indulgde me if I make some formatting and/or post mistakes

 

KB

First step: Verify calculations for Hertzian dipole

 

restart;

with(plots):

with(LinearAlgebra):

with(VectorCalculus):

#IMPORTANT: R is constant for the calculation of A

 

 

 

J:=Vector[column]([ 0 ,
                 0 ,
                 I_0/s ]);

J := I_0*e[z]/s

(1)

 

A := VectorCalculus:-`*`(VectorCalculus:-`*`(mu_0, 1/VectorCalculus:-`*`(4, Pi)), int(VectorCalculus:-`*`(VectorCalculus:-`*`(VectorCalculus:-`*`(J, exp(VectorCalculus:-`-`(VectorCalculus:-`*`(VectorCalculus:-`*`(I, k), R)))), s), 1/R), z = VectorCalculus:-`-`(VectorCalculus:-`*`(l, 1/2)) .. VectorCalculus:-`*`(l, 1/2)))

A := (1/4)*mu_0*exp(-I*k*R)*I_0*l*e[z]/(Pi*R)

(2)

A[1];

0

(3)

A[2];

0

(4)

A[3];

(1/4)*mu_0*exp(-I*k*R)*I_0*l/(Pi*R)

(5)

#Taking the curl of A:

#IMPORTANT: R is a function of x,y,z:

R:=sqrt(x^2+y^2+z^2);

(x^2+y^2+z^2)^(1/2)

(6)

 

 

 

#Defining B by taking the curl

B[1] := VectorCalculus:-`+`(diff(A[3], y), VectorCalculus:-`-`(diff(A[2], z))):

 

 

B[2] := VectorCalculus:-`-`(VectorCalculus:-`+`(diff(A[3], x), VectorCalculus:-`-`(diff(A[1], z)))):

 

 

B[3] := VectorCalculus:-`+`(diff(A[2], x), VectorCalculus:-`-`(diff(A[1], y))):

B:=Vector[column]([ B[1] ,
                 B[2] ,
                 B[3] ]):

 

 

mu_0:=4*Pi*10^(-7):

I_0:=2400:

f:=2500:

omega:=2*Pi*f:

c:=3*10^8:

k:=omega/c:

l:=3*10^(-2):

epsilon_0:=1/(mu_0*c^2):

 

 

 

B_plot:=fieldplot3d([B[1],B[2],B[3]], x=-1..1,y=-1..1,z=-1..1,fieldstrength=log,arrows=SLIM):

 

 

H:=(1/mu_0)*B:

 

H_plot:=fieldplot3d([H[1],H[2],H[3]], x=-1..1,y=-1..1,z=-1..1,fieldstrength=log,arrows=SLIM):

 

# Taking curl of H to find the E field:

 

E[1] := VectorCalculus:-`*`(1/VectorCalculus:-`*`(VectorCalculus:-`*`(I, omega), epsilon_0), VectorCalculus:-`+`(diff(H[3], y), VectorCalculus:-`-`(diff(H[2], z)))):

E[2] := VectorCalculus:-`*`(1/VectorCalculus:-`*`(VectorCalculus:-`*`(I, omega), epsilon_0), VectorCalculus:-`-`(VectorCalculus:-`+`(diff(H[3], x), VectorCalculus:-`-`(diff(H[1], z))))):

E[3] := VectorCalculus:-`*`(1/VectorCalculus:-`*`(VectorCalculus:-`*`(I, omega), epsilon_0), VectorCalculus:-`+`(diff(H[2], x), VectorCalculus:-`-`(diff(H[1], y)))):

E:=Vector[column]([ E[1] ,
                 E[2] ,
                 E[3] ]):

E_plot:=fieldplot3d([E[1],E[2],E[3]], x=1..500,y=1..500,z=1..500,fieldstrength=log,arrows=SLIM):

 

 

subs(x=1,y=1,z=1,H):

 

H_plot;

 

 

 

E_plot;

 

 

``


 

Download short_dipole_matrix_way_old_school.mw 

 

Page 1 of 1