BladeAD.core.BEM.bem_model

Module Contents

Classes

BEMModel

Blade Element Momentum (BEM) model.

class BladeAD.core.BEM.bem_model.BEMModel(num_nodes: int, airfoil_model, integration_scheme: str = 'trapezoidal', tip_loss: bool = True)

Blade Element Momentum (BEM) model.

Parameters
num_nodesint

Number of nodes.

airfoil_modelAirfoilModel

Airfoil model.

integration_schemestr

Integration scheme for thrust and torque computation. Options are ‘Simpson’, ‘Riemann’, ‘trapezoidal’. Default is ‘trapezoidal’.

tip_lossbool

Include tip loss. Default is True.

evaluate(inputs: BladeAD.utils.var_groups.RotorAnalysisInputs, ref_point: Union[csdl_alpha.Variable, numpy.ndarray] = np.array([0.0, 0.0, 0.0])) BladeAD.utils.var_groups.RotorAnalysisOutputs

Evaluate the BEM solver.

Parameters
inputsRotorAnalysisInputs

Input variables. Includes quantities like rpm, mesh_parameters, mesh_velocity, etc.

ref_pointUnion[csdl.Variable, np.ndarray], optional

Reference point for computing moments, by default np.array([0., 0., 0.])

Returns
RotorAnalysisOutputs (dataclass)

Output variables. Includes quanties like total/sectional thrust, total/sectional torque, etc.