minor improvements on magnetic sim
This commit is contained in:
parent
08a9497ee7
commit
b4c1c9d9d1
1 changed files with 8 additions and 5 deletions
|
|
@ -32,7 +32,7 @@ def plot_field_xz(collection, magnets, xlim, zlim, resolution=100, density=10, p
|
||||||
- resolution: Grid resolution
|
- resolution: Grid resolution
|
||||||
- density: Streamplot density
|
- density: Streamplot density
|
||||||
"""
|
"""
|
||||||
print('computing plot, please wait...')
|
print('computing plot, please wait (can take a minute or two)...')
|
||||||
|
|
||||||
# Create grid in XZ-plane (Y=0)
|
# Create grid in XZ-plane (Y=0)
|
||||||
x = np.linspace(*xlim, resolution)
|
x = np.linspace(*xlim, resolution)
|
||||||
|
|
@ -60,7 +60,7 @@ def plot_field_xz(collection, magnets, xlim, zlim, resolution=100, density=10, p
|
||||||
linewidth=1.0
|
linewidth=1.0
|
||||||
)
|
)
|
||||||
plt.colorbar(stream.lines, label='Log( Field strength [T] )')
|
plt.colorbar(stream.lines, label='Log( Field strength [T] )')
|
||||||
else:
|
elif plot_type == 'field_direction':
|
||||||
qiver = ax.quiver(
|
qiver = ax.quiver(
|
||||||
X, Z, BX/magnitude*0.04, BZ/magnitude*0.04,
|
X, Z, BX/magnitude*0.04, BZ/magnitude*0.04,
|
||||||
np.log(magnitude + 1e-12), # Avoid log(0)
|
np.log(magnitude + 1e-12), # Avoid log(0)
|
||||||
|
|
@ -70,6 +70,8 @@ def plot_field_xz(collection, magnets, xlim, zlim, resolution=100, density=10, p
|
||||||
pivot='middle' # arrow base in the middle of the vector
|
pivot='middle' # arrow base in the middle of the vector
|
||||||
)
|
)
|
||||||
plt.colorbar(qiver, label='Log( Field strength [T] )')
|
plt.colorbar(qiver, label='Log( Field strength [T] )')
|
||||||
|
else:
|
||||||
|
raise ValueError('Unknown visualiztaion type')
|
||||||
|
|
||||||
|
|
||||||
ax.set_facecolor((0.1, 0.1, 0.1))
|
ax.set_facecolor((0.1, 0.1, 0.1))
|
||||||
|
|
@ -163,8 +165,8 @@ def plot_field_rotation_xz_along_lines(collection, point_pairs, num_points=200,
|
||||||
def main():
|
def main():
|
||||||
# Parameters
|
# Parameters
|
||||||
num_magnets = 13
|
num_magnets = 13
|
||||||
spacing = 4 # mm between magnet centers
|
spacing = 3 # mm between magnet centers
|
||||||
radius = 1.9 # mm
|
radius = 1.4 # mm
|
||||||
height = 4 # mm
|
height = 4 # mm
|
||||||
mag_strength = 800e3 # A/m
|
mag_strength = 800e3 # A/m
|
||||||
show_3d_viewer = False # show 3d viewer with simulation scene
|
show_3d_viewer = False # show 3d viewer with simulation scene
|
||||||
|
|
@ -201,7 +203,8 @@ def main():
|
||||||
xlim=(-plot_range[0]/2, plot_range[0]/2),
|
xlim=(-plot_range[0]/2, plot_range[0]/2),
|
||||||
zlim=(-plot_range[1]/2, plot_range[1]/2),
|
zlim=(-plot_range[1]/2, plot_range[1]/2),
|
||||||
resolution=100,
|
resolution=100,
|
||||||
density=10,
|
density=12,
|
||||||
|
plot_type='fieldline', # 'field_direction' or 'fieldline'
|
||||||
show=False
|
show=False
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue