The surrogate that makes the stack fast. FusionMap learns FusionCore's physics from one offline campaign, then predicts the part-scale fields in seconds instead of hours — and closes the loop that tunes laser power and speed location-by-location.
FusionMap is the acceleration layer of the AM module. Not a sixth solver — it stands in for FusionCore at runtime, turning hour-long physics solves into second-long surrogate evaluations.
Runs a FusionCore campaign across the process window and trains a surrogate on the resulting feature–response data — per material.
Loads the pretrained model and evaluates it at every voxel to produce the G–R and inherent-strain maps the part-scale solvers need — no FusionCore at runtime.
Because a prediction takes seconds, an optimiser can iterate on PathWeaver's per-location parameters until the part meets its stress and time targets.
Two lanes joined by a versioned model registry. The offline lane runs a FusionCore campaign, trains a surrogate, validates it, and writes a versioned card. The online lane loads that card, assembles a per-voxel feature vector, and predicts the G–R and inherent-strain maps — in under thirty seconds.
Six features that make a surrogate engine viable inside a production AM stack.
FusionMap's whole reason to exist: one campaign, then practical inference at runtime.
Each voxel encoded as a compact feature vector — sampled across the process window by a tiered Latin-hypercube design:
One vector in → G, Ṫ, R, and inherent-strain prediction out.
voxel[14201] laser P=280 v=950 r₀=70 η=0.62 geom h=2.1 d_surf=0.4 layer=247 thermal T₀=180 ΔT_neigh=420 strat hatch=0.10 rot=67° type=island → G̃ = 1.7e7 K/m → R̃ = 0.61 m/s → ε* = (0.0021, 0.0019, -0.0007)
Different prediction tasks need different model classes — FusionMap supports three backends, swappable per task:
Each backend ships with its own validation set and accuracy bands.
Every surrogate prediction is traceable back to the FusionCore version that trained it:
Different LPBF machines vary in absorptivity, optical chain, and gas flow. FusionMap absorbs that with a learned correction on top of the base surrogate:
The differentiator. With FusionMap inside the product, an optimiser can sit on top of the stack and iterate:
The loop converges in minutes, not days.
FusionMap is not a sixth solver — it is the acceleration layer between the physics engine and the part-scale predictors, standing in for FusionCore at runtime.
FusionMap doesn't produce a user-visible output of its own. Two downstream solvers consume its predictions directly:
Solidification fields drive the columnar-to-equiaxed transition map, grain morphology, and texture prediction for microstructure.
Per-voxel inherent-strain tensor feeds the layer-by-layer part-scale FEM solve for residual stress, warping, and distortion.
Iterating on a part takes seconds per evaluation, not hours. Engineers stay in the design loop instead of waiting on overnight runs.
Without a surrogate, you predict once and adjust by hand. With FusionMap, you let an optimiser drive PathWeaver's parameters end-to-end.
Every prediction pins back to the FusionCore version that trained it — a defensible chain from voxel to validated physics.
FusionMap powers GrainPath and StressForge behind the scenes. To use it, run a part-scale prediction with either solver — the surrogate is invoked automatically.