-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
55 lines (44 loc) · 2.91 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Multi-Objective Multidisciplinary Optimization of Wave Energy Converter Array Layout and Controls
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 packages.
├─ environment.yml <- All the packages.
Note: Run code from src folder.