1 SUBROUTINE write_coilsin (iunit, istat)
4 USE write_array_generic
9 INTEGER :: iunit, istat
14 REAL(rprec) :: tempc(nmid), temps(nmid)
15 REAL(rprec) :: temp2c(MAX(nsmid,num_vf)),
16 1 temp2s(MAX(nsmid,num_vf))
24 WRITE(iunit,
'(1x,a8)')
'&COILSIN'
25 WRITE(iunit,
'(1x,3a)')
"BCOIL_FILE = '", trim(bcoil_file),
"'"
26 WRITE(iunit,100)
'LRESTART = ', lrestart
27 WRITE(iunit,100)
'LSURFV = ', lsurfv
28 WRITE(iunit,100)
'LSADSFV = ', lsadsfv
29 WRITE(iunit,100)
'LVF = ', lvf
30 WRITE(iunit,100)
'LVFC = ', lvfc
31 WRITE(iunit,100)
'LVFVAR = ', lvfvar
32 WRITE(iunit,100)
'LVFR = ', lvfr
33 WRITE(iunit,100)
'LVFZ = ', lvfz
34 WRITE(iunit,100)
'LTFC = ', ltfc
35 WRITE(iunit,100)
'LTFCV = ', ltfcv
36 WRITE(iunit,100)
'LSADDLE = ', lsaddle
37 WRITE(iunit,100)
'LSMOD = ', lsmod
38 WRITE(iunit,100)
'LSPLINE = ', lspline
39 WRITE(iunit,100)
'LCTRLPT = ', lctrlpt
40 WRITE(iunit,100)
'LSPLBKP = ', lsplbkp
41 WRITE(iunit,100)
'LMODULAR = ', lmodular
42 WRITE(iunit,100)
'LMODCUR = ', lmodcur
43 WRITE(iunit,100)
'LSADCUR = ', lsadcur
44 WRITE(iunit,100)
'LSADSHAPE = ', lsadshape
45 WRITE(iunit,100)
'LPOLCUR = ', lpolcur
46 WRITE(iunit,100)
'LBNORM = ', lbnorm
47 WRITE(iunit,100)
'LBCOIL = ', lbcoil
48 WRITE(iunit,100)
'LBCOIL_CUR = ', lbcoil_cur
49 WRITE(iunit,100)
'LNCSX = ', lncsx
50 WRITE(iunit,100)
'LQOS = ', lqos
51 WRITE(iunit,100)
'LSYMM = ', lsymm
52 WRITE(iunit,100)
'LACCESS = ', laccess
53 WRITE(iunit,100)
'LAXIS = ', laxis
54 WRITE(iunit,200)
'NOPT_ALG = ', nopt_alg
55 WRITE(iunit,200)
'NOPT_WSURF = ', nopt_wsurf
56 WRITE(iunit,200)
'NITER_OPT = ',niter_opt,
'NSTEP = ', nstep
57 WRITE(iunit,200)
'NWDIM = ', nwdim
58 WRITE(iunit,200)
'NVF_FIX = ', nvf_fix
59 WRITE(iunit,200)
'NF_PHI = ',nf_phi
60 IF (nf_rho .gt. 0)
THEN
61 WRITE(iunit,200)
'NF_RHO = ',nf_rho
63 WRITE(iunit,300)
'EPSFCN = ', epsfcn
64 WRITE(iunit,300)
'I_POL = ', i_pol
65 WRITE(iunit,300)
'I_TFC = ', i_tfc
66 WRITE(iunit,200)
'NMOD_COILS_PER_PERIOD = ',
67 1 nmod_coils_per_period
68 WRITE(iunit,200)
'NUM_VF = ', num_vf
71 WRITE(iunit,300)
'DCP_WGT = ', dcp_wgt,
'DCP_exp = ', dcp_exp,
72 1
'DCP_TGT = ', dcp_tgt
73 WRITE(iunit,450)
'DPC_WGT = ', dpc_wgt
74 WRITE(iunit,450)
'VACFLD_WGT = ', vacfld_wgt
75 WRITE(iunit,450)
'MXB_WGT = ', mxb_wgt
76 IF (nmod_coils_per_period .GT. 0)
THEN
88 IF (lmodular .AND. (.NOT.lsaddle))
THEN
100 WRITE(iunit,200)
'N_ACCESS = ', n_access
101 CALL write_array(iunit,
'X0_ACCESS', x0_access, n_access)
102 CALL write_array(iunit,
'Y0_ACCESS', y0_access, n_access)
103 CALL write_array(iunit,
'Z0_ACCESS', z0_access, n_access)
104 CALL write_array(iunit,
'X1_ACCESS', x1_access, n_access)
105 CALL write_array(iunit,
'Y1_ACCESS', y1_access, n_access)
106 CALL write_array(iunit,
'Z1_ACCESS', z1_access, n_access)
107 CALL write_array(iunit,
'DAC_WGT', dac_wgt, n_access)
108 CALL write_array(iunit,
'DAC_EXP', dac_exp, n_access)
109 CALL write_array(iunit,
'DAC_TGT', dac_tgt, n_access)
114 CALL write_array(iunit,
'BCOIL_CUR', bcoil_cur, mbcoils)
116 IF (num_vf .GT. 0)
THEN
125 WRITE(iunit,200)
'NRVF_C = ', nrvf_c
126 IF (nrvf_c .GT. 0)
THEN
129 temp2c(i) = rcfc_vf(i,j)
130 IF (abs(temp2c(i)) .lt. 1.e-10_dp) temp2c(i) = 0
131 temp2s(i) = rcfs_vf(i,j)
132 IF (abs(temp2s(i)) .lt. 1.e-10_dp) temp2s(i) = 0
134 CALL write_array(iunit,
'RCFC_VF', temp2c, num_vf,j)
135 CALL write_array(iunit,
'RCFS_VF', temp2s, num_vf,j)
139 IF (nmod_coils_per_period .gt. 0)
THEN
142 IF (nf_phi .GT. 0)
THEN
147 IF (abs(tempc(i)) .lt. 1.e-10_dp) tempc(i) = 0
148 IF (abs(temps(i)) .lt. 1.e-10_dp) temps(i) = 0
154 IF (nf_rho .GT. 0)
THEN
159 IF (abs(tempc(i)) .lt. 1.e-10_dp) tempc(i) = 0
160 IF (abs(temps(i)) .lt. 1.e-10_dp) temps(i) = 0
169 IF (numsurf .GT. 0)
THEN
170 WRITE(iunit,200)
'NUMSURF = ',numsurf
179 WRITE(iunit,200)
'NSAD_COILS_PER_PERIOD = ',nsad_coils_per_period
180 WRITE(iunit,200)
'NSAD_U = ',nsad_u
181 WRITE(iunit,200)
'NSAD_V = ',nsad_v
182 IF (nsad_coils_per_period .gt. 0)
THEN
183 WRITE(iunit,200)
'NFILS = ',nfils
184 WRITE(iunit,300)
'DELN = ', deln,
'DELT = ', delt
185 CALL write_array(iunit,
'NSAD_GROUP', nsad_group, nsmid)
186 CALL write_array(iunit,
'CSAD_SCL', csad_scl, nsmid)
197 1 sc_dmin_tgt(1:nsad_unique_coils,j),nsad_unique_coils,j)
199 1 sc_dmin_wgt(1:nsad_unique_coils,j),nsad_unique_coils,j)
207 CALL write_array(iunit,
'LSAD_WGT', lsad_wgt, nsmid)
208 CALL write_array(iunit,
'LSAD_TGT', lsad_tgt, nsmid)
209 CALL write_array(iunit,
'RMAX_WGT', rmax_wgt, nsmid)
210 CALL write_array(iunit,
'RMAX_TGT', rmax_tgt, nsmid)
213 CALL write_array(iunit,
'DSCXP_WGT', dscxp_wgt, nsmid)
214 CALL write_array(iunit,
'DSCXP_exp', dscxp_exp, nsmid)
215 CALL write_array(iunit,
'DSCXP_TGT', dscxp_tgt, nsmid)
218 IF (lspline .and. lsplbkp)
THEN
219 WRITE(iunit,350)
'BKP_WGT = ',bkp_wgt,
'BKP_TGT = ',bkp_tgt
222 IF (nsad_v .GT. 0)
THEN
225 temp2c(i) = sad_v_c(i,j)
226 temp2s(i) = sad_v_s(i,j)
227 IF (abs(temp2c(i)) .lt. 1.e-10_dp) temp2c(i) = 0
228 IF (abs(temp2s(i)) .lt. 1.e-10_dp) temp2s(i) = 0
231 CALL write_array(iunit,
'NVAR_VC', nvar_vc(1:nsmid,j),
234 CALL write_array(iunit,
'SAD_V_C', temp2c, nsmid, j)
235 CALL write_array(iunit,
'SAD_V_S', temp2s, nsmid, j)
238 IF (nsad_u .GT. 0)
THEN
241 temp2c(i) = sad_u_c(i,j)
242 temp2s(i) = sad_u_s(i,j)
243 IF (abs(temp2c(i)) .lt. 1.e-10_dp) temp2c(i) = 0
244 IF (abs(temp2s(i)) .lt. 1.e-10_dp) temp2s(i) = 0
247 CALL write_array(iunit,
'NVAR_UC', nvar_uc(1:nsmid,j),
250 CALL write_array(iunit,
'SAD_U_C', temp2c, nsmid, j)
251 CALL write_array(iunit,
'SAD_U_S', temp2s, nsmid, j)
257 IF (numsurf_sad .gt. 0)
THEN
258 WRITE(iunit,200)
'NUMSURF_SAD = ', numsurf_sad
259 CALL write_array(iunit,
'M_SAD', m_sad, numsurf_sad)
260 CALL write_array(iunit,
'N_SAD', n_sad, numsurf_sad)
261 CALL write_array(iunit,
'RMN_SAD', rmn_sad, numsurf_sad)
262 CALL write_array(iunit,
'ZMN_SAD', zmn_sad, numsurf_sad)
265 WRITE(iunit,
'(a)')
'/'
267 100
FORMAT(4(1x,a,l2,
','))
268 200
FORMAT(4(1x,a,i6,
','))
269 300
FORMAT(3(1x,a,1pe12.4,
','))
270 350
FORMAT(2(1x,a,1pe12.4,
','))
271 450
FORMAT(1x,a,1pe12.4,
',')
274 END SUBROUTINE write_coilsin