MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Buffers::VolumeGridBuffer::FlowConfig Struct Reference

Parameters for the incompressible flow stage arrangement. More...

#include <VolumeGridBuffer.hpp>

+ Collaboration diagram for MayaFlux::Buffers::VolumeGridBuffer::FlowConfig:

Classes

struct  Buoyancy
 Body force accumulated into velocity from two scalars. More...
 
struct  Carried
 A scalar transported by the velocity field. More...
 

Public Attributes

std::optional< Buoyancybuoyancy
 
std::vector< Carriedcarried
 
ScalarRef divergence
 Required. Single-slot is correct.
 
uint32_t jacobi_iterations { 32 }
 
ScalarRef pressure
 Required.
 
VectorRef scratch
 Required only when viscosity is above zero.
 
float time_step { 1.0F / 60.0F }
 Applied to every stage that integrates.
 
VectorRef velocity
 Required.
 
float viscosity { 0.0F }
 Zero omits the diffusion stage entirely.
 
bool walls { true }
 Free-slip on the six faces, twice per cycle.
 

Detailed Description

Parameters for the incompressible flow stage arrangement.

Carries what varies between simulations. What does not vary, the stage ordering, is fixed by setup_flow: buoyancy must precede the projection or the solve removes the divergence it injects, the wall condition must follow every stage that writes velocity, and carried scalars must be advected by the projected velocity rather than the raw one. Those are correctness constraints, not preferences, and they are the part callers get wrong.

Definition at line 182 of file VolumeGridBuffer.hpp.


The documentation for this struct was generated from the following file: