point Add Fill Point

Introduction

M-Star CFD uses a 3D flood fill algorithm to generate region tags over the lattice at runtime. Each fill point defines the origin of a volumetric expansion that marks all reachable voxels until blocked by static geometry or the simulation bounding box. The resulting tagged regions are central to several workflows, including defining the active region stored in memory, initializing disconnected regions with different fluids, scoping global variable reductions, and defining particle or scalar injection locations.

Note: see this video tutorial.

After defining the geometry (whether single part or multiple components), fill points are placed to seed the flood fills. At time zero, the solver expands from each fill point until reaching static boundaries or the bounding box, tagging connected regions and distinguishing them from disconnected ones. This approach automatically decomposes the system geometry into distinct regions, without manual preprocessing. Conceptually, the 3D flood fill behaves like an expanding balloon: it grows outward from the fill point, conforming to the geometry and stopping at boundaries. Because this decomposition happens algorithmically at runtime, there is no need to import separate geometries, construct region masks, or duplicate models.

The flood fill always produces the same output — a tagged set of lattice voxels — but the meaning of those tags depends on where the fill point is defined. Fill points are required under the Main Lattice to establish the active region. Additional fill points may be defined for two-fluid models, particle or scalar injection zones, or global variable scoping. In these cases, the tagged regions behave like automatically generated child geometry: created once at time zero based on lattice extent and static geometry, then used by the solver for reductions, additions, or initial fluid assignments.

Fill Points on the Main Lattice

The Fill Point on the main lattice is required for every simulation. When a fill point is added under the Main Lattice, the resulting tagged region defines the active portion of the domain — the set of lattice voxels that are allocated in memory and included in physics calculations. The 3D flood fill is performed once at time zero. Voxels inside the tagged region are active; voxels outside are excluded entirely and have no impact on the simulation. This distinction between active and inactive zones is fundamental for both solver performance and physical correctness. Because the flood fill point under the Main Lattice determines what is stored and solved, it is critical to verify that the tagged region correctly represents the intended interior volumes of the system.

Fill Points on Two-Fluid Configuration

In a two-fluid (VOF) model, fill points initialize disconnected regions with different fluids, assigning one phase to each region at the start of the simulation. When a fill point is added under a Free Surface or Immiscible Two Fluid configuration, the resulting tagged region defines the initial fluid assignment at the start of the simulation. The 3D flood fill is performed once at time zero.

Each tagged region can be associated with a specific fluid type, enabling disconnected regions to begin with different initial phases. For example, if two compartments are separated by walls, one region can be initialized with Fluid 1 while another is initialized with Fluid 2. This provides precise control over the initial conditions in multiphase systems, ensuring that each region starts with the correct fluid configuration before the solver advances in time.

Fill Points on Global Variables and Injection Zones

When a fill point is used under a global variable, scalar field, or particle parent, the resulting tagged region behaves like an algorithmically defined child geometry, created once at time zero. With global variables, the flood fill restricts reductions (e.g., integrals or averages) to the tagged region only. The tagged region specifies where reductions are applied, limiting integrals, averages, or totals to that volume. For particle or scalar injections, the tagged region instead defines where additions occur, ensuring that particles or scalars are introduced only within the intended subregion. Because the tagged regions are generated directly by the 3D flood fill, they adapt automatically to the as-built geometry, removing the need to manually construct additional geometry or region masks.

Access

When you select Add Fill Point on the applicable context-specific toolbar, a new fill point is formed and the property grid below will launch.

../../../_images/add-fill-point.gif

Property Grid

General

Point

m | This is where the location for the fill point is indicated. The location can be moved or modified by adjusting the coordinates. The point can also be moved or rotated by using Move and Recenter on the Fill Point Toolbar.

Location

The Add Fill Point form is found on the following context-specific toolbars:

drop Free Surface

drop Immiscible Two Fluid

scalar Scalar Field

lattice Main Lattice

Fill Point Toolbar

Context-Specific Toolbar Options

Description

move Move

The Move form enables three-dimensional rigid body transform of object through free drag or point-to-point snapping.

center Recenter

The Recenter command snaps a plane to the center of the bounding box.

help Help

The Help command launches the M-Star reference documentation in your web browser.

See also Child Geometry Context Specific Toolbar.

For a full description of each selection on the Context-Specific Toolbar, see Toolbar Selections.