FluxCore Dynamics Documentation

Everything you need to master photonic design

DocumentationReal-Time Simulation

Real-Time Physics Simulation

See light propagate as you design - like a debugger for photonics

Game-Changer
8 min readLast updated: January 2025Simulation, GPU, FDTD
WebGPU Accelerated
60 FPS
FDTD Engine

The Holy Grail of Photonic Design

For decades, photonic engineers have designed in the dark - make changes, wait hours for simulation, repeat. FluxCore's real-time simulation engine changes everything. See electromagnetic fields update live as you drag components, adjust parameters, and modify routing. It's like having X-ray vision for your photonic circuits.

60 FPS Simulation

Real-time feedback at 60 frames per second

GPU Accelerated

50x faster than CPU-based simulation

Full FDTD Physics

Accurate Maxwell's equations solver

Core Capabilities

Live Field Visualization

Watch electromagnetic fields propagate through your circuit in real-time. Multiple visualization modes show different aspects of light behavior.

  • E-field intensity heatmaps
  • H-field vector overlays
  • Poynting vector flow lines
  • Mode profile visualization

Live Performance Metrics

Key performance indicators update in real-time as you modify your design. See the impact of every change immediately.

  • Insertion loss (dB)
  • Coupling efficiency (%)
  • Group delay and dispersion
  • Modal crosstalk

3D Light Propagation

WebGL-powered 3D visualization shows light paths with ray tracing effects for intuitive understanding of circuit behavior.

  • Photorealistic rendering
  • Animated light beams
  • Cross-section views
  • VR headset support

Interactive Controls

Full control over simulation parameters with instant feedback. Pause, step through, or slow down to analyze specific behaviors.

  • Play/Pause/Step controls
  • Playback speed adjustment
  • Wavelength sweep animation
  • Source excitation control

Technical Architecture

FDTD Simulation Engine

FluxCore uses a custom Finite-Difference Time-Domain (FDTD) solver optimized for real-time execution on consumer GPUs. The engine runs entirely in WebGPU compute shaders, enabling simulation performance previously only possible on high-end workstations.

// Simulation Configuration
const config = {
  // Grid resolution
  dx: 10e-9,           // 10 nm grid spacing
  dy: 10e-9,
  dz: 10e-9,

  // Time step (Courant stability)
  dt: 1.67e-17,        // ~16.7 attoseconds

  // Simulation region
  nx: 512,             // Grid points in X
  ny: 512,             // Grid points in Y
  nz: 64,              // Grid points in Z

  // Performance settings
  gpuAcceleration: true,
  targetFPS: 60,
  adaptiveQuality: true,

  // Boundary conditions
  boundaryType: 'PML',  // Perfectly Matched Layer
  pmlLayers: 16,

  // Visualization
  updateInterval: 16.67, // 60 FPS
  fieldComponent: 'Ez',  // Field to display
  colormap: 'viridis'
};

GPU Compute Pipeline

  • WebGPU compute shaders
  • WGSL shader language
  • Async command buffers
  • Multi-pass rendering

Performance Optimizations

  • Shared memory tiling
  • Workgroup optimization
  • Adaptive mesh refinement
  • Level-of-detail rendering

Integration Examples

React Hook Usage

import { useRealTimeSimulation } from '@fluxcore/simulation';

function PhotonicEditor() {
  const {
    // Simulation state
    isRunning,
    currentStep,
    fieldData,
    metrics,

    // Controls
    start,
    stop,
    pause,
    resume,
    step,
    reset,

    // Configuration
    setWavelength,
    setSourcePower,
    setFieldComponent,
    setVisualizationMode,

    // Performance
    fps,
    gpuUtilization,
  } = useRealTimeSimulation({
    circuit: currentCircuit,
    wavelength: 1550e-9,
    autoStart: true,
  });

  return (
    <div className="simulation-panel">
      {/* Control buttons */}
      <div className="controls">
        {isRunning ? (
          <button onClick={pause}>Pause</button>
        ) : (
          <button onClick={resume}>Resume</button>
        )}
        <button onClick={step}>Step</button>
        <button onClick={reset}>Reset</button>
      </div>

      {/* Real-time metrics */}
      <div className="metrics">
        <span>Insertion Loss: {metrics.insertionLoss.toFixed(2)} dB</span>
        <span>Coupling: {(metrics.couplingEfficiency * 100).toFixed(1)}%</span>
        <span>FPS: {fps}</span>
      </div>

      {/* Field visualization */}
      <FieldVisualization
        data={fieldData}
        mode="intensity"
        colormap="plasma"
      />
    </div>
  );
}

WebSocket Real-Time Updates

// Server-side simulation with WebSocket streaming
import { io } from 'socket.io-client';

const socket = io('wss://api.fluxcore.io/simulation', {
  auth: { token: 'YOUR_API_KEY' }
});

// Start real-time simulation
socket.emit('simulation:start', {
  circuitId: 'cir_abc123',
  config: {
    wavelength: 1550e-9,
    resolution: 'high',
    targetFPS: 30
  }
});

// Receive live field updates
socket.on('simulation:field', (data) => {
  console.log('Step:', data.step);
  console.log('Field shape:', data.field.shape);
  updateVisualization(data.field);
});

// Receive live metrics
socket.on('simulation:metrics', (metrics) => {
  console.log('Loss:', metrics.insertionLoss, 'dB');
  console.log('Coupling:', metrics.couplingEfficiency * 100, '%');
  updateMetricsDisplay(metrics);
});

// Handle completion
socket.on('simulation:complete', (result) => {
  console.log('Simulation complete');
  console.log('Final S-parameters:', result.sParameters);
});

// Control simulation
socket.emit('simulation:pause');
socket.emit('simulation:resume');
socket.emit('simulation:step');
socket.emit('simulation:stop');

Performance Optimization Guide

GPU Requirements

Minimum

WebGPU capable GPU

GTX 1060 / RX 580

Recommended

Modern discrete GPU

RTX 3060 / RX 6700

Optimal

High-end GPU

RTX 4080+ / RX 7900

Optimization Tips

  • Enable adaptive quality for automatic performance scaling
  • Use 2D mode for initial design exploration (10x faster)
  • Limit simulation region to area of interest
  • Lower FPS target for complex circuits (30 FPS is sufficient)

Experience Real-Time Simulation

See light propagate through a photonic circuit in real-time. Drag components, adjust parameters, and watch the electromagnetic fields update instantly.

Next Steps

Learn More

API Integration