Actuator disk model#
The actuator disk model in Flow360 provides a simplified representation of a propulsor using a momentum source term distributed across a disk-shaped region.
Available Parameters#
Parameter |
Description |
Applicable |
|---|---|---|
Assigned volumes |
Cylinder entities defining disk location and dimensions |
always |
Unit |
Choose units used for actuator disk definition |
always |
Input method |
Choose how to define the loading: upload a distribution file or specify a uniform value |
always |
File upload |
Upload a file defining the actuator disk |
Input method is |
Inner radius |
Radius at which the force-per-area value is first given. The region inside it is still loaded with the same value, see Inner radius |
Input method is |
Outer radius |
Outer radius of the loading, which is also the radius of the disk |
Input method is |
Force per area value |
Constant thrust force per unit area applied up to the outer radius |
Input method is |
Reference velocity |
Optional reference velocity vector [Vx, Vy, Vz] for power output calculation |
always |
Detailed Descriptions#
Assigned volumes#
The cylinder entities that define the location and dimensions of the disk. The cylinder’s center, axis, and height are used as the actuator disk’s center, thrust axis, and thickness respectively. The radius of the disk is the last radius of the loading distribution, not the cylinder’s radius.
Required
Notes:
The cylinder axis defines the direction of the thrust
Ensure the cylinder is sized appropriately for your application
Mesh nodes closer to the axis than the cylinder’s Inner radius receive no actuator disk force. Set it to the hub radius to leave the hub region unloaded, see Inner radius in the knowledge base.
Unit#
Specifies units of the values specified in the uploaded file.
Required
Notes:
Arrays for radius, thrust, and circumferential must all have the same length
Positive thrust means the axial force follows the same direction as the thrust axis
Positive circumferential force follows the same direction as the thrust axis with the right hand rule
In the GUI, you can either input values directly or upload JSON/CSV files with the distribution data
Input method#
Selects how the disk loading is defined. Two options are available:
Upload file (default): import a radial distribution of
radius,thrust, andcircumferentialvalues from a JSON or CSV file (see File upload below).Uniform: specify a single force-per-area value, with no circumferential (swirl) component, and an Inner radius and Outer radius. Flow360 turns this into a two-point loading distribution, with the same value at both radii. The solver applies the value over the whole disk up to the Outer radius (see Inner radius below). The setup form prompts you with: “Specify a uniform force-per-area value across the disk (no swirl).”
Notes:
The Uniform option is the quickest way to set up a constant-loading disk when a detailed radial distribution is not needed.
For the uniform input, the radii use the Radius unit and the loading uses the Force per area unit selected under Unit above.
Because there is no swirl, the integrated Torque of a uniform disk is zero (see Integrated values).
File upload#
A window for uploading a file defining the behaviour of the actuator disk.
Options:
CSV FormatCSV files can be uploaded with or without headers. If headers are present, they must be:
radius, thrust, circumferentialExample with headers:
radius, thrust, circumferential 0, 1, 0 1, 2, 20 10, 1, 1
Example without headers:
0, 1, 0 1, 2, 20 10, 1, 1
JSON Format{ "force_per_area": { "radius": [0, 1, 10], "thrust": [1, 2, 1], "circumferential": [0, 20, 1] } }
Inner radius#
The first radius of the loading distribution created by the Uniform input.
Required when Input method is
Uniform.
Notes:
Below the first radius of a loading distribution, the solver applies the force-per-area value given at that radius. With the Uniform input, the disk is therefore loaded with the same value from the axis to the Outer radius, whatever this Inner radius is.
To leave the hub region unloaded, set the Inner radius of the assigned cylinder instead, see Assigned volumes.
The Integrated values start at this radius, see the note there.
Outer radius#
Outer radius of the region over which the uniform loading is applied. It is also the radius of the actuator disk.
Required when Input method is
Uniform.
Force per area value#
Constant thrust force per unit area applied uniformly up to the outer radius, with no circumferential (swirl) component.
Required when Input method is
Uniform.
Notes:
Uses the Force per area unit selected under Unit.
Reference velocity#
An optional velocity vector [Vx, Vy, Vz] used as the reference velocity for actuator disk power output calculations.
Optional (default: not set)
When provided, the solver uses this fixed velocity vector instead of the local flow velocity when computing the actuator disk power output.
Integrated values#
A live readout displayed in the setup form once a valid loading is defined. Flow360 integrates the force-per-area distribution over the disk so you can sanity-check the total loading before running the case.
Value |
Description |
|---|---|
Thrust |
Total axial thrust, obtained by integrating the thrust (axial) force-per-area over the disk area |
Torque |
Total torque, obtained by integrating the circumferential (swirl) force-per-area over the disk |
The values update automatically as you edit the loading, whether it comes from an uploaded file or from the uniform input.
Notes:
The readout is computed in the browser for quick feedback during setup; the solver performs its own integration at run time.
The Torque reflects only the circumferential (swirl) loading, so it is zero for a uniform disk or for any distribution with no circumferential component.
The readout integrates the loading distribution from its first radius to its last, while the solver loads the disk from the Inner radius of the assigned cylinder, applying the first value below the first radius. The readout matches the applied loading only when the first radius of the distribution equals the cylinder’s Inner radius, for example when both are 0.
Thrust is shown in N and torque in N·m.
💡 Tips
When to Use Actuator Disk Model
For propellers or fans where detailed blade modeling is unnecessary
In preliminary design studies requiring quick turnaround
When only the thrust and torque effects matter, not detailed wake structures
For wind turbine analysis where detailed blade aerodynamics are less important
In applications where the general influence of a propulsor on flow is needed, but not blade-specific phenomena
Comparison with BET Disk Model
Feature |
Actuator Disk |
BET Disk |
|---|---|---|
Complexity |
Lower |
Higher |
Setup Time |
Fast |
Moderate |
Computational Cost |
Lower |
Higher |
Accuracy |
Basic |
More detailed |
Wake Prediction |
General structure |
Blade-specific effects |
Required Inputs |
Thrust/pressure |
Detailed blade geometry |
Implementation Tips
Consider upgrading to BET Disk for more accurate wake prediction
Ensure adequate mesh resolution around the disk
Typically 10-20 cells across the disk radius
Maintain refined mesh downstream to capture wake development
Start with uniform loading for initial studies
Base thrust and pressure values on experimental or analytical data when possible
For accurate flow-field predictions, include swirl effects
Limitations
Cannot capture blade-specific effects
Simplified wake structure
No inherent modeling of performance variation with flow conditions
Less accurate than BET Disk or fully-resolved blade simulations
May oversimplify flow-field effects in cases with complex inflow conditions
❓ Frequently Asked Questions
When should I use Actuator Disk instead of BET Disk?
Use Actuator Disk for preliminary design studies requiring quick turnaround, cases where detailed wake structures aren’t needed, or applications where only the thrust and torque effects matter. Use BET Disk when blade-specific aerodynamics are important.
How do I determine appropriate thrust values?
Thrust values can be determined from experimental data, analytical calculations, or known performance metrics of your propulsor. Typically, you’d convert a known thrust to a pressure by dividing by the disk area.
Can I model non-uniform loading?
Yes, by specifying different thrust values across the radial positions, you can create custom radial distributions to model tip effects or other non-uniform loading patterns.
Does the actuator disk model capture tip vortices?
Not directly. The model produces a simplified wake structure without capturing detailed blade-specific phenomena like tip vortices. For those effects, consider the BET Disk model or fully-resolved blade simulations.
How does this model handle different flow conditions?
The model applies the specified force distribution regardless of inflow conditions. It doesn’t inherently account for performance variations with flow speed or angle. You would need to manually update the force distribution for different operating conditions.
Can I use this model for contra-rotating propellers?
Yes, by creating two actuator disk models with opposite swirl directions, positioned in sequence along the flow path.
How do I import data from existing propeller analysis?
You can prepare your data in CSV or JSON format and upload it through the GUI. This is useful when you have force distributions from other analysis tools or experimental data.
🐍 Python Example Usage
See also
Python API reference: ActuatorDisk, Cylinder and ForcePerArea.
For a worked example, see DARPA SUBOFF Actuator Disk.
Below is an example of how to configure an Actuator Disk model using the Flow360 Python API:
# Example (for reference only, not included in GUI documentation)
actuator_disk = fl.ActuatorDisk(
entities = fl.Cylinder(
name="actuator_disk",
center=(0,0,0)*fl.u.mm,
axis=(-1,0,0),
height = 30 * fl.u.mm,
outer_radius=5.0 * fl.u.mm,
),
force_per_area = fl.ForcePerArea(
radius=[0, 1] * fl.u.mm,
thrust=[4.1, 5.5] * fl.u.Pa,
circumferential=[4.1, 5.5] * fl.u.Pa,
),
# Optional: fix the reference velocity used for power output calculations.
# Useful for hover or near-zero freestream cases.
reference_velocity=[0, 0, -10] * fl.u.m / fl.u.s,
)