-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
276 lines (209 loc) · 8.84 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
System requirements:
1) gnu c++ compiler 4.1.2 or newer
2) intel or gnu fortran compiler
3) openmp (comes with gnu c++ compiler 4.2 or newer)
Dependencies:
1) blitz++
2) openmpi
3) HDF5 and netcdf
3) (optional) m3dc1
Dependencies GUI (optional):
1) python 2.7 or 3
2) Tk/Tcl 8.5 (Tkinter with ttk)
Build:
1) Edit make.inc and adjust to local platform. Examples are given in the install/ dir
2) make options are: all, d3d, iter, nstx, mast, clean or any of the individual tools
Build GUI (optional):
1) make gui
Set environment
1) check/add path to mpirun to PATH variable
2) add path to all required libraries to LD_LIBRARY_PATH
3) check/add path to created binary to PATH variable
How to run a case:
1) check for g-file
2) check for diiidsup.in file
3) launch mafot_gui.py
or
3) check control file (filename starts with _)
set shot and time right
set path to g-file right
4) run code
$/> mpirun -np <N> -host <hostname> dtlaminar_mpi _lam.dat <arbitrary_single_string> &
( N: Number of processes
hostname: Names of Hosts, separated by comma
arbitrary_single_string: will be added to the output filename, no blanks!
)
------------------------------------------------------------------------------------
Current Version:
----------------
MAFOT 5.5.2
GUI 3.1.1
Version Notes:
----------------
GUI 3.1.1 -- Oct 2024
- Bug fix: GUI would not start if gPath in control file does not exist. This is now fixed.
MAFOT 5.5.2 -- Feb 2024
- for compile setups without 3rd party code supports, like M3D-C1, MAFOT now defaults back to using the gFile mode even if other (unavailable) Field modes are selected in the control file. Before, this was not captured and a run would fail doing nothing.
MAFOT 5.5.1 -- Dec 2023
- laminar now returns B-field components instead of previously obsolete variables (pitch, yaw amd psimax)
MAFOT 5.5 -- May 2023
- Code can now read arbitrarily named gFiles
- bug fix in structure, where toroidal angle was wrong for dpinit != 1
GUI 3.1 -- Jan 2023
- gFile is now a full pathname, selectable from drop down menu, and sets shot & time, if applicable
MAFOT 5.4.1 -- Feb 2023
- Enable any machine without specific 3D coils
GUI 3.0 -- Jan 2023
- converted to Python3
- PPPL cluster support added
MAFOT 5.4 -- Oct 2021
- Collision class (SULI project) merged into main
MAFOT 5.3 -- Oct 2021
- HEAT inluded in main file structure
MAFOT 5.2 -- Aug 2021
- TCABR tokamak support added, also to d3dplot.py
MAFOT 5.11 -- Nov 2019
- sheath model added
MAFOT 5.1 -- July 2019
- new tools trace and lcfs added
- bug fixes
MAFOT 5.0 -- Jan 2019
- Zeff added to all input files. This required some minor restructuring, which makes old ITER and NSTX input files incompatible.
For D3D, only the position of useFilaments shifted by one. MAST and C-Mod are unchanged
- electric field for ExB particle drifts added
GUI 2.1 -- Jan 2019
- Zeff added
- electric field input added
MAFOT 4.2 -- Sep 2018
- restart option added to xpand, foot and laminar
- VMEC field line tracing now posible inside s = 1 without xpand
- d3dplot uses now pcolormesh instead of imshow
GUI 2.1 -- Jul 2018
- support for full wall outline in foot, using Swall
- Mapdirection now selectable in foot, because of reversed Bt cases
MAFOT 4.11 -- Jul 2018
- special 2D bisection method added to support s,u calculation from R,Z in xpand
MAFOT 4.1 -- May 2018
- laminar now set up to work with Sheft toolkit on NSTX. Several fixes for NSTX
- 3D wall with any number of toroidal slices
- check for wall crossing within first integration step
MAFOT 4.03 -- Mar 2018
- full wall now accessible for foot_mpi using the swall coordinate and target = 0
GUI 2.0 -- Feb 2018
- complete restructuring of ther code to unify common code segments
- several new features, like use of shell Flags for VMEC/SIESTA, or dtlaminar
- new autocomplete Entry widget for file names, that searches through the directory structure
MAFOT 4.02 -- Feb 2018
- B-coil shift&tilt error added for DIII-D
MAFOT 4.01 -- Jan 2018
- Buswork error field added for DIII-D
- For backward compatibility: c++11 standard no longer required, but recommended
- structure can now use the 3D wall
- compile targets for "each tool in all machines" added to makefile
MAFOT 4.0 -- Dec 2017
- unification of M3DC1 and regular machine file -> *_m3dc1.hxx machine files no longer supported
- simplification of machine specific files by moving larg pieces of common code to mafot.hxx
- bug fix for xpand
- CMOD now fully available (except target plate specification for footprints)
- improved command line options for all tools, including file name support for SIESTA, VMEC and XPAND
- new read-in routine for parameterfile
- 3D field line tracing with structure tool now fully supported
- c++ 2011 standard now required -> compiler flag -std=c++1 added in general
MAFOT 3.9 -- July 2017
- laminar can now compute Lc, psimin, etc. along an EFIT flux surface of constant psi
- d3dplot.py can plot the new laminar plots
MAFOT 3.8 -- May 2017
- C-Mod support added (only plot_mpi for now)
- 3D wall added
- Python "== None" warning fixed
MAFOT 3.75 -- Jul 2016
- divB correction in xpand does not work properly - DO NOT USE
- use of multiple M3DC1 files now allows arbitrary relative phase
- fake island perturbation added (D3D only)
MAFOT 3.74 -- Apr 2016
- splines separated from EFIT_Class into own header
- function added to read & store header lines from files
- bug fix in VMEC class
- structure tool updated
- divB correction added to xpand
- minor fixes in python tools
GUI 1.43 -- Feb 2016
- bug fix in all plot calls for Drop cluster only where it calls the wrong job file
- replaced all ${NSLOTS} with str(nproc) in Drop cluster job files
- add „source /etc/profile.d/modules.sh“ to the mpirun job batch files for Drop as a workaround for the module load bug in bash
MAFOT 3.73 -- Oct 2015
- shell command line flags enabled in all tools, use -h for details
GUI 1.42 -- Oct 2015
- shell command flags can be entered through the "File Tag" input now
MAFOT 3.72 -- Aug 2015
- Bug fix in EFIT_class
- fix now searches on RZ grid as well; for period = 1: only first result within grid is returned
GUI 1.41 -- Aug 2015
- changed fix to use RZ grid in D3D and NSTX
MAFOT 3.71 -- Aug 2015
- in xpand: enable force axisymmetriy in VMECthrough n0only
- in xpand: use full VMEC B-field for virtual casing; interpolation error in vacuum field much larger
than any noise from including the vacuum field
MAFOT 3.7 -- Aug 2015
- NSTX-U divertor targets and NSTX outer inclined wall added
GUI 1.4 -- Aug 2015
- support for new NSTX & NSTX-U walls added
MAFOT 3.61 -- July 2015
- readfile now counts rows and allocates total array at once
-> XFIELD read in works now with very large files
- M3DC1 response > 1 now possible -> reads proper time_xxx.h5
GUI 1.3 -- July 2015
- new entry field added for M3DC1 response_time > 1
MAFOT 3.6 -- July 2015
- M3DC1 interface is now a separate class
MAFOT 3.52 -- July 2015
- Bug fix for M3DC1: psi_n is now calculated correctly from M3DC1 equilibrium
GUI 1.2 -- May 2015
- All NSTX tools added
MAFOT 3.51 -- May 2015
- Bug fix for NSTX: M3DC1 settings now enabled
MAFOT 3.5 -- Feb 2015
- Include the support for external fields from xpand_mpi. This replaces Diagno.
code looks for file "xpand.dat" ("diagno.dat" no longer recognized,
"xpand.dat" can come from the DIAGNO code)
MAFOT 3.41 -- Feb 2015
- BUG fixes in M3DC1 multimode capability for all machines:
Equilibrium only used from first modefile, not from all
<machine>sup.in file no longer required, if m3dc1sup.in is used
field eval fails are now properly handled
GUI 1.15 -- Oct 2014
- SIESTA support added; plot und laminar only
MAFOT 3.4 -- Oct 2014
- SIESTA support added; code looks for file "siesta.dat"
MAFOT 3.3 -- Oct 2014
- VMEC/DIAGNO support added; code looks for files "diagno.dat" and "wout.nc"
- pragma OMP barrier removed to comply with latest compiler rules
GUI 1.14 -- Oct 2014
- VMEC/DIAGNO support added
GUI 1.131 -- Sep 2014
- g-file path can now be a relative path too
MAFOT 3.2 -- Jul 2014
- M3D-C1 interface updated to use Nate's libfusionio -> resistive wall and multiple M3D-C1 files now enabled
- Tools now unified across machines
- plot is now parallel -> plot_mpi (old, serial plot version still exists)
GUI 1.13 -- Jul 2014
- GUI now uses plot_mpi instead of plot
GUI 1.12 -- Feb 2014
- NSTX foot_mpi added
GUI 1.11 -- Nov 2013
- Bug fixes for ITER
GUI 1.1 -- Nov 2013
- ITER added
GUI 1.0 -- Oct 2013
- first release for D3D MAFOT control
MAFOT 3.1 -- Apr 2012
- M3D-C1 interface added; code looks for file "C1.h5"
MAFOT 3.0 -- Jan 2011
- EFIT, IO and Particle Classes introduced -> replace old includes
- includes unified across machines; the parts that are unique to each machine are in a machine include file
MAFOT 2.0 -- March 2009
- current filaments enabled
- support for multiple machines enabled
- ITER, MAST & NSTX added
MAFOT 1.0 -- May 2008
- first release of D3D MAFOT code