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

Add an internal fan with linked boundaries

Use linked fan boundaries when the intake and exhaust of a fan are both inside the simulation domain.

Place the boundaries

  1. Put linked_fan_intake where fluid leaves the surrounding fluid region and enters the fan.
  2. Put linked_fan_exhaust where fluid leaves the fan and returns to the surrounding fluid region.
  3. Give the two boundaries the same unique linking_tag.

For a fan represented by an insulating cuboid, add the following object to cuboid_components and adjust its bounding box and face directions:

{
  "tag": "fan_unit",
  "bbox": {
    "origin": [0.04, 0.01, 0.01],
    "size": [0.01, 0.04, 0.04]
  },
  "thermal_model": "insulating",
  "boundary_conditions": [
    {
      "boundary": { "full": { "side": "x_min" } },
      "condition": {
        "linked_fan_intake": { "linking_tag": "internal_fan" }
      },
      "tag": "fan_intake"
    },
    {
      "boundary": { "full": { "side": "x_max" } },
      "condition": {
        "linked_fan_exhaust": {
          "linking_tag": "internal_fan",
          "flow_rates": [0.0, 0.01, 0.02],
          "static_pressures": [100.0, 50.0, 0.0],
          "thermal_power": 3.0
        }
      },
      "tag": "fan_exhaust"
    }
  ]
}

The required linking_tag identifies the combined fan and links its boundaries; it does not need to match the component tag fan_unit. Each linking_tag must identify exactly one intake and one exhaust. Each boundary can also have its own optional string tag, alongside boundary and condition. It defaults to null, must be unique across all domain and component boundary conditions, and does not affect pairing.

thermal_power is the total heat transferred directly to the fluid, in watts. It defaults to 0.0; positive values heat the flow and negative values cool it. The model does not derive this value from the fan pressure curve.

If the opening covers only part of a face, replace full with a circle, rectangle, or annulus boundary.

Set the fan curve

Follow Prepare the fan curve to convert and validate the manufacturer’s static-pressure data. Put the resulting flow_rates and static_pressures arrays on linked_fan_exhaust; the intake requires only the shared linking_tag.

Stabilize the operating point

If the fan pressure oscillates, add a smaller relaxation_factor to linked_fan_exhaust:

"relaxation_factor": 0.05

Smaller values damp changes more strongly.

Inspect the operating point

The fan histories in iteration_info.csv use the combined fan identifier supplied in linking_tag:

  • monitor_fan_flow_rate_<tag> is the measured exhaust volumetric flow rate in m³/s.
  • monitor_fan_pressure_jump_<tag> is the measured area-averaged exhaust pressure minus the area-averaged intake pressure, in Pa.

Each sample describes a completed SIMPLE iteration. Compare these measured operating points with the supplied fan curve; the pressure history is the actual static-pressure jump, including any departure from the curve during convergence or when exhaust faces close. See Fan and linked-fan boundaries for the open and closed face conditions.

The fan histories do not control stopping. The run uses the standard residual, monitor, and junction-temperature criteria described in How simulations stop.

See also