Skip to content

Commit

Permalink
Resolve merge conflict
Browse files Browse the repository at this point in the history
  • Loading branch information
kevmoor committed Sep 10, 2024
2 parents 143707a + 8e25223 commit 42c9c62
Show file tree
Hide file tree
Showing 49 changed files with 935 additions and 4,420 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "OWENS"
uuid = "51d15398-4eaf-40f9-a029-79ae1c4a3867"
authors = ["Kevin R. Moore <[email protected]> and contributors"]
version = "1.0.3"
version = "1.0.2"

[deps]
Composites = "d0d699f6-c662-11e8-0fb1-1b30104ab829"
Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# OWENS (Onshore/Offshore Wind/Water ENergy Simulator)

[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://sandialabs.github.io/OWENS.jl)
[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://sandialabs.github.io/OWENS.jl/dev)
![](https://github.com/sandialabs/OWENS.jl/workflows/CI/badge.svg)


This package was based on the original structural dynamics solver by Brian Owens (see dissertation: http://hdl.handle.net/1969.1/151813). However, it has been rewritten into the Julia programming language and many of the issues related to aerodynamic coupling and floating dynamics solved, with extensive expansion into other areas and features to provide a seamless and automated process that takes in high level design details and does all of the preprocessing, running, and post processing that is normally done under different roofs or by different manual processes. This was done with the intent of enabling fast, parametric design. We have many of the modules propogating automatic gradients, however this is still a future challenge to solve well.
This package is for experienced researchers and analyists with both software and engineering experience who need generalized flexibility and performance that is 100% open source and is compatible with gradient based optimization with automatic gradients in process. If you want a windows compatible GUI, please use QBlade.

This package is for experienced researchers with both software and engineering experience who need generalized flexibility and performance that is 100% open source. If you want a windows compatible GUI, please use QBlade from our friends across the pond.
OWENS is an ontology, or way of coupling modular aerodynamic, structural, hydrodynamic, and controls packages. It was originally based on the structural dynamics solver by Brian Owens (see dissertation: http://hdl.handle.net/1969.1/151813). However, it has been rewritten into the Julia programming language, modularized, and many of the issues related to aerodynamic coupling and floating dynamics solved, with extensive expansion into other areas and features to provide a seamless and automated process that takes in high level design details and does all of the preprocessing, running, and post processing that is normally done under different roofs or by different manual processes. This was done with the intent of enabling fast, parametric design. We have many of the modules propogating automatic gradients, however this is still a future challenge to solve well.

Here are several examples of OWENS use cases, current and past, including the Sandia 34m research turbine.

Expand Down Expand Up @@ -53,7 +54,7 @@ Please follow the instructions on the setup page in the documentation.
- All of the functions have docstrings describing the i/o and function purpose, which can be accessed the docs site or by:
* import module
* ? module.function()
- A note about julia debuggers – if you don’t want it to step through everything, you need to tell it what packages to compile vs while packages to step through. This will make the debugger comparable (if not faster) than Matlab in speed. In VSCode, this can be done in the debug pane.
- A note about julia debuggers – if you don’t want it to step through everything, you need to tell it what packages to compile vs while packages to step through. This will make the debugger comparable (if not faster) than Matlab in speed. In VSCode, this can be done in the debug pane, or by optionally loading the provided VS code profile in the OWENS.jl/docs folder. This VS code profile will also set up the julia environment and other useful packages and key bindings, and can be modified as desired.

## Software License

Expand Down
29 changes: 15 additions & 14 deletions app/OWENS_APP/src/sampleOWENS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ operationParameters:
turbulentInflow:
ifw: false
WindType: 3
wind_filename: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/turbsim/115mx115m_30x30_20.0msETM.bts
ifw_libfile: ./../openfast/build/modules/inflowwind/libifw_c_binding
windINPfilename: /data/turbsim/115mx115m_30x30_20.0msETM.bts
ifw_libfile: /Users/kevmoor/Documents/coderepos/OWENS_Toolkit/OWENSOpenFASTWrappers.jl/deps/openfast/build/modules/inflowwind/libifw_c_binding

controlParameters:
controlStrategy: constantRPM # TODO: incorporate the others
controlStrategy: normal # TODO: incorporate the others
RPM: 17.2 #RPM
numTS: 100 #
delta_t: 0.01 # s
Expand All @@ -30,19 +30,20 @@ controlParameters:
AeroParameters:
Nslices: 30 # number of OWENSAero discritizations #TODO: AD parameters
ntheta: 30 # number of OWENSAero azimuthal discretizations
AModel: AD # AD, DMS, AC
adi_lib: "/Users/kevmoor/Documents/coderepos/openfast/build/modules/aerodyn/libaerodyn_inflow_c_binding"
adi_rootname: "./ExampleB"
AModel: DMS # AD, DMS, AC
adi_lib: /Users/kevmoor/Documents/coderepos/OWENS_Toolkit/OWENSOpenFASTWrappers.jl/deps/openfast/build/modules/aerodyn/libaerodyn_inflow_c_binding
adi_rootname: "/ExampleB"

structuralParameters:
structuralModel: GX #GX, TNB, ROM
ntelem: 10 #tower elements in each
nbelem: 60 #blade elements in each
nonlinear: false #TODO: propogate
ntelem: 20 #tower elements in each
nbelem: 50 #blade elements in each
ncelem: 10 #central cable elements in each if turbineType is ARCUS
nselem: 5 #strut elements in each if turbineType has struts
NuMad_geom_xlscsv_file_twr: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/NuMAD_Geom_SNL_5MW_D_TaperedTower.csv
NuMad_mat_xlscsv_file_twr: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/NuMAD_Materials_SNL_5MW.csv
NuMad_geom_xlscsv_file_bld: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/NuMAD_Geom_SNL_5MW_D_Carbon_LCDT_ThickFoils_ThinSkin.csv
NuMad_mat_xlscsv_file_bld: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/NuMAD_Materials_SNL_5MW.csv
NuMad_geom_xlscsv_file_strut: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/NuMAD_Geom_SNL_5MW_Struts.csv
NuMad_mat_xlscsv_file_strut: /Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/data/NuMAD_Materials_SNL_5MW.csv
NuMad_geom_xlscsv_file_twr: /data/NuMAD_Geom_SNL_5MW_D_TaperedTower.csv
NuMad_mat_xlscsv_file_twr: /data/NuMAD_Materials_SNL_5MW.csv
NuMad_geom_xlscsv_file_bld: /data/NuMAD_Geom_SNL_5MW_D_Carbon_LCDT_ThickFoils_ThinSkin.csv
NuMad_mat_xlscsv_file_bld: /data/NuMAD_Materials_SNL_5MW.csv
NuMad_geom_xlscsv_file_strut: /data/NuMAD_Geom_SNL_5MW_Struts.csv
NuMad_mat_xlscsv_file_strut: /data/NuMAD_Materials_SNL_5MW.csv
2 changes: 1 addition & 1 deletion app/build_app.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
julia -e 'using PackageCompiler; create_app("OWENS_APP","OWENS_APP_COMPILED";force=true, incremental=false)'
OWENS_APP_COMPILED/bin/OWENS_APP "/Users/kevmoor/Documents/coderepos/OWENS.jl/app/OWENS_APP/src/" --julia-args -t4
OWENS_APP_COMPILED/bin/OWENS_APP "/Users/kevmoor/Documents/coderepos/OWENS_Toolkit/OWENS.jl/app/OWENS_APP/src" --julia-args -t4
1 change: 1 addition & 0 deletions docs/OWENS.code-profile

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[deps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Composites = "d0d699f6-c662-11e8-0fb1-1b30104ab829"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
FLOWMath = "6cb5d3fb-0fe8-4cc2-bd89-9fe0b19a99d3"
Literate = "98b081ad-f1c9-55d3-8b20-4c87d4299306"
Expand Down
2 changes: 1 addition & 1 deletion docs/generate.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import Literate

is_ci = haskey(ENV, "GITHUB_ACTIONS")

EXAMPLEDIR = joinpath(@__DIR__, "src", "literate")
EXAMPLEDIR = joinpath(@__DIR__, "../examples", "literate")
GENERATEDDIR = joinpath(@__DIR__, "src", "examples")
mkpath(GENERATEDDIR)

Expand Down
9 changes: 6 additions & 3 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,18 @@ makedocs(;
modules = [OWENS],
pages = [
"Home" => "index.md",
"Installation" => "setup.md",
"Installation" => "installation.md",
"Examples" => [
joinpath("examples", "A_simplyRunningOWENS.md"),
joinpath("examples", "B_detailedInputs.md"),
joinpath("examples", "C_customizablePreprocessing.md"),
],
"Developer Guide" => "OWENS_Dev_Guide.md",
"Frames of Reference" => "FramesOfReference.md",
"API Reference" => joinpath("reference", "reference.md"),
"OWENS Functions Reference" => joinpath("reference", "reference.md"),
"OWENSAero Functions Reference" => joinpath("reference", "referenceAero.md"),
"OWENSFEA Functions Reference" => joinpath("reference", "referenceFEA.md"),
"OWENSOpenFASTWrappers Functions Reference" => joinpath("reference", "referenceOpenFASTWrappers.md"),
"OWENSPreComp Functions Reference" => joinpath("reference", "referencePreComp.md"),
"Legacy User Guide" => "legacyUserGuide.md",
"Legacy VAWTGen Guide" => "VAWTGenUserGuide.md",
],
Expand Down
1 change: 0 additions & 1 deletion docs/setup/OWENS_Julia_VS.code-profile

This file was deleted.

48 changes: 0 additions & 48 deletions docs/setup/setup_HPWS.sh

This file was deleted.

44 changes: 0 additions & 44 deletions docs/setup/setup_mac.sh

This file was deleted.

Binary file added docs/src/assets/OWENS_Processes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 8 additions & 3 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# OWENS (Onshore/Offshore Wind/Water ENergy Simulator)

This package was based on the original structural dynamics solver by Brian Owens (see dissertation: http://hdl.handle.net/1969.1/151813). However, it has been rewritten into the Julia programming language and many of the issues related to aerodynamic coupling and floating dynamics solved, with extensive expansion into other areas and features to provide a seamless and automated process that takes in high level design details and does all of the preprocessing, running, and post processing that is normally done under different roofs or by different manual processes. This was done with the intent of enabling fast, parametric design. We have many of the modules propogating automatic gradients, however this is still a future challenge to solve well.
[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://sandialabs.github.io/OWENS.jl)
![](https://github.com/sandialabs/OWENS.jl/workflows/CI/badge.svg)

This package is for experienced researchers with both software and engineering experience who need generalized flexibility and performance that is 100% open source. If you want a windows compatible GUI, please use QBlade from our friends across the pond.
This package is for experienced researchers and analyists with both software and engineering experience who need generalized flexibility and performance that is 100% open source and is compatible with gradient based optimization with automatic gradients in process. If you want a windows compatible GUI, please use QBlade.

OWENS is an ontology, or way of coupling modular aerodynamic, structural, hydrodynamic, and controls packages. It was originally based on the structural dynamics solver by Brian Owens (see dissertation: http://hdl.handle.net/1969.1/151813). However, it has been rewritten into the Julia programming language, modularized, and many of the issues related to aerodynamic coupling and floating dynamics solved, with extensive expansion into other areas and features to provide a seamless and automated process that takes in high level design details and does all of the preprocessing, running, and post processing that is normally done under different roofs or by different manual processes. This was done with the intent of enabling fast, parametric design. We have many of the modules propogating automatic gradients, however this is still a future challenge to solve well.

Here are several examples of OWENS use cases, current and past, including the Sandia 34m research turbine.

Expand Down Expand Up @@ -45,6 +48,8 @@ Turbulent inflow is provided by OWENSOpenFASTWrappers.jl and the inflowwind and

Rainflow counting was provided by Rainflow.jl, however, this package became orphained and was pulled into the OWENS code base.

<img src="./assets/OWENS_Processes.png" alt="drawing" width="400"/>

## Installation
Please follow the instructions on the setup page

Expand All @@ -53,7 +58,7 @@ Please follow the instructions on the setup page
- All of the functions have docstrings describing the i/o and function purpose, which can be accessed the docs site or by:
* import module
* ? module.function()
- A note about julia debuggers – if you don’t want it to step through everything, you need to tell it what packages to compile vs while packages to step through. This will make the debugger comparable (if not faster) than Matlab in speed. In VSCode, this can be done in the debug pane.
- A note about julia debuggers – if you don’t want it to step through everything, you need to tell it what packages to compile vs while packages to step through. This will make the debugger comparable (if not faster) than Matlab in speed. In VSCode, this can be done in the debug pane, or by optionally loading the provided VS code profile in the OWENS.jl/docs folder. This VS code profile will also set up the julia environment and other useful packages and key bindings, and can be modified as desired.

## Software License

Expand Down
Loading

0 comments on commit 42c9c62

Please sign in to comment.