-
Notifications
You must be signed in to change notification settings - Fork 13
Description
The fiber orientation in SONATA may be inconsistent with the WindIO definition. The WindIO definition (https://windio.readthedocs.io/en/latest/source/blade.html#internal-structure-2d-fem) states:
'Looking from blade root, positive angles represent a rotation of the fibers towards the leading edge of the blade.'
On the other hand, example 0_beams uses simply 30 degrees to represent the beam from the paper (see that folder) with fibers going opposite directions on the top and bottom surfaces of the beam, see (does not exactly use WindIO format):
SONATA/examples/0_beams/0_box_beam_HT_antisym_layup_15_6_SI_SmithChopra91.yaml
Lines 54 to 74 in 50b6794
| - [0., 1., 0.127, 30, 1, 'wall'] | |
| - [0., 1., 0.127, 0, 1, 'wall'] | |
| - [0., 1., 0.127, 30, 1, 'wall'] | |
| - [0., 1., 0.127, 0, 1, 'wall'] | |
| - [0., 1., 0.127, 30, 1, 'wall'] | |
| - [0., 1., 0.127, 0, 1, 'wall'] | |
| # --- r/R = 1.0 --- | |
| - position: 1.0 | |
| trim_mass: False | |
| mesh_resolution: 100 # ca 450 punkte auf der aeusseren Kurve. - von innen nach aussen. | |
| segments: | |
| - id: 0 | |
| filler: Null | |
| layup: | |
| #-[Start[-], End[-], thickness[m], Orientation [deg], MatID[int], 'name'[str]] | |
| - [0., 1., 0.127, 30, 1, 'wall'] | |
| - [0., 1., 0.127, 0, 1, 'wall'] | |
| - [0., 1., 0.127, 30, 1, 'wall'] | |
| - [0., 1., 0.127, 0, 1, 'wall'] | |
| - [0., 1., 0.127, 30, 1, 'wall'] | |
| - [0., 1., 0.127, 0, 1, 'wall'] |
I currently suspect that the fiber orientation is around an outward or inward layer normal at each element. This would allow for a more natural definition for layers that wrap around the leading/trailing edge.
This issue also appears to happen when running through the WindIO format. See this example:
https://github.com/WISDEM/SONATA/blob/develop/examples/8_fiber_orient/8_sonata_orientation.py
The local stresses in the three elements (material coordinates) match. However, the global stresses have different signs on sigma13 and sigma12 on the top versus bottom of the beam. Part of the difference is that theta_1 (layer orientation) is different from the top to the bottom. One would need to look closer at the stress-strain relations to fully verify the orientation of the fiber_orientation of the layers.
In this example, all cells see the same 15 degree fiber rotation angle, so the WindIO wrapper for SONATA is not flipping the fiber orientation on any layers.
Current Recommendations
- Manually verify stress-strain relations using SONATA to recover stresses and strains in global coordinates to verify that the rotation of the layer is in the desired direction.
- If suspicions above are confirmed, then the fiber orientation on one of the suction or pressure side would need to be flipped in the input yaml file. I have not yet confirmed which one needs to be flipped from the WindIO definition.