Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Becca scrutineering review #4

Open
wants to merge 146 commits into
base: empty-for-review
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 145 commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
a986d48
Create README
degoeden Jun 20, 2023
c39dde5
Update README
KapilKhanal Jun 22, 2023
70175e1
Update README
KapilKhanal Jun 22, 2023
9f92898
no pwa
degoeden Jul 18, 2023
5a406e7
Update README
degoeden Jul 18, 2023
de58005
MOOOOOOOOOOO!
degoeden Jul 18, 2023
8b0725b
Create kd_ratio
oliviavitale35 Jul 18, 2023
0908d59
moved kd_ratio
degoeden Jul 18, 2023
2d82938
disturbance coefficient integrated
degoeden Jul 19, 2023
e61b278
sensitivities done
degoeden Jul 19, 2023
4ace172
corrected parameter comment
degoeden Jul 20, 2023
f678429
did i do it?
degoeden Jul 20, 2023
d4562a5
vgbjhnm ,
degoeden Jul 20, 2023
4f289bd
I'm getting rid of this shortly
degoeden Jul 20, 2023
76228f1
bjnm,
degoeden Jul 20, 2023
90965ca
the model works again and doesn't take forever
degoeden Jul 20, 2023
b606797
soo
degoeden Jul 21, 2023
ab18bac
moo!
degoeden Jul 21, 2023
d66f56b
I started trying, but I forgot that LCOE is weird
degoeden Jul 21, 2023
7102252
lcoe is still wierd
degoeden Jul 21, 2023
9be7a2b
I changed LCOE, hopefully for the better
degoeden Jul 21, 2023
8d55791
changed how L is defined
degoeden Jul 22, 2023
87d42b1
TopelitzEngine added and folder to write out the files added
KapilKhanal Jul 24, 2023
efca7d1
ACA fixed
KapilKhanal Jul 24, 2023
68d978e
38k seconds instead of 55k seconds using ACA
KapilKhanal Jul 25, 2023
e8d390f
Pareto curve
KapilKhanal Jul 25, 2023
c35d4c3
Pareto curve remade
KapilKhanal Jul 25, 2023
ddbdad4
ACA distance changed
KapilKhanal Jul 31, 2023
44c4db4
new termination criteria
KapilKhanal Jul 31, 2023
09a11fd
new termination criteria
KapilKhanal Jul 31, 2023
b9c3b0b
stuff changed ACa, greens caching
KapilKhanal Jul 31, 2023
0d9ed75
stuff changed ACa, greens caching
KapilKhanal Jul 31, 2023
7d2a0f5
new results
KapilKhanal Aug 1, 2023
53b4f24
ready to run
degoeden Aug 1, 2023
a055f05
experiment results
KapilKhanal Aug 3, 2023
1d74b0d
found optimal
KapilKhanal Aug 4, 2023
19e25d2
uses one of the color blind colors now
degoeden Aug 3, 2023
acc8425
plots of layouts
degoeden Aug 4, 2023
9e5309c
"pulling from cloud"
KapilKhanal Nov 8, 2023
1262e3d
Update and rename domF_1.047_1_0_4__500_100_100.csv to domF_UMERC.csv
degoeden Aug 10, 2023
15f1b99
renamed to avoid confusion
degoeden Aug 10, 2023
456f4ec
forgot csv
degoeden Aug 10, 2023
987b48f
new test layouts plotted, optimal geometry and pto on the way
degoeden Aug 10, 2023
e0a3a5c
all edits
degoeden Nov 6, 2023
da21a04
off diagonal radiation
degoeden Nov 6, 2023
dbe1521
"engine added"
KapilKhanal Nov 8, 2023
5584fc0
updated results
KapilKhanal Nov 10, 2023
72bb59f
ignore
degoeden Nov 8, 2023
7d7c946
new pareto
degoeden Dec 1, 2023
cb49933
added comments
degoeden Jan 18, 2024
b093891
more comments
degoeden Jan 18, 2024
7d749d1
code is caught up with array_modeling repo
degoeden Feb 20, 2024
5b9f218
changed structure some
degoeden Feb 20, 2024
1298919
realized I messed up the imports with my file rearangment
degoeden Feb 20, 2024
bd0b8c8
fixed imports in plotting code
degoeden Feb 21, 2024
1d7793f
added Mathieu's fix that allows us to still use Kapil's fancy engine
degoeden Feb 21, 2024
af5601e
added the sea-lab-utils
degoeden Feb 21, 2024
e0efed8
the color blind can see our plots now
degoeden Feb 21, 2024
9cef755
edited ignore
degoeden Feb 21, 2024
87b28c6
removed .DS_Store thing
degoeden Feb 21, 2024
c32800b
Create LICENSE
degoeden Feb 21, 2024
e322325
no more __pycache__
degoeden Feb 21, 2024
99fa20c
for some reason it wasn't working but now it is
degoeden Feb 21, 2024
d291c27
removed wavebot from available wecs so you don't need wecopttool to use
degoeden Feb 21, 2024
bd2fd93
added package requirements
degoeden Feb 21, 2024
cc57034
guard rails are on
degoeden Feb 21, 2024
8d7ec41
ready to opt
degoeden Feb 23, 2024
4e5320d
"sensitivities" for parameters
KapilKhanal Feb 23, 2024
ff4387a
Optimized
degoeden Feb 24, 2024
66dc657
new designs aren't quite what I expected, saved as files with Feb24 d…
degoeden Feb 27, 2024
8b2691b
note for econ sensitivities
oliviavitale35 Feb 27, 2024
a1e713b
big econ update
oliviavitale35 Feb 27, 2024
3e9aab4
updated econ mod to not factor out power, integrated with other mods,…
oliviavitale35 Feb 28, 2024
3a292df
sensitivity foor nomial setup. replace with optimal
KapilKhanal Feb 27, 2024
13728be
update interest rate
oliviavitale35 Feb 28, 2024
15977e5
added econ parameters to sensitivity module
oliviavitale35 Feb 28, 2024
4fe82e2
added econ parameters to sensitivity module
oliviavitale35 Feb 28, 2024
201eb48
New pareto, tighter tol, not new econ though
degoeden Feb 28, 2024
72819d7
code for new pareto
degoeden Feb 28, 2024
66424b0
removed N as parameter
degoeden Feb 28, 2024
4eacd43
needed to handle taking away N from the moo scripts as well
degoeden Feb 28, 2024
95087f3
new results
degoeden Feb 29, 2024
a3d8052
new pareto with tighter tol and new econ
degoeden Mar 1, 2024
6469f3f
parameters added for econ. now just need to update
KapilKhanal Feb 29, 2024
3f208a8
Nate what is that len(p)>7 stuff?
KapilKhanal Feb 29, 2024
1898367
added proper econ terms and values to sensitivity.py
oliviavitale35 Mar 1, 2024
05e465e
removed repeat data
degoeden Mar 1, 2024
a8b461d
'new' pareto
degoeden Mar 4, 2024
81cbe46
new sensitivity
KapilKhanal Mar 4, 2024
428facc
demo
KapilKhanal Mar 4, 2024
53bd926
sensitivities
degoeden Mar 4, 2024
da687ea
sensitivity for n=100 pushed
KapilKhanal Mar 4, 2024
f378a46
Mesh convergence code added
KapilKhanal Mar 6, 2024
516f427
preped for new seed number
degoeden Mar 4, 2024
4a9f572
seed2 pareto front
degoeden Mar 5, 2024
13a14d4
create q-factor post_process file
oliviavitale35 Mar 5, 2024
1f20b12
edited qfactor.py so that it plots all q factors along the pareto front
oliviavitale35 Mar 5, 2024
c5d40c4
ready for new optimization with help
degoeden Mar 5, 2024
b54c62c
"convergence code refined"
KapilKhanal Mar 6, 2024
04e713e
need mesh convergence
degoeden Mar 6, 2024
09966ea
deleted lots of useless csvs
degoeden Mar 6, 2024
c08c070
more mesh convergence for sample designs
KapilKhanal Mar 7, 2024
74970af
convergence mesh 750 panels
KapilKhanal Mar 7, 2024
d76f04b
good meshes
degoeden Mar 7, 2024
3fe0a38
results with new meshing
degoeden Mar 8, 2024
34c90a6
ready to run final optimization
degoeden Mar 8, 2024
72562a3
"new function for sensitivity and sampling"
KapilKhanal Mar 10, 2024
08ae536
new pareto
degoeden Mar 10, 2024
718057d
pull updates
KapilKhanal Mar 10, 2024
09b0e0c
condition number is now optional, set check_conditon = Flase to skip …
degoeden Mar 10, 2024
fafccde
pushing sensitivity after convergencee
KapilKhanal Mar 11, 2024
a547198
qfactor data created for easy plotting
KapilKhanal Mar 12, 2024
7f263a5
yaml thing
degoeden Mar 12, 2024
558c3fe
yaml thing doesnt work for me
degoeden Mar 12, 2024
4ae2dca
parallel implementation to speed up sensitivity
KapilKhanal Mar 14, 2024
8300c1a
nominal run matches Balitsky Thesis again
degoeden Mar 12, 2024
23d88f2
updated soo stuff
degoeden Mar 13, 2024
d99963e
experiments done
degoeden Mar 14, 2024
eb48628
experiment plots
degoeden Mar 14, 2024
185f478
pdf pareto
degoeden Mar 14, 2024
4857336
getting rid of some files
degoeden Mar 14, 2024
ffbd59a
trying to ignore the __init__ stuff
degoeden Mar 14, 2024
702d328
now ignoring the __init__ stuff
degoeden Mar 14, 2024
01d7bf8
Delete src/__init__.py
degoeden Mar 14, 2024
1b08751
Delete src/modules/__init__.py
degoeden Mar 14, 2024
0b59fdf
balitsky is now a pdf
degoeden Mar 14, 2024
5add90b
new rand fig
degoeden Mar 14, 2024
98b49c0
bigger font size for the nominal layouts
degoeden Mar 14, 2024
66c020b
updated plotting for kd
oliviavitale35 Mar 14, 2024
f3fa074
nominal layout plots, now bold
degoeden Mar 14, 2024
41c07b4
kd fields
degoeden Mar 14, 2024
6fbbf32
min lcoe and space design plots
degoeden Mar 14, 2024
d8d2089
plot
KapilKhanal Mar 16, 2024
29db5cc
better plots
degoeden Mar 15, 2024
741681c
before scrutineering updattes.
KapilKhanal Mar 16, 2024
3e33baf
regression and sensitivity code updated.
KapilKhanal Mar 21, 2024
6f853a1
changed thee regression to only reegrress optimal lcoe with distance.
KapilKhanal Mar 23, 2024
1c50e20
altered q-factor code to change the hydro coeffs and damping for the …
oliviavitale35 Mar 21, 2024
894238c
Update README
KapilKhanal Mar 23, 2024
1e8abf5
Update and rename README to README.md
KapilKhanal Mar 23, 2024
bb62e7a
Update and rename README.md to README
KapilKhanal Mar 23, 2024
83cfaef
Update README
KapilKhanal Mar 23, 2024
8c2a059
nominal run is good again
degoeden Mar 23, 2024
491208b
renamed the file that was causing Becca issues, needs a real name tho…
degoeden Mar 26, 2024
591475e
update all files to match main for review, since the rebase didnt ful…
rebeccamccabe Mar 26, 2024
6eedbe8
delete file that has been deleted on main, to fix rebase
rebeccamccabe Mar 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
*.pyc
.vscode/*
.DS_Store
src/modules/__pycache__/*
data/mesh_convergence/convergence.csv
data/mesh_convergence/convergence.csv
data/sensitivities/*
src/__init__.py
src/modules/__init__.py
data/sensitivities/0 3.629951
1 0.100001
2 5.223716
3 17.742484
4 -16.034721
5 5.502716
6 14.803371
7 12.277340
8 5.836918
9 28.595590
10 0.051935
11 5.499162
Name: 232, dtype: float64_total_SI_convergece.csv
data/sensitivities/first_3.6.csv
data/sensitivities/first_sensitivity.csv
data/sensitivities/second_3.6.csv
data/sensitivities/second_sensitivity.csv
data/sensitivities/total_3.6.csv
data/sensitivities/total_sensitivity.csv
data/sensitivities/200_first.csv
src/post_pro/plots/*
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "sea-lab-utils"]
path = sea-lab-utils
url = https://github.com/symbiotic-engineering/sea-lab-utils.git
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

53 changes: 53 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Multi-Objective Multidisciplinary Optimization of Wave Energy Converter Array Layout and Controls
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make this a markdown file (.md) instead of plain text for readability. Add other information (ie funding acknowledgement) - see https://confluence.cornell.edu/display/sealab/Publishing+Code

Authors: Kapil Khanal, Nate DeGoede, Olivia Vitale, Maha Haji,


- Multidisciplinary formulation to optimize the configuration of the array of Wave energy converter is presented.
- Optimal controls for each Wave energy converter within the layout.
- Regression model for interpretation of the trade-off between objectives for optimal designs prompts additional analysis.
- Post optimality global sensitivity analysis of a set of optimal designs reveals that the expected variance in optimal LCOE (minimized) is very sensitive to the variance in wave frequency $(\omega)$ and interest rate.



PROJECT STRUCTURE

├── __init__.py
├─data <- All relevant data.
├──── experiments <- Single objective experiments.
│   ├─ grid.pdf,line.pdf,random.pdf
│──── mesh_convergence <- data from mesh convergence
│   ├─ convergence.csv
│──── paretos <- dominant designs objective and dvs
│   ├─ FinaldomDesign.csv , FinaldomObjective
│──── sensitivities
│   ├─ total.csv,first.csv,second.csv
├── notebooks <- nominal run --not required
├── src <- Main source code for MDO
│   ├── modules <- Each python file is a disciplinary modules.
│ ├── distances.py <- To find maximum and minimum spacing in array.
│ ├── dynamics_contrrols.py <- Calculate motion and power of the WEC.
│ ├── econ.py <- Calculates Capex / Opex and LCOE model.
│ ├── hydro_terms.py <- Get all the hydro terms. (A,B,F,C,M)
│ ├── model_nWECs.py <- Utility functions to call the multidisciplinary analysis (MDA)
│ ├── wec_array_initialization.py <- Utility function to get array of bodies and their neighbors if required.
│   ├── optimization_interfaces
│ ├── multi_objective_opt.py <- Calls the optimizer for multi Objectives [J1,J2]
│ ├── single_objective_opt.py <- Calls the optimizer for single Objective at a time.
│   ├── post_pro
│ ├── plots
│ ├── *.pdf <- contains all the figures.
│ ├── mesh_convergence.py <- Performs mesh convergence for the design
│ ├── pareto_analysis.py <- Ad-hoc regression model for pareto design analysis
│ ├── plot_design.py <- plots any designs
│ ├── plot_pareto.py <- plots the pareto designs.
│ ├── plot_qfactor.py <- plots the qfactor for pareto designs
│ ├── plot_sensitivity.py <- plots the sensitivity of the design to the parameters
│ ├── q.py <- Calculates thee q-factor
│ ├── sensitivity.py <- Calculates the sensitivity upto second order.
│ ├── wave_field.py <- plots the wave_field for optimal designs
├─ requirement.txt <- All the pacakges.
├─ environment.yml <- All the pacakges.



Note: Run code from src folder.
3 changes: 3 additions & 0 deletions data/experiments/grid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"[ 9.98266494e+00 1.11091538e-01 5.95331100e+00 4.69333468e+02
-3.29995515e+02 5.91959873e+00 4.86152564e+02 1.77256214e+02
6.12891918e+00 3.51729113e+01 1.84925492e+02 6.02316413e+00]",[0.23373015]
Binary file added data/experiments/grid.pdf
Binary file not shown.
3 changes: 3 additions & 0 deletions data/experiments/line
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"[ 9.84347267e+00 1.00423880e-01 6.16863211e+00 2.75571473e+02
-3.57408897e+02 6.01377418e+00 -3.14856237e+02 -2.73417677e+02
6.06350830e+00 -5.42394882e+01 -2.85793040e+02 6.29323481e+00]",[0.20782667]
Binary file added data/experiments/line.pdf
Binary file not shown.
3 changes: 3 additions & 0 deletions data/experiments/random
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"[ 9.98351142e+00 1.01277004e-01 6.12722078e+00 4.28642363e+02
-3.98138335e+02 6.26818100e+00 -2.09242767e+02 2.68234131e+02
5.96784344e+00 -3.39767380e+02 2.09554519e+02 6.16570801e+00]",[0.22149867]
Binary file added data/experiments/random.pdf
Binary file not shown.
Loading