Magnetic Disc (part 1 1 )

A disc of radius R = 1 m R=1m carries a current of 1 A 1A is situated in the X Y X-Y plane with centered at the orgin. Find the magnetic field B B at test point N ( x , y , z ) = ( 1 , 2 , 3 ) N(x, y, z)=(1,2,3) Details and Assumptions 1) Magnetics permeability μ 0 = 2 \mu_{0}=2 . . 2) Example - if your answer comes 0.0023638297 in this way then type answer as 0.236(Multiply with 100)


The answer is 0.799.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

1 solution

Steven Chase
Mar 19, 2020

Nice problem. My assumptions and strategy are contained within the code comments.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import math

# Assumptions:

# Divide the disk into current "loops", concentric with the origin
# Each loop has area 2*pi*r*dr, and has current in proportion to its share of the disk area
# The loop currents circulate around the origin
# Integrate over each loop using Biot Savart to find its contribution to the B field at the test point
# Add the contributions from all the loops

######################################################

# Scan resolution

N = 5000

######################################################

# Constants

R = 1.0
A = math.pi*(R**2.0) # disk area
Itot = 1.0
J = Itot/A    # current density

u0 = 2.0

dr = R/N
dtheta = 2.0*math.pi/N

######################################################

# Test point

Nx = 1.0
Ny = 2.0
Nz = 3.0

######################################################
######################################################

Bx = 0.0
By = 0.0
Bz = 0.0

r = 0.0

while r <= R:

    dA = 2.0*math.pi*r*dr       # "loop" area
    I = J*dA                    # loop current
    Bmult = u0*I/(4.0*math.pi)

    theta = 0.0

    while theta <= 2.0*math.pi:  # Integrate over each loop using Biot Savart

        x = r*math.cos(theta)             
        y = r*math.sin(theta)
        z = 0.0

        dx = -r*math.sin(theta) * dtheta 
        dy = r*math.cos(theta) * dtheta        
        dz = 0.0

        Dx = Nx - x                 
        Dy = Ny - y
        Dz = Nz - z

        D = math.sqrt(Dx**2.0 + Dy**2.0 + Dz**2.0)

        crossx = dy*Dz - dz*Dy      
        crossy = -(dx*Dz - dz*Dx)
        crossz = dx*Dy - dy*Dx

        dBx = Bmult*crossx/(D**3.0)  
        dBy = Bmult*crossy/(D**3.0)
        dBz = Bmult*crossz/(D**3.0)

        Bx = Bx + dBx
        By = By + dBy
        Bz = Bz + dBz

        theta = theta + dtheta

    r = r + dr

######################################################
######################################################

# Print results

print N
print ""
print Bx
print By
print Bz
print ""
B = math.sqrt(Bx**2.0 + By**2.0 + Bz**2.0)

print B
print (100.0*B)

######################################################
######################################################

# Results


#1000

#0.00296522648229
#0.00584620103035
#0.00455626173443

#0.00798311690827
#0.798311690827

#>>> ================================ RESTART ================================

#>>> 
#2000

#0.00295278438159
#0.00586334680628
#0.00457188289614

#0.00799999278693
#0.799999278693

#>>> ================================ RESTART ================================
#>>> 

#5000

#0.00292995784763
#0.00585991569527
#0.00457084280908

#0.00798848351878
#0.798848351878
#>>> 

```

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...