There are variables in the input namelist associated with the coil-surface separation,
Here are some basic studies using a simple rotating ellipse (R=3.0, a=0.4, b=0.2) with 16 modular coils.
For the rotating ellipse, initialized with circular coils, turn on weight_bnorm=1 and weight_ttlen=1E-4 (target_length = 5.0). Optimize with CG for 20 iterations.
-----------COIL DIAGNOSTICS----------------------------------
diagnos : Bnormal ; Bmn harmonic ; tor. flux ; coil length ; c-s sep. ;
: 2.72675E-04 ; 0.00000E+00 ; 0.00000E+00 ; 3.12202E-01 ; 0.00000E+00 ;
: Maximum curvature of all the coils is : 9.600003813602693E-01 ; at coil 1
: Average length of the coils is : 8.950953876643659E+00
: The minimum coil-coil distance is : 6.444957270149416E-01
: The minimum coil-plasma distance is : 8.387641095333912E-01 ; at coil 16
: Average relative absolute Bn error is : 3.094201085935241E-03
findaxis: Finding axis at phi = 0.00000E+00 with (R,Z) = ( 3.01142E+00, 4.96719E-07 ).
original = hdf5('focus_limiter.h5')
coils_ori = read_coils('limiter.coils')
plt.figure()
plot_plasma_boundary('ellipse.boundary')
plot_focus_poincare(original)
fig = mlab.figure(size=[800,800])
plot_hdf5_surface(original, 'Bmod')
plot_coils(coils_ori, 'real', color=(0.5,0.5,0.5))
fig
-----------COIL DIAGNOSTICS----------------------------------
diagnos : Bnormal ; Bmn harmonic ; tor. flux ; coil length ; c-s sep. ;
: 2.40886E-03 ; 0.00000E+00 ; 0.00000E+00 ; 1.14543E-01 ; 8.47694E+01 ;
: Maximum curvature of all the coils is : 1.067298448756655E+00 ; at coil 15
: Average length of the coils is : 7.393134245040679E+00
: The minimum coil-coil distance is : 7.396835699629960E-01
: The minimum coil-plasma distance is : 6.725623414227534E-01 ; at coil 1
: Average relative absolute Bn error is : 1.030121125597613E-02
findaxis: Finding axis at phi = 0.00000E+00 with (R,Z) = ( 3.00985E+00,-5.13002E-07
plasma_001 = hdf5('focus_limiter.h5')
coils_p001 = read_coils('limiter.coils')
plt.figure()
plot_plasma_boundary('ellipse.boundary')
plot_focus_poincare(plasma_001)
fig = mlab.figure(size=[800,800])
plot_hdf5_surface(plasma_001, 'Bmod')
plot_coils(coils_ori, 'real', color=(0.5,0.5,0.5))
plot_coils(coils_p001, 'real')
fig
-----------COIL DIAGNOSTICS----------------------------------
diagnos : Bnormal ; Bmn harmonic ; tor. flux ; coil length ; c-s sep. ;
: 2.81821E-04 ; 0.00000E+00 ; 0.00000E+00 ; 3.06865E-01 ; 3.89463E+01 ;
: Maximum curvature of all the coils is : 9.140296781157982E-01 ; at coil 1
: Average length of the coils is : 8.917045951521997E+00
: The minimum coil-coil distance is : 6.463554850644817E-01
: The minimum coil-plasma distance is : 8.305443528301367E-01 ; at coil 1
: Average relative absolute Bn error is : 3.198617114515609E-03
findaxis: Finding axis at phi = 0.00000E+00 with (R,Z) = ( 3.01228E+00,-1.57642E-07 ).
plasma_005 = hdf5('focus_limiter.h5')
coils_p005 = read_coils('limiter.coils')
plt.figure()
plot_plasma_boundary('ellipse.boundary')
plot_focus_poincare(plasma_005)
fig = mlab.figure(size=[800,800])
plot_hdf5_surface(plasma_005, 'Bmod')
plot_coils(coils_ori, 'real', color=(0.5,0.5,0.5))
plot_coils(coils_p005, 'real')
fig
-----------COIL DIAGNOSTICS----------------------------------
diagnos : Bnormal ; Bmn harmonic ; tor. flux ; coil length ; c-s sep. ;
: 9.44831E-04 ; 0.00000E+00 ; 0.00000E+00 ; 3.10755E-01 ; 3.86087E+01 ;
: Maximum curvature of all the coils is : 8.491652076969817E-01 ; at coil 3
: Average length of the coils is : 8.941794764356937E+00
: The minimum coil-coil distance is : 6.731266495089485E-01
: The minimum coil-plasma distance is : 8.063569541916477E-01 ; at coil 1
: Average relative absolute Bn error is : 5.775115250122436E-03
findaxis: Finding axis at phi = 0.00000E+00 with (R,Z) = ( 3.00572E+00, 1.54811E-06 ).
plasma_004 = hdf5('focus_limiter.h5')
coils_p004 = read_coils('limiter.coils')
plt.figure()
plot_plasma_boundary('ellipse.boundary')
plot_focus_poincare(plasma_004)
fig = mlab.figure(size=[800,800])
plot_hdf5_surface(plasma_005, 'Bmod')
plot_coils(coils_ori, 'real', color=(0.5,0.5,0.5))
plot_coils(coils_p004, 'real')
fig
-----------COIL DIAGNOSTICS----------------------------------
diagnos : Bnormal ; Bmn harmonic ; tor. flux ; coil length ; c-s sep. ;
: 2.64044E-05 ; 0.00000E+00 ; 0.00000E+00 ; 9.35567E-01 ; 7.52174E+00 ;
: Maximum curvature of all the coils is : 7.925916263845185E-01 ; at coil 2
: Average length of the coils is : 1.183940868491258E+01
: The minimum coil-coil distance is : 3.779430861593034E-01
: The minimum coil-plasma distance is : 1.230939381628111E+00 ; at coil 1
: Average relative absolute Bn error is : 9.562508717885739E-04
findaxis: Finding axis at phi = 0.00000E+00 with (R,Z) = ( 3.00530E+00, 6.35230E-08 ).
plasma_005_q4 = hdf5('focus_limiter.h5')
coils_p005_q4 = read_coils('limiter.coils')
plt.figure()
plot_plasma_boundary('ellipse.boundary')
plot_focus_poincare(plasma_005_q4)
fig = mlab.figure(size=[800,800])
plot_hdf5_surface(plasma_005_q4, 'Bmod')
plot_coils(coils_ori, 'real', color=(0.5,0.5,0.5))
plot_coils(coils_p005_q4, 'real')
fig
-----------COIL DIAGNOSTICS----------------------------------
diagnos : Bnormal ; Bmn harmonic ; tor. flux ; coil length ; c-s sep. ;
: 4.33171E-05 ; 0.00000E+00 ; 0.00000E+00 ; 1.29380E+00 ; 1.13408E+01 ;
: Maximum curvature of all the coils is : 7.153194582707387E-01 ; at coil 1
: Average length of the coils is : 1.304298679204274E+01
: The minimum coil-coil distance is : 2.446381067565838E-01
: The minimum coil-plasma distance is : 1.470690205805498E+00 ; at coil 16
: Average relative absolute Bn error is : 1.203976745333288E-03
findaxis: Finding axis at phi = 0.00000E+00 with (R,Z) = ( 3.00498E+00,-1.29908E-07 ).
plasma_010_q4 = hdf5('focus_limiter.h5')
coils_p010_q4 = read_coils('limiter.coils')
plt.figure()
plot_plasma_boundary('ellipse.boundary')
plot_focus_poincare(plasma_010_q4)
fig = mlab.figure(size=[800,800])
plot_hdf5_surface(plasma_010_q4, 'Bmod')
plot_coils(coils_ori, 'real', color=(0.5,0.5,0.5))
plot_coils(coils_p010_q4, 'real')
fig
Here is the summary.
No. | limiter surface radius | weight_cssep | cssep_factor | Bnorm | Ave. length |
---|---|---|---|---|---|
1 | N/A | 0 | N/A | 2.72675E-04 | 8.950953876643659E+00 |
2 | 0.3 | 4.5E-4 | 1 | 2.40886E-03 | 7.393134245040679E+00 |
3 | 0.3 | 4.5E-4 | 2 | 2.81821E-04 | 8.917045951521997E+00 |
4 | 0.3 | 4.5E-3 | 2 | 9.44831E-04 | 8.941794764356937E+00 |
5 | 0.3 | 4.5E-4 | 4 | 2.64044E-05 | 1.183940868491258E+01 |
6 | 0.5 | 4.5E-4 | 4 | 4.33171E-05 | 1.304298679204274E+01 |
Some observations: