BETDisk#
- class BETDisk[source]#
Bases:
MultiConstructorBaseModelBETDiskclass for defining the Blade Element Theory (BET) model inputs. For detailed information on the parameters, please refer to the BET knowledge Base. To generate the sectional polars the BET translators can be used which are outlined here. A validation study of the XV-15 rotor using the steady BET Disk method is available in Validation Studies. Because a transient BET Line simulation is simply a time-accurate version of a steady-state BET Disk simulation, most of the parameters below are applicable to both methods.Note
Cylinder.center,Cylinder.axis,Cylinder.outer_radius, andCylinder.heightare taken as the rotation center, rotation axis, radius, and thickness of the BETDisk, respectively.Example
>>> fl.BETDisk( ... entities=[fl.Cylinder(...)], ... rotation_direction_rule="leftHand", ... number_of_blades=3, ... omega=rpm * fl.u.rpm, ... chord_ref=14 * fl.u.inch, ... n_loading_nodes=20, ... mach_numbers=[0], ... reynolds_numbers=[1000000], ... twists=[fl.BETDiskTwist(...), ...], ... chords=[fl.BETDiskChord(...), ...], ... alphas=[-2,0,2] * fl.u.deg, ... sectional_radiuses=[13.5, 25.5] * fl.u.inch, ... sectional_polars=[fl.BETDiskSectionalPolar(...), ...] ... )
Attributes
- rotation_direction_rule: Literal['leftHand', 'rightHand']#
The rule for rotation direction and thrust direction, “rightHand” or “leftHand”.
- Default:
'rightHand'
- omega: AngularVelocityType.NonNegative#
Rotating speed.
- chord_ref: LengthType.Positive#
Dimensional reference chord used to compute sectional blade loadings.
- n_loading_nodes: int#
Number of nodes used to compute the sectional thrust and torque coefficients \(C_t\) and \(C_q\), defined in BET Loading.
- blade_line_chord: LengthType.NonNegative#
Dimensional chord to use if performing an unsteady BET Line simulation. Default of 0.0 is an indication to run a steady BET Disk simulation.
- Default:
0 * fl.u.m
- initial_blade_direction: Axis, optional#
Direction of the first blade at the initial time, in the global mesh coordinate system (same frame as the BET cylinder center and axis), not a local BET/disk-fixed frame. Must be orthogonal to the rotation axis (Cylinder.axis). Only the direction is used—the vector need not be unit length. Must be specified for unsteady BET Line (blade_line_chord > 0).
- Default:
None
- collective_pitch: AngleType, optional#
Collective pitch angle applied as a uniform offset to all blade twist values. Positive value increases the angle of attack at every radial station.
- Default:
None
Additional Constructors
- classmethod from_c81(file, rotation_direction_rule, omega, chord_ref, n_loading_nodes, entities, number_of_blades, length_unit, angle_unit, initial_blade_direction=None, blade_line_chord=0 * fl.u.m, collective_pitch=None, name='BET disk')[source]#
Constructs a :class: BETDisk instance from a given C81 file and additional inputs.
- Parameters:
file (C81File) – C81File class instance containing information about the C81 file.
rotation_direction_rule (str) – Rule for rotation direction and thrust direction.
omega (AngularVelocityType.NonNegative) – Rotating speed of the propeller.
chord_ref (LengthType.Positive) – Dimensional reference cord used to compute sectional blade loadings.
n_loading_nodes (Int) – Number of nodes used to compute sectional thrust and torque coefficients.
entities (EntityList[Cylinder]) – List of Cylinder entities used for defining the BET volumes.
number_of_blades (Int) – Number of blades to model.
length_unit (LengthType.NonNegative) – Length unit of the geometry/mesh file.
angle_unit (AngleType) – Angle unit used for AngleType BETDisk parameters.
initial_blade_direction (Axis, optional) – Direction of the first blade in global mesh coordinates; orthogonal to the rotation axis. Only direction matters (need not be a unit vector). Required for unsteady BET Line.
blade_line_chord (LengthType.NonNegative) – Dimensional chord used in unsteady BET simulation. Defaults to
0 * u.m.collective_pitch (AngleType, optional) – Collective pitch angle applied as a uniform offset to all blade twist values.
name (str)
- Returns:
An instance of
BETDiskcompleted with given inputs.- Return type:
Examples
Create a BET disk with an C81 file.
>>> param = fl.BETDisk.from_c81( ... file=fl.C81File(file_path="c81_xv15.csv")), ... rotation_direction_rule="leftHand", ... omega=0.0046 * fl.u.deg / fl.u.s, ... chord_ref=14 * fl.u.m, ... n_loading_nodes=20, ... entities=bet_cylinder, ... angle_unit=fl.u.deg, ... number_of_blades=3, ... length_unit=fl.u.m, ... )
- classmethod from_dfdc(file, rotation_direction_rule, omega, chord_ref, n_loading_nodes, entities, length_unit, angle_unit, initial_blade_direction=None, blade_line_chord=0 * fl.u.m, collective_pitch=None, name='BET disk')[source]#
Constructs a :class: BETDisk instance from a given DFDC file and additional inputs.
- Parameters:
file (DFDCFile) – DFDCFile class instance containing information about the DFDC file.
rotation_direction_rule (str) – Rule for rotation direction and thrust direction.
omega (AngularVelocityType.NonNegative) – Rotating speed of the propeller.
chord_ref (LengthType.Positive) – Dimensional reference cord used to compute sectional blade loadings.
n_loading_nodes (Int) – Number of nodes used to compute sectional thrust and torque coefficients.
entities (EntityList[Cylinder]) – List of Cylinder entities used for defining the BET volumes.
length_unit (LengthType.NonNegative) – Length unit used for LengthType BETDisk parameters.
angle_unit (AngleType) – Angle unit used for AngleType BETDisk parameters.
initial_blade_direction (Axis, optional) – Direction of the first blade in global mesh coordinates; orthogonal to the rotation axis. Only direction matters (need not be a unit vector). Required for unsteady BET Line.
blade_line_chord (LengthType.NonNegative) – Dimensional chord used in unsteady BET simulation. Defaults to
0 * u.m.collective_pitch (AngleType, optional) – Collective pitch angle applied as a uniform offset to all blade twist values.
name (str)
- Returns:
An instance of
BETDiskcompleted with given inputs.- Return type:
Examples
Create a BET disk with a DFDC file.
>>> param = fl.BETDisk.from_dfdc( ... file=fl.DFDCFile(file_path="dfdc_xv15.case")), ... rotation_direction_rule="leftHand", ... omega=0.0046 * fl.u.deg / fl.u.s, ... chord_ref=14 * fl.u.m, ... n_loading_nodes=20, ... entities=bet_cylinder, ... length_unit=fl.u.m, ... angle_unit=fl.u.deg, ... )
- classmethod from_xfoil(file, rotation_direction_rule, omega, chord_ref, n_loading_nodes, entities, length_unit, angle_unit, number_of_blades, initial_blade_direction, blade_line_chord=0 * fl.u.m, collective_pitch=None, name='BET disk')[source]#
Constructs a :class: BETDisk instance from a given XROTOR file and additional inputs.
- Parameters:
file (XFOILFile) – XFOILFile class instance containing information about the XFOIL file.
rotation_direction_rule (str) – Rule for rotation direction and thrust direction.
omega (AngularVelocityType.NonNegative) – Rotating speed of the propeller.
chord_ref (LengthType.Positive) – Dimensional reference cord used to compute sectional blade loadings.
n_loading_nodes (Int) – Number of nodes used to compute sectional thrust and torque coefficients.
entities (EntityList[Cylinder]) – List of Cylinder entities used for defining the BET volumes.
length_unit (LengthType.NonNegative) – Length unit used for LengthType BETDisk parameters.
angle_unit (AngleType) – Angle unit used for AngleType BETDisk parameters.
number_of_blades (Int) – Number of blades to model.
initial_blade_direction (Axis, optional) – Direction of the first blade in global mesh coordinates; orthogonal to the rotation axis. Only direction matters (need not be a unit vector). Required for unsteady BET Line.
blade_line_chord (LengthType.NonNegative) – Dimensional chord used in unsteady BET simulation. Defaults to
0 * u.m.collective_pitch (AngleType, optional) – Collective pitch angle applied as a uniform offset to all blade twist values.
name (str)
- Returns:
An instance of
BETDiskcompleted with given inputs.- Return type:
Examples
Create a BET disk with an XFOIL file.
>>> param = fl.BETDisk.from_xfoil( ... file=fl.XFOILFile(file_path=("xfoil_xv15.csv")), ... rotation_direction_rule="leftHand", ... initial_blade_direction=[1, 0, 0], ... blade_line_chord=1 * fl.u.m, ... omega=0.0046 * fl.u.deg / fl.u.s, ... chord_ref=14 * fl.u.m, ... n_loading_nodes=20, ... entities=bet_cylinder_imperial, ... length_unit=fl.u.m, ... angle_unit=fl.u.deg, ... number_of_blades=3, )
- classmethod from_xrotor(file, rotation_direction_rule, omega, chord_ref, n_loading_nodes, entities, length_unit, angle_unit, initial_blade_direction=None, blade_line_chord=0 * fl.u.m, collective_pitch=None, name='BET disk')[source]#
Constructs a :class: BETDisk instance from a given XROTOR file and additional inputs.
- Parameters:
file (XROTORFile) – XROTORFile class instance containing information about the XROTOR file.
rotation_direction_rule (str) – Rule for rotation direction and thrust direction.
omega (AngularVelocityType.NonNegative) – Rotating speed of the propeller.
chord_ref (LengthType.Positive) – Dimensional reference cord used to compute sectional blade loadings.
n_loading_nodes (Int) – Number of nodes used to compute sectional thrust and torque coefficients.
entities (EntityList[Cylinder]) – List of Cylinder entities used for defining the BET volumes.
length_unit (LengthType.NonNegative) – Length unit used for LengthType BETDisk parameters.
angle_unit (AngleType) – Angle unit used for AngleType BETDisk parameters.
initial_blade_direction (Axis, optional) – Direction of the first blade in global mesh coordinates; orthogonal to the rotation axis. Only direction matters (need not be a unit vector). Required for unsteady BET Line.
blade_line_chord (LengthType.NonNegative) – Dimensional chord used in unsteady BET simulation. Defaults to
0 * u.m.collective_pitch (AngleType, optional) – Collective pitch angle applied as a uniform offset to all blade twist values.
name (str)
- Returns:
An instance of
BETDiskcompleted with given inputs.- Return type:
Examples
Create a BET disk with an XROTOR file.
>>> param = fl.BETDisk.from_xrotor( ... file=fl.XROTORFile(file_path="xrotor_xv15.xrotor")), ... rotation_direction_rule="leftHand", ... omega=0.0046 * fl.u.deg / fl.u.s, ... chord_ref=14 * fl.u.m, ... n_loading_nodes=20, ... entities=bet_cylinder, ... angle_unit=fl.u.deg, ... length_unit=fl.u.m, ... )
- classmethod from_file(filename, **kwargs)[source]#
Loads a
BETDiskfrom exported .json file, with optional overrides.- Parameters:
- Returns:
An instance of the BETDisk component.
- Return type:
Example
>>> params = BETDisk.from_file( ... filename='folder/bet_disk.json', ... entities=[cylinder_FL_CCW, cylinder_FR_CW, ...], ... omega=1000 * fl.u.rpm, ... name="my_disk" ... )
Methods
- help(methods=False)#
Prints message describing the fields and methods of a
Flow360BaseModel.- Parameters:
methods (bool = False) – Whether to also print out information about object’s methods.
- Return type:
None
Example
>>> params.help(methods=True)