Simply Running OWENS

In this example, we show the first level of what is going on behind the precompiled binary Running julia directly with this as a starting point could make things like automating many runs in a way that is not compatible with the current interface, but your design design fits.

OWENS is comprised of many building blocks. These series of examples progressively shows the internals of several of the key building blocks a new user might employ for their projects. Fundamentally, OWENS has been built to be as generalizable as possible. The lowest level of building blocks enable this, however, there are many common use cases for which helper functions have been developed, such as for meshing certain standard architectures and calculating and applying sectional properties to these architectures. The figure below summarizes this at a high level. TODO: yml file definition and inputs expanded

Tip

This example is also available as a Jupyter notebook todo: get link working:

import OWENS

runpath = path = "/home/runner/work/OWENS.jl/OWENS.jl/examples/literate" # to run locally, change to splitdir(@__FILE__)[1]
# runpath = path = splitdir(@__FILE__)[1]

Inp = OWENS.MasterInput("$runpath/sampleOWENS.yml")

OWENS.runOWENS(Inp,runpath)
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
Opening AeroDyn-Inflow library at: /home/runner/.julia/packages/OWENSOpenFASTWrappers/OOzCv/src/../deps/openfast/build/modules/aerodyn/libaerodyn_inflow_c_binding

 **************************************************************************************************
 AeroDyn-Inflow library

 Copyright (C) 2024 National Renewable Energy Laboratory
 Copyright (C) 2024 Envision Energy USA LTD

 This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
 See the "LICENSE" file distributed with this software for details.
 **************************************************************************************************

 AeroDyn-Inflow library--128-NOTFOUND
 Compile Info:
  - Compiler: GCC version 11.4.0
  - Architecture: 64 bit
  - Precision: double
  - OpenMP: Yes, number of threads: 4/4
  - Date: Oct 17 2024
  - Time: 21:57:44
 Execution Info:
  - Date: 10/17/2024
  - Time: 22:11:47+0000

 Running ADI.
 Running AeroDyn.
 Running OLAF.
  - Directory:         /home/runner/work/OWENS.jl/OWENS.jl/docs/build/examples
  - RootName:          /home/runner/work/OWENS.jl/OWENS.jl/examples/literate/ExampleB.
  - Reading advanced options for OLAF:
 [WARN] Line ignored: "VERT2"   DEFAULT      -10       30.   400     5.      5.     1     5.136    15.136  100
  - OLAF regularization parameters (for wing 1):
    WingReg (min/max) :  12.2425 25.2472
    WakeReg (min/max) :  12.2425 25.2472
    k = alpha delta nu:   0.0368
 Running InflowWind.

Blades' Mass Breakout
CLA_5500 20670.29648289118 kg, 2.06 $/kg: $42580.81075475583
CBX_2400 9730.417758654583 kg, 2.1 $/kg: $20433.877293174624
ETLX_2400 0.0 kg, 2.21 $/kg: $0.0
Airex_C70_55 789.5974763487575 kg, 7.23 $/kg: $5708.7897540015165
EBX_2400_x10 0.0 kg, 2.06 $/kg: $0.0
ETLX_2400_x10 0.0 kg, 2.1 $/kg: $0.0
Airex_C70_55_x10 0.0 kg, 7.23 $/kg: $0.0

Tower Mass Breakout
CLA_5500 4992.974575844168 kg, 2.06 $/kg: $10285.527626238985
CBX_2400 1217.5626883060443 kg, 2.1 $/kg: $2556.881645442693
ETLX_2400 0.0 kg, 2.21 $/kg: $0.0
Airex_C70_55 0.0 kg, 7.23 $/kg: $0.0
EBX_2400_x10 0.0 kg, 2.06 $/kg: $0.0
ETLX_2400_x10 0.0 kg, 2.1 $/kg: $0.0
Airex_C70_55_x10 0.0 kg, 7.23 $/kg: $0.0
Total Material Cost Blades: $68723.47780193196
Total Material Cost Tower: $12842.409271681678
Total Material Cost: $81565.88707361365
controlStrategy: normal
Running Unsteady
Running in specified rotor speed mode

Simulation Time: 0.0 seconds of 0.49 seconds
 [INFO] FVW: Update States: reevaluation at the same starting time.  This will not print on
 subsequent occurences.

Simulation Time: 0.1 seconds of 0.49 seconds

Simulation Time: 0.2 seconds of 0.49 seconds

Simulation Time: 0.3 seconds of 0.49 seconds

Simulation Time: 0.4 seconds of 0.49 seconds
Simulation Complete.
 >>> FINAL WRITE
Saving VTK time domain files
Composite Ultimate and Buckling Safety Factors


UPPER BLADE SURFACE

Minimum Safety Factor on Surface: 0.396100421933815
At time 0.035s at composite station 6 of 21 at lam 6 of 6
Maximum Damage per hr: 0.6612244898596223
At composite station 17 of 21 at lam 3 of 6

Spar Cap SF min: 2.7927727270934666
At time 0.049s at composite station 6 of 21
Spar Cap Damage max per hour: 9.000000000867082e-6
At composite station 17 of 21

Leading Edge SF min: 1.1996424522448432
At time 0.036000000000000004s at composite station 6 of 21
Leading Edge Damage max per hour: 6.0000000037362515e-6
At composite station 14 of 21

Trailing Edge SF min: 0.396100421933815
At time 0.035s at composite station 6 of 21
Trailing Edge Damage max per hour: 6.000000009605223e-6
At composite station 14 of 21

Fore Panel SF min: 3.6753853882886713
At time 0.049s at composite station 6 of 21
Fore Panel Damage max per hour: 8.000000000001499e-6
At composite station 14 of 21

Aft Panel SF min: 2.3712489724645947
At time 0.034s at composite station 6 of 21
Aft Panel Damage max per hour: 6.000000000002889e-6
At composite station 14 of 21


LOWER BLADE SURFACE

Minimum Safety Factor on Surface: 0.39579813639499317
At time 0.035s at composite station 6 of 21 at lam 6 of 6
Maximum Damage per hr: 0.7346938775726081
At composite station 9 of 21 at lam 4 of 6

Spar Cap SF min: 3.4649645886303553
At time 0.032s at composite station 6 of 21
Spar Cap Damage max per hour: 3.0000000010769415e-6
At composite station 8 of 21

Leading Edge SF min: 1.2290347207673316
At time 0.035s at composite station 6 of 21
Leading Edge Damage max per hour: 6.000000004065488e-6
At composite station 14 of 21

Trailing Edge SF min: 0.39579813639499317
At time 0.035s at composite station 6 of 21
Trailing Edge Damage max per hour: 6.0000000095854205e-6
At composite station 14 of 21

Fore Panel SF min: 4.04679589813785
At time 0.035s at composite station 6 of 21
Fore Panel Damage max per hour: 6.00000000000124e-6
At composite station 14 of 21

Aft Panel SF min: 2.2181243360433096
At time 0.036000000000000004s at composite station 6 of 21
Aft Panel Damage max per hour: 6.000000000981144e-6
At composite station 14 of 21


UPPER TOWER

Minimum Safety Factor on tower Surface: 4.716031187784399
At time 0.049s at composite station 8 of 21 at lam 1 of 1
Maximum Damage per hr: 0.22040816348139644
At composite station 4 of 21 at lam 1 of 1


Lower TOWER

Minimum Safety Factor on tower Surface: 4.331286121960938
At time 0.035s at composite station 1 of 21 at lam 1 of 1
Maximum Damage per hr: 0.14693877554749607
At composite station 12 of 21 at lam 1 of 1

Mass of Turbine: 208897.3537787773 kg

Here is an example of using the same model against the automated DLC run script. Note that for a setup cutom to a specific design, you'll want to go to the B level to get all of the detailed inputs correct One of these is the controller where a discon controller library can be coupled instead of the specified RPM control.

simulated_time = 2.0 #seconds
DLCs = ["1_1"] #"normal"
#### DLCs = ["1_3"] #"normal"
#### DLCs = ["1_4"] #"normal"
#### DLCs = ["1_5"] #"normal"
#### DLCs = ["2_1"] #"freewheelatNormalOperatingRPM"
#### DLCs = ["2_3"] #"freewheelatNormalOperatingRPM"
#### DLCs = ["3_1"] #"startup"
#### DLCs = ["3_2"] #"startup"
#### DLCs = ["3_3"] #"startup"
#### DLCs = ["4_1"] #"shutdown"
#### DLCs = ["4_2"] #"shutdown"
#### DLCs = ["5_1"] #"emergencyshutdown"
#### DLCs = ["6_1"] #"parked"
#### DLCs = ["6_2"] #"parked_idle"
#### DLCs = ["6_4"] #"parked"
#### DLCs = ["7_1"] #"parked"
#### DLCs = ["2_3","3_1","3_2","3_3","4_1","4_2","5_1"]

OWENS.runDLC(DLCs,Inp,runpath;
    IEC_std="\"1-ED3\"",
    WindChar="\"A\"",
    WindClass=1,
    NumGrid_Z=38,
    NumGrid_Y=26,
    Vdesign=11.0,
    grid_oversize=1.25,
    Vinf_range=[10.0],#LinRange(4,24,21),
    regenWindFiles=true,
    delta_t_turbsim=0.05,
    simtime_turbsim=30.0,
    pathtoturbsim="$(OWENS.OWENSOpenFASTWrappers.OFWpath)/../deps/openfast/build/modules/turbsim/turbsim",
    runScript=OWENS.runOWENS)

nothing
Running DLC 1_1 at Vinf 10.0 m/s

 **************************************************************************************************
 TurbSim

 Copyright (C) 2024 National Renewable Energy Laboratory
 Copyright (C) 2024 Envision Energy USA LTD

 This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
 See the "LICENSE" file distributed with this software for details.
 **************************************************************************************************

  Running TurbSim (from OpenFAST--128-NOTFOUND)


  Reading the input file "./turbsimfiles/DLC1_1Vinf10.0.inp".
 TS_ValidateInput:A coherent turbulence time step file cannot be generated with the IECKAI model.
  Calculating the spectral and transfer function matrices:
     u-component matrices (IEC coherence method)
     v-component matrices (identity coherence)
     w-component matrices (identity coherence)
  Generating time series for all points:
     u-component
     v-component
     w-component
  Computing hub-height statistics
  Writing statistics to summary file
  Generating AeroDyn binary time-series file "./turbsimfiles/DLC1_1Vinf10.0.bts"

  Processing complete.  24.416 CPU seconds used.

  TurbSim terminated normally.

┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
┌ Warning: Data for SN curve control points not found in material file columns 23:28 for stress in Mpa, 29:33 for cycles in log10
└ @ OWENS ~/work/OWENS.jl/OWENS.jl/src/fileio.jl:648
Opening AeroDyn-Inflow library at: /home/runner/.julia/packages/OWENSOpenFASTWrappers/OOzCv/src/../deps/openfast/build/modules/aerodyn/libaerodyn_inflow_c_binding

 **************************************************************************************************
 AeroDyn-Inflow library

 Copyright (C) 2024 National Renewable Energy Laboratory
 Copyright (C) 2024 Envision Energy USA LTD

 This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
 See the "LICENSE" file distributed with this software for details.
 **************************************************************************************************

 AeroDyn-Inflow library--128-NOTFOUND
 Compile Info:
  - Compiler: GCC version 11.4.0
  - Architecture: 64 bit
  - Precision: double
  - OpenMP: Yes, number of threads: 4/4
  - Date: Oct 17 2024
  - Time: 21:57:44
 Execution Info:
  - Date: 10/17/2024
  - Time: 22:13:21+0000

 Running ADI.
 Running AeroDyn.
 Running OLAF.
  - Directory:         /home/runner/work/OWENS.jl/OWENS.jl/docs/build/examples
  - RootName:          /home/runner/work/OWENS.jl/OWENS.jl/examples/literate/ExampleB.
  - Reading advanced options for OLAF:
 [WARN] Line ignored: "VERT2"   DEFAULT      -10       30.   400     5.      5.     1     5.136    15.136  100
  - OLAF regularization parameters (for wing 1):
    WingReg (min/max) :  12.2425 25.2472
    WakeReg (min/max) :  12.2425 25.2472
    k = alpha delta nu:   0.0368
 Running InflowWind.

Blades' Mass Breakout
CLA_5500 20670.29648289118 kg, 2.06 $/kg: $42580.81075475583
CBX_2400 9730.417758654583 kg, 2.1 $/kg: $20433.877293174624
ETLX_2400 0.0 kg, 2.21 $/kg: $0.0
Airex_C70_55 789.5974763487575 kg, 7.23 $/kg: $5708.7897540015165
EBX_2400_x10 0.0 kg, 2.06 $/kg: $0.0
ETLX_2400_x10 0.0 kg, 2.1 $/kg: $0.0
Airex_C70_55_x10 0.0 kg, 7.23 $/kg: $0.0

Tower Mass Breakout
CLA_5500 4992.974575844168 kg, 2.06 $/kg: $10285.527626238985
CBX_2400 1217.5626883060443 kg, 2.1 $/kg: $2556.881645442693
ETLX_2400 0.0 kg, 2.21 $/kg: $0.0
Airex_C70_55 0.0 kg, 7.23 $/kg: $0.0
EBX_2400_x10 0.0 kg, 2.06 $/kg: $0.0
ETLX_2400_x10 0.0 kg, 2.1 $/kg: $0.0
Airex_C70_55_x10 0.0 kg, 7.23 $/kg: $0.0
Total Material Cost Blades: $68723.47780193196
Total Material Cost Tower: $12842.409271681678
Total Material Cost: $81565.88707361365
controlStrategy: normal
Running Unsteady
Running in specified rotor speed mode

Simulation Time: 0.0 seconds of 0.49 seconds
 [INFO] FVW: Update States: reevaluation at the same starting time.  This will not print on
 subsequent occurences.

Simulation Time: 0.1 seconds of 0.49 seconds

Simulation Time: 0.2 seconds of 0.49 seconds

Simulation Time: 0.3 seconds of 0.49 seconds

Simulation Time: 0.4 seconds of 0.49 seconds
Simulation Complete.
 >>> FINAL WRITE
Saving VTK time domain files
Composite Ultimate and Buckling Safety Factors


UPPER BLADE SURFACE

Minimum Safety Factor on Surface: 0.396100421933815
At time 0.035s at composite station 6 of 21 at lam 6 of 6
Maximum Damage per hr: 0.6612244898596223
At composite station 17 of 21 at lam 3 of 6

Spar Cap SF min: 2.7927727270934666
At time 0.049s at composite station 6 of 21
Spar Cap Damage max per hour: 9.000000000867082e-6
At composite station 17 of 21

Leading Edge SF min: 1.1996424522448432
At time 0.036000000000000004s at composite station 6 of 21
Leading Edge Damage max per hour: 6.0000000037362515e-6
At composite station 14 of 21

Trailing Edge SF min: 0.396100421933815
At time 0.035s at composite station 6 of 21
Trailing Edge Damage max per hour: 6.000000009605223e-6
At composite station 14 of 21

Fore Panel SF min: 3.6753853882886713
At time 0.049s at composite station 6 of 21
Fore Panel Damage max per hour: 8.000000000001499e-6
At composite station 14 of 21

Aft Panel SF min: 2.3712489724645947
At time 0.034s at composite station 6 of 21
Aft Panel Damage max per hour: 6.000000000002889e-6
At composite station 14 of 21


LOWER BLADE SURFACE

Minimum Safety Factor on Surface: 0.39579813639499317
At time 0.035s at composite station 6 of 21 at lam 6 of 6
Maximum Damage per hr: 0.7346938775726081
At composite station 9 of 21 at lam 4 of 6

Spar Cap SF min: 3.4649645886303553
At time 0.032s at composite station 6 of 21
Spar Cap Damage max per hour: 3.0000000010769415e-6
At composite station 8 of 21

Leading Edge SF min: 1.2290347207673316
At time 0.035s at composite station 6 of 21
Leading Edge Damage max per hour: 6.000000004065488e-6
At composite station 14 of 21

Trailing Edge SF min: 0.39579813639499317
At time 0.035s at composite station 6 of 21
Trailing Edge Damage max per hour: 6.0000000095854205e-6
At composite station 14 of 21

Fore Panel SF min: 4.04679589813785
At time 0.035s at composite station 6 of 21
Fore Panel Damage max per hour: 6.00000000000124e-6
At composite station 14 of 21

Aft Panel SF min: 2.2181243360433096
At time 0.036000000000000004s at composite station 6 of 21
Aft Panel Damage max per hour: 6.000000000981144e-6
At composite station 14 of 21


UPPER TOWER

Minimum Safety Factor on tower Surface: 4.716031187784399
At time 0.049s at composite station 8 of 21 at lam 1 of 1
Maximum Damage per hr: 0.22040816348139644
At composite station 4 of 21 at lam 1 of 1


Lower TOWER

Minimum Safety Factor on tower Surface: 4.331286121960938
At time 0.035s at composite station 1 of 21 at lam 1 of 1
Maximum Damage per hr: 0.14693877554749607
At composite station 12 of 21 at lam 1 of 1

Mass of Turbine: 208897.3537787773 kg

This page was generated using Literate.jl.