SurfCalc Documentation¶
Welcome to SurfCalc, an optomechanical analysis suite that turns structural FEA results into optical surface and wavefront performance data.
SurfCalc provides high-precision calculations, Zernike polynomial decomposition, and rigid body motion extraction to assess surface deformations on optical components (such as mirrors or lenses) under external loads. It also offers a robust active optics correction solver using unconstrained and bounded least-squares optimization.

🚀 Key Features¶
SurfCalc covers the end-to-end workflow of wavefront analysis and active optics correction:
- Surface Deformation Analysis: Decompose arbitrary surface displacement maps into standard Zernike polynomial coefficients, subtract Rigid Body Motions (RBMs), and view interactive 3D plots (requires license or trial).
- Load Case Combination: Combine several FEA load cases (gravity, thermal, wind, ...) into one deformation field by signed superposition or RSS envelope, feeding one or more Surface Deformation fits and/or an Active Optics target.
- Influence Matrix: Post-process FEA actuator-response runs into a compiled influence matrix (with symmetry expansion and interactuator diagnostics) ready to drive an Active Optics correction.
- Active Optics Correction: Find optimized actuator force distributions to minimize surface wavefront RMS under operational constraints.
- Active Optics Reliability & Diagnostics: Compute the Actuator Fighting Index (AFI) via graph Laplacians, perform Tikhonov and Laplacian regularized fitting, auto-detect optimal parameters using L-curve analysis, and run vector-optimized Monte Carlo tolerance simulations.
- Interactive 3D Plotter Controls & Context Menu: Right-click directly inside any 3D viewport across modules to change local colormaps, set color limits, or reorient camera views instantly.
- Unified Logging & Inter-Tab Sync: Keep workspaces clean with dedicated "Clear" logger controls across all tabs, alongside fully synchronized bidirectional units.
- Platform Compatibility: Execute core routines seamlessly in headless CLI/scripting mode or through the browser-rendered UI, which also runs as a native desktop window.
🔑 Licensing (Trial / Licensed / Unlicensed)¶
Every install opens Unlicensed: the UI and Help are available, but import and calculate stay blocked until you activate a license key. Open File > License... (or click the status badge in the toolbar).
| Status | Meaning |
|---|---|
| Unlicensed | No active key — compute blocked |
| Trial | Contact-issued 30-day full-feature trial key |
| Licensed | Paid annual or academic key — full features |
| Expired | Key past expiry — compute blocked until renewed |
Entitled (Trial or Licensed) unlocks every shipping module at full scale: any mesh size, any actuator/load-case count, and symmetry expansion. There is no Free tier and no numeric Free caps. Request a trial key at support@surfcalc.com.