user: Give a detailed overview of FluidDomainSettings(bpy_struct): syntax, arguments, return values, common patterns.

assistant: # FluidDomainSettings(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.FluidDomainSettings(*bpy_struct*)
:   Fluid domain settings

    adapt_margin
    :   Margin added around fluid to minimize boundary interference

        Type:
        :   int in [2, 24], default 4

    adapt_threshold
    :   Minimum amount of fluid grid values (smoke density, fuel and heat) a cell can contain, before it is considered empty

        Type:
        :   float in [0, 1], default 0.002

    additional_res
    :   Maximum number of additional cells

        Type:
        :   int in [0, 512], default 0

    alpha
    :   Buoyant force based on smoke density (higher value results in faster rising smoke)

        Type:
        :   float in [-5, 5], default 1.0

    beta
    :   Buoyant force based on smoke heat (higher value results in faster rising smoke)

        Type:
        :   float in [-5, 5], default 1.0

    burning_rate
    :   Speed of the burning reaction (higher value results in smaller flames)

        Type:
        :   float in [0.01, 4], default 0.75

    cache_data_format
    :   Select the file format to be used for caching volumetric data

        - `UNI`
          Uni Cache – Uni file format (.uni).
        - `OPENVDB`
          OpenVDB – OpenVDB file format (.vdb).
        - `RAW`
          Raw Cache – Raw file format (.raw).

        Type:
        :   enum in [`'UNI'`, `'OPENVDB'`, `'RAW'`], default `'OPENVDB'`

    cache_directory
    :   Directory that contains fluid cache files

        Type:
        :   string, default “”, (never None, blend relative `//` prefix supported)

    cache_frame_end
    :   Frame on which the simulation stops (last frame baked)

        Type:
        :   int in [-1048574, 1048574], default 250

    cache_frame_offset
    :   Frame offset that is used when loading the simulation from the cache. It is not considered when baking the simulation, only when loading it.

        Type:
        :   int in [-1048574, 1048574], default 0

    cache_frame_pause_data
    :   Type:
        :   int in [-inf, inf], default 0

    cache_frame_pause_guide
    :   Type:
        :   int in [-inf, inf], default 0

    cache_frame_pause_mesh
    :   Type:
        :   int in [-inf, inf], default 0

    cache_frame_pause_noise
    :   Type:
        :   int in [-inf, inf], default 0

    cache_frame_pause_particles
    :   Type:
        :   int in [-inf, inf], default 0

    cache_frame_start
    :   Frame on which the simulation starts (first frame baked)

        Type:
        :   int in [-1048574, 1048574], default 1

    cache_mesh_format
    :   Select the file format to be used for caching surface data

        - `UNI`
          Uni Cache – Uni file format (.uni).
        - `OPENVDB`
          OpenVDB – OpenVDB file format (.vdb).
        - `RAW`
          Raw Cache – Raw file format (.raw).

        Type:
        :   enum in [`'UNI'`, `'OPENVDB'`, `'RAW'`], default `'UNI'`

    cache_noise_format
    :   Select the file format to be used for caching noise data

        - `UNI`
          Uni Cache – Uni file format (.uni).
        - `OPENVDB`
          OpenVDB – OpenVDB file format (.vdb).
        - `RAW`
          Raw Cache – Raw file format (.raw).

        Type:
        :   enum in [`'UNI'`, `'OPENVDB'`, `'RAW'`], default `'OPENVDB'`

    cache_particle_format
    :   Select the file format to be used for caching particle data

        - `UNI`
          Uni Cache – Uni file format (.uni).
        - `OPENVDB`
          OpenVDB – OpenVDB file format (.vdb).
        - `RAW`
          Raw Cache – Raw file format (.raw).

        Type:
        :   enum in [`'UNI'`, `'OPENVDB'`, `'RAW'`], default `'OPENVDB'`

    cache_resumable
    :   Additional data will be saved so that the bake jobs can be resumed after pausing. Because more data will be written to disk it is recommended to avoid enabling this option when baking at high resolutions.

        Type:
        :   boolean, default False

    cache_type
    :   Change the cache type of the simulation

        - `REPLAY`
          Replay – Use the timeline to bake the scene.
        - `MODULAR`
          Modular – Bake every stage of the simulation separately.
        - `ALL`
          All – Bake all simulation settings at once.

        Type:
        :   enum in [`'REPLAY'`, `'MODULAR'`, `'ALL'`], default `'REPLAY'`

    cell_size
    :   Cell Size

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 3 items in [-inf, inf], default (0.0, 0.0, 0.0), (readonly)

    cfl_condition
    :   Maximal velocity per cell (greater CFL numbers will minimize the number of simulation steps and the computation time.)

        Type:
        :   float in [0, 10], default 2.0

    clipping
    :   Value under which voxels are considered empty space to optimize rendering

        Type:
        :   float in [0, 1], default 1e-06

    color_grid
    :   Smoke color grid

        Type:
        :   float array of 32 items in [-inf, inf], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (readonly)

    color_ramp
    :   Type:
        :   [`ColorRamp`](bpy.types.ColorRamp.html#bpy.types.ColorRamp "bpy.types.ColorRamp"), (readonly)

    color_ramp_field
    :   Simulation field to color map

        Type:
        :   enum in [`'NONE'`], default `'NONE'`

    color_ramp_field_scale
    :   Multiplier for scaling the selected field to color map

        Type:
        :   float in [0.001, 100000], default 1.0

    delete_in_obstacle
    :   Delete fluid inside obstacles

        Type:
        :   boolean, default False

    density_grid
    :   Smoke density grid

        Type:
        :   float array of 32 items in [-inf, inf], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (readonly)

    display_interpolation
    :   Interpolation method to use for smoke/fire volumes in solid mode

        - `LINEAR`
          Linear – Good smoothness and speed.
        - `CUBIC`
          Cubic – Smoothed high quality interpolation, but slower.
        - `CLOSEST`
          Closest – No interpolation.

        Type:
        :   enum in [`'LINEAR'`, `'CUBIC'`, `'CLOSEST'`], default `'LINEAR'`

    display_thickness
    :   Thickness of smoke display in the viewport

        Type:
        :   float in [0.001, 1000], default 1.0

    dissolve_speed
    :   Determine how quickly the smoke dissolves (lower value makes smoke disappear faster)

        Type:
        :   int in [1, 10000], default 5

    domain_resolution
    :   Smoke Grid Resolution

        Type:
        :   int array of 3 items in [-inf, inf], default (0, 0, 0), (readonly)

    domain_type
    :   Change domain type of the simulation

        - `GAS`
          Gas – Create domain for gases.
        - `LIQUID`
          Liquid – Create domain for liquids.

        Type:
        :   enum in [`'GAS'`, `'LIQUID'`], default `'GAS'`

    effector_group
    :   Limit effectors to this collection

        Type:
        :   [`Collection`](bpy.types.Collection.html#bpy.types.Collection "bpy.types.Collection")

    effector_weights
    :   Type:
        :   [`EffectorWeights`](bpy.types.EffectorWeights.html#bpy.types.EffectorWeights "bpy.types.EffectorWeights"), (readonly)

    export_manta_script
    :   Generate and export Mantaflow script from current domain settings during bake. This is only needed if you plan to analyze the cache (e.g. view grids, velocity vectors, particles) in Mantaflow directly (outside of Blender) after baking the simulation.

        Type:
        :   boolean, default False

    flame_grid
    :   Smoke flame grid

        Type:
        :   float array of 32 items in [-inf, inf], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (readonly)

    flame_ignition
    :   Minimum temperature of the flames (higher value results in faster rising flames)

        Type:
        :   float in [0.5, 5], default 1.5

    flame_max_temp
    :   Maximum temperature of the flames (higher value results in faster rising flames)

        Type:
        :   float in [1, 10], default 3.0

    flame_smoke
    :   Amount of smoke created by burning fuel

        Type:
        :   float in [0, 8], default 1.0

    flame_smoke_color
    :   Color of smoke emitted from burning fuel

        Type:
        :   [`mathutils.Color`](mathutils.html#mathutils.Color "mathutils.Color") of 3 items in [0, inf], default (0.7, 0.7, 0.7)

    flame_vorticity
    :   Additional vorticity for the flames

        Type:
        :   float in [0, 2], default 0.5

    flip_ratio
    :   PIC/FLIP Ratio. A value of 1.0 will result in a completely FLIP based simulation. Use a lower value for simulations which should produce smaller splashes.

        Type:
        :   float in [0, 1], default 0.97

    fluid_group
    :   Limit fluid objects to this collection

        Type:
        :   [`Collection`](bpy.types.Collection.html#bpy.types.Collection "bpy.types.Collection")

    force_collection
    :   Limit forces to this collection

        Type:
        :   [`Collection`](bpy.types.Collection.html#bpy.types.Collection "bpy.types.Collection")

    fractions_distance
    :   Determines how far apart fluid and obstacle are (higher values will result in fluid being further away from obstacles, smaller values will let fluid move towards the inside of obstacles)

        Type:
        :   float in [-5, 5], default 0.5

    fractions_threshold
    :   Determines how much fluid is allowed in an obstacle cell (higher values will tag a boundary cell as an obstacle easier and reduce the boundary smoothening effect)

        Type:
        :   float in [0.001, 1], default 0.05

    gravity
    :   Gravity in X, Y and Z direction

        Type:
        :   [`mathutils.Vector`](mathutils.html#mathutils.Vector "mathutils.Vector") of 3 items in [-1000.1, 1000.1], default (0.0, 0.0, -9.81)

    gridlines_cell_filter
    :   Cell type to be highlighted

        - `NONE`
          None – Highlight the cells regardless of their type.
        - `FLUID`
          Fluid – Highlight only the cells of type Fluid.
        - `OBSTACLE`
          Obstacle – Highlight only the cells of type Obstacle.
        - `EMPTY`
          Empty – Highlight only the cells of type Empty.
        - `INFLOW`
          Inflow – Highlight only the cells of type Inflow.
        - `OUTFLOW`
          Outflow – Highlight only the cells of type Outflow.

        Type:
        :   enum in [`'NONE'`, `'FLUID'`, `'OBSTACLE'`, `'EMPTY'`, `'INFLOW'`, `'OUTFLOW'`], default `'NONE'`

    gridlines_color_field
    :   Simulation field to color map onto gridlines

        - `NONE`
          None – None.
        - `FLAGS`
          Flags – Flag grid of the fluid domain.
        - `RANGE`
          Highlight Range – Highlight the voxels with values of the color mapped field within the range.

        Type:
        :   enum in [`'NONE'`, `'FLAGS'`, `'RANGE'`], default `'NONE'`

    gridlines_lower_bound
    :   Lower bound of the highlighting range

        Type:
        :   float in [-inf, inf], default 0.0

    gridlines_range_color
    :   Color used to highlight the range

        Type:
        :   float array of 4 items in [0, inf], default (1.0, 0.0, 0.0, 1.0)

    gridlines_upper_bound
    :   Upper bound of the highlighting range

        Type:
        :   float in [-inf, inf], default 1.0

    guide_alpha
    :   Guiding weight (higher value results in greater lag)

        Type:
        :   float in [1, 100], default 2.0

    guide_beta
    :   Guiding size (higher value results in larger vortices)

        Type:
        :   int in [1, 50], default 5

    guide_parent
    :   Use velocities from this object for the guiding effect (object needs to have fluid modifier and be of type domain))

        Type:
        :   [`Object`](bpy.types.Object.html#bpy.types.Object "bpy.types.Object")

    guide_source
    :   Choose where to get guiding velocities from

        - `DOMAIN`
          Domain – Use a fluid domain for guiding (domain needs to be baked already so that velocities can be extracted). Guiding domain can be of any type (i.e. gas or liquid)..
        - `EFFECTOR`
          Effector – Use guiding (effector) objects to create fluid guiding (guiding objects should be animated and baked once set up completely).

        Type:
        :   enum in [`'DOMAIN'`, `'EFFECTOR'`], default `'DOMAIN'`

    guide_vel_factor
    :   Guiding velocity factor (higher value results in greater guiding velocities)

        Type:
        :   float in [0, 100], default 2.0

    has_cache_baked_any
    :   Type:
        :   boolean, default False

    has_cache_baked_data
    :   Type:
        :   boolean, default False

    has_cache_baked_guide
    :   Type:
        :   boolean, default False

    has_cache_baked_mesh
    :   Type:
        :   boolean, default False

    has_cache_baked_noise
    :   Type:
        :   boolean, default False

    has_cache_baked_particles
    :   Type:
        :   boolean, default False

    heat_grid
    :   Smoke heat grid

        Type:
        :   float array of 32 items in [-inf, inf], default (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), (readonly)

    highres_sampling
    :   Method for sampling the high resolution flow

        Type:
        :   enum in [`'FULLSAMPLE'`, `'LINEAR'`, `'NEAREST'`], default `'FULLSAMPLE'`

    is_cache_baking_any
    :   Type:
        :   boolean, default False

    is_cache_baking_data
    :   Type:
        :   boolean, default False

    is_cache_baking_guide
    :   Type:
        :   boolean, default False

    is_cache_baking_mesh
    :   Type:
        :   boolean, default False

    is_cache_baking_noise
    :   Type:
        :   boolean, default False

    is_cache_baking_particles
    :   Type:
        :   boolean, default False

    mesh_concave_lower
    :   Lower mesh concavity bound (high values tend to smoothen and fill out concave regions)

        Type:
        :   float in [0, 10], default 0.4

    mesh_concave_upper
    :   Upper mesh concavity bound (high values tend to smoothen and fill out concave regions)

        Type:
        :   float in [0, 10], default 3.5

    mesh_generator
    :   Which particle level set generator to use

        - `IMPROVED`
          Final – Use improved particle level set (slower but more precise and with mesh smoothening options).
        - `UNION`
          Preview – Use union particle level set (faster but lower quality).

        Type:
        :   enum in [`'IMPROVED'`, `'UNION'`], default `'IMPROVED'`

    mesh_particle_radius
    :   Particle radius factor (higher value results in larger (meshed) particles). Needs to be adjusted after changing the mesh scale.

        Type:
        :   float in [0, 10], default 2.0

    mesh_scale
    :   The mesh simulation is scaled up by this factor (compared to the base resolution of the domain). For best meshing, it is recommended to adjust the mesh particle radius alongside this value.

        Type:
        :   int in [1, 100], default 2

    mesh_smoothen_neg
    :   Negative mesh smoothening

        Type:
        :   int in [0, 100], default 1

    mesh_smoothen_pos
    :   Positive mesh smoothening

        Type:
        :   int in [0, 100], default 1

    noise_pos_scale
    :   Scale of noise (higher value results in larger vortices)

        Type:
        :   float in [0.0001, 10], default 2.0

    noise_scale
    :   The noise simulation is scaled up by this factor (compared to the base resolution of the domain)

        Type:
        :   int in [1, 100], default 2

    noise_strength
    :   Strength of noise

        Type:
        :   float in [0, 10], default 1.0

    noise_time_anim
    :   Animation time of noise

        Type:
        :   float in [0.0001, 10], default 0.1

    openvdb_cache_compress_type
    :   Compression method to be used

        - `ZIP`
          Zip – Effective but slow compression.
        - `NONE`
          None – Do not use any compression.

        Type:
        :   enum in [`'ZIP'`, `'NONE'`], default `'ZIP'`

    openvdb_data_depth
    :   Bit depth for fluid particles and grids (lower bit values reduce file size)

        Type:
        :   enum in [`'NONE'`], default `'NONE'`

    particle_band_width
    :   Particle (narrow) band width (higher value results in thicker band and more particles)

        Type:
        :   float in [0, 1000], default 3.0

    particle_max
    :   Maximum number of particles per cell (ensures that each cell has at most this amount of particles)

        Type:
        :   int in [0, 1000], default 16

    particle_min
    :   Minimum number of particles per cell (ensures that each cell has at least this amount of particles)

        Type:
        :   int in [0, 1000], default 8

    particle_number
    :   Particle number factor (higher value results in more particles)

        Type:
        :   int in [1, 5], default 2

    particle_radius
    :   Particle radius factor. Increase this value if the simulation appears to leak volume, decrease it if the simulation seems to gain volume.

        Type:
        :   float in [0, 10], default 1.0

    particle_randomness
    :   Randomness factor for particle sampling

        Type:
        :   float in [0, 10], default 0.1

    particle_scale
    :   The particle simulation is scaled up by this factor (compared to the base resolution of the domain)

        Type:
        :   int in [1, 100]