Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Material domains and properties

Fluid domains assign materials to the fluid mesh. Solid thermal models define heat-transfer paths. Together, fluids and conducting solids form connected thermal regions that can contain several materials.

Fluids

Each fluid_domains entry assigns properties to a seeded region or, for one optional unseeded entry, all remaining regions.

Connected fluid regions

A connected fluid region contains cells joined through open mesh faces or linked fans. Solids and impermeable faces separate regions. A linked fan joins every fluid cell touching its complete intake and exhaust patches.

Set seed_bc_tag to an inlet, outlet, or fan boundary’s tag to assign properties throughout its connected region. The diagram uses the inlet; the outlet or either linked-fan boundary would select the same region. Seeds must have fluid cells after meshing. Walls, symmetry boundaries, and thermal conditions cannot be seeds.

One seed selects the whole connected fluid region One air domain fills a channel on both sides of a linked fan. The inlet is the seed boundary. Open fluid faces and the linked intake and exhaust connect the entire air region, so that one seed assigns air throughout the channel. Two callout arrows point from the single air-domain label to both sides of the fan. One fluid domain: air Intake Exhaust Inlet seed Outlet Air Linked fan Air
One inlet seed selects the entire air channel, including both sides of the linked fan. The dashed segment represents the fan connection.

For an inlet tagged air_inlet:

{
  "fluid_domains": [
    {
      "properties": {"air": {"relative_humidity": 0.3}},
      "seed_bc_tag": "air_inlet",
      "tag": "channel_air"
    }
  ]
}

Use the boundary’s final explicit or generated tag as the seed. A fan’s linking_tag pairs its patches; each patch has its own boundary tag.

Multiple fluid domains

Separate seeded entries select different regions, even when they use the same material preset.

At most one entry may be unseeded, with seed_bc_tag omitted or null. It receives all regions left after the seeded assignments.

Two seeded air regions and one unseeded water region One simulation domain contains two separate air channels and a closed water cavity, separated by solid. Inlet tags inlet_1 and inlet_2 seed separate air entries. Each seed assigns air only to its own connected channel. The unseeded water entry fills the remaining closed cavity. Seeded air 1 inlet_1 Seeded air 2 inlet_2 Outlet Outlet Air region 1 Air region 2 Water Unseeded entry: water
Seeds inlet_1 and inlet_2 select separate air channels. The unseeded water entry fills the remaining cavity. All three regions are separated by solid within one simulation.

The corresponding fluid entries are:

{
  "fluid_domains": [
    {
      "properties": {"air": {}},
      "seed_bc_tag": "inlet_1",
      "tag": "air_1"
    },
    {
      "properties": {"air": {}},
      "seed_bc_tag": "inlet_2",
      "tag": "air_2"
    },
    {
      "properties": "water",
      "seed_bc_tag": null,
      "tag": "water"
    }
  ]
}

Each seed must be unique and touch exactly one connected region; two entries cannot select the same region. Every region must receive a material, and an unseeded entry must receive some fluid cells. A mesh without fluid cells is rejected.

An unseeded entry can fill several disconnected regions. Another closed cavity here would also receive water. Cavities without flow boundaries can only receive the remainder material, so multiple such cavities cannot have different materials.

Entry fields and defaults

fluid_domains must be nonempty. Each entry requires properties: {"air": {...}}, "water", or {"custom": {...}}. The optional seed_bc_tag defaults to null.

Optional tag names must be unique across fluid domains and components. Omitted or null names become fluid_<index> using the zero-based array index. Explicit names take priority; generated names gain suffixes to avoid collisions. Boundary-condition and fan-linking tags use separate namespaces.

Omitting fluid_domains assigns air with relative humidity 0.3 to every fluid region.

Fluid properties

Vanellus provides two built-in presets:

  • air: humid air at sea level. Density depends on the reference temperature and relative_humidity; thermal expansion is the inverse absolute reference temperature. Other properties use values near 20 °C. Relative humidity ranges from 0 to 1 and defaults to 0.3. Moisture transport and condensation are not modeled.
  • water: fixed water properties near 20 °C.

For another fluid, custom requires five constant properties:

  • density affects momentum and, with specific heat capacity, thermal energy transport.
  • viscosity controls momentum diffusion through the fluid.
  • specific_heat_capacity is the energy required to change the temperature of a unit mass.
  • conductivity controls heat conduction through the fluid.
  • thermal_expansion controls the buoyancy response when boussinesq is enabled.

Choose custom properties at a representative operating temperature and pressure. They affect flow, heat transfer, buoyancy, and the required mesh resolution.

Each fluid uses its own properties at the common reference temperature. Boundary-layer sizing uses the unweighted mean of the entries’ room-temperature kinematic viscosities; the turbulence model and inlet-derived initialization estimates remain global.

Solids

Each component’s thermal_model controls its heat transfer. Conducting components retain their own properties. Thermal regions are found automatically from the mesh and model connections, without seeds.

Conducting, insulating, and compact models

  • Conducting components have resolved temperatures and exchange heat with adjacent fluid and conducting solids.
  • Insulating components have no solved interior temperature field. Surfaces are adiabatic by default but can have thermal boundary conditions.
  • Compact thermal models (CTMs) replace the resolved interior with a junction and resistances to active faces. They use network resistances and power instead of bulk material properties.

Cuboid and CAD components can be conducting or insulating; only cuboids support CTMs.

Connected thermal regions

Fluid and conducting-solid temperatures share one energy solve. Cells joined by heat-transfer paths form a connected thermal region, which can contain different materials and temperatures. Ordinary fluid–conducting and conducting–conducting contacts connect cells without an extra interface condition.

A CTM connects its active faces through the junction. A two-resistor model links opposing board and case faces; the other four faces are adiabatic. A STAR model links all six faces. Every active face must completely touch fluid or conducting cells.

Thermal connectivity through conducting solids and a CTM Colors identify two thermal regions within one simulation. The upper blue region contains air, a conducting board, a two-resistor CTM, a conducting heatsink, and water. The CTM links its opposing active faces, so the whole chain is thermally connected even though air and water are separate fluid regions. The lower orange conducting solid is isolated by the gray insulation and forms thermal region 2. The CTM interior and insulation have no resolved temperature field. Air Board CTM Heatsink Water Insulation Conducting solid Thermal region 1 Thermal region 2
Colors identify thermal regions. The blue region joins air and water through the conducting board, CTM, and heatsink; the fluids remain separate. Insulation isolates the orange solid as thermal region 2.

Insulating interiors and adiabatic faces interrupt connectivity. Conducting surfaces add resistance while preserving heat transfer; linked fans connect thermal regions through transported heat.

Connectivity follows the final mesh. Vanellus checks prescribed heating and cooling separately in each isolated thermal region; cooling one region cannot balance heating another. See Isolated thermal regions and power balance for details.

Solid properties

Only conducting components require bulk properties:

  • conductivity, either as one isotropic value or [kx, ky, kz], to control heat conduction;
  • density; and
  • specific_heat_capacity.

Density and specific heat capacity set volumetric heat capacity. Optional power is distributed uniformly over the meshed volume.

See also