Documentation / Node reference / geo nodes
geo/Solver
Repeats a chain of geometry nodes on its own result: a simulation that runs frame after frame, or an operation applied several times.
Network
The nodes inside the solver are one step. Inside, a geo/SubnetInput set to input 0 gives the geometry as it is now: the geometry on the solver's first input before the first step, then the result of the step before. The geo/Output inside gives the geometry after the step, which the solver keeps and outputs. The solver's other inputs reach the geo/SubnetInput nodes set to 1, 2 and 3 unchanged, every step.
Any geometry works. A volume: a geo/VolumeBuilder inside reads each voxel's neighbours with code/VolumeVoxel and writes how a density spreads, or how two chemicals react (reaction-diffusion). Points: a geo/PointBuilder moves them a little each step, for growth or flocking. A mesh: a smoothing node inside relaxes it a little more each step.
mode PER_FRAME runs a simulation. Each time the scene time moves forward, the solver runs `iterations` steps on the geometry it kept from the frame before. It starts over from its first input at `startFrame` and before it, and whenever time goes back, so to start again, go back to `startFrame`. Pausing holds the geometry as it is. Jumping forward on the timeline does not run the frames skipped: it runs one frame's steps. Changing a param, inside or on the solver, does not step either.
mode COUNT runs an operation several times. Every cook starts from the first input and runs `iterations` steps: a geo/Transform inside moving by 1 with iterations 10 moves the geometry by 10. Nothing is kept between frames.
The solver only steps when something displays or reads its result. Bypassing it outputs its first input and steps nothing.
Parameters
| Name | Type | What it does |
|---|---|---|
| mode | UInt8 PER_FRAME · COUNT | When the steps run. PER_FRAME: each time the scene time moves forward, continuing from the geometry of the frame before, for a simulation. COUNT: on every cook, starting from the first input each time, to apply the nodes inside several times. |
| iterations | UInt32 | How many times the nodes inside run: per frame with PER_FRAME, per cook with COUNT. 0 outputs the first input. The solver runs at most 1000 at a time and warns above that. |
| startFrame | UInt32 | The frame at which the simulation starts. At this frame and before it, the solver outputs its first input; the steps begin on the frame after. Going back to it starts the simulation over. |
See also
- geo/SubnetInput
- geo/Output
- geo/VolumeBuilder
- geo/PhysicsSolver
- tex/Solver
This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.