A 2D incompressible viscous flow simulator for chip-on-support geometries immersed in a water channel. The solver runs entirely in your browser as custom JavaScript — it is not based on OpenFOAM or any external CFD library.
Velocity (mm/s): Inlet freestream velocity. Higher values increase the Reynolds number and may require more iterations to converge.
Temperature (°C): Sets water properties via polynomial fits — ρ(T) and μ(T) are accurate from 20°C to 99°C. Higher temperature lowers viscosity, increasing Re.
Width (mm): Chip dimension along the flow direction (before rotation). Thickness (μm): Chip height. Offset (%): Shifts the chip relative to the support center — 0% = centered, ±100% = edge-aligned.
Width (mm): Support base dimension. Thickness (μm): Support height.
Rotation: Rotates the chip+support assembly in 90° increments (0°, 90°, 180°, 270°). At 0°/180° the support is a wide flat plate; at 90°/270° it becomes a tall thin fin.
Assembly Z (%): Vertical position of the assembly base in the domain — 0% = floor, 100% = ceiling.
Domain X/Z (mm): Simulation domain dimensions. With Auto domain checked, these are computed automatically from geometry size with suitable margins. Uncheck for manual control.
Min/Max Cells X and Z: Direct control over the number of grid cells in each direction. The solver picks a cell count within these bounds based on the domain size.
Max Total Cells: Performance budget cap. If the grid would exceed this count, cells are reduced proportionally.
Hold Shift and drag on the velocity field canvas to draw a rectangle where you want finer mesh. Or click Snap to geometry for an automatic ROI around the chip+support.
Refinement Factor (1.5×–6×): How many times finer cells are inside the ROI compared to the base grid.
Growth Rate: Controls how quickly cell size transitions from fine (inside ROI) to coarse (outside). Values near 1.1 give smoother transitions; 1.3+ transitions faster.
Note: This simulator uses a structured tensor-product grid — cell widths in X apply to all rows, and cell heights in Z apply to all columns. When you refine the ROI, the fine cells form bands that extend across the full domain (a cross-shaped pattern), not just the ROI rectangle. This is standard behavior for structured CFD meshes and ensures proper grid connectivity. Only the ROI interior has fine cells in both directions simultaneously.
Choose between Velocity magnitude, Pressure, or Vorticity contour plots. Toggle Geometry outline to overlay chip/support boundaries (computed from actual discretized solid cells). Toggle Show mesh to see the grid structure.
Enable streamlines to visualize flow paths. Adjust count, color, width, and opacity. Enable velocity vectors to see local flow direction and magnitude at grid points.
Scroll wheel on the velocity field to zoom in/out. Click & drag to pan. The colorbar and axis labels update automatically.
Velocity profiles at 5 streamwise stations: upstream, chip leading edge, chip center, chip trailing edge, and wake. Shows how the flow develops around the obstacle.
Shear stress τw along the chip surface. For vertical chip orientations (90°/270°), the solver automatically samples the leading vertical face along the Z-axis instead of the narrow horizontal top.
Pressure coefficient along the flow direction, showing the stagnation point and pressure recovery in the wake.
Vorticity distribution along the chip surface. Like Wall Shear, it adapts to chip orientation automatically.
Log-scale plot of velocity residual and divergence norm vs. iteration count. A converged solution shows both curves dropping several orders of magnitude.
Interactive 3D visualization of the chip+support geometry. Drag to orbit (horizontal = azimuth, vertical = elevation).
The solver uses the AC method with explicit pseudo-time stepping. AC introduces an artificial equation of state dp/dτ = -β ∇·u that drives the divergence to zero. β = 100×U² controls how strongly pressure responds to velocity divergence.
This method was chosen over SIMPLE because SIMPLE suffers from checkerboard pressure oscillations on collocated grids, especially near solid boundaries.
Δt = 0.25 × min(Δx,Δz) / (|u|+|w|+c_art).Inlet: uniform velocity. Outlet: zero-gradient. Bottom: no-slip wall. Top: slip (symmetry). Solid surfaces: no-slip. Pressure: zero at outlet, zero-gradient elsewhere.
The pseudo-time stepping drives toward a steady-state solution — it does not represent physical time evolution. Transient phenomena (vortex shedding, startup transients) are not captured. Time-dependent simulations would require a fundamentally different solver architecture (e.g., dual time-stepping).
The solver marks the solution as converged when all of these are met:
If convergence is not reached, the solver stops at the Max Iterations limit (adjustable in the Run section, default 20,000).
Computed on the chip surface after the solver runs:
Shift + drag on velocity field → Draw mesh ROI rectangleScroll wheel on velocity field → Zoom in/outClick + drag on velocity field → Pan viewDrag on 3D View → Orbit camera (H: azimuth, V: elevation)