D. McCune 1 Plasma State Representation XPLASMA – Tool for Representation of Equilibrium, Fields and Profiles Available at:
D. McCune 2 Definition of Plasma State A plasma geometry and field configuration represented over “standard” coordinates A collection of profiles (such as plasma temperatures and densities) defined over the same coordinates. XPLASMA is a tool for gathering and sharing such a collection of data. XPLASMA created for purpose of inter- module communication in NTCC project.
D. McCune 3 Mathematical Description Grid variables: x – normalized radial magnetic flux coordinate (sqrt(phi/philim)) 0 at magnetic axis, 1 at plasma boundary. theta – poloidal angle coordinate. phi – toroidal angle coordinate. R – major radius coordinate. Z – vertical coordinate. R Z phi x theta Sets of Labeled Profile Objects: F: {f_i(x); fname(i), i = 1 to Nf } G: {g_i(x,theta); gname(i), I = 1 to Ng } H: {h_i(R,Z); hname(i), I = 1 to Nh } Sets of profiles vs. (R,phi,Z) and (x,phi,theta) could also be defined. Lookup map M:name => integer – tool for finding named profiles. RED means not yet in XPLASMA [Rmin,Rmax] x [Zmin,Zmax] Rectangle encloses plasma.
D. McCune 4 Math Description (2). A Profile Object consists of: Gridded data covering a prescribed range AND An interpolation method (see NTCC PSPLINE module): C0 – piecewise linear; C1 – Hermite spline with boundary conditions. C2 – Cubic spline with boundary conditions. Grids are strict ascending sequences covering a prescribed range: x grids from 0 to 1 theta grids from –pi to pi (or other domain of width 2*pi). R grids from Rmin to Rmax Z grids from Zmin to Zmax There can be multiple grids for each grid variable (x,theta,R,Z,phi); all must cover the same range. Adaptive or Unstructured Grids (Meshes) could be defined. RED means not yet in XPLASMA
D. McCune 5 Math Description (3) Axisymmetric MHD equilibrium, “direct” representation: B_phi = [sign]*g(x)/R – toroidal magnetic field. [B_R,B_Z] = [sign]*grad(Psi(R,Z))/R – poloidal magnetic field. Psi(R,Z) profile and g(x) are given; Psi(x) is given only to locate the boundary Psi(1). Axisymmetric MHD equilibrium, “inverse” representation: B_phi = [sign]*g(x)/R – toroidal magnetic field. {R(x,theta),Z(x,theta)} (bicubic splines) describe flux surface locations. [B_R,B_Z] = [sign]*grad(Psi(x))/R – poloidal magnetic field. g(x), R(x,theta), Z(x,theta), Psi(x) are given. A direct MHD equilibrium representation defines an inverse representation via interpolation. Extrapolation can “extend” an inverse representation to cover an [R,Z] region (mimic a direct equilibrium) but the extrapolation is unstable! Non-axisymmetric equilibria exist.
D. McCune 6 Odds and Ends (XPLASMA) MKS units; sign conventions for fields– –d[Psi]/dx > 0, g(x) > 0; nsnccwb = 1 if B_phi is “counter-clockwise” (ccw) looking down from above; nsnccwj = 1 if J_phi is ccw from above. A closed sequence {(R[j],Z[j])} defines a “vacuum vessel wall / limiter structure”. A “list object” is available: –Define sets of related profiles. –Provide additional labeling. –Define other data like plasma species lists.
D. McCune 7 Essential Interfaces Define grids, profiles, equilibria. Load equilibria from common tokamak experimental data sources: –EFIT (file or MDS+) (equilibrium only): call eqm_fromgeqdsk(,options…) –TRANSP (file or MDS+) (equilibrium and profiles): TRXPLIB NTCC module. Load odds and ends…
D. McCune 8 Essential Interfaces Coordinate mappings (x,theta) (R,Z). Interpolate magnetic field values. Locate profiles; interpolate profile values. Geometrical information: –Distance (R,Z) to plasma flux surface. –Distance (R,Z) to limiter or vacuum vessel. –Flux surface averages; surface areas, volumes enclosed in flux surfaces.
D. McCune 9 Additional Interfaces XPLASMA supports an “irregular” (x,theta) mesh for NUBEAM outputs: –Neutron emissivity profiles Sn(x,theta). –Neutral sources and sink rate profiles. –Fast ion distribution functions f(x,theta,E,vpll/v). Number of theta “bins” varies radially; increases linearly with x. Other specialized structures could easily be added to XPLASMA.
D. McCune 10 Use of XPLASMA XPLASMA: Equilibrium Profiles Integrated Plasma Simulator RF or Neutral Beams Module Notice that: Each code sends data on its own grids. Each code receives data on its own grids.
D. McCune 11 XPLASMA for Intermodule Communication – Example. XPLASMA is an NTCC* tool for communication of axisymmetric MHD equilibria and profiles portably and conveniently between modules. It supports numerous mapping and interpolation methods. Example: accurate, conservative rebinning of heating profiles (as shown). Planned for use in Fusion Simulation Project. * Beam electron heating (small # of MC ptcls) Total power is conserved. Integrated power: original and as interpolated. Power density: original and as interpolated. (difference is negligible)
D. McCune 12 Distributed Computing Entire XPLASMA contents can be saved or reloaded to/from NetCDF: –Call eq_save(, ) –Call eq_restore(, ) So far these files are reasonably small: –<~ 100MB –Read/write times ~ 1 second or less. Usable for process-to-process data transfer.
D. McCune 13 MPI-Parallel Module Server Serial TRANSP Run (Client #1) Serial TRANSP Run (Client #2) Serial TRANSP Run (Client #N) Serial TRANSP Run (Client #3) … Input File* Package, e.g. XPLASMA** NetCDF state. Output File* Package, e.g. XPLASMA** NetCDF state. Server Queue MPI-Parallel TRANSP Module Server(s): NUBEAM monte carlo TORIC5 full wave GenRAY ray tracing CQL3D fokker planck GCNM transp. solver... … … **NTCC container module for equilibrium, profiles, distribution functions, etc. ( to be used for Fusion Simulation Project prototype and tested in TRANSP deployment. *viability of method depends on keeping files small. network
D. McCune 14 Assessment XPLASMA was developed for intermodule communication in the NTCC project. Fusion Simulation Project use is feasible. But: –This is essentially a data model for the project. –“Old fasioned” f77-style interface; mixed language compatible but not modern. –The physics content is quite small. –I would like to get Computer Science help!