Source code for freegs.test_shaped_coil

import numpy as np

from .shaped_coil import ShapedCoil


[docs] def test_area(): coil1 = ShapedCoil( [(0.95, 0.1), (0.95, 0.2), (1.05, 0.2), (1.05, 0.1)], current=100.0 ) assert np.isclose(coil1.area, 0.01)
[docs] def test_move_R(): """ Changing major radius property R changes all filament locations """ dR = 0.6 coil1 = ShapedCoil( [(0.95, 0.1), (0.95, 0.2), (1.05, 0.2), (1.05, 0.1)], current=100.0 ) coil2 = ShapedCoil( [(0.95 + dR, 0.1), (0.95 + dR, 0.2), (1.05 + dR, 0.2), (1.05 + dR, 0.1)], current=100.0, ) # Shift coil1 to same location as coil2 coil1.R += dR assert np.isclose(coil1.controlPsi(0.4, 0.5), coil2.controlPsi(0.4, 0.5)) assert np.isclose(coil1.controlBr(0.3, -0.2), coil2.controlBr(0.3, -0.2)) assert np.isclose(coil1.controlBz(1.75, 1.2), coil2.controlBz(1.75, 1.2))
[docs] def test_move_Z(): """ Changing height property Z changes all filament locations """ dZ = 0.4 coil1 = ShapedCoil( [(0.95, 0.1), (0.95, 0.2), (1.05, 0.2), (1.05, 0.1)], current=100.0 ) coil2 = ShapedCoil( [(0.95, 0.1 + dZ), (0.95, 0.2 + dZ), (1.05, 0.2 + dZ), (1.05, 0.1 + dZ)], current=100.0, ) # Shift coil1 to same location as coil2 coil1.Z += dZ assert np.isclose(coil1.controlPsi(0.4, 0.5), coil2.controlPsi(0.4, 0.5)) assert np.isclose(coil1.controlBr(0.3, -0.2), coil2.controlBr(0.3, -0.2)) assert np.isclose(coil1.controlBz(1.75, 1.2), coil2.controlBz(1.75, 1.2))