Airfoil and Blade Geometry

geometry_vt.py

geometry.py

Blade Structure

structure_vt.py

class fusedwind.turbine.structure_vt.BeamStructureVT(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

TODO: fill in this doc

Parameters:
  • A (Array, default=<undefined>, [m**2]) – cross sectional area.
  • E (Array, default=<undefined>, [N/m**2]) – modulus of elasticity.
  • G (Array, default=<undefined>, [N/m**2]) – shear modulus of elasticity.
  • I_x (Array, default=<undefined>, [m**4]) – area moment of inertia with respect to principal bending xe axis.
  • I_y (Array, default=<undefined>, [m**4]) – area moment of inertia with respect to principal bending ye axis.
  • J (Array, default=<undefined>, [m**4/rad]) – torsional stiffness constant with respect to ze axis at the shear center.
  • dm (Array, default=<undefined>, [kg/m]) – Mass per unit length.
  • k_x (Array, default=<undefined>, [None]) – shear factor for force in principal bending xe direction.
  • k_y (Array, default=<undefined>, [None]) – shear factor for force in principal bending ye direction.
  • pitch (Array, default=<undefined>, [deg]) – structural pitch relative to main axis..
  • ri_x (Array, default=<undefined>, [m]) – radius of gyration relative to elastic center..
  • ri_y (Array, default=<undefined>, [m]) – radius of gyration relative to elastic center.
  • s (Array, default=<undefined>, [m]) – Running curve length of beam.
  • x_cg (Array, default=<undefined>, [m]) – x-distance from blade axis to center of mass.
  • x_e (Array, default=<undefined>, [m]) – x-distance from main axis to center of elasticity.
  • x_sh (Array, default=<undefined>, [m]) – x-distance from blade axis to shear center.
  • y_cg (Array, default=<undefined>, [m]) – y-distance from blade axis to center of mass.
  • y_e (Array, default=<undefined>, [m]) – y-distance from main axis to center of elasticity.
  • y_sh (Array, default=<undefined>, [m]) – y-distance from blade axis to shear center.
class fusedwind.turbine.structure_vt.BladeStructureVT3D(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Variable tree for the structural definition of a blade.

Parameters:
  • DPs (List, default=[], [None]) – Names of division point curves.
  • iwebs (List, default=[], [None]) – List of DP indices connecting webs to the surface.
  • materials (Dict, default={}, [None]) – None.
  • regions (List, default=[], [None]) – List of names of regions.
  • webs (List, default=[], [None]) – List of names of webs.
  • x (Array, default=<undefined>, [None]) – spanwise discretization of blade.
add_material(name)[source]

add a material to the blade

Parameters:

name: string

name of material to add

Returns:

MaterialProps: object

VariableTree with material properties to set by user

class fusedwind.turbine.structure_vt.ConcentratedMass(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

TODO: fill in this doc

Parameters:
  • mass (Float, default=0.0, [kg]) – Concentrated mass.
  • moment_of_inertia (Array, default=<undefined>, [None]) – Ixx, Iyy, Izz moments of inertia.
  • offset (Array, default=<undefined>, [None]) – x, y, z offset relative to node.
  • s (Float, default=0.0, [None]) – Non-dimens the inertia is attached.
class fusedwind.turbine.structure_vt.CrossSectionStructureVT(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Container for a cross-sectional definition of the internal structure of a blade.

Parameters:
  • DPs (List, default=[], [None]) – Region division points (nregion + 1).
  • airfoil (Array, default=<undefined>, [None]) – Cross sectional shape.
  • materials (Dict, default={}, [None]) – Dictionary of MaterialProps vartrees.
  • regions (List, default=[], [None]) – List of names of regions in the cross section.
  • s (Float, default=0.0, [None]) – None.
  • webs (List, default=[], [None]) – List of names of regions in the cross section.
class fusedwind.turbine.structure_vt.Layer(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

A layer represents a stack of multidirectional plies and is assigned an apparent set of material properties based on the properties of the constituent materials, pre-computed using simple micromechanics equations and classical lamination theory.

Layers are stacked in a region

Parameters:
  • angle (Float, default=0.0, [None]) – None.
  • materialname (Str, default=, [None]) – None.
  • plyname (Str, default=, [None]) – None.
  • thickness (Float, default=0.0, [None]) – None.
class fusedwind.turbine.structure_vt.Layer3D(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Same as Layer, except for being a function of span

A layer thickness can go to zero if material disappears at a certain spanwise location.

Parameters:
  • angle (Array, default=<undefined>, [deg]) – layup angle.
  • thickness (Array, default=<undefined>, [m]) – layer thickness.
class fusedwind.turbine.structure_vt.MassProperties(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

mass and mass moments of inertia of a component

Parameters:
  • Ixx (Float, default=0.0, [kg*m**2]) – mass moment of inertia about x-axis.
  • Ixy (Float, default=0.0, [kg*m**2]) – mass x-y product of inertia.
  • Ixz (Float, default=0.0, [kg*m**2]) – mass x-z product of inertia.
  • Iyy (Float, default=0.0, [kg*m**2]) – mass moment of inertia about y-axis.
  • Iyz (Float, default=0.0, [kg*m**2]) – mass y-z product of inertia.
  • Izz (Float, default=0.0, [kg*m**2]) – mass moment of inertia about z-axis.
  • mass (Float, default=0.0, [kg]) – mass of object.
class fusedwind.turbine.structure_vt.MaterialProps(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Material properties

Parameters:
  • C1a (Float, default=1.0, [None]) – influence of ageing.
  • C2a (Float, default=1.0, [None]) – influence of temperature.
  • C3a (Float, default=1.0, [None]) – influence of manufacturing technique.
  • C4a (Float, default=1.0, [None]) – influence of curing technique.
  • E1 (Float, default=0.0, [GPa]) – Youngs modulus in the radial direction.
  • E2 (Float, default=0.0, [GPa]) – Youngs modulus in the tangential direction.
  • E3 (Float, default=0.0, [GPa]) – Youngs modulus in the axial direction.
  • G12 (Float, default=0.0, [GPa]) – Shear modulus in radial-tangential direction.
  • G13 (Float, default=0.0, [GPa]) – Shear modulus in radial-axial direction.
  • G23 (Float, default=0.0, [GPa]) – Shear modulus in tangential-axial direction.
  • e11_c (Float, default=1000000.0, [None]) – maximum tensile strain in the 1 direction.
  • e11_t (Float, default=1000000.0, [None]) – maximum compressive strain in the 1 direction.
  • e22_c (Float, default=1000000.0, [None]) – maximum tensile strain in the 2 direction.
  • e22_t (Float, default=1000000.0, [None]) – maximum compressive strain in the 2 direction.
  • e33_c (Float, default=1000000.0, [None]) – maximum tensile strain in the 3 direction.
  • e33_t (Float, default=1000000.0, [None]) – maximum compressive strain in the 3 direction.
  • failure_criterium (Enum, default=maximum_strain, [None]) – None.
  • g12 (Float, default=1000000.0, [None]) – maximum shear strain in the 12 plane .
  • g13 (Float, default=1000000.0, [None]) – maximum shear strain in the 13 plane.
  • g23 (Float, default=1000000.0, [None]) – maximum shear strain in the 23 plane.
  • gM0 (Float, default=0.25, [None]) – Material safety factor.
  • materialname (Str, default=, [None]) – Material name.
  • nu12 (Float, default=0.0, [None]) – Poissons ratio in the radial-tangential direction.
  • nu13 (Float, default=0.0, [None]) – Poissons ratio in the radial-axial direction.
  • nu23 (Float, default=0.0, [None]) – Poissons ratio in the tangential-axial direction.
  • rho (Float, default=0.0, [kg/m**3]) – Mass density.
  • s11_c (Float, default=1000000.0, [None]) – compressive strength in the 1 direction.
  • s11_t (Float, default=1000000.0, [None]) – tensile strength in the 1 direction.
  • s22_c (Float, default=1000000.0, [None]) – compressive strength in the 2 direction.
  • s22_t (Float, default=1000000.0, [None]) – tensile strength in the 2 direction.
  • s33_c (Float, default=1000000.0, [None]) – compressive strength in the 3 direction.
  • s33_t (Float, default=1000000.0, [None]) – tensile strength in the 3 direction.
  • t12 (Float, default=1000000.0, [None]) – shear strength in the 12 plane.
  • t13 (Float, default=1000000.0, [None]) – shear strength in the 13 plane.
  • t23 (Float, default=1000000.0, [None]) – shear strength in the 23 plane.
class fusedwind.turbine.structure_vt.Region(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

A region covers a fraction of the curve length along the surface of a cross section.

A region consists of a number of layers.

Parameters:
  • layers (List, default=[], [None]) – None.
  • s0 (Float, default=0.0, [None]) – Chordwise curve fraction starting point.
  • s1 (Float, default=1.0, [None]) – Chordwise curve fraction end point.
  • thickness (Float, default=0.0, [None]) – Total thickness of region.
  • width (Float, default=0.0, [None]) – Width of the region.
class fusedwind.turbine.structure_vt.Region3D(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Same as region except for being a function of span

Parameters:
  • layers (List, default=[], [None]) – List of names of layers.
  • thickness (Array, default=<undefined>, [None]) – Total thickness distribution as function of span.
  • width (Array, default=<undefined>, [None]) – Width as function of span (for convenience).
  • x (Array, default=<undefined>, [None]) – spanwise discretization of section.

blade_structure.py

configurations.py

fusedwind.turbine.configurations.configure_bladestructure(cls, file_base, planform_nC=8, structure_nC=8)[source]

method for configuring an assembly with blade geometry and structural parameterization of a blade.

Parameters:
  • cls (class instance) – Instance of an OpenMDAO Assembly that the analysis is run from
  • file_base (str) – path + filebase to the blade structure files, e.g. data/DTU10MW
  • planform_nC (int) – number of spline control points for the planform variables
  • structure_nC (int) – number of spline control points for the structural variables
fusedwind.turbine.configurations.configure_bladesurface(cls, planform_nC)[source]

method that adds a LoftedBladeSurface instance to the assembly

Parameters:
  • cls (class instance) – Instance of an OpenMDAO Assembly that the analysis is run from
  • planform_nC (int) – number of spline control points for the planform variables