BladeMesher Components ---------------------- The following sections describe the components used to generate the blade mesh. .. _sec-coonsbladeroot: CoonsBladeRoot ^^^^^^^^^^^^^^ The :class:`PGL.components.bladeroot.CoonsBladeRoot` class generates a cylindrical surface where one end can be joined to form a 2, 3, or four-bladed rotors. Generating a blade root is simple, requiring only the curve connecting to the main blade section: .. literalinclude:: ../PGL/examples/bladeroot_example.py .. _coonsroot-fig: .. figure:: /figures/bladeroot.* :align: center .. _sec-coonsbladetip: CoonsBladeTip ^^^^^^^^^^^^^ The :class:`PGL.components.bladetip.CoonsBladeTip` class generates a blade tip surface mesh directly useable in a CFD rotor surface mesh. Generating a blade tip requires a few more inputs than the root, since we can control the shape of the tip using a number of blending factors that control the tip thickness and planform. To ensure a smooth transition from the main blade section to the tip, the main surface is also a needed input. Extending the ``CoonsBlade`` example script we add the blade tip: .. literalinclude:: ../PGL/examples/coonstip_example.py :start-after: # --- 1 :end-before: # --- 2 .. _coonstip-fig: .. figure:: /figures/bladetip.* :align: center Changing the control parameters and position of the tip point can alter the shape of the tip considerably. .. _coonstip-fig: .. figure:: /figures/bladetip_mod.* :align: center You can to a modest extent also place the tip point out of the y-plane, however, it is recommended to instead introduce winglet-like shapes into the main blade section, and simply fit the tip component to this. .. _coonstip-fig: .. figure:: /figures/bladetip_mod1.* :align: center .. _sec-loftedbladesurface: LoftedBladeSurface ^^^^^^^^^^^^^^^^^^ The :class:`PGL.components.loftedblade.LoftedBladeSurface` class builds a blade surface based on a planform definition and an airfoil family. The example in ``examples/loftedblade_example.py`` shows the basic usage of this class: .. literalinclude:: ../PGL/examples/loftedblade_example.py .. _sec-coonsnacelle: CoonsNacelle ^^^^^^^^^^^^ The :class:`PGL.components.nacelle.CoonsNacelle` class builds a rotationally symmetric spinner and nacelle surface that attaches to the blade root, replacing the simpler ``CoonsBladeRoot``. .. figure:: /figures/nacelle.* :align: center .. _sec-coonsblade: CoonsBlade ^^^^^^^^^^ The :class:`PGL.components.coonsblade.CoonsBlade` class uses the :class:`PGL.main.extruded_section.ExtrudedSection` to generate a full blade surface. In the example shown below we also use the :class:`PGL.components.airfoil.BlendAirfoilShapes` to create interpolated airfoil cross-sections along the blade. .. literalinclude:: ../PGL/examples/coonsblade_example.py As you can see the blade is generated by adding a number of cross-sections along the span, with a given chord, rotation and so-called pitch axis aft leading edge. The two additional parameters ``dp`` and ``fWs`` control the gradient of the span-wise edge curves at the sections, and the distance of the Bezier control points from the sections. Running the example should generate a surface that looks like this: .. _coonsblade-fig: .. figure:: /figures/coonsblade.* :align: center