
- Research suggests that the "smoke ring" in a Field-Reversed Configuration (FRC) refers to its self-stable toroidal plasma shape, which can be visualized and animated in 3D simulations using tools like Three.js for dynamic effects.
- Evidence leans toward using color gradients (e.g., from blue to red) to animate heat levels, representing plasma temperatures that can reach millions of degrees, with particle systems adding realism to energy flows.
- It seems likely that additional features, such as interactive stability sliders, field line animations, and turbulence effects, enhance educational value, though stability challenges like tilt modes may require simplified models for web-based apps.
### Visualizing the Smoke Ring
The FRC's smoke ring structure is a compact torus of plasma confined by poloidal magnetic fields, often formed by colliding plasmoids or theta-pinch methods. In a 3D simulation, render it as a glowing, elongated ring using mesh geometries in WebGL libraries, with animations showing formation and rotation for engagement. Tutorials indicate using shaders for fluid-like motion, similar to smoke effects.
### Animating Heat Levels
Plasma heat, driven by neutral beam injection or compression, can be animated with color maps—cooler areas in blue, hotter in red/orange—updating in real-time based on energy balance equations. Incorporate particle emitters to simulate charged particles flowing along field lines, with gauges displaying temperatures in millions of degrees for intuitive feedback.
### Other Features to Include
Add magnetic field lines as dynamic splines, stability indicators tied to parameters like S*/E (aim for under 3 for stability), and interactive controls for adjusting beta or elongation. Gamification elements, such as scoring for maintaining confinement, make it addictive while teaching physics.
---
In the realm of fusion energy research, the Field-Reversed Configuration (FRC) stands out for its compact, high-beta plasma design, often likened to a "smoke ring" due to its self-stable toroidal shape. This structure, a hollow torus of hot plasma confined primarily by poloidal magnetic fields, emerges from processes like theta-pinch formation or the collision-merging of plasmoids, as detailed in experimental and simulation studies. For instance, in TAE Technologies' approach, two FRC "smoke rings" are accelerated to velocities around 300 km/s and collide to form a single, high-temperature plasma, enabling efficient heating and confinement without strong toroidal fields. Visualizing this in 3D simulations involves rendering the plasma as a translucent, glowing mesh—perhaps using Three.js for web-based interactivity—where the ring's elongation (E = h / (2 r_s), with h as length and r_s as separatrix radius) can be dynamically adjusted, stretching the shape like a sausage while maintaining closed field lines derived from the flux function ψ, where B = (1/r) ∇ψ × ê_φ.
Animating heat levels in such simulations captures the plasma's extreme temperatures, often exceeding millions of degrees Kelvin, achieved through mechanisms like neutral beam injection or adiabatic compression. Heat visualization typically employs color gradients: cooler regions in blues and greens transitioning to yellows, oranges, and reds for hotter zones, as seen in fusion turbulence animations from MIT's Alcator C-Mod tokamak, where electron-scale streamers and ion eddies illustrate energy dissipation. In FRC contexts, hybrid-kinetic particle-in-cell (PIC) models like WarpX simulate these dynamics, tracking ion orbits and electron fluids to model temperature distributions. For web implementations, Three.js shaders can animate these heat maps by updating vertex colors based on the energy balance equation (∂u/∂t + ∇·S = -J·E), with the Poynting vector S = (1/μ_0)(E × B) representing energy flow. Particle systems further enhance realism, emitting sprites or points that follow betatron orbits across the magnetic null, glowing brighter in high-temperature areas to depict kinetic energy transfers.
Beyond core visuals, other features enrich FRC simulations for educational and research purposes. Magnetic topology, with its reversed fields and scrape-off layers, can be animated using streamlines computed via Runge-Kutta integration, as in PPPL's VTK-based tools, allowing users to rotate views and combine fields (e.g., FRC + rotating magnetic fields) interactively. Stability parameters like S* = r_s / d_i (with d_i = c / ω_pi as ion skin depth) and the ratio G = S*/E serve as "stability knobs," with thresholds around 3–3.5 indicating tilt mode risks; UI sliders could deform the smoke ring in real-time, turning red for unstable regimes (G > 3.5) and green for stable ones (<2.5). Turbulence effects, such as micro-instabilities or magnetorotational modes, add depth—simulated via 3D MHD codes like CYGNUS for global dynamics or ANC for micro-turbulence on supercomputers like Argonne's Theta. Gamification integrates these: a "reactor designer" mode scores points for optimizing beta (β = (n k_B T) / (B² / (2 μ_0))), while particle tracking visualizes confinement times, from microseconds in labs to potential milliseconds in advanced setups like TAE's C-2W.
Implementing in WebGL, tutorials for plasma-like effects—such as Voronoi spheres for bubbly heat patterns or particle emitters for smoke/fire—provide blueprints. For example, shaders can create lava-like animations with noise functions modulating colors for heat fluctuations, and efficient particle systems (up to millions of points) react to user inputs like mouse hovers, simulating beam injections. Challenges include computational efficiency for real-time rendering, especially on mobile, where low-poly meshes and simplified physics (e.g., neglecting full kinetic scales) maintain performance. Overall, these features transform abstract fusion concepts into engaging, interactive experiences, bridging kid-friendly analogies (a spinning hot dog in a magnetic cage) with pro-level details (kinetic vs. MHD regimes).
| Feature | Description | Visualization Method | Relevant Equations/Tools |
|---------|-------------|-----------------------|--------------------------|
| Smoke Ring Structure | Toroidal plasma torus, self-confined, elongated sausage shape | Glowing mesh with dynamic scaling; animations of collision-merging | E = h / (2 r_s); Three.js geometries |
| Heat Levels Animation | Temperature gradients from compression/heating, millions of degrees | Color maps (blue cool, red hot); shader updates | T in β = (n k_B T) / (B² / (2 μ_0)); WarpX PIC simulations |
| Magnetic Field Lines | Poloidal fields, closed loops, null line | Streamlines with Runge-Kutta; interactive rotation | B = (1/r) ∇ψ × ê_φ; VTK for rendering |
| Stability Indicators | Tilt/rotational modes, kinetic effects | Color-coded gauges/sliders; deformation effects | G = S*/E ≲ 3; Hybrid MHD models like CYGNUS |
| Energy Flow/Particles | Poynting flux, beam injection, turbulence | Particle emitters along lines; ribbon-like eddies | S = (1/μ_0)(E × B); Three.js particles |
| Gamification Elements | Sliders for parameters, scoring for confinement | UI overlays, feedback loops | Design E = S*/G_target; Real-time updates |
This comprehensive approach, drawing from experimental data (e.g., densities 0.05–2,500 × 10²⁰ m⁻³, temperatures 10–2,000 eV) and simulations, not only educates but accelerates fusion engineering by predicting behaviors like self-organization and instability suppression via beams or quadrupoles.
Key Citations:
-
-
-
-
-
-
-
-
-
-
-
Key Points on S*/E in FRC Stability
Research suggests that the parameter S*/E, where S* measures the kinetic scale of the plasma and E its elongation, is a critical indicator of stability in Field-Reversed Configurations (FRCs), with values below approximately 3 often associated with reduced risk of tilt instabilities.
Evidence from experiments indicates that when S*/E exceeds 3–3.5, FRCs may become prone to wobbling or tilting, potentially leading to plasma disruption, though this threshold can vary based on specific conditions like magnetic field shaping.
Studies highlight that balancing S* (related to device size and ion skin depth) and E (plasma length relative to radius) helps maintain confinement, making it a useful "stability knob" for designs, while acknowledging that kinetic effects and other factors add complexity to predictions.
Core Equations for FRC Simulations
FRC simulations typically incorporate equations for magnetic confinement, energy dynamics, and plasma behavior. Here are key ones, drawn from plasma physics principles:
Plasma Beta (β): Measures pressure balance, often high (near 1) in FRCs for efficient confinement. β = (n k_B T) / (B² / (2 μ_0)) Where n is density, k_B Boltzmann's constant, T temperature, B magnetic field, μ_0 permeability of free space. High β suggests plasma pressure dominates, as targeted in designs like those from Skunk Works .
Poynting Vector (S): Describes electromagnetic energy flow, crucial for modeling heating and losses. S = (1 / μ_0) (E × B) In simulations, minimal flux across boundaries indicates good confinement.
Energy Balance (Poynting's Theorem): Tracks energy conservation in the system. ∂u/∂t + ∇·S = -J·E Where u is energy density, useful for steady-state fusion where fusion output balances losses.
Magnetic Flux Function (ψ): For 2D/3D field topology in axisymmetric approximations. B = (1/r) ∇ψ × ê_φ Constant ψ lines show closed "smoke ring" fields in FRCs.
Stability Parameters: S* = r_s / d_i, with d_i = c / ω_pi (ion skin depth). E = h / (2 r_s), elongation. G = S* / E, with G ≲ 3 for potential tilt stability .
These can be implemented in simulations using numerical methods like MHD or kinetic codes.
Gamification and Simulation Concepts
To make FRC education engaging, integrate interactive elements: Use sliders for magnetic pressure to deform a 3D plasma model, particle visualizations for energy flow, and gauges for temperature reaching "millions of degrees." Progress bars could simulate capacitor charging for startup, with feedback loops rewarding stable configurations (e.g., green zones for low S*/E).
Steps for 3D Web Modeling
Creating an interactive 3D FRC simulation in a browser involves these steps, using HTML/CSS/JS for structure and WebGL/CSS for rendering:
Prepare 3D Assets: Model the plasma "sausage" in tools like Blender, export as .glTF.
HTML Setup: Create a canvas or div container for the scene.
CSS Styling: Add perspective for 3D effects, style UI elements like sliders.
JavaScript Logic: Handle inputs (e.g., sliders for S*, E), update visuals (stretch model for E), compute S*/E for gauge.
Add Interactivity: Animate particles along fields; test across devices.
Deploy: Host on platforms like GitHub Pages for embedding.
For pseudo-3D without libraries, use CSS transforms as in the embeddable example below.
In Field-Reversed Configurations (FRCs), a promising approach to nuclear fusion, the stability parameter S*/E plays a pivotal role in determining whether the plasma remains confined or succumbs to instabilities like tilting. FRCs are compact toroidal plasmas with reversed magnetic fields, offering high beta (plasma pressure relative to magnetic pressure) and potential for efficient reactors or propulsion systems. The parameter S* quantifies the kinetic nature of the plasma by relating the separatrix radius (r_s, the boundary of closed field lines) to the ion skin depth (d_i = c / ω_pi, where c is the speed of light and ω_pi is the ion plasma frequency, √(n e² / (ε_0 m_i))). Specifically, S* = r_s / d_i, indicating how many ion inertial lengths fit into the FRC radius—higher S* suggests more fluid-like (MHD-dominated) behavior, while lower values emphasize kinetic effects where individual particle orbits matter.
Elongation E, defined as E = h / (2 r_s) with h being the FRC length, describes the "sausage-like" shape: larger E means a longer, skinnier configuration. The combined G = S* / E emerges as a normalized Hall/gyroradius parameter, empirically linked to stability boundaries. Research from various experiments, such as those at TAE Technologies' C-2 device, shows that FRCs with S*/E around 2 remain stable, while values exceeding 3–3.5 often trigger the n=1 tilt mode, causing the plasma to wobble and potentially contact chamber walls . This threshold isn't absolute—factors like field-shaping coils or neutral beam injection can extend stability—but it serves as a practical "stability score" for designs.
For a child-friendly analogy (around 5th-grade level), think of the FRC as a glowing, spinning hot dog made of super-hot gas (plasma) trapped in an invisible magnetic cage. S* represents how wildly the particles spin and zoom around—too much wildness, and the hot dog gets bouncy. E is how stretched the hot dog is: longer and skinnier makes it steadier. The ratio S*/E is like a "wobble meter"—keep it under 3, and the hot dog stays put without tipping over. In adult terms, this ratio captures the interplay between kinetic scales (large ion orbits stabilizing against MHD modes) and geometry (elongation suppressing tilt by altering mode growth rates).
Building on this, here are five useful equations derived or related to S*/E, suitable for simulations, virtual magnetic games (VMAGs), or educational tools:
Hybrid Kinetic Parameter (S)**: S = r_s / d_i, with d_i = c / ω_pi. This defines the kinetic regime; use it to scale simulations from lab-size to reactor-scale .
Elongation (E): E = h / (2 r_s). Geometric factor; adjusting E in models visually stretches the plasma mesh .
Normalized Stability Parameter (G): G ≡ S* / E. Core "knob" for stability assessments .
Empirical Tilt-Stability Condition: S* / E ≲ 3. Approximate rule: below 3 suggests likely stability; above 3.5 indicates instability risk in many setups .
Design Equation for Target Stability: E = S* / G_target. Rearranged to find required elongation for a desired G (e.g., 2.5 for safety margin), ideal for parameter scans in codes .
These equations integrate with broader FRC physics. For instance, plasma beta β = (n k_B T) / (B² / (2 μ_0)) often approaches 1 in FRCs, enabling compact designs with lower magnetic fields than tokamaks . Energy flow is modeled via the Poynting vector S = (1 / μ_0) (E × B), ensuring minimal losses for sustainment, and balanced by Poynting's theorem ∂u/∂t + ∇·S = -J·E, where fusion gains must offset transport . Magnetic topology uses the flux function ψ, with B = (1/r) ∇ψ × ê_φ, visualizing closed lines in 3D simulations .
ParameterDefinitionTypical Value/RangeRole in StabilityExample from ExperimentsS*r_s / d_i2–10Measures kinetic vs. MHD regime; higher → more fluid-likeC-2 FRC: S* such that S*/E ~2 for stabilityEh / (2 r_s)3–10Elongation; higher suppresses tilt modesOblate shapes (low E) stabilize resistive modesG = S*/ENormalized Hall parameter<3 stable, >3.5 unstableEmpirical tilt thresholdFRXC/LSM: Confinement up to 0.5 ms with low GβPlasma/magnetic pressure ratio~1Enables high-power densityFRCs achieve β ≈1, vs. 0.1 in spheromaksd_ic / ω_pi~ cm (lab scale)Ion skin depth; basis for kinetic effectsScales with density n
Top 10 ideas for leveraging S*/E in educational, gaming, or research contexts:
Reactor Design Slider: In a VMAG app, a slider adjusts S*/E, coloring the plasma green (stable) to red (unstable), teaching trade-offs.
Fusion Rocket Optimizer: For propulsion concepts, compute S*/E to assess thruster longevity before plasmoid ejection .
AI Equation-Fitter: Train models on data like growth rate γ vs. S*/E from reviews, predicting confinement .
Parameter-Space Explorer Game: Map (S*, E) as a game board; navigate "stable planets" avoiding unstable zones.
Experimental Diagnostic: Log S*, E, S*/E per shot in lab simulations, highlighting successes .
Shape vs. Physics Demo: Vary E at fixed S* to show stability gains, like stretching dough.
Control-Room Dashboard: Real-time gauge with color arcs: green <2.5, yellow 2.5–3.5, red >3.5.
Scaling Law Tool: Scale r_s or n, observe S*/E evolution for size comparisons.
Card/Board Game Stat: Cards with S*/E values; high G penalizes players with "boom" events.
Inverse-Design AI: Use S*/E in rewards for optimizing Q (fusion gain) in surrogates.
For the embeddable "AI 3D FRC Studio," here's a self-contained HTML block using CSS for pseudo-3D (perspective transforms) and JS for interactivity. It features a stretchable "sausage" (stacked divs), orbiting ions (animated dots), sliders for S* and E, and a stability gauge. Toggle between Kid and Pro modes for explanations. Paste into any webpage.
Nice, you basically pasted the whole “FRC Bible” into one message 😄
Let me clean it up into one clear playbook:
1️⃣ Key equations for a 3D FRC simulation
Think of three layers:
A. Confinement & pressure
Plasma beta (how strong the plasma pushes vs the B-field):
[
\beta = \frac{\text{plasma pressure}}{\text{magnetic pressure}}
= \frac{n k_B T}{B^2 / (2\mu_0)}
]
(n): particle density
(T): temperature (K)
(B): magnetic field magnitude
(\mu_0): permeability of free space
High-beta FRC ≈ plasma pressure ~ magnetic pressure.
B. Heating & losses (energy flow)
Poynting vector (EM energy flow into/out of the plasma):
[
\mathbf{S} = \frac{1}{\mu_0} , (\mathbf{E} \times \mathbf{B})
]
Poynting’s theorem (energy balance):
[
\frac{\partial u}{\partial t} + \nabla \cdot \mathbf{S} = -\mathbf{J}\cdot \mathbf{E}
]
(u): energy density (fields + plasma)
(\nabla\cdot\mathbf{S}): net energy flow out
(\mathbf{J}\cdot\mathbf{E}): power going into particles (heating)
For a 0-D simulation / game, we usually collapse this to:
[
\frac{3}{2} n k_B \frac{dT}{dt} = P_{\text{heat}} - P_{\text{loss}}
]
and then use a simple model like:
[
\frac{dT}{dt} = \alpha H - \beta T
]
(H) ∈ [0,1] is your heating slider (power fraction)
(\alpha): heating strength
(\beta): loss strength (poor vs good confinement)
In code (Euler step):
T = T + dt (alpha H - beta * T);
Set your “100 million °C” goal as:
if (T ≥ 1e8) K → change color / show “fusion-grade”.
C. Magnetic topology & stability
Flux function for FRC smoke-ring geometry (axisymmetric):
[
\mathbf{B} = \frac{1}{r} \nabla \psi \times \hat{\phi}
]
Constant (\psi) contours = magnetic field lines.
For visualization, you can hard-code a nice “smoke ring” (\psi(r,z)) instead of solving full MHD.
Hybrid kinetic + elongation + tilt stability:
Hybrid kinetic parameter:
[
S^* = \frac{r_s}{d_i}, \quad d_i = \frac{c}{\omega_{pi}}
]
Elongation:
[
E = \frac{h}{2 r_s}
]
Stability knob:
[
G = \frac{S^*}{E}
]
Rough rule: (G \lesssim 3) ⇒ tilt-stable band.
This can feed a stability gauge in your UI alongside temperature.
2️⃣ Algorithm sketch for your 3D FRC sim
Each animation frame (or every few frames):
Update temperature (T)
Compute (dT/dt = \alpha H - \beta T)
Integrate: T += dTdt * dt;
Update plasma beta
const beta = (n kB T) / (B*B / (2*mu0));
Use beta to slightly swell or shrink the plasma object radius.
Update stability parameter
const G = Sstar / E; // both can come from sliders
Use G to color a “stability bar” (green / yellow / red).
Update visuals
Map temperature to color & glow of your hotdog plasma.
Map beta to overall size “breathing” effect.
Keep FRC shape fixed (hollow sausage + ring), just change:
color (cool blue → orange → white)
glow intensity
ion orbit speed
Update any field-line particles
Move small sprites along fixed spline curves representing flux surfaces derived from (\psi).
3️⃣ All steps for the HTML / 3D implementation
This is your full pipeline, from Blender to Hostinger:
Step 1 – Create or obtain the 3D model
Use Blender (or similar) to model:
A capsule / hotdog (the FRC plasma)
A thin torus or ring around the middle (external coil)
Optional: faint inner torus to hint at current channel
Export as .glb / .gltf (web-friendly).
Step 2 – Basic HTML skeleton
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>FRC 3D Simulation</title> <style> body { margin: 0; overflow: hidden; background:#020617; color:#e5e7eb; } #ui { position: fixed; top: 10px; left: 10px; padding: 10px 14px; background: rgba(15,23,42,0.9); border-radius: 10px; font-family: system-ui, -apple-system, sans-serif; font-size: 13px; } #ui input[type="range"] { width: 160px; } </style> </head> <body> <div id="ui"> <div>Heating H: <span id="hVal">0.7</span></div> <input type="range" id="heatSlider" min="0" max="1" step="0.01" value="0.7"> <div>Loss β: <span id="bVal">0.2</span></div> <input type="range" id="lossSlider" min="0.05" max="0.6" step="0.01" value="0.2"> <div>T: <span id="tempRead">0</span> MK</div> <div>β: <span id="betaRead">0</span></div> <div>S*/E: <span id="gRead">0</span></div> </div> <canvas id="c"></canvas> <!-- Three.js from CDN --> <script src="https://unpkg.com/three@0.161.0/build/three.min.js"></script> <script src="https://unpkg.com/three@0.161.0/examples/js/loaders/GLTFLoader.js"></script> <script src="script.js"></script> </body> </html>
Step 3 – Set up the 3D scene (script.js)
Skeleton (you’ll fill in physics from section 2):
// ----- 3D setup ----- const canvas = document.getElementById('c'); const renderer = new THREE.WebGLRenderer({ canvas, antialias:true }); renderer.setSize(window.innerWidth, window.innerHeight); const scene = new THREE.Scene(); scene.background = new THREE.Color(0x020617); const camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 0.1, 100); camera.position.set(0, 1.2, 4); const light = new THREE.PointLight(0xffffff, 2, 20); light.position.set(2, 3, 3); scene.add(light); scene.add(new THREE.AmbientLight(0x404040)); // Load your hotdog+ring FRC model let frcMesh; const loader = new THREE.GLTFLoader(); loader.load('frc_hotdog.glb', (gltf) => { frcMesh = gltf.scene; scene.add(frcMesh); }); // ----- UI ----- const heatSlider = document.getElementById('heatSlider'); const lossSlider = document.getElementById('lossSlider'); const hVal = document.getElementById('hVal'); const bVal = document.getElementById('bVal'); const tempRead = document.getElementById('tempRead'); const betaRead = document.getElementById('betaRead'); const gRead = document.getElementById('gRead'); // ----- Physics params ----- let T = 10e6; // start at 10 MK const n = 5e19; // m^-3 (example) const B = 2.0; // Tesla (example) const kB = 1.380649e-23; const mu0 = 4e-7 Math.PI; const alpha = 0.9; const Sstar = 4.0; let E = 1.3; // pick an elongation const targetScaleMK = 1e6; // convert K -> MK let lastTime = performance.now(); function step(dt) { const H = parseFloat(heatSlider.value); const betaLoss = parseFloat(lossSlider.value); // Energy ODE: dT/dt = alphaH - beta*T const dTdt = alpha H - betaLoss (T / 1e8); // scaled to ~100 MK T += dTdt dt; // Floor T if (T < 0) T = 0; // Plasma beta const beta = (n kB T) / (B B / (2 mu0)); // Stability G = S/E (E could be slider too) const G = Sstar / E; // ----- Map to visuals ----- if (frcMesh) { const mat = frcMesh.children[0].material || frcMesh.children[0].materials?.[0]; if (mat) { const T_MK = T / 1e6; // simple color map let color = 0x38bdf8; // cool blue if (T_MK > 100 && T_MK < 140) color = 0xf97316; // fusion-grade orange if (T_MK >= 140) color = 0xffffff; // white-hot mat.emissive = new THREE.Color(color); mat.emissiveIntensity = 0.3 + Math.min(T_MK / 150, 1.0); } // small breathing from beta const scale = 1 + 0.1 * Math.tanh(beta); frcMesh.scale.set(scale, 1, scale); } // ----- UI ----- const T_MK = T / 1e6; hVal.textContent = parseFloat(heatSlider.value).toFixed(2); bVal.textContent = parseFloat(lossSlider.value).toFixed(2); tempRead.textContent = T_MK.toFixed(1); betaRead.textContent = beta.toFixed(2); gRead.textContent = G.toFixed(2); } function animate() { const now = performance.now(); const dt = (now - lastTime) / 1000; // seconds lastTime = now; step(dt); renderer.render(scene, camera); requestAnimationFrame(animate); } animate(); window.addEventListener('resize', () => { renderer.setSize(window.innerWidth, window.innerHeight); camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); });
This is not production physics, but it:
Uses your key equations in simplified form.
Ties them directly to visuals: color, glow, size.
Gives you hooks to later plug in more accurate models if you want.
Step 4 – Add extras (gamification)
Once the core loop works:
Add progress bars for “charging capacitors” before firing the shot.
Add a stability bar driven by (G = S^*/E).
Add “Launch” or “Fail” messages depending on (T >= 100 MK && G <= 3).
Add tooltips explaining (\beta), (S^*/E), Poynting vector in kid mode vs pro mode.
Step 5 – Test, optimize, deploy
You already pasted the narrative for this; in practice:
Optimize: keep the .glb low-poly, compress textures.
Test on phone + laptop (Chrome + Safari + Edge).
Deploy to Hostinger (or Netlify/GitHub Pages) and embed in your /vmags page.
If you’d like, next I can:
Turn this into a Hostinger-ready section (no <html>/<body>, just a <section>), or
Add Kid/Pro text toggles around each equation so you can directly teach (\beta), Poynting, and (S^*/E) inside the same sim.
