Skip to content

Commit

Permalink
Updating docs
Browse files Browse the repository at this point in the history
  • Loading branch information
kbonney committed Oct 12, 2023
1 parent 91f0e5d commit 326a190
Show file tree
Hide file tree
Showing 21 changed files with 151 additions and 960 deletions.
37 changes: 36 additions & 1 deletion docs/apidoc/pynumad.analysis.ansys.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,42 @@
Ansys Analysis
==============

.. automodule:: pynumad.analysis.ansys
main_ansys_analysis
-------------------

.. automodule:: pynumad.analysis.ansys.main_ansys_analysis
:members:
:no-undoc-members:
:show-inheritance:

read
----

.. automodule:: pynumad.analysis.ansys.read
:members:
:no-undoc-members:
:show-inheritance:

run
---

.. automodule:: pynumad.analysis.ansys.run
:members:
:no-undoc-members:
:show-inheritance:

utility
-------

.. automodule:: pynumad.analysis.ansys.utility
:members:
:no-undoc-members:
:show-inheritance:

write
-------

.. automodule:: pynumad.analysis.ansys.write
:members:
:no-undoc-members:
:show-inheritance:
24 changes: 17 additions & 7 deletions docs/apidoc/pynumad.analysis.cubit.rst
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
Cubit Meshing
==============

.. automodule:: pynumad.analysis.cubit
make_blade
----------

.. automodule:: pynumad.analysis.cubit.make_blade
:members:
:no-undoc-members:
:show-inheritance:

connect_cross_sections
----------------------

Submodules
----------
.. automodule:: pynumad.analysis.cubit.connect_cross_sections
:members:
:no-undoc-members:
:show-inheritance:

make_cross_sections
-------------------

.. toctree::
:maxdepth: 1

pynumad.analysis.cubit.make_blade
.. automodule:: pynumad.analysis.cubit.make_cross_sections
:members:
:no-undoc-members:
:show-inheritance:
4 changes: 2 additions & 2 deletions docs/apidoc/pynumad.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ Subpackages
pynumad.objects
pynumad.utils
pynumad.io
pynumad.graphics
pynumad.analysis.cubit


pynumad.analysis.ansys
14 changes: 0 additions & 14 deletions docs/citation.rst

This file was deleted.

18 changes: 8 additions & 10 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# -*- coding: utf-8 -*-
# http://www.sphinx-doc.org/en/master/config

# -- Path setup --------------------------------------------------------------
from pynumad import __version__

# -- Project information -----------------------------------------------------
project = 'pyNuMAD'
copyright = '2023, Kirk Bonney'
author = 'Kirk Bonney'
version = '1.0'
release = '1.0'
project = u'pyNuMAD'
copyright = u'2023 National Technology & Engineering Solutions of Sandia, LLC (NTESS)'
author = u'pyNuMAD Developers'

version = __version__
release = __version__

# -- General configuration ---------------------------------------------------

Expand Down Expand Up @@ -48,7 +46,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.

html_theme = 'sphinx_rtd_theme'
html_theme = 'pydata_sphinx_theme'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
Expand Down
45 changes: 26 additions & 19 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,44 @@
.. figure:: /_static/images/NuMAD-header.png
:target: https://github.com/sandialabs/NuMAD

Numerical Manufacturing And Design (NuMAD) Tool for Wind Turbine Blades
=======================================================================
pyNuMAD
========

The structural design and optimization of wind turbine blades is a
complex task. In many cases it is difficult to find the optimal design
of a turbine blade by hand, or by trial and error, and the software
tools used for such designs are most effective when integrated into
automated optimization and analysis algorithms. A new version of the
software tool `pyNuMAD (Python Numerical Manufacturing And Design) <https://github.com/sandialabs/pyNuMAD>`_ for the design
and modeling of wind turbine blades is developed and described.

.. toctree::
:maxdepth: 2
:hidden:

installation
overview
getting-started
user-guide/index
release-notes
meshing
beam_models
shell_models
solid_models
apidoc/pynumad
contributing
apidoc/pynumad
reference
release-notes
publications
citation
license

.. _intro-citation:

Citing NuMAD
===============

To cite pyNuMAD v0.1, please utilize the reference below.

[1] Camarena, E., Anderson, E., Paquette, J., Bortolotti, P., Feil, R.,
& Johnson, N. (2021). Land-based wind turbines with flexible rail
transportable blades-Part II: 3D FEM design optimization of the rotor
blades. Wind Energy Science Discussions, 1-28.

..
Kelley: replace with DOI citation once release is tagged
The structural design and optimization of wind turbine blades is a
complex task. In many cases it is difficult to find the optimal design
of a turbine blade by hand, or by trial and error, and the software
tools used for such designs are most effective when integrated into
automated optimization and analysis algorithms. A new version of the
software tool `pyNuMAD (Numerical Manufacturing And Design) <https://github.com/sandialabs/pyNuMAD>`_ for the design
and modeling of wind turbine blades is developed and described.

.. _developers:

Expand Down
30 changes: 24 additions & 6 deletions docs/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,37 @@ Terminology
-----------


Profile/Airfoil: A 2D "slice" of an airfoil. In pyNuMAD, these terms
are used interchangeably.
Airfoil: A unitless (0-1) 2D outline of the desired aerodynamic shape (i.e., NACA-63-214, DU99-W-405, etc).
These are defined at every span location (different from ispan).

Station: A station is an airfoil at a specified span location
Profiles: Usually there are not enough airfoils defined along the span to create a smooth 3D blade geometry.
Profiles are unitless airfoil geometries at each blade interpolated span (ispan) location.

Station: A station is an airfoil object at a specified span location.

Stack: A stack of material plys specified by types and thicknesses.

Ply: A ply material layer.
Ply: A layer of material with defined properties, layup angle, and thickness.

Camber: A 2D collection of points midway between the HP curve and LP curve of an airfoil or profile.

Keypoint: Specified locations along the profile circumference used to define where there is a change in stack definition.

Component: TODO

Shearweb: TODO

Span: TODO

Chord: TODO

Twist: TODO

Camber:
Prebend: TODO

Keypoints:
Sweep: TODO

TE Type: TODO


Abbreviations
Expand Down
File renamed without changes.
30 changes: 21 additions & 9 deletions docs/user-guide/blade_definition.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,12 @@ to generate geometry, keypoints, bill of material, and material database.

Dependency tree for blade subobjects


Definition (blade.definition)
-----------------------------

A Definition object provides attributes for the basic design
A :py:class:`~pynumad.objects.definition.Definition`
object provides attributes for the basic design
of a wind turbine blade - i.e. where the blade is *defined*.
Typically this is populated by
a yaml file or an excel file, however it is possible to build a blade
Expand All @@ -34,20 +36,24 @@ generating downstream data.
Many of the attributes in Definition are parameterized by spanwise location.
For example, *stations* are airfoils at specified span locations.
Other airfoil properties and external blade shape data are
defined with the ``Airfoil``
class and the ``Station`` object respectively, and are stored in ``definition.stations``.
defined with the :py:class:`~pynumad.objects.airfoil.Airfoil`
class and the :py:class:`~pynumad.objects.station.Station` object respectively, and are stored in ``definition.stations``.
Material properties, layup information, and thicknesses and widths are
defined in the ``Material`` and ``Component`` classes
defined in the :py:class:`~pynumad.objects.material.Material` and :py:class:`~pynumad.objects.component.Component` classes
and stored in ``blade.materials`` and ``blade.components``.


Geometry (blade.geometry)
---------------------------

Typically, the blade definition does not contain
high enough fidelity data for creating a mesh, so
pyNuMAD performs additional interpolation to
create a more detailed geometry. The Geometry class generates
and stores the interpoloated geometry.
create a more detailed geometry. The :py:class:`~pynumad.objects.geometry.Geometry` class generates
and stores the interpoloated geometry. Many of the attributes are named as `iattribute`
where attribute is the name of some attribute in the definition which was interpolated. Additionally
the ``coordinates`` attribute holds the 3D geometry of the interpolated blade.


Keypoints (blade.keypoints)
---------------------------
Expand Down Expand Up @@ -95,11 +101,17 @@ the high pressure surface verses the low pressure surface.
+----------------------------------+-----------------------------------+




StackDB (blade.stackdb)
-----------------------
.. TODO
The :py:class:`~pynumad.objects.stackdb.StackDatabase` class serves to assign material
stack information across the blade. The ``stacks`` attribute stores stack information
for the outer blade shape and takes the form of a 2-dimensional array. The first
dimension represents segment (as determined by keypoints)
and the second dimension represents station (index along interpolated
blade span). The ``swstacks`` attribute stores stack information for the shearwebs
and also takes the form of a 2D array, where the first dimension is the shearweb
number, and the second dimension is also the station.


BillOfMaterials (blade.bom)
---------------------------
Expand Down
74 changes: 0 additions & 74 deletions docs/user-guide/conclusion.rst

This file was deleted.

Loading

0 comments on commit 326a190

Please sign in to comment.