Input File Format
B3P uses YAML files to define wind turbine blade models, including geometry, materials, laminates, and loads. This guide describes the structure and key sections of a B3P input file.
File Structure
A B3P input file is a YAML document with the following top-level sections:
general: General settings (e.g., working directory, prefix).aero: Aerodynamic properties and airfoil data.mesh: Blade geometry and meshing parameters.materials: Material properties or path to material database.laminates: Composite laminate definitions.loads: Load cases for structural analysis.
Example Input File
Below is a simplified example of a B3P input file:
general:
prefix: my_blade
workdir: ./output_portable
aero:
airfoils:
0.18: path/to/airfoil_18.dat
0.21: path/to/airfoil_21.dat
bem:
rated_power: 10e6 # 10 MW
B: 3 # Number of blades
rho: 1.225 # Air density
max_tipspeed: 95.0
uinf: [3, 5, 7, 9, 10, 11, 12, 13, 16, 20]
mesh:
radii: [0.1, 5, 10, 20, 50, 100]
n_web_points: 10
n_chordwise_points: 120
webs:
web1:
origin: [0, 0.1, 0]
z_start: 0.1
z_follow_blade: 50
z_end: 100
orientation: [0, 1, 0]
bondline:
material: adhesive
width: [[0, 0], [0.5, 0.5], [1, 0.1]]
materials: path/to/materials.yml
laminates:
slabs:
shell:
material: carbon_ud
ply_thickness: 0.001
slab: [[0, 0.01], [0.5, 0.02], [1, 0.015]]
cover:
chord: [0.1, 0.9, 0]
datums:
chord:
xy: [[0, 0], [0.5, 0.5], [1, 1]]
scalex: 1.0
scaley: 1.0
loads:
forward_flap:
z: [0, 50, 100]
mx: [0, 1e6, 2e6]
my: [0, 0, 0]
apply:
radius: [0, 100]
Section Details
general
prefix: Prefix for output files (e.g.,my_blade).workdir: Working directory for output (e.g.,./output_portable).
aero
airfoils: Dictionary mapping thickness ratios to airfoil data files (XFOIL format).bem: Blade element momentum (BEM) parameters for CCBlade:rated_power: Turbine power rating (W).B: Number of blades.rho: Air density (kg/m³).max_tipspeed: Maximum tip speed (m/s).uinf: Array of wind speeds (m/s).
mesh
radii: List of radial positions for meshing (m).n_web_points: Number of points for web meshing.n_chordwise_points: Number of chordwise points for shell meshing.webs: Dictionary of web definitions:origin: Web origin point [x, y, z].z_start: Start of web along blade span (m).z_follow_blade: Point where web follows blade geometry (m).z_end: End of web (m).orientation: Normal vector of web plane [x, y, z].bondline: Bondline configuration:material: Material name for bondline.width: List of [radius, width] pairs for bondline width variation.coordinates(optional): Additional datum points for meshing.
materials
- Path to a YAML file defining material properties or a dictionary of materials.
- Example material file (
materials.yml):carbon_ud: name: Carbon UD e11: 135e9 e22: 10e9 e33: 10e9 g12: 5e9 g13: 5e9 g23: 4e9 nu12: 0.3 nu13: 0.3 nu23: 0.4 rho: 1600 adhesive: name: Adhesive E: 3e9 nu: 0.35 rho: 1200
laminates
slabs: Dictionary of laminate slabs:material: Material name (must matchmaterials).ply_thickness: Thickness of each ply (m).slab: List of [radius, thickness] pairs for thickness distribution.cover: Chordwise coverage [start, end, increment].draping: Eitherplies(individual plies) orblocks(core blocks).datums: Coordinate systems for coverage calculations.
loads
- Dictionary of load cases (e.g.,
forward_flap): z: Radial positions for load application (m).mx,my: Moments about x and y axes (N·m).apply: Conditions for load application (e.g.,radius: [min, max]).
Notes
- File paths (e.g., airfoils, materials) are relative to the YAML file unless absolute.
- Use
b3p yml_portable blade.ymlto create a portable version with embedded linked files. - Validate YAML syntax using a linter or the B3P CLI.
For a complete example, see Blade Test Example.