ukaea/PROCESS

Process produces a feasible solution but in the log file an area or fraction of the TF magnet coil is negative

Opened this issue · 4 comments

In GitLab by @cjwgriesel on Jul 6, 2022, 17:18

Process produces a feasible solution for a concept but in the log file a warning is generated that is an error. An area or fraction of a TF magnet coil is negative.

Typically

276 2 CHECK: One of the areas or fractions is negative in the internal SC TF coil geom
Floating point diagnostic values for this error:

  1. 3.05541E-02
  2. 1.62942E-03
  3. 7.65500E-03
  4. -7.86779E-03
  5. 4.22782E-02
  6. 4.81483E-01
  7. 1.29416E-02
  8. 1.47385E-01

Or
276 2 CHECK: One of the areas or fractions is negative in the internal SC TF coil geom
Floating point diagnostic values for this error:

  1. 1.54265E-01
  2. 8.12355E-03
  3. 1.55290E-03
  4. -1.57456E-01
  5. -1.48735E-01
  6. -8.25437E+00
  7. 4.28264E-03
  8. 2.37675E-01

this is from sctfcoil.f90

! Negative areas or fractions error reporting
if ( acond <= 0.0D0 .or. avwp <= 0.0D0 .or. aiwp <= 0.0D0 .or. &
     aswp <= 0.0D0 .or. a_tf_steel <= 0.0D0 .or. f_tf_steel <= 0.0D0 .or. &
     a_tf_ins <= 0.0D0 .or. f_tf_ins <= 0.0D0 ) then
    fdiags(1) = acond
    fdiags(2) = avwp
    fdiags(3) = aiwp
    fdiags(4) = aswp
    fdiags(5) = a_tf_steel
    fdiags(6) = f_tf_steel
    fdiags(7) = a_tf_ins
    fdiags(8) = f_tf_ins
    call report_error(276)
end if

so in the upper case aswp is -ve.
and in the lower case aswp, a_tf_steel and f_tf_steel are all -ve.
NOTE in the MFILE.DAT output and OUT.DAT there is an error in that the wrong variable has been used to display output of aswp. See issue #1702.

In GitLab by @cjwgriesel on Jul 6, 2022, 17:24

Note also that the negative area or fraction of the TF magnet coil is negative in the final output of the so called feasible solution!!!

In GitLab by @mkovari on Jul 28, 2022, 11:56

The error lies in subroutine tf_averaged_turn_geom. If this option is selected:

! ITER like turn structure        
if ( i_tf_sc_mat /= 6 ) thenthen the cable dimension can become negative:            
! Dimension of square cable space inside conduit [m]            
t_cable = t_conductor - 2.0D0*thwcndut

Unfortunately, this is not picked up by the error check, which looks only at the square of the cable dimension:

! Cross-sectional area of cable space per turn  
! taking account of rounded inside corners [m2]              
acstf = t_cable**2 - (4.0D0-pi)*rbcndut**2              
if (acstf <= 0.0D0) then

Note that this problem has been known for a long time and has been partially solved before - see Issue #784.

See discussion #2923.

Also the diameter of the helium channel is an input in m, so it doesn't scale with the other dimensions. You can have a positive cable space that is smaller than the helium channel (dhecoil)