From 2f06527f9289430a5907ee4ee4c9f259e9e4ff23 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 09:43:28 -0400 Subject: [PATCH 01/95] Sync pubs/applied-ocean-research-model with Overleaf project --- .calkit/overleaf-sync.json | 2 +- calkit.yaml | 126 ++++++++++++++++++++----------------- 2 files changed, 71 insertions(+), 57 deletions(-) diff --git a/.calkit/overleaf-sync.json b/.calkit/overleaf-sync.json index c642b9218..d2df8c349 100644 --- a/.calkit/overleaf-sync.json +++ b/.calkit/overleaf-sync.json @@ -9,7 +9,7 @@ }, "pubs/applied-ocean-research-model": { "project_id": "69ecde8851d14790c59f03d5", - "last_sync_commit": "c204ee9798f8bac73f2f6596c5575b3eb7866597" + "last_sync_commit": "43354ca180335df3767b9074a41c59655495eb07" }, "pubs/defense": { "project_id": "69ef01941916c106f7f5c565", diff --git a/calkit.yaml b/calkit.yaml index bb46b1ed7..5b3a8cb03 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -1,7 +1,7 @@ name: mdocean title: MDOcean -description: Multidisciplinary Design Optimization (MDO) to optimize an - ocean wave energy converter (WEC). +description: Multidisciplinary Design Optimization (MDO) to optimize + an ocean wave energy converter (WEC). environments: tex: kind: docker @@ -410,7 +410,8 @@ pipeline: analysis-Constraints: kind: matlab-command environment: _system - command: add_mdocean_path(); obj=Constraints; obj.run_analysis(); + command: add_mdocean_path(); obj=Constraints; + obj.run_analysis(); inputs: - ./mdocean/inputs/validation/RM3-CBS.xlsx - ./mdocean/analysis/@Constraints/Constraints.m @@ -1222,7 +1223,8 @@ pipeline: analysis-DragIntegral: kind: matlab-command environment: _system - command: add_mdocean_path(); obj=DragIntegral; obj.run_analysis(); + command: add_mdocean_path(); obj=DragIntegral; + obj.run_analysis(); inputs: - ./mdocean/inputs/validation/RM3-CBS.xlsx - ./mdocean/analysis/@DragIntegral/DragIntegral.m @@ -3066,7 +3068,8 @@ pipeline: analysis-ParetoSweep: kind: matlab-command environment: _system - command: add_mdocean_path(); obj=ParetoSweep; obj.run_analysis(); + command: add_mdocean_path(); obj=ParetoSweep; + obj.run_analysis(); inputs: - ./mdocean/inputs/validation/RM3-CBS.xlsx - ./mdocean/analysis/@ParetoSweep/ParetoSweep.m @@ -3855,7 +3858,8 @@ pipeline: postpro-Runtime: kind: matlab-command environment: _system - command: add_mdocean_path(); obj=Runtime; obj.run_all_from_load(); + command: add_mdocean_path(); obj=Runtime; + obj.run_all_from_load(); inputs: - from_stage_outputs: analysis-Runtime - ./mdocean/inputs/validation/RM3-CBS.xlsx @@ -4597,7 +4601,8 @@ pipeline: postpro-Wecsim: kind: matlab-command environment: _system - command: add_mdocean_path(); obj=Wecsim; obj.run_all_from_load(); + command: add_mdocean_path(); obj=Wecsim; + obj.run_all_from_load(); inputs: - from_stage_outputs: analysis-Wecsim - ./mdocean/inputs/validation/RM3-CBS.xlsx @@ -5040,7 +5045,8 @@ pipeline: postpro-WithTables: kind: shell-command environment: _system - command: echo "Running postprocessing for all stages with tables." + command: echo "Running postprocessing for all stages with + tables." inputs: - from_stage_outputs: postpro-Comparison - from_stage_outputs: postpro-Constraints @@ -5113,9 +5119,9 @@ pipeline: - mdocean/ outputs: - path: test-results/aor/ - storage: null + storage: - path: code-coverage/aor/ - storage: null + storage: test-re: kind: matlab-command environment: _system @@ -5138,16 +5144,16 @@ pipeline: - mdocean/ outputs: - path: test-results/re/ - storage: null + storage: - path: code-coverage/re/ - storage: null + storage: viz-AllFigCompare: kind: jupyter-notebook environment: pubs notebook_path: results/fig_notebooks/AllFigCompare.ipynb inputs: - from_stage_outputs: postpro-AllFigCompare - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Comparison: @@ -5156,7 +5162,7 @@ pipeline: notebook_path: results/fig_notebooks/Comparison.ipynb inputs: - from_stage_outputs: postpro-Comparison - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Constraints: @@ -5165,7 +5171,7 @@ pipeline: notebook_path: results/fig_notebooks/Constraints.ipynb inputs: - from_stage_outputs: postpro-Constraints - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Cost: @@ -5174,16 +5180,17 @@ pipeline: notebook_path: results/fig_notebooks/Cost.ipynb inputs: - from_stage_outputs: postpro-Cost - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-DampingPlateStructures: kind: jupyter-notebook environment: pubs - notebook_path: results/fig_notebooks/DampingPlateStructures.ipynb + notebook_path: + results/fig_notebooks/DampingPlateStructures.ipynb inputs: - from_stage_outputs: postpro-DampingPlateStructures - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-DescFcns: @@ -5192,16 +5199,17 @@ pipeline: notebook_path: results/fig_notebooks/DescFcns.ipynb inputs: - from_stage_outputs: postpro-DescFcns - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-DesignSpaceExploration: kind: jupyter-notebook environment: pubs - notebook_path: results/fig_notebooks/DesignSpaceExploration.ipynb + notebook_path: + results/fig_notebooks/DesignSpaceExploration.ipynb inputs: - from_stage_outputs: postpro-DesignSpaceExploration - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-DesignVars: @@ -5210,7 +5218,7 @@ pipeline: notebook_path: results/fig_notebooks/DesignVars.ipynb inputs: - from_stage_outputs: postpro-DesignVars - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-DragIntegral: @@ -5219,7 +5227,7 @@ pipeline: notebook_path: results/fig_notebooks/DragIntegral.ipynb inputs: - from_stage_outputs: postpro-DragIntegral - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-FitOlaya: @@ -5228,16 +5236,17 @@ pipeline: notebook_path: results/fig_notebooks/FitOlaya.ipynb inputs: - from_stage_outputs: postpro-FitOlaya - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-ForceSaturationFigFunc: kind: jupyter-notebook environment: pubs - notebook_path: results/fig_notebooks/ForceSaturationFigFunc.ipynb + notebook_path: + results/fig_notebooks/ForceSaturationFigFunc.ipynb inputs: - from_stage_outputs: postpro-ForceSaturationFigFunc - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-GradientOptimFigFunc: @@ -5246,7 +5255,7 @@ pipeline: notebook_path: results/fig_notebooks/GradientOptimFigFunc.ipynb inputs: - from_stage_outputs: postpro-GradientOptimFigFunc - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-HydroCoeffFigFunc: @@ -5255,7 +5264,7 @@ pipeline: notebook_path: results/fig_notebooks/HydroCoeffFigFunc.ipynb inputs: - from_stage_outputs: postpro-HydroCoeffFigFunc - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-LocationSensitivity: @@ -5264,7 +5273,7 @@ pipeline: notebook_path: results/fig_notebooks/LocationSensitivity.ipynb inputs: - from_stage_outputs: postpro-LocationSensitivity - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Meem: @@ -5273,7 +5282,7 @@ pipeline: notebook_path: results/fig_notebooks/Meem.ipynb inputs: - from_stage_outputs: postpro-Meem - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Multistart: @@ -5282,7 +5291,7 @@ pipeline: notebook_path: results/fig_notebooks/Multistart.ipynb inputs: - from_stage_outputs: postpro-Multistart - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-ParamSensitivities: @@ -5291,7 +5300,7 @@ pipeline: notebook_path: results/fig_notebooks/ParamSensitivities.ipynb inputs: - from_stage_outputs: postpro-ParamSensitivities - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Parameters: @@ -5300,7 +5309,7 @@ pipeline: notebook_path: results/fig_notebooks/Parameters.ipynb inputs: - from_stage_outputs: postpro-Parameters - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-ParetoFigFunc: @@ -5309,7 +5318,7 @@ pipeline: notebook_path: results/fig_notebooks/ParetoFigFunc.ipynb inputs: - from_stage_outputs: postpro-ParetoFigFunc - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-ParetoSweep: @@ -5318,7 +5327,7 @@ pipeline: notebook_path: results/fig_notebooks/ParetoSweep.ipynb inputs: - from_stage_outputs: postpro-ParetoSweep - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-PtoSweep: @@ -5327,7 +5336,7 @@ pipeline: notebook_path: results/fig_notebooks/PtoSweep.ipynb inputs: - from_stage_outputs: postpro-PtoSweep - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-QPCircles: @@ -5336,7 +5345,7 @@ pipeline: notebook_path: results/fig_notebooks/QPCircles.ipynb inputs: - from_stage_outputs: postpro-QPCircles - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-ReadNonMatlabFigs: @@ -5345,7 +5354,7 @@ pipeline: notebook_path: results/fig_notebooks/ReadNonMatlabFigs.ipynb inputs: - from_stage_outputs: postpro-ReadNonMatlabFigs - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-RunSingleFigFunc: @@ -5354,7 +5363,7 @@ pipeline: notebook_path: results/fig_notebooks/RunSingleFigFunc.ipynb inputs: - from_stage_outputs: postpro-RunSingleFigFunc - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Runtime: @@ -5363,7 +5372,7 @@ pipeline: notebook_path: results/fig_notebooks/Runtime.ipynb inputs: - from_stage_outputs: postpro-Runtime - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Slamming: @@ -5372,7 +5381,7 @@ pipeline: notebook_path: results/fig_notebooks/Slamming.ipynb inputs: - from_stage_outputs: postpro-Slamming - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-SparHydro: @@ -5381,7 +5390,7 @@ pipeline: notebook_path: results/fig_notebooks/SparHydro.ipynb inputs: - from_stage_outputs: postpro-SparHydro - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-SweepGeoms: @@ -5390,7 +5399,7 @@ pipeline: notebook_path: results/fig_notebooks/SweepGeoms.ipynb inputs: - from_stage_outputs: postpro-SweepGeoms - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Validation: @@ -5399,7 +5408,7 @@ pipeline: notebook_path: results/fig_notebooks/Validation.ipynb inputs: - from_stage_outputs: postpro-Validation - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] viz-Wecsim: @@ -5408,7 +5417,7 @@ pipeline: notebook_path: results/fig_notebooks/Wecsim.ipynb inputs: - from_stage_outputs: postpro-Wecsim - html_storage: null + html_storage: executed_ipynb_storage: git outputs: [] pyxdsm: @@ -5663,7 +5672,8 @@ pipeline: script_path: dev/latex/Paper-Linter/paperlint.py args: - pubs/applied-ocean-research-model/main.tex - - --ignore pubs/applied-ocean-research-model/numeric-results.tex + - --ignore + pubs/applied-ocean-research-model/numeric-results.tex - --settings dev/latex/Paper-Linter/settings.txt - --output dev/latex/Paper-Linter/lint-aor.txt inputs: @@ -5704,9 +5714,9 @@ pipeline: outputs: - pubs/renewable-energy-mdo/mdocean.pdf - path: pubs/renewable-energy-mdo/mdocean.synctex.gz - storage: null + storage: - path: pubs/renewable-energy-mdo/aux/ - storage: null + storage: delete_before_run: false build-AOR-paper: kind: latex @@ -5730,13 +5740,14 @@ pipeline: outputs: - pubs/applied-ocean-research-model/main.pdf - path: pubs/applied-ocean-research-model/main.synctex.gz - storage: null + storage: - path: pubs/applied-ocean-research-model/aux/ - storage: null + storage: delete_before_run: false build-UMERC-paper: kind: latex - target_path: pubs/UMERC-2025-grid-value/UMERC_2025_grid_value.tex + target_path: + pubs/UMERC-2025-grid-value/UMERC_2025_grid_value.tex environment: tex inputs: - pubs/UMERC-2025-grid-value/figures/ @@ -5777,9 +5788,9 @@ pipeline: outputs: - pubs/dissertation/sampleThesis.pdf - path: pubs/dissertation/sampleThesis.synctex.gz - storage: null + storage: - path: pubs/dissertation/aux/ - storage: null + storage: delete_before_run: false # all-writing: # kind: shell-command @@ -5796,7 +5807,7 @@ pipeline: notebook_path: pubs/applied-ocean-research-model/view_figs.ipynb inputs: - pubs/applied-ocean-research-model/figs/ - html_storage: null + html_storage: executed_ipynb_storage: git view-re-figs: kind: jupyter-notebook @@ -5804,7 +5815,7 @@ pipeline: notebook_path: pubs/renewable-energy-mdo/view_figs.ipynb inputs: - pubs/renewable-energy-mdo/figs/ - html_storage: null + html_storage: executed_ipynb_storage: git all-viz: kind: shell-command @@ -5914,7 +5925,8 @@ publications: - path: pubs/applied-ocean-research-model/main.pdf title: Modeling - Journal (Applied Ocean Research) description: Development, Validation, and Benchmarking of a - Multidisciplinary Semi-Analytical Model for Wave Energy Converters + Multidisciplinary Semi-Analytical Model for Wave Energy + Converters kind: journal-article stage: build-AOR-paper - path: pubs/renewable-energy-mdo/mdocean.pdf @@ -5976,3 +5988,5 @@ overleaf_sync: - logo.jpg push_paths: - figures + pubs/defense: + url: https://www.overleaf.com/project/69ef01941916c106f7f5c565 From 46a0ea0a0dd82c9af825bd9ea3b150c3d9c92087 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 09:45:47 -0400 Subject: [PATCH 02/95] rerun pub stages after deleting old non matlab figs ignored files --- dvc.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dvc.lock b/dvc.lock index 50284fc6d..48b8623c0 100644 --- a/dvc.lock +++ b/dvc.lock @@ -8276,13 +8276,13 @@ stages: outs: - path: pubs/applied-ocean-research-model/aux/ hash: md5 - md5: 2e3e40e11790b146fa129dac3daac2fc.dir - size: 1917759 + md5: 9e5b9c688a6c7b62057bc787ac28b959.dir + size: 1917720 nfiles: 42 - path: pubs/applied-ocean-research-model/main.pdf hash: md5 - md5: 5c96ff1393dd4e84c325bd30b897c4ec - size: 4811515 + md5: 373e4cf949f436f4dd7804deb6415c45 + size: 4811513 - path: pubs/applied-ocean-research-model/main.synctex.gz hash: md5 md5: e790bf54354541c69966fb06ebb500cb @@ -9108,9 +9108,9 @@ stages: nfiles: 7 - path: results/Wecsim/ hash: md5 - md5: 895aaf00a7200da40b192af91bea1b80.dir - size: 467674800 - nfiles: 389 + md5: 531be3d8d083bd88078730c8e216587c.dir + size: 481970456 + nfiles: 410 outs: - path: pubs/applied-ocean-research-model/figs/from-matlab/ hash: md5 From c59d8192e6d5985aea8afe503b31849da1a429a6 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 09:49:40 -0400 Subject: [PATCH 03/95] Sync pubs/applied-ocean-research-model with Overleaf project --- calkit.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/calkit.yaml b/calkit.yaml index 5b3a8cb03..6b28c81a8 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -5956,6 +5956,7 @@ overleaf_sync: - main.tex - sections/ - references.bib + - zotero-meem-refs.bib - numbers.tex - elsarticle-num-names.bst - appendices.tex @@ -5972,7 +5973,8 @@ overleaf_sync: - sections/ - tables/ - references.bib - - numbers.tex + - zotero-meem-refs.bib + - elsarticle-num-names.bst - commands-re.tex push_paths: - figs From 0b4c83a25ea67d1aba459a7a516b6456b18492f8 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 09:51:26 -0400 Subject: [PATCH 04/95] Sync pubs/applied-ocean-research-model with Overleaf project --- calkit.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/calkit.yaml b/calkit.yaml index 6b28c81a8..440bfe762 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -5962,6 +5962,7 @@ overleaf_sync: - appendices.tex - commands-aor.tex - content.tex + - shared-pkg.tex push_paths: - figs/ - tables/ @@ -5976,6 +5977,8 @@ overleaf_sync: - zotero-meem-refs.bib - elsarticle-num-names.bst - commands-re.tex + - shared-pkg.tex + - content-re.tex push_paths: - figs - numeric-results.tex From c5d8e6daa5c68ea6084e84a017a01668f3bd9db0 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:03:37 -0400 Subject: [PATCH 05/95] rerun with blank line to trigger diff --- dvc.lock | 26 +++++++++++++------------- pubs/shared/shared-pkg.tex | 1 + 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/dvc.lock b/dvc.lock index 48b8623c0..8e1d665ef 100644 --- a/dvc.lock +++ b/dvc.lock @@ -8262,8 +8262,8 @@ stages: nfiles: 8 - path: pubs/applied-ocean-research-model/shared-pkg.tex hash: md5 - md5: 77bf87285f567341d77d0eb8528d05f9 - size: 3778 + md5: 6194f6d8afc6cc75f26533fad84dd554 + size: 3779 - path: pubs/applied-ocean-research-model/tables/ hash: md5 md5: 2a0ede44175aafcf72ffb20183bb574e.dir @@ -8276,12 +8276,12 @@ stages: outs: - path: pubs/applied-ocean-research-model/aux/ hash: md5 - md5: 9e5b9c688a6c7b62057bc787ac28b959.dir - size: 1917720 + md5: 5c0c79d28d7720c5416b45c49ded74a2.dir + size: 1917814 nfiles: 42 - path: pubs/applied-ocean-research-model/main.pdf hash: md5 - md5: 373e4cf949f436f4dd7804deb6415c45 + md5: 6aec9a916d982154c17d2dd21a36a3f0 size: 4811513 - path: pubs/applied-ocean-research-model/main.synctex.gz hash: md5 @@ -8620,12 +8620,12 @@ stages: size: 537913 - path: pubs/shared/shared-pkg.tex hash: md5 - md5: 77bf87285f567341d77d0eb8528d05f9 - size: 3778 + md5: 6194f6d8afc6cc75f26533fad84dd554 + size: 3779 - path: pubs/shared/shared-pkg.tex hash: md5 - md5: 77bf87285f567341d77d0eb8528d05f9 - size: 3778 + md5: 6194f6d8afc6cc75f26533fad84dd554 + size: 3779 outs: - path: pubs/applied-ocean-research-model/elsarticle-num-names.bst hash: md5 @@ -8637,8 +8637,8 @@ stages: size: 537913 - path: pubs/applied-ocean-research-model/shared-pkg.tex hash: md5 - md5: 77bf87285f567341d77d0eb8528d05f9 - size: 3778 + md5: 6194f6d8afc6cc75f26533fad84dd554 + size: 3779 - path: pubs/applied-ocean-research-model/zotero-meem-refs.bib hash: md5 md5: 2b239e27c2b3fe0e1ff79c16314db608 @@ -8657,8 +8657,8 @@ stages: size: 537913 - path: pubs/renewable-energy-mdo/shared-pkg.tex hash: md5 - md5: 77bf87285f567341d77d0eb8528d05f9 - size: 3778 + md5: 6194f6d8afc6cc75f26533fad84dd554 + size: 3779 - path: pubs/renewable-energy-mdo/zotero-meem-refs.bib hash: md5 md5: 2b239e27c2b3fe0e1ff79c16314db608 diff --git a/pubs/shared/shared-pkg.tex b/pubs/shared/shared-pkg.tex index 90ee482d4..92ef1ce77 100644 --- a/pubs/shared/shared-pkg.tex +++ b/pubs/shared/shared-pkg.tex @@ -110,6 +110,7 @@ \fi } + \AddToHook{cmd/appendices/before}{% \crefalias{section}{appendix}% \crefalias{subsection}{appendix} From f260ebe9a363567425d141671fa49ba4de02679a Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:06:05 -0400 Subject: [PATCH 06/95] delete comment to cause diff --- pubs/applied-ocean-research-model/main.tex | 2 -- 1 file changed, 2 deletions(-) diff --git a/pubs/applied-ocean-research-model/main.tex b/pubs/applied-ocean-research-model/main.tex index 367975e10..a987a5086 100644 --- a/pubs/applied-ocean-research-model/main.tex +++ b/pubs/applied-ocean-research-model/main.tex @@ -270,5 +270,3 @@ \section*{Data availability statement} \end{document} \endinput -%% -%% End of file `elsarticle-template-num.tex'. From 5337793c9e88c4f29276267eebb0ef1e7d978980 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:06:17 -0400 Subject: [PATCH 07/95] Sync pubs/applied-ocean-research-model with Overleaf project --- .calkit/overleaf-sync.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.calkit/overleaf-sync.json b/.calkit/overleaf-sync.json index d2df8c349..b308f0d11 100644 --- a/.calkit/overleaf-sync.json +++ b/.calkit/overleaf-sync.json @@ -9,7 +9,7 @@ }, "pubs/applied-ocean-research-model": { "project_id": "69ecde8851d14790c59f03d5", - "last_sync_commit": "43354ca180335df3767b9074a41c59655495eb07" + "last_sync_commit": "ba6bae77c2ea59b0cf8b78567f4bc9bf974e8dba" }, "pubs/defense": { "project_id": "69ef01941916c106f7f5c565", From f71687c48800c131967e816201a39ae29e778246 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:16:13 -0400 Subject: [PATCH 08/95] Sync pubs/applied-ocean-research-model with Overleaf project --- .../elsarticle-num-names.bst | 1535 +++++ .../references.bib | 5684 +++++++++++++++++ .../shared-pkg.tex | 120 + .../zotero-meem-refs.bib | 485 ++ 4 files changed, 7824 insertions(+) create mode 100644 pubs/applied-ocean-research-model/elsarticle-num-names.bst create mode 100644 pubs/applied-ocean-research-model/references.bib create mode 100644 pubs/applied-ocean-research-model/shared-pkg.tex create mode 100644 pubs/applied-ocean-research-model/zotero-meem-refs.bib diff --git a/pubs/applied-ocean-research-model/elsarticle-num-names.bst b/pubs/applied-ocean-research-model/elsarticle-num-names.bst new file mode 100644 index 000000000..de32b374c --- /dev/null +++ b/pubs/applied-ocean-research-model/elsarticle-num-names.bst @@ -0,0 +1,1535 @@ +%% +%% This is file `elsarticle-num-names.bst' (Version 2.1), +%% +%% Copyright 2009-2024 Elsevier Ltd +%% +%% This file is part of the 'Elsarticle Bundle'. +%% --------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.3 of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% $Id: elsarticle-num-names.bst 253 2024-04-06 10:57:58Z rishi $ +%% +%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num-names.bst $ +%% +%% + +ENTRY + { address + author + booktitle + chapter + collaboration + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + url + doi + eprint + pubmed + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +STRINGS { urlprefix doiprefix eprintprefix pubmedprefix } + +FUNCTION {init.web.variables} +{ + "\URLprefix " 'urlprefix := + "\DOIprefix" 'doiprefix := + "\ArXivprefix " 'eprintprefix := + "\Pubmedprefix " 'pubmedprefix := +} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = +% { add.period$ write$ + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\textit{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.~}{vv~}{ll}{, jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +%FUNCTION {format.authors} +%{ author "author" format.names +%} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} + +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * +} +FUNCTION{format.year} +{ year "year" bibinfo.check duplicate$ empty$ + { "empty year in " cite$ * + "; set to ????" * + warning$ + pop$ "????" + } + { + } + if$ + extra.label * + " (" swap$ * ")" * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + " " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + format.year * +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * "), " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.check format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {print.url} + {url duplicate$ empty$ + { pop$ "" } + { new.sentence + urlprefix "\url{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.doi} + {doi duplicate$ empty$ + { pop$ "" } + { new.sentence + doiprefix "\doi{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.eprint} + {eprint duplicate$ empty$ + { pop$ "" } + { new.sentence + duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{{\tt arXiv:" * swap$ * "}}" * + } + if$ + } + +FUNCTION {print.pubmed} + {pubmed duplicate$ empty$ + { pop$ "" } + { new.sentence + pubmedprefix "\Pubmed{" * swap$ * "}" * + } + if$ + } + +FUNCTION {webpage} +{ "%Type = Webpage" write$ + output.bibitem + format.authors "author" output.check + author format.key output + author empty$ + { + format.title "title" output.check + new.block + format.date "year" output.check + date.block + } + { + format.date "year" output.check + date.block + format.title "title" output.check + new.block +} + if$ + print.url output + fin.entry +} + + +FUNCTION {article} +{ "%Type = Article" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + format.journal.pages + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} +FUNCTION {book} +{ "%Type = Book" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} +FUNCTION {booklet} +{ "%Type = Booklet" write$ + output.bibitem + format.authors output + author format.key output + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ "%Type = Inbook" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { + format.book.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ "%Type = Incollection" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.edition output + format.publisher.address output + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.date "year" output.check + format.pages "pages" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} +FUNCTION {inproceedings} +{ "%Type = Inproceedings" write$ + output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + } + if$ + format.date output + format.pages "pages" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ "%Type = Manual" write$ + output.bibitem + format.authors output + author format.key output + format.btitle "title" output.check + format.edition output + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ "%Type = Masterthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.btitle + "title" output.check + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {misc} +{ "%Type = Misc" write$ + output.bibitem + format.authors output + author format.key output + format.title output + howpublished "howpublished" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} +FUNCTION {phdthesis} +{ "%Type = Phdthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.btitle + "title" output.check + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ "%Type = Proceedings" write$ + output.bibitem + format.editors output + editor format.key output + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ "%Type = Techreport" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.btitle + "title" output.check + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ "%Type = Unpublished" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.title "title" output.check + format.date "year" output.check + new.sentence + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "????" } + { purify$ #-1 #4 substring$ } + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +%SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +%SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\href}[2]{#2}" + write$ newline$ + "\providecommand{\path}[1]{#1}" + write$ newline$ + "\providecommand{\DOIprefix}{doi:}" + write$ newline$ + "\providecommand{\ArXivprefix}{arXiv:}" + write$ newline$ + "\providecommand{\URLprefix}{URL: }" + write$ newline$ + "\providecommand{\Pubmedprefix}{pmid:}" + write$ newline$ + "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +EXECUTE {init.web.variables} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `elsarticle-num-names.bst'. +%% +%% +%% Change log: +%% ----------- +%% 22.04.2011 +%% +%% 10.08.2012 +%% a. doi, url, eprint, pmid added +%% b. Bibtype `webpage' defined +%% +%% 30.08.2012 +%% a. collaboration added. + + diff --git a/pubs/applied-ocean-research-model/references.bib b/pubs/applied-ocean-research-model/references.bib new file mode 100644 index 000000000..7c7f0aecc --- /dev/null +++ b/pubs/applied-ocean-research-model/references.bib @@ -0,0 +1,5684 @@ + +@book{hamming_numerical_1962, + address = {New York}, + series = {International series in pure and applied mathematics}, + title = {Numerical methods for scientists and engineers}, + url = {http://archive.org/details/numericalmethods0000hamm}, + abstract = {411 p. 24 cm; Includes bibliography}, + language = {eng}, + urldate = {2026-06-09}, + publisher = {McGraw-Hill}, + author = {Hamming, Richard Wesley}, + year = {1962}, + keywords = {Electronic digital computers}, +} + +@misc{thunberg_speech_2019, + address = {London, England}, + type = {Speech}, + series = {Archives of {Women}'s {Political} {Communication}}, + title = {Speech to the {British} {Parliament}}, + url = {https://awpc.cattcenter.iastate.edu/communication/speech-british-parliament-april-23-2019}, + author = {Thunberg, Greta}, + month = apr, + year = {2019}, +} + +@misc{ackoff_video_2003, + address = {Huntington Beach}, + title = {Dr. {Ackoff} {Seminar}}, + volume = {1}, + url = {https://www.youtube.com/watch?v=a0ooqJ-pOH4&t=26s}, + collaborator = {{The Deming Cooperative}}, + month = mar, + year = {2003}, +} + +@misc{bimali_matrix_2026, + title = {Matrix structure and convergence behaviour of the matched eigenfunction method for computing heave wave forces on generalized concentric bodies}, + url = {http://arxiv.org/abs/2605.19730}, + doi = {10.48550/arXiv.2605.19730}, + abstract = {Structural survival of offshore structures is crucial for the growing marine economy. Calculating the added mass, radiation damping, and excitation coefficients to quantify wave loads with the traditional boundary element method (BEM) presents a computational bottleneck. The matched eigenfunction expansion method (MEEM), a long-known but rarely-used alternative, offers computational benefits due to its semi-analytical nature. However, previous work fails to directly compare its accuracy and computational performance with BEM, leaving the extent of its utility unknown. Furthermore, the geometry-dependent convergence for cylindrical and slanted geometries has not yet been documented, making the method's practicality for general geometries unclear. This paper presents a unifying MEEM framework for modeling an arbitrary number of fixed or heaving surface-piercing annular cylinders with continuous and radially-monotonic body profiles, and explores the method's block matrix structure, convergence behavior, ability to accurately approximate slanted geometries, and computational advantages over the BEM solver Capytaine. The numerical experiments show that MEEM can compute hydrodynamic coefficients of slanted geometries within 5\% of Capytaine, even for angles as steep as 15 degrees from vertical. Finally, MEEM can achieve 2\% convergence of its hydrodynamic coefficients an order of magnitude faster than Capytaine with a matrix size two orders of magnitude smaller, making it a computationally effective alternative to traditional BEM solvers. These contributions enable hydrodynamic analysis of a broad range of shapes with increased speed and confidence, paving the way for future optimization studies to yield improved designs.}, + urldate = {2026-06-09}, + publisher = {arXiv}, + author = {Bimali, Yinghui and McCabe, Rebecca and Treacy, Collin and Khanal, Kapil and Lo, En and Haji, Maha}, + month = may, + year = {2026}, + note = {arXiv:2605.19730 [physics.ao-ph]}, + keywords = {Physics - Atmospheric and Oceanic Physics, Physics - Fluid Dynamics}, +} + +@unpublished{mccabe_development_2026, + title = {Development, {Validation}, and {Benchmarking} of a {Multidisciplinary} {Semi}-{Analytical} {Model} for {Wave} {Energy} {Converters}}, + author = {McCabe, Rebecca and Dietrich, Madison and Haji, Maha}, + year = {2026}, + note = {Note: In prep.}, +} + +@unpublished{mccabe_leveraging_2026, + title = {Leveraging {Multidisciplinary} {Design} {Optimization} to {Advance} {Wave} {Energy} {Converter} {Viability}}, + author = {McCabe, Rebecca and Dietrich, Madison and Haji, Maha}, + year = {2026}, + note = {Note: In prep.}, +} + +@book{boyd_convex_2004, + title = {Convex {Optimization}}, + isbn = {978-0-521-83378-3}, + abstract = {Convex optimization problems arise frequently in many different fields. This book provides a comprehensive introduction to the subject, and shows in detail how such problems can be solved numerically with great efficiency. The book begins with the basic elements of convex sets and functions, and then describes various classes of convex optimization problems. Duality and approximation techniques are then covered, as are statistical estimation techniques. Various geometrical problems are then presented, and there is detailed discussion of unconstrained and constrained minimization problems, and interior-point methods. The focus of the book is on recognizing convex optimization problems and then finding the most appropriate technique for solving them. It contains many worked examples and homework exercises and will appeal to students, researchers and practitioners in fields such as engineering, computer science, mathematics, statistics, finance and economics.}, + language = {en}, + publisher = {Cambridge University Press}, + author = {Boyd, Stephen P. and Vandenberghe, Lieven}, + month = mar, + year = {2004}, + note = {Google-Books-ID: mYm0bLd3fcoC}, + keywords = {Business \& Economics / Econometrics, Business \& Economics / Investments \& Securities / General, Computers / Computer Science, Mathematics / General, Mathematics / Linear \& Nonlinear Programming, Mathematics / Optimization, Mathematics / Probability \& Statistics / General, Technology \& Engineering / Electronics / General}, +} + +@article{agrawal_disciplined_2020, + title = {Disciplined quasiconvex programming}, + volume = {14}, + issn = {1862-4480}, + url = {https://doi.org/10.1007/s11590-020-01561-8}, + doi = {10.1007/s11590-020-01561-8}, + abstract = {We present a composition rule involving quasiconvex functions that generalizes the classical composition rule for convex functions. This rule complements well-known rules for the curvature of quasiconvex functions under increasing functions and pointwise maximums. We refer to the class of optimization problems generated by these rules, along with a base set of quasiconvex and quasiconcave functions, as disciplined quasiconvex programs. Disciplined quasiconvex programming generalizes disciplined convex programming, the class of optimization problems targeted by most modern domain-specific languages for convex optimization. We describe an implementation of disciplined quasiconvex programming that makes it possible to specify and solve quasiconvex programs in CVXPY 1.0.}, + language = {en}, + number = {7}, + urldate = {2026-05-05}, + journal = {Optimization Letters}, + author = {Agrawal, Akshay and Boyd, Stephen}, + month = oct, + year = {2020}, + keywords = {Convex optimization, Domain-specific languages, Quasiconvex programming}, + pages = {1643--1657}, +} + +@article{megretski_system_1997, + title = {System analysis via integral quadratic constraints}, + volume = {42}, + issn = {1558-2523}, + url = {https://ieeexplore.ieee.org/document/587335/}, + doi = {10.1109/9.587335}, + abstract = {This paper introduces a unified approach to robustness analysis with respect to nonlinearities, time variations, and uncertain parameters. From an original idea by Yakubovich (1967), the approach has been developed under a combination of influences from the Western and Russian traditions of control theory. It is shown how a complex system can be described, using integral quadratic constraints (IQC) for its elementary components. A stability theorem for systems described by IQCs is presented that covers classical passivity/dissipativity arguments but simplifies the use of multipliers and the treatment of causality. A systematic computational approach is described, and relations to other methods of stability analysis are discussed. Last, but not least, the paper contains a summarizing list of IQCs for important types of system components.}, + number = {6}, + urldate = {2026-04-26}, + journal = {IEEE Transactions on Automatic Control}, + author = {Megretski, A. and Rantzer, A.}, + month = jun, + year = {1997}, + keywords = {Computational modeling, Control system synthesis, Control theory, Design engineering, Feedback, Parameter estimation, Power system modeling, Robust stability, Robustness, Stability analysis}, + pages = {819--830}, +} + +@article{elnagar_pseudospectral_1995, + title = {The pseudospectral {Legendre} method for discretizing optimal control problems}, + volume = {40}, + issn = {1558-2523}, + url = {https://ieeexplore.ieee.org/document/467672}, + doi = {10.1109/9.467672}, + abstract = {This paper presents a computational technique for optimal control problems including state and control inequality constraints. The technique is based on spectral collocation methods used in the solution of differential equations. The system dynamics are collocated at Legendre-Gauss-Lobatto points. The derivative x/spl dot/(t) of the state x(t) is approximated by the analytic derivative of the corresponding interpolating polynomial. State and control inequality constraints are collocated at Legendre-Gauss-Lobatto nodes. The integral involved in the definition of the performance index is discretized based on the Gauss-Lobatto quadrature rule. The optimal control problem is thereby converted into a mathematical programming program. Thus existing, well-developed optimization algorithms may be used to solve the transformed problem. The method is easy to implement, capable of handling various types of constraints, and yields very accurate results. Illustrative examples are included to demonstrate the capability of the proposed method, and a comparison is made with existing methods in the literature.{\textless}{\textgreater}}, + number = {10}, + urldate = {2026-04-08}, + journal = {IEEE Transactions on Automatic Control}, + author = {Elnagar, G. and Kazemi, M.A. and Razzaghi, M.}, + month = oct, + year = {1995}, + keywords = {Chebyshev approximation, Differential equations, Gaussian processes, Lagrangian functions, Mathematical programming, Mathematics, Numerical analysis, Optimal control, Performance analysis, Polynomials}, + pages = {1793--1796}, +} + +@article{hals_comparison_2011, + title = {A {Comparison} of {Selected} {Strategies} for {Adaptive} {Control} of {Wave} {Energy} {Converters}}, + volume = {133}, + issn = {0892-7219}, + url = {https://doi.org/10.1115/1.4002735}, + doi = {10.1115/1.4002735}, + abstract = {Wave-energy converters of the point-absorbing type (i.e., having small extension compared with the wavelength) are promising for achieving cost reductions and design improvements because of a high power-to-volume ratio and better possibilities for mass production of components and devices as compared with larger converter units. However, their frequency response tends to be narrow banded, which means that the performance in real seas (irregular waves) will be poor unless their motion is actively controlled. Only then the invested equipment can be fully exploited, bringing down the overall energy cost. In this work various control methods for point-absorbing devices are reviewed, and a representative selection of methods is investigated by numerical simulation in irregular waves, based on an idealized example of a heaving semisubmerged sphere. Methods include velocity-proportional control, approximate complex conjugated control, approximate optimal velocity tracking, phase control by latching and clutching, and model-predictive control, all assuming a wave pressure measurement as the only external input to the controller. The methods are applied for a single-degree-of-freedom heaving buoy. Suggestions are given on how to implement the controllers, including how to tune control parameters and handle amplitude constraints. Based on simulation results, comparisons are made on absorbed power, reactive power flow, peak-to-average power ratios, and implementation complexity. Identified strengths and weaknesses of each method are highlighted and explored. It is found that overall improvements in average absorbed power of about 100–330\% are achieved for the investigated controllers as compared with a control strategy with velocity-proportional machinery force. One interesting finding is the low peak-to-average ratios resulting from clutching control for wave periods about 1.5 times the resonance period and above.}, + number = {031101}, + urldate = {2026-04-08}, + journal = {Journal of Offshore Mechanics and Arctic Engineering}, + author = {Hals, Jørgen and Falnes, Johannes and Moan, Torgeir}, + month = mar, + year = {2011}, +} + +@article{tan_computationally_2026, + title = {Computationally efficient spectral-domain wave-to-wire modeling of wave energy converters with geared rotary generators}, + volume = {170}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118726001112}, + doi = {10.1016/j.apor.2026.105028}, + abstract = {Wave-to-Wire (W2W) modeling simulates the whole operation process of wave energy converters (WECs), which plays a pivotal role in the systematic design and optimization of WECs. Existing W2W models are predominantly constructed based on time-domain (TD) analysis to coherently incorporate relevant nonlinearities. However, TD models require a high computational cost, which hinders the design iterations of WECs. As a newly emerging alternative approach, spectral-domain (SD) modeling has demonstrated the applicability of describing the W2W process while efficiently covering nonlinear effects through statistical linearization. This study aims to develop an SD W2W modeling approach for WECs coupled with a gearbox and rotary generator. The application of the proposed model is exemplified in two case studies: (1) a point absorber with a rack-pinion system and a rotary generator; (2) a flap-type WEC with a revolving gearbox and a rotary generator. The simulation results obtained by the SD W2W model are compared against a higher-fidelity nonlinear TD W2W model to verify its accuracy across a variety of sea states. A good agreement between the two modeling approaches is observed, in which the maximum relative error is below 7 \% with regard to the estimation of important system outputs. Meanwhile, the computational efficiency of the SD W2W model is thousands of times higher than the TD modeling approach.}, + urldate = {2026-04-07}, + journal = {Applied Ocean Research}, + author = {Tan, Jian and Tao, Ji and Tao, Wei and Xi, Chen and Lavidas, George and Shi, Hongda}, + month = may, + year = {2026}, + keywords = {Geared rotary generator, Spectral-domain modeling, Wave energy converter, Wave-to-wire analysis}, + pages = {105028}, +} + +@book{atherton_nonlinear_1982, + edition = {Student edition}, + title = {Nonlinear {Control} {Engineering}: {Describing} {Function}, {Analysis} and...}, + isbn = {978-0-442-30486-7}, + shorttitle = {Nonlinear {Control} {Engineering}}, + url = {https://www.biblio.com/book/nonlinear-control-engineering-describing-function-analysis/d/1530706447?srsltid=AfmBOopUAO10sh1B9SwmwO78Kn8XmqZsEBUCuyRDsBzWQw9y1AH_QJWz}, + abstract = {Find the best prices on Nonlinear Control Engineering: Describing Function, Analysis and Design by Atherton, Derek P at Biblio {\textbar} Paperback {\textbar} 1982 {\textbar} Chapman \& Hall {\textbar} 9780442304867}, + language = {en}, + urldate = {2026-04-07}, + publisher = {Chapman \& Hall}, + author = {Atherton, Derek P}, + year = {1982}, +} + +@book{ching_quasilinear_2010, + address = {Cambridge}, + title = {Quasilinear {Control}: {Performance} {Analysis} and {Design} of {Feedback} {Systems} with {Nonlinear} {Sensors} and {Actuators}}, + isbn = {978-1-107-00056-8}, + shorttitle = {Quasilinear {Control}}, + url = {https://www.cambridge.org/core/books/quasilinear-control/7FCDA58513EA21BEEB4C3FA941C818BD}, + doi = {10.1017/CBO9780511976476}, + abstract = {This is a textbook and reference for readers interested in quasilinear control (QLC). QLC is a set of methods for performance analysis and design of linear plant or nonlinear instrumentation (LPNI) systems. The approach of QLC is based on the method of stochastic linearization, which reduces the nonlinearities of actuators and sensors to quasilinear gains. Unlike the usual - Jacobian linearization - stochastic linearization is global. Using this approximation, QLC extends most of the linear control theory techniques to LPNI systems. A bisection algorithm for solving these equations is provided. In addition, QLC includes new problems, specific for the LPNI scenario. Examples include Instrumented LQR/LQG, in which the controller is designed simultaneously with the actuator and sensor, and partial and complete performance recovery, in which the degradation of linear performance is either contained by selecting the right instrumentation or completely eliminated by the controller boosting.}, + urldate = {2026-04-07}, + publisher = {Cambridge University Press}, + author = {Ching, ShiNung and Eun, Yongsoon and Gokcek, Cevat and Kabamba, Pierre T. and Meerkov, Semyon M.}, + year = {2010}, +} + +@book{roberts_random_2003, + title = {Random {Vibration} and {Statistical} {Linearization}}, + isbn = {978-0-486-43240-3}, + abstract = {Coherent and self-contained, this volume explains the general method of statistical, or equivalent, linearization and its use in solving random vibration problems. Numerous examples, drawn from a wide variety of engineering problems, offer advanced undergraduate and graduate students a comprehensive view of the method\&\#39;s practical applications. Subjects include general equations of motion and the representation of non-linearities, probability theory and stochastic processes, elements of linear random vibration theory, statistical linearization for simple systems with stationary response, statistical linearization of multi-degree of freedom systems with stationary response, and non-stationary problems. Additional topics include systems with hysteretic non-linearity, relaxation of the Gaussian response assumption, and accuracy of statistical linearization. This updated edition features exclusive material newly prepared by Dr. Spanos, including an appendix, preface, and corrections to the original. 1990 edition.}, + language = {en}, + publisher = {Courier Corporation}, + author = {Roberts, John Brian and Spanos, Pol D.}, + month = dec, + year = {2003}, + note = {Google-Books-ID: xQ7TtGwEMVoC}, + keywords = {Technology \& Engineering / Civil / General, Technology \& Engineering / Engineering (General), Technology \& Engineering / Mechanical}, +} + +@article{vanantwerp_tutorial_2000, + title = {A tutorial on linear and bilinear matrix inequalities}, + volume = {10}, + issn = {0959-1524}, + url = {https://www.sciencedirect.com/science/article/pii/S0959152499000566}, + doi = {10.1016/S0959-1524(99)00056-6}, + abstract = {This is a tutorial on the mathematical theory and process control applications of linear matrix inequalities (LMIs) and bilinear matrix inequalities (BMIs). Many convex inequalities common in process control applications are shown to be LMIs. Proofs are included to familiarize the reader with the mathematics of LMIs and BMIs. LMIs and BMIs are applied to several important process control applications including control structure selection, robust controller analysis and design, and optimal design of experiments. Software for solving LMI and BMI problems is reviewed.}, + number = {4}, + urldate = {2026-04-07}, + journal = {Journal of Process Control}, + author = {VanAntwerp, Jeremy G. and Braatz, Richard D.}, + month = aug, + year = {2000}, + pages = {363--385}, +} + +@article{issoglio_second-order_2026, + title = {Second-order wave excitation forces in {WEC}-{Sim}/{MOST}: {Implementation}, experimental validation, and code-to-code comparison}, + volume = {353}, + issn = {0029-8018}, + shorttitle = {Second-order wave excitation forces in {WEC}-{Sim}/{MOST}}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801826004397}, + doi = {10.1016/j.oceaneng.2026.124605}, + abstract = {Accurate prediction of second-order hydrodynamic loads is essential for floating bodies, including floating offshore wind turbines, wave energy converters, and hybrid wind–wave platforms. These nonlinear effects, arising from both sum- and difference-frequency forcing, are critical for capturing key response characteristics but remain challenging to model efficiently. In this work, we extend the open-source Wave Energy Converter Simulator / MATLAB for Offshore Simulation Tool by implementing second-order wave excitation forces, supporting both the full Quadratic Transfer Function formulation and the Newman approximation. The full Quadratic Transfer Function method is used for all code-to-code comparisons and experimental validation, while the Newman approximation is provided as a computationally lighter alternative. To benchmark the new capability, we perform a code-to-code comparison with OpenFAST and OrcaFlex. We then validate the enhanced model using wave-tank measurements of a 1:96 scale DeepCwind semi-submersible, showing that second-order effects are required to reproduce platform motions. The implementation employs a computationally efficient pre-computation strategy for second-order wave excitation forces, reducing simulation cost while maintaining engineering accuracy. Overall, this work advances the tool as an open-source and versatile tool for modelling floating offshore renewable-energy systems requiring second-order hydrodynamic fidelity.}, + urldate = {2026-03-20}, + journal = {Ocean Engineering}, + author = {Issoglio, Davide and Shabara, Mohamed A. and Petracca, Ermando and Niosi, Francesco and Keester, Adam and Sirigu, Massimo and Bracco, Giovanni}, + month = apr, + year = {2026}, + keywords = {Code-to-code comparison, Experimental validation, Floating offshore wind turbines (FOWTs), Second-order wave excitation forces, WEC-Sim/MOST}, + pages = {124605}, +} + +@inproceedings{mccabe_wec_2025, + address = {Corvallis, OR}, + title = {{WEC} optimization to maximize grid economic value and avoided emissions}, + url = {https://calkit.io/symbiotic-engineering/mdocean/publications#pubs/UMERC-2025-grid-value/UMERC_2025_grid_value.pdf}, + booktitle = {{UMERC}+{OREC} 2025 {Conference}}, + publisher = {University Marine Energy Research Consortium}, + author = {McCabe, Rebecca}, + month = aug, + year = {2025}, + pages = {8}, +} + +@inproceedings{mccabe_open-source_2024, + address = {Duluth, MN}, + title = {Open-source toolbox for semi-analytical hydrodynamic coefficients via the matched eigenfunction expansion method}, + url = {https://zenodo.org/records/14504017}, + doi = {10.5281/zenodo.14504017}, + abstract = {Floating body hydrodynamics are typically solved numerically using the boundary element method. Theassociated code is computationally costly, scaling with the number of mesh panels, and can have accuracy issues atspecific frequencies and for thin bodies. In this work, we instead implement a previously-developed matchedeigenfunction expansion method to semi-analytically solve the linear potential flow radiation problem foraxisymmetric bodies. This method first establishes distinct fluid regions based on the body geometry and expressesthe velocity potential as a function of vertical and radial basis functions (eigenfunctions) with unknown coefficients.Eigenfunctions are chosen to automatically enforce several boundary conditions of the problem. The coefficients arefound by truncating and solving an infinite linear system representing the matching of potential and radial velocityacross fluid region boundaries. This yields a solution for the 3D potential and the hydrodynamic coefficients. Wecompare the results and computational complexity of the matched eigenfunction expansion method with that of thestandard boundary element method. Benefits of the former include 10x faster solve time and lack of meshing, whichare particularly appealing in optimization workflows. Our framework will be released as an open-source pythonpackage to enable future integration with design tools, implementation of gradients, and democratization of thisefficient method. This is a meaningful contribution because prior relevant implementations of the matchedeigenfunction expansion method are, to the authors’ knowledge, private and not available open-source or evencommercially. Future work will extend this formulation to different kinds of bodies and arrays.}, + urldate = {2025-01-03}, + booktitle = {{UMERC} ({University} {Marine} {Energy} {Research} {Consortium}) {Conference} 2024}, + publisher = {Zenodo}, + author = {McCabe, Rebecca and Khanal, Kapil and Haji, Maha}, + month = aug, + year = {2024}, + pages = {6}, +} + +@techreport{ruehl_next-generation_2023, + title = {Next-{Generation} {Marine} {Energy} {Software} {Needs} {Assessment}}, + url = {https://www.osti.gov/biblio/2431205}, + doi = {10.2172/2431205}, + abstract = {The U.S. Department of Energy (DOE) Water Power Technologies Office’s (WPTO) initial investment in marine energy software was driven by needs identified over a decade ago. WPTO-funded research was first launched because of a U.S. congressional mandate that called for the DOE to officially research marine energy technologies, which also established the DOE WPTO in 2008. A congressional mandate requested the WPTO to evaluate a variety of marine energy devices, establish baseline levelized cost of energy estimates, and provide an overall report to Congress. This congressional mandate led to the Reference Model Project (RMP), for which WPTO funded a national multi-laboratory team to develop these reference models, based on state-of-the-art designs of six marine energy converter archetypes that consisted of three current energy converters and three wave energy converters (WEC). Each device was designed to operate for a specific marine resource, thus allowing the devices to serve as reference models for future studies. The RMP congressional report cited the need for improved marine energy software to handle a variety of device designs, as well as a need to standardize performance outputs. Without validated software packages and established metrics, information presented to the WPTO by technology developers could be incorrect or inaccurate and result in misleading conclusions. The recommendation to coordinate WPTO investment in software for numerical modeling and analysis was given a high priority because it would directly fill needs at the time, and focused funding would amplify impact. By sponsoring software development, WPTO would provide industry developers, university researchers, and national laboratories software that could be used, customized, and advanced, thus supporting the overall advancement of marine energy.}, + language = {English}, + number = {SAND--2023-03906R; NREL/TP-5700-84936}, + urldate = {2026-03-14}, + institution = {Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States); National Renewable Energy Laboratory (NREL), Golden, CO (United States)}, + author = {Ruehl, Kelley Michelle and Leon-Quiroga, Jorge Andres and Michelen Strofer, Carlos Alejandro and Topper, Mathew and Tom, Nathan and Baca, Elena and Ogden, David}, + month = may, + year = {2023}, +} + +@unpublished{best_openflash_2026, + type = {In review}, + title = {{OpenFLASH}: {An} open-source flexible library for analytical and semi-analytical hydrodynamics calculations}, + url = {https://joss.theoj.org/papers/842d9827ef856fd88af7128f707f265b}, + author = {Best, Hope and Khanal, Kapil and McCabe, Rebecca and Jiang, Ruiyang and Treacy, Collin and Haji, Maha}, + year = {2026}, + note = {In review}, +} + +@incollection{chicone_contraction_2006, + title = {Contraction}, + isbn = {978-0-387-30769-5}, + url = {https://www.google.com/books/edition/Ordinary_Differential_Equations_with_App/yfY2uGROVrUC}, + abstract = {Mathematics is playing an ever more important role in the physical and biological sciences, provoking a blurring of boundaries between scienti?c disciplines and a resurgence of interest in the modern as well as the cl- sical techniques of applied mathematics. This renewal of interest, both in research and teaching, has led to the establishment of the series Texts in Applied Mathematics (TAM). Thedevelopmentofnewcoursesisanaturalconsequenceofahighlevelof excitement on the research frontier as newer techniques, such as numerical and symbolic computer systems, dynamical systems, and chaos, mix with and reinforce the traditional methods of applied mathematics. Thus, the purpose of this textbook series is to meet the current and future needs of these advances and to encourage the teaching of new courses. TAM will publish textbooks suitable for use in advanced undergraduate and beginning graduate courses, and will complement the Applied Ma- ematical Sciences (AMS) series, which will focus on advanced textbooks and research-level monographs. Pasadena, California J.E. Marsden New York, New York L. Sirovich College Park, Maryland S.S. Antman Preface This book is based on a two-semester course in ordinary di?erential eq- tions that I have taught to graduate students for two decades at the U- versity of Missouri. The scope of the narrative evolved over time from an embryonic collection of supplementary notes, through many classroom tested revisions, to a treatment of the subject that is suitable for a year (or more) of graduate study.}, + language = {en}, + booktitle = {Ordinary {Differential} {Equations} with {Applications}}, + publisher = {Springer Science \& Business Media}, + author = {Chicone, Carmen}, + month = may, + year = {2006}, + note = {Google-Books-ID: yfY2uGROVrUC}, + keywords = {Mathematics / Calculus, Mathematics / Differential Equations / General, Mathematics / Linear \& Nonlinear Programming, Mathematics / Mathematical Analysis, Science / Physics / General}, + pages = {121--144}, +} + +@inproceedings{philip_damping_2012, + address = {Rio de Janeiro, Brazil}, + title = {Damping {Characteristics} of {Heave} {Plates} {Attached} to {Spar} {Hull}}, + url = {https://dx.doi.org/10.1115/OMAE2012-83290}, + doi = {10.1115/OMAE2012-83290}, + abstract = {Damping elements are used in ships and offshore structures as response reduction devices for maintaining the hydrodynamic response within acceptable limits. The use of such elements so far has been based on past experience or using empirical based design approach. An investigation of the wave excitation forces acting on these structures with and without damping elements may give an insight into the damping effects of such elements. Also understanding the flow pattern and the magnitude of flow variation around these elements may be useful to improve the design methods. In the present study, measurement of damping forces and response were carried out to establish the relationship between wave frequency amplitude and damping ratio. It was observed that the damping varies with wave period non-linearly and linearly with wave height. Also it was observed that increase in added mass combined with viscous damping is a key factor for the effectiveness of heave plates in reducing motion response of spar platforms. Of the various configurations tested, the spar with double heave plate at the bottom has higher damping compared to other configurations.}, + language = {en}, + urldate = {2025-04-28}, + booktitle = {{ASME} 2012 31st {International} {Conference} on {Ocean}, {Offshore} and {Arctic} {Engineering}}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Philip, Nimmy Thankom and Nallayarasu, S. and Bhattacharyya, S. K.}, + year = {2012}, + pages = {12}, +} + +@misc{anderson_re-imagining_2024, + address = {Duluth, MN}, + type = {Conference presentation}, + title = {Re-{Imagining} the {RM3} through control co-design}, + url = {https://umerc2024.exordo.com/programme/presentation/106}, + urldate = {2024-12-22}, + author = {Anderson, Megan and Gaebele, Daniel and Roach, Aeron and Forbrush, Dominic and Roberts, Jesse and Weber, Jochem}, + month = aug, + year = {2024}, +} + +@inproceedings{ogden_hydrochrono_2023, + title = {{HydroChrono}: {An} {Open}-{Source} {Hydrodynamics} {Package} for {Project} {Chrono}}, + shorttitle = {{HydroChrono}}, + url = {https://research-hub.nrel.gov/en/publications/hydrochrono-an-open-source-hydrodynamics-package-for-project-chro/}, + doi = {10.36688/ewtec-2023-473}, + language = {American English}, + urldate = {2026-02-27}, + booktitle = {15th {European} {Wave} and {Tidal} {Energy} {Conference}}, + author = {Ogden, David and Quinton, Zuriah and Lataillade, Tristan de and Pallud, Maxime}, + year = {2023}, + pages = {10}, +} + +@inproceedings{mccabe_multidisciplinary_2022, + title = {Multidisciplinary {Optimization} to {Reduce} {Cost} and {Power} {Variation} of a {Wave} {Energy} {Converter}}, + url = {https://asmedigitalcollection.asme.org/IDETC-CIE/proceedings-abstract/IDETC-CIE2022/86229/1150407}, + doi = {10.1115/DETC2022-90227}, + abstract = {Abstract. Wave energy converters (WECs) can advance the global energy transition by producing clean power for utility grids and offshore technologies. This paper provides a multidisciplinary, dual objective optimization of the Reference Model 3 (RM3), a two-body point absorber WEC design benchmark. The simulation model employs linear hydrodynamics with force saturation and probabilistic waves. The RM3 geometry and controller parameters are optimized using sequential quadratic programming to minimize the levelized cost of energy (LCOE) and the coefficient of variation of power. The minimum-LCOE design produces a power variation of 205\% and an LCOE of \$0.08/kWh, a seven-fold cost reduction and 23\% lower variation from the RM3 baseline of \$0.75/kWh and 255\% variation. Parameter sensitivities show that LCOE depends more strongly on site and economic parameters than geometric or material parameters, while power variation is largely insensitive to all parameters. A Pareto trade-offbetween cost and power variation reveals different optimal designs depending on which objective is prioritized, suggesting application-specific design heuristics. Three representative optimal designs are investigated: a minimum-LCOE design for cost-sensitive operations like utility power, a minimum-variation design for cost-insensitive installations like small offshore systems, and a balanced design for intermediate applications. Power probability distributions are shown for each.}, + language = {en}, + urldate = {2023-03-01}, + booktitle = {{ASME} 2022 {International} {Design} {Engineering} {Technical} {Conferences} and {Computers} and {Information} in {Engineering} {Conference}}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {McCabe, Rebecca and Murphy, Olivia and Haji, Maha}, + month = nov, + year = {2022}, + pages = {10}, +} + +@inproceedings{chau_inertia_2012, + title = {Inertia, {Damping}, and {Wave} {Excitation} of {Heaving} {Coaxial} {Cylinders}}, + url = {https://dx.doi.org/10.1115/OMAE2012-83987}, + doi = {10.1115/OMAE2012-83987}, + abstract = {The method of matched eigenfunction expansions is applied in this paper to obtain the hydrodynamic coefficients of a pair of coaxial cylinders, each of which can have independent movement. The geometry idealizes a device for extracting ocean wave energy in the heave mode. The effects of geometric variations and the interaction between cylinders on the hydrodynamic properties are discussed. Analytical expressions for the low-frequency behavior of the hydrodynamic coefficients are also derived. The wave-exciting force on the bottom surface of either one of the cylinders is derived using the radiation solutions, with a generalized form of the Haskind relation developed for this geometry. The presented results are immediately applicable to examine free motion of coaxial cylinders in a wave field.}, + language = {en}, + urldate = {2023-09-28}, + booktitle = {{ASME} 2012 31st {International} {Conference} on {Ocean}, {Offshore} and {Arctic} {Engineering}}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Chau, Fun Pang and Yeung, Ronald W.}, + year = {2012}, + pages = {803--813}, +} + +@mastersthesis{herber_dynamic_2014, + address = {Urbana, Illinois}, + title = {Dynamic system design optimization of wave energy converters utilizing direct transcription}, + copyright = {Copyright 2014 Daniel Ronald Herber}, + url = {https://hdl.handle.net/2142/49463}, + abstract = {Dynamics are playing an increasingly important role in many engineering +domains as these systems become more active and autonomous. Designing +a dynamic engineering system can be challenging. In this thesis, both the problem formulation and solution methods will be discussed for designing a dynamic engineering system. A case is made for the inclusion of both the physical and control system design into a single design formulation. A particular class of numerical methods known as direct transcription is identified as promising solution method. These principles are then demonstrated on the design of a wave energy converter, a device that captures energy present in ocean waves. This system is of particular interest since a successful design hinges on exploiting the natural dynamics of the interaction between the ocean waves and the physical wave energy converter. A number of numerical studies are presented that identify both novel and previously observed strategies for the maximizing energy production of a ocean wave energy converter.}, + urldate = {2023-03-03}, + school = {University of Illinois at Urbana-Champaign}, + author = {Herber, Daniel Ronald}, + month = may, + year = {2014}, +} + +@techreport{azarm_monotonicity-based_1988, + address = {College Park, MD}, + type = {Technical report}, + title = {Monotonicity-{Based} {Decomposition} {Methods} for {Design} {Optimization}.}, + url = {http://hdl.handle.net/1903/4743}, + abstract = {This paper describes applications of global and local monotonicity analysis within a decomposition framework. We present a general formulation and solution procedure, based on a bottom-level global monotoncity analysis, for a design optimization problem which is decomposed into three levels of subproblems. We then perform an optimality test to prove that the optimality conditions for the decomposed subproblems will form the optimality conditions of the overall problem. Furthermore, applications of a two-level decomposition method is presented in which an overall global monotonicity analysis or first-level local monotonicity analysis is performed. Well-known examples illustrate applications of the methods.}, + language = {en\_US}, + number = {SRC TR 88-10}, + urldate = {2026-02-27}, + institution = {University of Maryland College Park}, + author = {Azarm, Shapour and Li, Wei-Chu}, + year = {1988}, + pages = {39}, +} + +@misc{janzou_system_2020, + address = {Golden, CO}, + title = {System {Advisor} {Model} ({SAM})}, + copyright = {BSD-3-Clause}, + url = {https://github.com/NREL/SAM/}, + abstract = {System Advisor Model (SAM)}, + urldate = {2022-05-13}, + publisher = {National Renewable Energy Laboratory}, + author = {Janzou, Steve}, + month = nov, + year = {2020}, + note = {original-date: 2013-01-10T02:52:47Z}, +} + +@article{yoon_spectral_2016, + title = {Spectral {Analysis} of {Electrohydraulic} {System}}, + volume = {139}, + issn = {0022-0434}, + url = {https://doi.org/10.1115/1.4034780}, + doi = {10.1115/1.4034780}, + abstract = {This paper presents spectral analysis of an electrohydraulic system. For a linear system, spectral analysis using a frequency response function (FRF) offers great insight into system dynamics and controls. The objective of this paper is to extend such benefits to the nonlinear electrohydraulic system. To achieve the objective, generalized frequency response functions (GFRFs) and output spectra of the electrohydraulic system are analyzed in frequency domain. In this paper, two different approaches are proposed to derive the GFRFs. In the first approach, the analytic GFRFs are derived from physical dynamics of the electrohydraulic system. Thus, the dynamic features of the electrohydraulic system can be explored with respect to the physical parameters explicitly in frequency domain. In the second approach, the experimental GFRFs are identified from frequency response data. Although the explicit relationship with the physical parameters is not available, they can predict the output spectrum without a priori knowledge of the electrohydraulic system. The proposed approaches are applied to derive the GFRFs analytically and experimentally for spectral analysis of an electrohydraulic system. Spectral analysis reveals the critical dynamic features of the electrohydraulic system in frequency domain, and it turns out to be crucial for system design, identification, and controls of the electrohydraulic system.}, + number = {021005}, + urldate = {2026-03-16}, + journal = {Journal of Dynamic Systems, Measurement, and Control}, + author = {Yoon, Yongsoon and Sun, Zongxuan}, + month = nov, + year = {2016}, +} + +@article{wright_coordinate_2015, + title = {Coordinate descent algorithms}, + volume = {151}, + issn = {1436-4646}, + url = {https://doi.org/10.1007/s10107-015-0892-3}, + doi = {10.1007/s10107-015-0892-3}, + abstract = {Coordinate descent algorithms solve optimization problems by successively performing approximate minimization along coordinate directions or coordinate hyperplanes. They have been used in applications for many years, and their popularity continues to grow because of their usefulness in data analysis, machine learning, and other areas of current interest. This paper describes the fundamentals of the coordinate descent approach, together with variants and extensions and their convergence properties, mostly with reference to convex objectives. We pay particular attention to a certain problem structure that arises frequently in machine learning applications, showing that efficient implementations of accelerated coordinate descent algorithms are possible for problems of this type. We also present some parallel variants and discuss their convergence properties under several models of parallel execution.}, + language = {en}, + number = {1}, + urldate = {2026-02-27}, + journal = {Mathematical Programming}, + author = {Wright, Stephen J.}, + month = jun, + year = {2015}, + keywords = {49M20, 90C25, Coordinate descent, Parallel numerical computing, Randomized algorithms}, + pages = {3--34}, +} + +@article{martins_multidisciplinary_2013, + title = {Multidisciplinary {Design} {Optimization}: {A} {Survey} of {Architectures}}, + volume = {51}, + issn = {0001-1452}, + shorttitle = {Multidisciplinary {Design} {Optimization}}, + url = {https://arc.aiaa.org/doi/10.2514/1.J051895}, + doi = {10.2514/1.J051895}, + abstract = {Multidisciplinary design optimization is a field of research that studies the application of numerical optimization techniques to the design of engineering systems involving multiple disciplines or components. Since the inception of multidisciplinary design optimization, various methods (architectures) have been developed and applied to solve multidisciplinary design-optimization problems. This paper provides a survey of all the architectures that have been presented in the literature so far. All architectures are explained in detail using a unified description that includes optimization problem statements, diagrams, and detailed algorithms. The diagrams show both data and process flow through the multidisciplinary system and computational elements, which facilitate the understanding of the various architectures, and how they relate to each other. A classification of the multidisciplinary design-optimization architectures based on their problem formulations and decomposition strategies is also provided, and the benefits and drawbacks of the architectures are discussed from both theoretical and experimental perspectives. For each architecture, several applications to the solution of engineering-design problems are cited. The result is a comprehensive but straightforward introduction to multidisciplinary design optimization for nonspecialists and a reference detailing all current multidisciplinary design-optimization architectures for specialists.}, + number = {9}, + urldate = {2023-12-04}, + journal = {AIAA Journal}, + publisher = {American Institute of Aeronautics and Astronautics}, + author = {Martins, Joaquim R. R. A. and Lambe, Andrew B.}, + month = sep, + year = {2013}, + note = {\_eprint: https://doi.org/10.2514/1.J051895}, + pages = {2049--2075}, +} + +@article{reveyrand_multiport_2018, + address = {Brive La Gaillarde, France}, + title = {Multiport conversions between {S}, {Z}, {Y}, h, {ABCD}, and {T} parameters}, + copyright = {https://doi.org/10.15223/policy-029}, + url = {https://ieeexplore.ieee.org/document/8430023/}, + doi = {10.1109/INMMIC.2018.8430023}, + abstract = {This paper presents main formulas to convert S, Z, Y, h, ABCD and T parameters of multiport circuits. Formulas are presented in matrix form, and some restrictions on unbalanced systems for cascade parameters are discussed. Those expressions are prime of importance in order to analyze and optimize multiport systems without any simulation software.}, + urldate = {2026-02-05}, + journal = {2018 International Workshop on Integrated Nonlinear Microwave and Millimetre-wave Circuits (INMMIC)}, + publisher = {IEEE}, + author = {Reveyrand, T.}, + month = jul, + year = {2018}, + note = {Conference Name: 2018 International Workshop on Integrated Nonlinear Microwave and Millimetre-wave Circuits (INMMIC) +ISBN: 9781538655078}, + pages = {1--3}, +} + +@book{saadat_power_1999, + title = {Power system analysis}, + volume = {2}, + url = {https://www.uvic.ca/ecs/ece/assets/docs/current/undergraduate/201901/ece488.pdf}, + urldate = {2026-02-02}, + publisher = {McGraw-hill}, + author = {Saadat, Hadi}, + year = {1999}, +} + +@misc{weisstein_cassini_2026, + type = {Text}, + title = {Cassini {Ovals}}, + copyright = {Copyright 1999-2026 Wolfram Research, Inc. See https://mathworld.wolfram.com/about/terms.html for a full terms of use statement.}, + url = {https://mathworld.wolfram.com/CassiniOvals.html}, + abstract = {The Cassini ovals are a family of quartic curves, also called Cassini ellipses, described by a point such that the product of its distances from two fixed points a distance 2a apart is a constant b{\textasciicircum}2. The shape of the curve depends on b/a. If a{\textless}b, the curve is a single loop with an oval (left figure above) or dog bone (second figure) shape. The case a=b produces a lemniscate (third figure). If a{\textgreater}b, then the curve consists of two loops (right figure). Cassini ovals are anallagmatic...}, + language = {en}, + urldate = {2026-02-02}, + journal = {MathWorld - a Wolfram Resource}, + publisher = {Wolfram Research, Inc.}, + author = {Weisstein, Eric W.}, + month = jan, + year = {2026}, +} + +@book{tedrake_underactuated_2024, + title = {Underactuated {Robotics}: {Algorithms} for {Walking}, {Running}, {Swimming}, {Flying}, and {Manipulation}}, + url = {https://underactuated.csail.mit.edu}, + author = {Tedrake, Russ}, + year = {2024}, + note = {Published: Course Notes for MIT 6.832}, +} + +@article{coe_co-design_2025, + title = {Co-design of a wave energy converter through bi-conjugate impedance matching}, + volume = {111}, + issn = {0957-4158}, + url = {https://www.sciencedirect.com/science/article/pii/S0957415825001047}, + doi = {10.1016/j.mechatronics.2025.103395}, + abstract = {As with other oscillatory power conversion systems, the design of wave energy converters can be understood as an impedance matching problem. By representing the wave energy converter as a multi-port network, two separate but related impedance matching conditions can be established. Satisfying these conditions maximizes power transfer to the load. In practice, these impedance matching conditions may be used to influence the design of the system (including the hull, power take-off, controller, mooring, etc.). To this end, this paper considers some example applications of wave energy converter design with the help of the impedance matching framework.}, + urldate = {2025-12-16}, + journal = {Mechatronics}, + author = {Coe, Ryan G. and Bacelli, Giorgio and Gaebele, Daniel and Keow, Alicia and Forbush, Dominic}, + month = nov, + year = {2025}, + keywords = {Control co-design, Impedance matching, Wave energy converter (WEC)}, + pages = {103395}, +} + +@article{edwards_effect_2025, + title = {The effect of device geometry on the performance of a wave energy converter}, + volume = {4}, + copyright = {2025 The Author(s)}, + issn = {2731-3395}, + url = {https://www.nature.com/articles/s44172-025-00441-2}, + doi = {10.1038/s44172-025-00441-2}, + abstract = {Wave energy presents an excellent opportunity to add much-needed diversification to the global renewable energy portfolio. However, a competitive levelised cost of electricity for wave energy conversion devices is yet to be proven. Here, we optimise the geometry of a wave energy device to maximise power while also minimising the power take-off reaction moments. Using theory, numerical modelling and optimisation techniques, we show that by including minimisation of reaction moments in the optimisation, instead of only maximisation of power, it is possible to substantially lower the design loads while maintaining high efficiency. Using the underlying physics of how geometry affects the wave-structure interaction, we explain the resulting performance of these new designs for wave energy converters. We examine the resulting geometries for practicality, including performance over a wide range of sea states, motion requirements, and performance in a real sea-state off the coast of Scotland, United Kingdom. Comparing against the single shape which extracts the theoretical maximum power, the optimal shapes found in our study extract almost as much power (12\% less) with substantially less moment (reduced by up to 35\%), revealing a promising direction for wave energy development.}, + language = {en}, + number = {1}, + urldate = {2025-09-24}, + journal = {Communications Engineering}, + publisher = {Nature Publishing Group}, + author = {Edwards, Emma C. and Whitlam, Craig and Chapman, John and Hughes, Jack and Redfearn, Bryony and Brown, Scott and Draper, Scott and Borthwick, Alistair G. L. and Foster, Graham and Yue, Dick K.-P. and Hann, Martyn and Greaves, Deborah}, + month = jun, + year = {2025}, + keywords = {Civil engineering, Devices for energy harvesting, Mechanical engineering, Renewable energy}, + pages = {107}, +} + +@article{bacelli_system_2017, + title = {System {Identification} of a {Heaving} {Point} {Absorber}: {Design} of {Experiment} and {Device} {Modeling}}, + volume = {10}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + shorttitle = {System {Identification} of a {Heaving} {Point} {Absorber}}, + url = {https://www.mdpi.com/1996-1073/10/4/472}, + doi = {10.3390/en10040472}, + abstract = {Empirically based modeling is an essential aspect of design for a wave energy converter. Empirically based models are used in structural, mechanical and control design processes, as well as for performance prediction. Both the design of experiments and methods used in system identification have a strong impact on the quality of the resulting model. This study considers the system identification and model validation process based on data collected from a wave tank test of a model-scale wave energy converter. Experimental design and data processing techniques based on general system identification procedures are discussed and compared with the practices often followed for wave tank testing. The general system identification processes are shown to have a number of advantages, including an increased signal-to-noise ratio, reduced experimental time and higher frequency resolution. The experimental wave tank data is used to produce multiple models using different formulations to represent the dynamics of the wave energy converter. These models are validated and their performance is compared against one another. While most models of wave energy converters use a formulation with surface elevation as an input, this study shows that a model using a hull pressure measurement to incorporate the wave excitation phenomenon has better accuracy.}, + language = {en}, + number = {4}, + urldate = {2025-07-14}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Bacelli, Giorgio and Coe, Ryan G. and Patterson, David and Wilson, David}, + month = apr, + year = {2017}, + note = {Number: 4}, + keywords = {model validation, system identification, wave energy, wave tank testing}, + pages = {472}, +} + +@article{kristiansen_state-space_2005, + title = {State-space representation of radiation forces in time-domain vessel models}, + volume = {32}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801805000946}, + doi = {10.1016/j.oceaneng.2005.02.009}, + abstract = {The paper presents a method for generating a new and efficient time-domain formulation of the equations of motion for a vessel with frequency-dependent hydrodynamic coefficients. Previous work on this topic has relied on the use of convolution terms, whereas in this work state-space models are used. This leads to a model formulation that is well suited for controller design and simulation.}, + number = {17}, + urldate = {2025-07-14}, + journal = {Ocean Engineering}, + author = {Kristiansen, Erlend and Hjulstad, Åsmund and Egeland, Olav}, + month = dec, + year = {2005}, + keywords = {Convolution integral, Discretization, Frequency-dependent characteristics, State-space realization, Time-domain}, + pages = {2195--2216}, +} + +@article{greenhow_added_1988, + title = {Added mass and damping of horizontal circular cylinder sections}, + volume = {15}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/0029801888900121}, + doi = {10.1016/0029-8018(88)90012-1}, + abstract = {This note brings together and extends previously known results for the added masses and dampings of surface-piercing or completely submerged horizontal circular cylinders. For vertical (heave) motions, but not horizontal (sway) motions, a striking qualitative change occurs in these hydrodynamic coefficients when the cylinder breaks the surface. This is simply explained in terms of low-frequency asymptotics and the equivalent wavemaker method.}, + number = {5}, + urldate = {2025-07-14}, + journal = {Ocean Engineering}, + author = {Greenhow, M. and Ahn, S. I.}, + month = jan, + year = {1988}, + pages = {495--504}, +} + +@incollection{mckinley_dimensional_2021, + address = {Cambridge, MA}, + edition = {Spring 2021}, + title = {Dimensional {Analysis}}, + booktitle = {2.006: {Thermal} {Fluids} {Engineering} {II}}, + publisher = {MIT CopyTech}, + author = {McKinley, Garreth and Cheng, W and Brisson, John}, + year = {2021}, + pages = {78}, +} + +@misc{van_den_herik_idemat_2024, + type = {Excel sheet}, + title = {Idemat scope 3 eco-costs}, + url = {https://www.ecocostsvalue.com/data-tools-books/}, + urldate = {2024-04-15}, + author = {van den Herik, Jasper and Vögtlander, Joost}, + year = {2024}, +} + +@article{wu_development_2020, + title = {Development and validation of a high-resolution regional wave hindcast model for {U}.{S}. {West} {Coast} wave resource characterization}, + volume = {152}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148120300963}, + doi = {10.1016/j.renene.2020.01.077}, + abstract = {Wave resource characterization is an essential step for wave energy converter development in the ocean. However, accurate and detailed resource characterization at a regional scale poses a great challenge because of the requirements for high model grid resolution, extensive model validation, and a high-performance-computing resource. This study presents a multi-scale, multi-resolution approach using the WaveWatchIII and Simulating WAve Nearshore (SWAN) wave models to provide accurate long-term wave hindcasts with a spatial resolution of approximate 300 m in the nearshore region on the U.S. West Coast. Extensive model validation for the six wave resource parameters recommended by the International Electrotechnical Commission, bivariate histograms, and frequency-directional spectra distributions were conducted using a set of model performance metrics and measurements from 28 wave buoys along the West Coast. Model skills in simulating large waves under extreme storm events were also evaluated. Model results showed that the high-resolution SWAN model is able to accurately simulate the wave climate on the West Coast, especially in the nearshore region. This study also demonstrates that the multi-scale and multi-resolution modeling framework is an efficient approach for generating accurate long-term, high-resolution wave hindcasts for wave resource characterization at the regional scale.}, + urldate = {2025-07-02}, + journal = {Renewable Energy}, + author = {Wu, Wei-Cheng and Wang, Taiping and Yang, Zhaoqing and García-Medina, Gabriel}, + month = jun, + year = {2020}, + keywords = {High-resolution wave hindcast, Model validation, SWAN, U.S. West Coast, Unstructured-grid model, WaveWatchIII}, + pages = {736--753}, +} + +@article{allahdadi_development_2019, + title = {Development and validation of a regional-scale high-resolution unstructured model for wave energy resource characterization along the {US} {East} {Coast}}, + volume = {136}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148119300175}, + doi = {10.1016/j.renene.2019.01.020}, + abstract = {Leveraging the high-performance computing capability at one of the US Department of Energy’s (USDOE) National Laboratories, an ultra-high-resolution Simulating WAves Nearshore (SWAN) model suitable for wave energy project feasibility studies is developed for the US East Coast Region. This model uses an unstructured mesh with a coastal resolution of 200 m. It is forced by Climate Forecast System Reanalysis wind fields with spatial and temporal resolutions of 0.312° and 1 h at the surface, and by wave parameters from the global WAVEWATCH III model along the model’s open boundaries. It is the first USDOE regional wave hindcast model for the US East Coast developed according to International Electrotechnical Commission standards for wave energy resource assessment and characterization. The present study focuses on the development and validation of this ultra-high resolution large-scale model, including source model selection, sensitivity studies, and model performance evaluation for a wave energy resource characterization application.}, + urldate = {2025-07-02}, + journal = {Renewable Energy}, + author = {Allahdadi, M. Nabi and Gunawan, Budi and Lai, Jonathan and He, Ruoying and Neary, Vincent S.}, + month = jun, + year = {2019}, + keywords = {US East Coast, Wave energy, Wave modeling}, + pages = {500--511}, +} + +@article{mehta_designing_2024, + title = {Designing wind turbines for profitability in the day-ahead market}, + volume = {9}, + issn = {2366-7443}, + url = {https://wes.copernicus.org/articles/9/2283/2024/}, + doi = {10.5194/wes-9-2283-2024}, + abstract = {Traditionally, wind turbine and wind farm designs have been optimized to minimize the cost of energy. Such a design would make sense when bidding in price-based auctions. However, in a future with a high share of renewables and zero subsidies, the wind farm developer is exposed to the volatility of market prices, where the price paid per kilowatt-hour of energy would not be constant anymore. The developer might then have to maximize the revenue earned by participating in different energy, capacity, or ancillary services markets. In such a scenario, a turbine designed for maximizing its market value could be more profitable for the developer compared to a turbine designed for minimizing the levelized cost of electricity (LCoE). This study is in line with this paradigm shift in the field of turbine and farm design. It is a continuation of a previous study conducted by the same authors (Mehta et al., 2024), which explicitly focused on the drivers of turbine sizing with respect to LCoE. The goal of this study is to optimize the design for a new set of objective functions and analyze how various day-ahead market conditions and objectives drive turbine design. A simplified market model that can generate hourly day-ahead market prices is developed and coupled with a wind-farm-level multidisciplinary design analysis and optimization (MDAO) framework to evaluate key economic indicators of the wind farm. The results show how the optimum turbine design is driven by both the choice of the economic metric and the market scenario. However, an LCoE-optimized design is found to perform well with respect to profitability-based economic metrics like modified internal rate of return (MIRR) or profitability index (PI), indicating a limited need to redesign turbines for a specific day-ahead market scenario.}, + language = {English}, + number = {12}, + urldate = {2025-07-01}, + journal = {Wind Energy Science}, + publisher = {Copernicus GmbH}, + author = {Mehta, Mihir Kishore and Zaaijer, Michiel and von Terzi, Dominic}, + month = dec, + year = {2024}, + pages = {2283--2300}, +} + +@techreport{moraski_beyond_2025, + title = {Beyond {LCOE}: {A} {Systems}-{Oriented} {Perspective} for {Evaluating} {Electricity} {Decarbonization} {Pathways}}, + shorttitle = {Beyond {LCOE}}, + url = {https://www.catf.us/resource/beyond-lcoe/}, + abstract = {This report explains why Levelized Cost of Electricity (LCOE) fails to reflect the full complexity of electricity systems.}, + language = {en}, + urldate = {2025-07-01}, + institution = {Clean Air Task Force}, + author = {Moraski, Jill and Qvist, Malwina and Spokas, Kasparas}, + month = may, + year = {2025}, +} + +@mastersthesis{makaremi_economic_2025, + title = {Economic {Evaluation} {Metrics} for {Energy} {Island} {Solutions}, including wind and wave energy generation systems}, + url = {https://openarchive.usn.no/usn-xmlui/handle/11250/3202262}, + abstract = {In response to the global push for decarbonization and sustainable energy development, energy islands have emerged as a strategic concept for large-scale renewable electricity generation. While their technical potential is significant, the economic viability of such systems remains uncertain and requires a comprehensive assessment. This thesis investigates the economic evaluation of offshore energy island solutions utilizing wind, wave, and hybrid wind–wave configurations. + +The main objective of this research is to use a comprehensive set of established and profitability metrics to evaluate and compare the techno-economic performance of different Energy Island configurations. Four distinct configurations were assessed: standalone wind, standalone wave, wind-dominant hybrid, and wave-dominant hybrid systems. The case study is based on an offshore site near Stavanger, Norway, and simulations were performed using HOMER software. + +The methodology included device selection, Capital Expenditure and Operational Expenditure estimation, annual energy production (AEP) calculation, revenue forecasting, and the application of a wide range of economic evaluation metrics. These metrics are categorized as follows: + + * Non-Comprehensive Metrics: Levelized Cost of Energy (LCOE), Levelized Value of Energy (LVOE), Value Factor (VF) + * Comprehensive Metrics: Net Value of Energy (NVOE), Net Value of Capacity (NVOC), System LCOE (SLCOE) + * Profitability Metrics: Benefit-Cost Ratio (BCR), Cost-Benefit Ratio (CBR), Return on Investment (ROI), Profit Margin (PM), and Profitability-adjusted LCOE (PLCOE) +In addition, sensitivity analyses were conducted to assess the impact of key financial variables, such as discount rate and wave energy CAPEX, on the economic feasibility of different energy island configurations, with the aim of identifying break-even conditions and informing investment decisions. + +The results reveal that while wave-only systems remain economically challenging, hybrid wind–wave configurations, particularly those with cost optimization, can offer improved economic outcomes. The study concludes that applying a multi-metric evaluation approach provides a clearer picture of competitiveness, supporting better-informed decisions for future investments in offshore renewable infrastructure.}, + language = {eng}, + urldate = {2025-07-01}, + school = {University of South-Eastern Norway}, + author = {Makaremi, Elaheh}, + year = {2025}, + note = {Accepted: 2025-06-27T16:41:58Z}, +} + +@article{kainz_how_2024, + title = {How do technological choices affect the economic and environmental performance of offshore wind farms?}, + volume = {2767}, + issn = {1742-6596}, + url = {https://dx.doi.org/10.1088/1742-6596/2767/8/082005}, + doi = {10.1088/1742-6596/2767/8/082005}, + abstract = {The ongoing energy transition towards fully sustainable energy systems requires designing wind farms looking beyond the sole levelized cost of energy, in order to concurrently ensure not only the economic profitability but also the environmental friendliness of future plants. Within this new approach to design, it becomes necessary to understand the effects that various possible technological choices have on both the economic and the environmental performance of wind farms. This study presents a framework designed to support these coupled economic-environmental assessments. The capabilities of the code are showcased by analysing the impact of different choices in terms of support structure type, specific power, tower height, powertrain type, and array and export voltage level for an exemplary offshore farm, chosen here as the IEA Wind 740-10-MW Reference Offshore Wind Plant with irregular layout. While the effects of many technological choices on the cost of energy are already well understood by industry, the present analysis shows that — at least in this specific case — climate change impacts are mainly driven by steel production, due to the massive amount of required material, but also, interestingly, by vessel activities. A low specific power, tall towers, and a high export cable voltage appear to offer the greatest potential for the concurrent improvement of the environmental and economic performance of the plant.}, + language = {en}, + number = {8}, + urldate = {2025-07-01}, + journal = {Journal of Physics: Conference Series}, + publisher = {IOP Publishing}, + author = {Kainz, S and Guilloré, A and Bottasso, C L}, + month = jun, + year = {2024}, + pages = {082005}, +} + +@article{canet_eco-conscious_2023, + title = {The eco-conscious wind turbine: design beyond purely economic metrics}, + volume = {8}, + issn = {2366-7443}, + shorttitle = {The eco-conscious wind turbine}, + url = {https://wes.copernicus.org/articles/8/1029/2023/}, + doi = {10.5194/wes-8-1029-2023}, + abstract = {Wind turbines are designed to minimize the economic cost of energy, a metric aimed at making wind competitive with other energy-producing technologies. However, now that wind energy is competitive, how can we increase its value for the environment and for society? And how much would environmental and societal gains cost other stakeholders, such as investors or consumers? This paper tries to answer these questions, limitedly to climate-related environmental impacts, from the perspective of wind turbine design. + + Although wind turbines produce green renewable energy, they also have various impacts on the environment, as do all human endeavors. Among all impacts, the present work adopts the environmental effects produced by a turbine over its entire life cycle, expressed in terms of CO2-equivalent emissions. A new approach to design is proposed, whereby Pareto fronts of solutions are computed to define optimal trade-offs between economic and environmental goals. + + The new proposed methodology is demonstrated on the redesign of a baseline 3 MW wind turbine at two locations in Germany, differing for typical wind speeds but within the same energy market. Among other results, it is found that, in these conditions, a 1 \% increase in the cost of energy can buy about a 5 \% decrease in the environmental impact of the turbine. Additionally, it is also observed that in the specific case of Germany, very low-specific-power designs are typically favored, because they produce more energy at low wind speeds, where both the economic and environmental values of wind are higher. Furthermore, it is found that the CO2-equivalent emissions displaced by a wind turbine are 1 order of magnitude larger than the produced emissions. + + Although limited to the sole optimization of wind-generating assets at two different locations, these results suggest the existence of new opportunities for the future development of wind energy where, by shifting the focus slightly away from a purely cost-driven short-term perspective, longer-term benefits for the environment (and, in turn, for society) may be obtained.}, + language = {English}, + number = {6}, + urldate = {2025-07-01}, + journal = {Wind Energy Science}, + publisher = {Copernicus GmbH}, + author = {Canet, Helena and Guilloré, Adrien and Bottasso, Carlo L.}, + month = jun, + year = {2023}, + pages = {1029--1047}, +} + +@misc{bonaldo_genxprojectgenxjl_2025, + title = {{GenXProject}/{GenX}.jl: v0.4.4}, + shorttitle = {{GenXProject}/{GenX}.jl}, + url = {https://zenodo.org/records/14807684}, + doi = {10.5281/zenodo.14807684}, + abstract = {GenX v0.4.4 + +Diff since v0.4.3 + +Merged pull requests: + + + +Fix path manipulation bug \#827 (\#828) (@cfe316) + + +Closed issues: + + + +[Bug]: model errors out when TimeDomainReduction and OutputFullTimeSeries are both activated (\#827)}, + urldate = {2025-06-30}, + publisher = {Zenodo}, + author = {Bonaldo, Luca and Chakrabarti, Sambuddha and Cheng, Fangwei and Ding, Yifu and Jenkins, Jesse D. and Luo, Qian and Macdonald, Ruaridh and Mallapragada, Dharik and Manocha, Aneesha and Mantegna, Gabe and Morris, Jack and Patankar, Neha and Pecci, Filippo and Schwartz, Aaron and Schwartz, Jacob and Schivley, Greg and Sepulveda, Nestor and Xu, Qingyu and Zhou, Justin}, + month = feb, + year = {2025}, +} + +@misc{schivley_powergenomepowergenome_2025, + title = {{PowerGenome}/{PowerGenome}: v0.7.0}, + shorttitle = {{PowerGenome}/{PowerGenome}}, + url = {https://zenodo.org/records/15066032}, + doi = {10.5281/zenodo.15066032}, + abstract = {The major feature bump in this version is formatting outputs to match inputs required for GenX 0.4.. It is still possible to create inputs for GenX 0.3. using a settings parameter old\_genx\_format: true. Output folder structure has also changed to always follow the format {\textless}case{\textgreater}/Inputs/Inputs\_p*. + +Other non-breaking changes and updates: + + + +Directly use hourly demand data when they are available for a planning year. This is not compatible with constructing demand profiles using end-use stock values and hourly demand factors. + +The case/scenario description file is no longer used. Case/scenario names are set entirely within the scenario definitions file. + +Resources without an assigned fuel will now have the fuel name No\_fuel instead of None. Starting in v2.0 Pandas treats the None string as NaN by default, which can cause data processing issues. + + +What's Changed + + + +Bug fix: RG dicts were somehow modified before use by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/345 + +[pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/PowerGenome/PowerGenome/pull/347 + +Fix typo by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/346 + +Improve message for generators without lat/lon data by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/355 + +370 fix sqlite bug from double quoted f strings by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/371 + +Rebase sql fixes into feature branch by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/372 + +Rebase sql fixes into feature branch output-format-genx-0.4 by @lbonaldo in https://github.com/PowerGenome/PowerGenome/pull/376 + +Convert julia output formatting script to python function by @lbonaldo in https://github.com/PowerGenome/PowerGenome/pull/374 + +Refactor scenario settings handling, remove unused case ID mapping function by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/369 + +Only include proposed gens built on or before model\_year by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/342 + +Include UTC offset in unique hash for renewables clusters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/362 + +Directly use demand data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/378 + +Update fuel label from "None" to "No\_fuel" in generator functions and… by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/379 + +380 tech matching fails when string contains special regex characters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/381 + +Output format genx 0.4 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/377 + +Fixes and features up to 0.7.0 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/384 + + +New Contributors + + + +@lbonaldo made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/376 + + +Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.6.3...v0.7.0}, + urldate = {2025-06-30}, + publisher = {Zenodo}, + author = {Schivley, Greg and Welty, Ethan and Patankar, Neha and Jacobson, Anna and Xu, Qingyu and Manocha, Aneesha and Pecora, Braden and Bhandarkar, Riti and Jenkins, Jesse D. and Fripp, Matthias and Bonaldo, Luca}, + month = mar, + year = {2025}, +} + +@article{beatty_experimental_2015, + title = {Experimental and numerical comparisons of self-reacting point absorber wave energy converters in regular waves}, + volume = {104}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801815002115}, + doi = {10.1016/j.oceaneng.2015.05.027}, + abstract = {An experimental and numerical comparison of the performance of two self-reacting point absorber wave energy converter designs is undertaken for heave motions. The designs are either currently, or have recently been, under development for commercialization. The experiments consist of a series of 1:25 scale model tests. The physical model features a re-configurable reacting body shape, a feedback controlled power take-off, and a heave motion constraint apparatus. Detailed descriptions of the reconfigurable model design, the analysis/test methodologies, and power capture are given. An extension of Budal׳s theoretical upper bound on power capture for application to self-reacting point absorbers is proposed. A quantitative comparison is made of the two self-reacting point absorber designs in terms of displacement, power take-off force requirements, and power capture in typical (non-extreme) operating conditions with reference to theoretical upper bounds. The design implications of a reactive power take-off control scheme and relative motion constraints on the wave energy converters are investigated using an experimentally validated numerical dynamics model.}, + urldate = {2025-05-12}, + journal = {Ocean Engineering}, + author = {Beatty, Scott J. and Hall, Matthew and Buckham, Bradley J. and Wild, Peter and Bocking, Bryce}, + month = aug, + year = {2015}, + keywords = {Frequency domain, Model testing, Point absorbers, Power take-off, Self-reacting, Wave energy conversion}, + pages = {370--386}, +} + +@article{evans_maximum_1981, + title = {Maximum wave-power absorption under motion constraints}, + volume = {3}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/0141118781900638}, + doi = {10.1016/0141-1187(81)90063-8}, + abstract = {An expression is derived for the maximum mean power that can be absorbed by a system of oscillating bodies in waves under a global constraint on their motions. The particular case of a single half-immersed sphere is used to show how the ‘point absorber’ result predicting capture widths in excess of unity must be modified. The theory is also applied to the submerged cylinder wave-energy device and curves are presented which show how the maximum efficiency is affected by restricting the motion of the device.}, + number = {4}, + urldate = {2025-05-12}, + journal = {Applied Ocean Research}, + author = {Evans, D. V.}, + month = oct, + year = {1981}, + pages = {200--203}, +} + +@techreport{cotrell_analysis_2014, + title = {Analysis of {Transportation} and {Logistics} {Challenges} {Affecting} the {Deployment} of {Larger} {Wind} {Turbines}: {Summary} of {Results}}, + shorttitle = {Analysis of {Transportation} and {Logistics} {Challenges} {Affecting} the {Deployment} of {Larger} {Wind} {Turbines}}, + url = {https://www.osti.gov/biblio/1123207}, + doi = {10.2172/1123207}, + abstract = {There is relatively little literature that characterizes transportation and logistics challenges and the associated effects on U.S. wind markets. The objectives of this study were to identify the transportation and logistics challenges, assess the associated impacts, and provide recommendations for strategies and specific actions to address the challenges. The authors primarily relied on interviews with wind industry project developers, original equipment manufacturers, and transportation and logistics companies to obtain the information and industry perspectives needed for this study. They also reviewed published literature on trends and developments in increasing wind turbine size, logistics, and transportation issues.}, + language = {English}, + number = {NREL/TP-5000-61063}, + urldate = {2025-04-22}, + institution = {National Renewable Energy Lab. (NREL), Golden, CO (United States)}, + author = {Cotrell, J. and Stehly, T. and Johnson, J. and Roberts, J. O. and Parker, Z. and Scott, G. and Heimiller, D.}, + month = jan, + year = {2014}, +} + +@book{reed_addressing_2022, + title = {Addressing {Uncertainty} in {Multisector} {Dynamics} {Research}}, + url = {https://uc-ebook.org}, + doi = {10.5281/zenodo.6110623}, + publisher = {Zenodo}, + author = {Reed, Patrick M. and Hadjimichael, Antonia and Malek, Keyvan and Karimi, Tina and Vernon, Chris R. and Srikrishnan, Vivek and Gupta, Rohini S. and Gold, David F. and Lee, Ben and Keller, Klaus and Thurber, Travis B. and Rice, Jennie S.}, + year = {2022}, +} + +@misc{national_renewable_energy_laboratory_2024_2024, + title = {2024 {Annual} {Technology} {Baseline}}, + url = {https://atb.nrel.gov/electricity/2024/technologies}, + urldate = {2025-04-14}, + author = {{National Renewable Energy Laboratory}}, + year = {2024}, +} + +@book{box_statistics_1978, + title = {Statistics for experimenters: an introduction to design, data analysis, and model building}, + shorttitle = {Statistics for experimenters}, + publisher = {Wiley}, + author = {Box, George E. P. and Hunter, William Gordon and Hunter, J. Stuart}, + year = {1978}, +} + +@inproceedings{hendrikx_optimal_2017, + title = {Optimal control of a wave energy converter}, + url = {https://ieeexplore.ieee.org/document/8062556}, + doi = {10.1109/CCTA.2017.8062556}, + abstract = {The optimal control strategy for a wave energy converter (WEC) with constraints on the control torque is investigated. The goal is to optimize the total energy delivered to the electricity grid. Using Pontryagin's maximum principle, the solution is found to be singular-bang. Using higher order conditions, the optimal control on the singular arc is found as a function of the state and costate trajectories. Furthermore, it is shown that the transitions between bang and singular subarcs are discontinuous. Based on these findings the results of a numerical direct method are validated. Finally, the optimal control is used to benchmark an existing MPC strategy. It is found that for active control torque constraints the MPC strategy does not result in the discontinuous singular-bang transitions. However, the difference in harvested power is small.}, + urldate = {2025-03-11}, + booktitle = {2017 {IEEE} {Conference} on {Control} {Technology} and {Applications} ({CCTA})}, + author = {Hendrikx, R. W. M. and Leth, J. and Andersen, P. and Heemels, W. P. M. H.}, + month = aug, + year = {2017}, + keywords = {Force, Friction, Mathematical model, Open area test sites, Optimal control, Torque, Trajectory}, + pages = {779--786}, +} + +@article{coe_practical_2021, + title = {A practical approach to wave energy modeling and control}, + volume = {142}, + issn = {1364-0321}, + url = {https://www.sciencedirect.com/science/article/pii/S1364032121000861}, + doi = {10.1016/j.rser.2021.110791}, + abstract = {The potential for control design to dramatically improve the economic viability of wave energy has generated a great deal of interest and excitement. However, for a number of reasons, the promised benefits from better control designs have yet to be widely realized by wave energy devices and wave energy remains a relatively nascent technology. This brief paper summarizes a simple, yet powerful approach to wave energy dynamics modeling, and subsequent control design based on impedance matching. Our approach leverages the same concepts that are exploited by a simple FM radio to achieve a feedback controller for wave energy devices that approaches optimal power absorption. If fully utilized, this approach can deliver immediate and consequential reductions to the cost of wave energy. Additionally, this approach provides the necessary framework for control co-design of a wave energy converter, in which an understanding of the control logic allows for synchronous design of the device control system and hardware.}, + urldate = {2025-02-23}, + journal = {Renewable and Sustainable Energy Reviews}, + author = {Coe, Ryan G. and Bacelli, Giorgio and Forbush, Dominic}, + month = may, + year = {2021}, + keywords = {Control, Impedance matching, Marine renewable energy, Power maximization, Wave energy converter (WEC)}, + pages = {110791}, +} + +@incollection{folley_spectral-domain_2016, + title = {Spectral-{Domain} {Models}}, + isbn = {978-0-12-803210-7}, + url = {https://www.sciencedirect.com/science/article/pii/B9780128032107000049}, + doi = {10.1016/B978-0-12-803210-7.00004-9}, + abstract = {Spectral-domain models are a relatively efficient method of producing an estimate of the expected response and power capture for wave energy converters (WECs) that are subject to nonlinear forces such as Coulomb (constant) or viscous (quadratic) damping. They are generally faster than time-domain models and more accurate than frequency-domain models. However, these models can only be used for spectral excitation and are not appropriate for use with monochromatic waves. The estimates of the expected responses and power captures are made using the assumption that the individual frequency components in the wave spectra are uncorrelated. Because the results of a spectral-domain model are fundamentally statistical they are not able to provide details of extreme values. The only spectral-domain models that have so far been implemented effectively linearize the nonlinear forces and iterate the linearized equations of motion to determine the expected response. This technique has been validated using time-domain models and wave-tank experiments. The linearization of the WEC dynamics effectively assumes that the response is Gaussian; however, spectral-domain modelling techniques used in other fields suggest that it should be possible to model non-Gaussian responses, which is expected to increase the range of nonlinearities for which there are solutions in the spectral domain.}, + number = {Chapter 4}, + urldate = {2025-02-16}, + booktitle = {Numerical {Modelling} of {Wave} {Energy} {Converters}}, + publisher = {Academic Press}, + author = {Folley, M.}, + editor = {Folley, Matt}, + month = jan, + year = {2016}, + keywords = {Gaussian, Nonlinear, Spectral}, + pages = {67--80}, +} + +@misc{ruehl_wec-simwec-sim_2025, + title = {{WEC}-{Sim}/{WEC}-{Sim}: v6.1.2}, + shorttitle = {{WEC}-{Sim}/{WEC}-{Sim}}, + url = {https://zenodo.org/records/14648966}, + doi = {10.5281/zenodo.14648966}, + abstract = {What's Changed + + + +Fixing documentation inconsistency for PTO-Sim blocks by @jleonqu in https://github.com/WEC-Sim/WEC-Sim/pull/1330 + +Update Google analytics implementation in docs by @akeeste in https://github.com/WEC-Sim/WEC-Sim/pull/1342 + +Body block library update for bug fix \#1346 by @dforbush2 in https://github.com/WEC-Sim/WEC-Sim/pull/1347 + +Fixes the bug in the bodyClass for the QTFs and variable hydro by @MShabara in https://github.com/WEC-Sim/WEC-Sim/pull/1351 + +Update overview.rst - fixed a typo by @thepeteriley in https://github.com/WEC-Sim/WEC-Sim/pull/1362 + +Update forceInternalMechanics and powerInternalMechanics in PTO blocks by @akeeste in https://github.com/WEC-Sim/WEC-Sim/pull/1369 + +Multi wave class bug fix v2 by @MShabara in https://github.com/WEC-Sim/WEC-Sim/pull/1373 + + +New Contributors + +@thepeteriley made their first contribution in \#1362 + +Statistics + + + +19 Issues closed since v6.1.1 + +34 PRs merged since v6.1.1 + +7 Discussions answered since v6.1.1 + + +New Contributors + + + +@thepeteriley made their first contribution in https://github.com/WEC-Sim/WEC-Sim/pull/1362 + + +Full Changelog: https://github.com/WEC-Sim/WEC-Sim/compare/v6.1.1...v6.1.2}, + urldate = {2025-02-16}, + publisher = {Zenodo}, + author = {Ruehl, Kelley and Keester, Adam and dforbush2 and Ströfer, Carlos A. Michelén and Topper, Mathew and jtgrasb and Lawson, Michael and Husain, Salman and Shabara, Mohamed and Leon, Jorge and Ling, Bradley A. and Ogden, David and j-vanrij and jhbates and Nguyen, Lily and Jeffalo1 and sedwardsand and Davies, Ryan and ratanakso and emiliofa and crobarcro and agmoore4 and Alves, Erick F. and zmorrell-sand and yuyihsiang and Hall, Matt and gparisella and ashleynchong and SiHeTh and Riley, Pete}, + month = jan, + year = {2025}, +} + +@article{spanos_efficient_2016, + title = {Efficient {Dynamic} {Analysis} of a {Nonlinear} {Wave} {Energy} {Harvester} {Model}}, + volume = {138}, + issn = {0892-7219}, + url = {https://doi.org/10.1115/1.4032898}, + doi = {10.1115/1.4032898}, + abstract = {In recent years, wave energy harvesting systems have received considerable attention as an alternative energy source. Within this class of systems, single-point harvesters are popular at least for preliminary studies and proof-of-concept analyses in particular locations. Unfortunately, the large displacements of a single-point wave energy harvester are described by a set of nonlinear equations. Further, the excitation is often characterized statistically and in terms of a relevant power spectral density (PSD) function. In the context of this complex problem, the development of efficient techniques for the calculation of reliable harvester response statistics is quite desirable, since traditional Monte Carlo techniques involve nontrivial computational cost. The paper proposes a statistical linearization technique for conducting expeditiously random vibration analyses of single-point harvesters. The technique is developed by relying on the determination of a surrogate linear system identified by minimizing the mean square error between the linear system and the nonlinear one. It is shown that the technique can be implemented via an iterative procedure, which allows calculating statistics, PSDs, and probability density functions (PDFs) of the response components. The reliability of the statistical linearization solution is assessed vis-à-vis data from relevant Monte Carlo simulations. This novel approach can be a basis for constructing computationally expeditious assessments of various design alternatives.}, + number = {041901}, + urldate = {2025-02-16}, + journal = {Journal of Offshore Mechanics and Arctic Engineering}, + author = {Spanos, Pol D. and Arena, Felice and Richichi, Alessandro and Malara, Giovanni}, + month = apr, + year = {2016}, +} + +@phdthesis{kluger_synergistic_2017, + type = {Thesis}, + title = {Synergistic design of a combined floating wind turbine - wave energy converter}, + copyright = {MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.}, + url = {https://dspace.mit.edu/handle/1721.1/111692}, + abstract = {Offshore energy machines have great potential: higher capacity factors, more available space, and lower visual impacts than onshore machines. This thesis investigates how combining a wave energy converter (WEC) with a floating wind turbine (FWT) may produce offshore renewable energy cost savings. Attaching the WEC to the FWT greatly reduces the WEC's steel frame, mooring lines, electric transmission lines, and siting/permitting costs, which may comprise 56\% of a standalone WEC's cost. A 5 MW FWT currently requires up to 1700 tons of platform steel and 5700 tons of ballast concrete for stabilization in the ocean. This required material may be reduced if the WEC stabilizes the FWT. This thesis addresses several challenges to designing a combined FWT-WEC. First, parameter sweeps for optimizing ocean machine performance are limited by high dimensionalities and nonlinearities, including power takeoff control and wave viscous forcing, which normally require computationally expensive time-domain simulations. This thesis develops a statistical linearization approach to rapidly compute machine dynamics statistics while accounting for nonlinearities in the frequency domain. It is verified that the statistical linearization method may capture significant dynamics effects that are neglected by the traditional Taylor series linearization approach, while computing the results approximately 100 times faster than time domain simulations. Using Morison's equation for wave viscosity and quasi-steady blade-element/momentum theory for rotor aerodynamics, we find that viscous effects and nonlinear aerodynamics may increase the FWT motion and tower stress by up to 15\% in some wind-sea states compared the the Taylor series linearized system. Second, the WEC must stabilize rather than destabilize the FWT. This thesis investigates the dynamics statistics of dierent FWT-WEC configurations using a long wavelength, structurally coupled model. It is shown that simultaneous targeted energy transfer from both the FWT and waves to the WEC when the WEC and FWT are linked by a tuned spring is unlikely. That being said, this thesis considers heave-mode oscillating water column WEC's that are linked to the FWT platform by 4-bar linkages, so that the FWT and WEC's are uncoupled for small heave motions and rigidly coupled in all other degrees of freedom. It is shown that this configuration allows the WEC to move with a large amplitude in its energy harvesting degree of freedom, and therefore harvest a significant amount of power without significantly increasing the FWT motion in the same direction. In the rigidly-connected modes, the WEC inertial resistance to motion must be greater than the wave forcing, as these properties are transmitted to the FWT. Third, the WEC requires power robustness in dierent sea states. Typical WEC's require control schemes to maintain good power performance when the ocean wave dominant frequency differs from the WEC resonant frequency. This thesis introduces a nonlinearity into the WEC design that passively increases power adaptability in dierent sea states. While the optimized nonlinear WEC requires 57\% more steel than the optimized linear WEC, the nonlinear WEC produces 72\% more power on average, resulting in a 3\% lower levelized cost of energy. Further optimization of the nonlinear WEC may find improved performance. This thesis determines that attaching a single linear hinged floating spar oscillating water column to the FWT reduces the levelized cost of energy from \$0.31/kWh for the standalone system to \$0.27/kWh (13\%) without changing stress on the FWT tower. Attaching a single nonlinear hinged floating spar oscillating water column to the FWT reduces the levelized cost of energy to \$0.26/kWh (16\%) and reduces the lifetime equivalent fatigue stress on the FWT tower from 32.4 MPa to 31 MPa (5\%). A 6-unit array of the nonlinear WEC's encircling the FWT platform may generate an average of 400 kW while reducing the FWT tower stress by over 50\%. In wave tank experiments, the response statistics of four dierent combined FWT-WEC configurations are measured, verifying the FWT-WEC dynamics model.}, + language = {eng}, + urldate = {2025-02-16}, + school = {Massachusetts Institute of Technology}, + author = {Kluger, Jocelyn Maxine}, + year = {2017}, + note = {Accepted: 2017-10-04T14:47:10Z}, +} + +@article{nie_optimal_2016, + series = {Selected {Papers} from the {European} {Wave} and {Tidal} {Energy} {Conference} 2015, {Nante}, {France}}, + title = {Optimal causal control of wave energy converters in stochastic waves – {Accommodating} nonlinear dynamic and loss models}, + volume = {15}, + issn = {2214-1669}, + url = {https://www.sciencedirect.com/science/article/pii/S2214166916300169}, + doi = {10.1016/j.ijome.2016.04.004}, + abstract = {Recent research has shown that when constrained to causality, the optimal feedback controller for an ocean wave energy converter (WEC) subjected to stochastic waves can be solved as a non-standard Linear Quadratic-Gaussian (LQG) optimal control problem. In this paper, we present a relaxation to the modeling assumptions that must be made to apply this theory. Specifically, we propose a technique that uses the principle of Gaussian Closure to accommodate nonlinear WEC dynamics in the synthesis of the optimal feedback law. The technique is approximate, in the sense that it arrives at a computationally efficient control synthesis technique through a Gaussian approximation of the stationary stochastic response of the system. This approach allows for a wide range of nonlinear dynamical models to be considered, and also accommodates many complex loss mechanisms in the power transmission system. The technique is demonstrated through simulation examples pertaining to a flap-type WEC with a hydraulic power train.}, + urldate = {2025-02-16}, + journal = {International Journal of Marine Energy}, + author = {Nie, Rudy and Scruggs, Jeff and Chertok, Allan and Clabby, Darragh and Previsic, Mirko and Karthikeyan, Anantha}, + month = sep, + year = {2016}, + keywords = {Causality, Control, Loss models, Nonlinearities, Stochastic waves}, + pages = {41--55}, +} + +@article{neshat_enhancing_2024, + title = {Enhancing the performance of hybrid wave-wind energy systems through a fast and adaptive chaotic multi-objective swarm optimisation method}, + volume = {362}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261924003386}, + doi = {10.1016/j.apenergy.2024.122955}, + abstract = {Hybrid offshore renewable energy platforms have been proposed to optimise power production and reduce the levelised cost of energy by integrating or co-locating several renewable technologies. One example is a hybrid wave-wind energy system that combines offshore wind turbines with wave energy converters (WECs) on a single floating foundation. The design of such systems involves multiple parameters and performance measures, making it a complex, multi-modal, and expensive optimisation problem. This paper proposes a novel, robust and effective multi-objective swarm optimisation method (DMOGWA) to provide a design solution that best compromises between maximising WEC power output and minimising the effect on wind turbine nacelle acceleration. The proposed method uses a chaotic adaptive search strategy with a dynamic archive of non-dominated solutions based on diversity to speed up the convergence rate and enhance the Pareto front quality. Furthermore, a modified exploitation technique (Discretisation Strategy) is proposed to handle the large damping and spring coefficient of the Power Take-off (PTO) search space. To evaluate the efficiency of the proposed method, we compare the DMOGWA with four well-known multi-objective swarm intelligence methods (MOPSO, MALO, MODA, and MOGWA) and four popular evolutionary multi-objective algorithms (NSGA-II, MOEA/D, SPEA-II, and PESA-II) based on four potential deployment sites on the South Coast of Australia. The optimisation results demonstrate the dominance of the DMOGWA compared with the other eight methods in terms of convergence speed and quality of solutions proposed. Furthermore, adjusting the hybrid wave-wind model’s parameters (WEC design and PTO parameters) using the proposed method (DMOGWA) leads to a considerably improved power output (average proximate boost of 138.5\%) and a notable decline in wind turbine nacelle acceleration (41\%) throughout the entire operational spectrum compared with the other methods. This improvement could lead to millions of dollars in additional income per year over the lifespan of hybrid offshore renewable energy platforms.}, + urldate = {2025-02-16}, + journal = {Applied Energy}, + author = {Neshat, Mehdi and Sergiienko, Nataliia Y. and Nezhad, Meysam Majidi and da Silva, Leandro S. P. and Amini, Erfan and Marsooli, Reza and Astiaso Garcia, Davide and Mirjalili, Seyedali}, + month = may, + year = {2024}, + keywords = {Genetic algorithms, Hybrid wave-wind energy systems, Multi-objective optimisation algorithm, Offshore wind turbine, Sustainable energy, Swarm-intelligence algorithms, Wave energy converters}, + pages = {122955}, +} + +@article{da_silva_stochastic_2023, + title = {Stochastic analysis of the nonlinear dynamics of oscillating water columns: {A} frequency domain approach}, + volume = {139}, + issn = {0141-1187}, + shorttitle = {Stochastic analysis of the nonlinear dynamics of oscillating water columns}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118723002523}, + doi = {10.1016/j.apor.2023.103711}, + abstract = {This paper investigates the first and second-order stochastic responses of oscillating water columns (OWCs) under random waves. The OWCs’ nonlinear dynamics are computed in the frequency domain, where sources of nonlinearities are replaced by equivalent polynomial terms up to second order by minimising their difference in a mean-square sense. This procedure is known as the statistical quadratisation (SQ) technique. In such an approach, the linear and quadratic coefficients are obtained using an iterative procedure and non-Gaussian distributions based on Gram–Charlier expansions, and the dynamics are solved using the Volterra theory. The results are compared against a statistical linearisation model (SL), and nonlinear time-domain simulations (TD) to illustrate the capabilities of the method. The result demonstrated an excellent agreement for the first and second-order motions of the water column obtained using statistical quadratisation compared to nonlinear time-domain simulations in terms of spectral response and probability distribution. Along with the good accuracy, the statistical quadratisation has the advantage of being approximately two orders of magnitude faster than nonlinear time-domain simulations. For the proposed systems, the nonlinearity from the variable mass system (inertial type) is shown to be the most important source of second-order effects driving the oscillating water column dynamics based on the environmental conditions and drafts investigated in this work.}, + urldate = {2025-02-16}, + journal = {Applied Ocean Research}, + author = {da Silva, L. S. P. and Pesce, C. P. and de Oliveira, M. and Sergiienko, N. Y. and Cazzolato, B. and Ding, B.}, + month = oct, + year = {2023}, + keywords = {Moon pools, Nonlinear Dynamics, Oscillating Water Column, Statistical Quadratisation, Stochastic Analysis}, + pages = {103711}, +} + +@article{da_silva_statistical_2020, + title = {Statistical linearization of the {Morison}’s equation applied to wave energy converters}, + volume = {6}, + copyright = {2020 Springer Nature Switzerland AG}, + issn = {2198-6452}, + url = {https://link.springer.com/article/10.1007/s40722-020-00165-9}, + doi = {10.1007/s40722-020-00165-9}, + abstract = {The viscous drag acting on wave energy converters may have a significant effect on the dynamics during high-energetic sea states and large motions experienced due to resonance. The viscous drag is a nonlinear phenomenon of floating systems usually modelled based on the Morison’s equation using the relative velocity between the structure and the wave particle. To include such a nonlinearity into the system dynamics, nonlinear time domain simulations are generally employed, which are computationally expensive compared to frequency domain simulations. To overcome this problem, this work presents the derivation of the viscous drag force/torque under the statistical linearization technique using the frequency domain model. The technique offers a reliable tool for the estimation of the system dynamics while maintaining a low computational cost when compared to time domain simulations. For the proposed nonlinearity, the resulting equivalent linear term can be decomposed into two components: an excitation term and a damping term. To illustrate the applicability of the derivation, two conceptually different wave energy converters are investigated: a heaving point absorber, and an oscillating wave surge converter. The results obtained using statistical linearization are compared to their respective nonlinear time domain simulations to verify the reliability of the technique. Also, a comparison between the statistical linearization results using the relative motion and using only the structure motion is presented to illustrate the importance of including the relative velocity for wave energy applications. Excellent agreements have been obtained between statistical linearization model using the relative motion and its respective nonlinear time domain model for both devices in terms of spectral content, probability density of the velocity components, and energy absorbed by the device.}, + language = {en}, + number = {2}, + urldate = {2025-02-16}, + journal = {Journal of Ocean Engineering and Marine Energy}, + publisher = {Springer International Publishing}, + author = {da Silva, Leandro S. P. and Cazzolato, Benjamin S. and Sergiienko, Nataliia Y. and Ding, Boyin and Morishita, Helio M. and Pesce, Celso P.}, + month = may, + year = {2020}, + note = {Company: Springer +Distributor: Springer +Institution: Springer +Label: Springer +Number: 2}, + pages = {157--169}, +} + +@article{carmo_slender-body_2025, + title = {Slender-body approach for computing second-order wave loads in the frequency domain}, + volume = {322}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801825002732}, + doi = {10.1016/j.oceaneng.2025.120558}, + abstract = {This work presents a slender-body approach to evaluate the second-order wave loads acting on a floating structure in the frequency domain. The approach is in the same spirit as the common use of Morison’s equation to approximate the wave loads without solving the radiation/diffraction problem. To do so, we employ Rainey’s equation, which can be seen as an extension of the inertial part of Morison’s equation to include nonlinear effects. We introduce modifications to Rainey’s formulation in order to evaluate wave kinematics at the mean body position instead of the original approach of considering instantaneous displacements. We also propose a simple approximation to partially account for wave scattering effects on the second-order loads based on the analytical solution of a surface-piercing bottom-mounted vertical circular cylinder. Though limited to structures composed of cylinders, this slender-body approach is orders of magnitude faster than computing second-order wave coefficients with a radiation/diffraction code. We implemented this approach for difference-frequency (slow drift) loads in an open-source frequency-domain floating wind turbine model. We present comparisons against results obtained with radiation/diffraction theory for three reference floating wind turbine designs: the OC3-Hywind spar, the OC4-DeepCwind semisubmersible, and the VolturnUS-S semisubmersible. In general, the results show that the proposed slender-body approach with the correction to approximate wave scattering effects provides useful estimations of the difference-frequency wave loads and the resulting motions of the floater.}, + urldate = {2025-02-15}, + journal = {Ocean Engineering}, + author = {Carmo, Lucas and Hall, Matthew}, + month = apr, + year = {2025}, + keywords = {Floating wind turbines, QTFs, RAFT, Second-order wave loads, Slender-body approximation, Slow-drift}, + pages = {120558}, +} + +@article{desideri_multiple-gradient_2012, + title = {Multiple-gradient descent algorithm ({MGDA}) for multiobjective optimization}, + volume = {350}, + issn = {1631-073X}, + url = {https://www.sciencedirect.com/science/article/pii/S1631073X12000738}, + doi = {10.1016/j.crma.2012.03.014}, + abstract = {One considers the context of the concurrent optimization of several criteria Ji(Y) (i=1,…,n), supposed to be smooth functions of the design vector Y∈RN (n⩽N). An original constructive solution is given to the problem of identifying a descent direction common to all criteria when the current design-point Y0 is not Pareto-optimal. This leads us to generalize the classical steepest-descent method to the multiobjective context by utilizing this direction for the descent. The algorithm is then proved to converge to a Pareto-stationary design-point. +Résumé +On se place dans le contexte de lʼoptimisation concourante de plusieurs critères Ji(Y) (i=1,…,n), fonctions régulières du vecteur de conception Y∈RN (n⩽N). On donne une solution constructive originale au problème de lʼidentification dʼune direction de descente commune à tous les critères en un point Y0 non optimal au sens de Pareto. On est conduit à généraliser la méthode classique du gradient au contexte multiobjectif en utilisant cette direction pour la descente. On prouve que lʼalgorithme converge alors vers un point de conception Pareto-stationnaire.}, + number = {5}, + urldate = {2025-02-03}, + journal = {Comptes Rendus Mathematique}, + author = {Désidéri, Jean-Antoine}, + month = mar, + year = {2012}, + pages = {313--318}, +} + +@article{pennock_temporal_2022, + title = {Temporal complementarity of marine renewables with wind and solar generation: {Implications} for {GB} system benefits}, + volume = {319}, + issn = {0306-2619}, + shorttitle = {Temporal complementarity of marine renewables with wind and solar generation}, + url = {https://www.sciencedirect.com/science/article/pii/S030626192200633X}, + doi = {10.1016/j.apenergy.2022.119276}, + abstract = {Wave and tidal energy have the potential to provide benefits to power systems with high proportions of stochastic renewable generation. This is particularly applicable in combination with wind and solar photovoltaics, as the offsetting of these renewable resources results in more reliable renewable generation. This study utilises ten metrics to quantify the temporal complementarity and supply-demand balancing requirements of the energy mix in Great Britain, to investigate the potential magnitude of these system benefits. Wave and tidal generation profiles are created using historical resource data and hydrodynamic models. The results show that the inclusion of wave and tidal generation creates a renewable energy mix which is more available under multiple conditions: throughout a year of operation; at times of peak demand; for multiple consecutive hourly time periods; and at times when wind and solar generation are not available. Three regional case studies also show that the inclusion of marine energy allows for improved regional supply-demand matching, reducing instances of energy shortage and excess and potentially relieving transmission congestion at particularly constrained locations within GB. Finally, the implications of these findings are discussed in terms of GB wholesale market operation, system balancing and system security.}, + urldate = {2025-01-31}, + journal = {Applied Energy}, + author = {Pennock, Shona and Coles, Daniel and Angeloudis, Athanasios and Bhattacharya, Saptarshi and Jeffrey, Henry}, + month = aug, + year = {2022}, + keywords = {Marine energy, System integration, Temporal characterisation, Tidal stream energy, Wave energy}, + pages = {119276}, +} + +@article{bhattacharya_timing_2021, + title = {Timing value of marine renewable energy resources for potential grid applications}, + volume = {299}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S030626192100698X}, + doi = {10.1016/j.apenergy.2021.117281}, + abstract = {In this paper, the applicability of marine renewable energy (MRE) for potential grid applications is presented. We show that many of the unique value streams from marine-based electricity generation resources stem from their inherent temporal characteristics, especially when compared to wind and solar. Specifically, in this work, we evaluate the timing value for three types of MRE resources: (a) tidal, (b) wave, and (c) ocean currents. First, through a suite of novel metrics, such as resource availability, persistence, and versatility, we evaluate the temporal value characteristics of these resources. Second, through a more grid-oriented numerical study, we comment on the potential ramifications of those temporal characteristics in context of energy balancing and effective load carrying capability for one marine-based resource i.e., wave. Finally, we further our understanding of the relative advantages that may be leveraged by operating wave-based generation in tandem with more established renewable resources, such as wind and solar. Our results indicate that compared to wind and solar, MRE resources are consistently more available and persistent on an hourly level throughout an entire year of operation. In addition, wave resources are also seen to reduce the balancing requirements within the power system. Our work focuses on sites specific to the United States (US) and a parallel study for a location in Great Britain (GB). Results are found to be consistent for sites in both the US and GB, implying that the grid benefits discussed in this work could apply to a number of locations globally.}, + urldate = {2025-01-31}, + journal = {Applied Energy}, + author = {Bhattacharya, Saptarshi and Pennock, Shona and Robertson, Bryson and Hanif, Sarmad and Alam, Md Jan E. and Bhatnagar, Dhruv and Preziuso, Danielle and O’Neil, Rebecca}, + month = oct, + year = {2021}, + keywords = {Effective load carrying capacity, Energy balancing requirements, Marine renewable energy, Timing value, Wave energy}, + pages = {117281}, +} + +@article{gaebele_tpl_2025, + title = {From {TPL} assessment to design optimization: {Wave} energy converter control co-design applied to the {RM3}}, + volume = {241}, + issn = {0960-1481}, + shorttitle = {From {TPL} assessment to design optimization}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148124024066}, + doi = {10.1016/j.renene.2024.122338}, + abstract = {The Reference Model (RM) project developed six marine energy converter concepts using a sequential design methodology, which, while widely adopted in the industry, often overlooks interactions between system components, resulting in suboptimal designs. One such example is the Reference Model 3 (RM3), a two-body point absorber wave energy converter (WEC). An assessment using the Technology Performance Level (TPL) revealed that RM3’s low power-to-cost ratio, partly due to expensive steel construction, limits its techno-economic performance. This study aims to redesign RM3 by reducing its scale and employing control co-design to integrate WEC and Power Take-Off (PTO) dynamics, constraints, and cost considerations within an optimization framework. We demonstrate the limitations of RM3’s current PTO design and explore the benefits of scaling down to enhance techno-economic viability by lowering material costs. Using WecOptTool, we conduct a parameter sweep over gear ratios and spring stiffnesses for various Commercial Off-The-Shelf generators in irregular wave conditions. Our findings emphasize the importance of aligning PTO components with WEC dynamics, showing that control co-design and strategic scaling can improve RM3’s power-to-cost ratio. This study presents a transferable example of applied control co-design for other WECs, supporting early-stage developers in their design decisions.}, + urldate = {2025-01-31}, + journal = {Renewable Energy}, + author = {Gaebele, Daniel T. and Anderson, Megan L. and Roach, Aeron L. and Forbush, Dominic D. and Roberts, Jesse D. and Weber, Jochem}, + month = mar, + year = {2025}, + keywords = {Off the shelf components, RM3, Reference model project, TPL to redsign, Wave energy converter control co-design}, + pages = {122338}, +} + +@article{lambe_extensions_2012, + title = {Extensions to the design structure matrix for the description of multidisciplinary design, analysis, and optimization processes}, + volume = {46}, + issn = {1615-1488}, + url = {https://doi.org/10.1007/s00158-012-0763-y}, + doi = {10.1007/s00158-012-0763-y}, + abstract = {While numerous architectures exist for solving multidisciplinary design optimization (MDO) problems, there is currently no standard way of describing these architectures. In particular, a standard visual representation of the solution process would be particularly useful as a communication medium among practitioners and those new to the field. This paper presents the extended design structure matrix (XDSM), a new diagram for visualizing MDO processes. The diagram is based on extending the standard design structure matrix (DSM) to simultaneously show data dependency and process flow on a single diagram. Modifications include adding special components to define iterative processes, defining different line styles to show data and process connections independently, and adding a numbering scheme to define the order in which the components are executed. This paper describes the rules for constructing XDSMs along with many examples, including diagrams of several MDO architectures. Finally, this paper discusses potential applications of the XDSM in other areas of MDO and the future development of the diagrams.}, + language = {en}, + number = {2}, + urldate = {2025-01-23}, + journal = {Structural and Multidisciplinary Optimization}, + author = {Lambe, Andrew B. and Martins, Joaquim R. R. A.}, + month = aug, + year = {2012}, + keywords = {Design architectures, Design structure matrix, Distributed optimization, Multidisciplinary analysis, Multidisciplinary design optimization, Visualization}, + pages = {273--284}, +} + +@techreport{previsic_reference_2011, + type = {Unpublished draft report obtained via personal communication with {Vince} {Neary} of {Sandia} {National} {Lab}}, + title = {Reference {Model} 3 - {Structural} {Design} {Supplement}}, + institution = {ReVision Consulting and US Department of Energy}, + author = {Previsic, Mirko}, + month = sep, + year = {2011}, + pages = {20}, +} + +@misc{gambarini_gradient_2024, + title = {A gradient flow approach for combined layout-control design of wave energy parks}, + url = {http://arxiv.org/abs/2409.10200}, + doi = {10.48550/arXiv.2409.10200}, + abstract = {Wave energy converters (WECs) represent an innovative technology for power generation from renewable sources (marine energy). Although there has been a great deal of research into such devices in recent decades, the power output of a single device has remained low. Therefore, installation in parks is required for economic reasons. The optimal design problem for parks of WECs is challenging since it requires the simultaneous optimization of positions and control parameters. While the literature on this problem usually considers metaheuristic algorithms, we present a novel numerical framework based on a gradient-flow formulation. This framework is capable of solving the optimal design problem for WEC parks. In particular, we use a low-order adaptive Runge-Kutta scheme to integrate the gradient-flow equation and introduce an inexact solution procedure. Here, the tolerances of the linear solver used for projection on the constraint nullspace and of the time-advancing scheme are automatically adapted to avoid over-solving so that the method requires minimal tuning. We then provide the specific details of its application to the considered WEC problem: the goal is to maximize the average power produced by a park, subject to hydrodynamic and dynamic governing equations and to the constraints of available sea area, minimum distance between devices, and limited oscillation amplitude around the undisturbed free surface elevation. A suitable choice of the discrete models allows us to compute analytically the Jacobian of the state problem's residual. Numerical tests with realistic parameters show that the proposed algorithm is efficient, and results of physical interest are obtained.}, + urldate = {2025-01-17}, + publisher = {arXiv}, + author = {Gambarini, Marco and Ciaramella, Gabriele and Miglio, Edie}, + month = sep, + year = {2024}, + note = {arXiv:2409.10200 [math]}, + keywords = {Mathematics - Optimization and Control}, +} + +@book{timoshenko_theory_1959, + series = {Engineering mechanics series}, + title = {Theory of {Plates} and {Shells}}, + isbn = {978-0-07-085820-6}, + url = {https://books.google.com/books?id=rTQFAAAAMAAJ}, + publisher = {McGraw-Hill}, + author = {Timoshenko, S. and Woinowsky-Krieger, S.}, + year = {1959}, + lccn = {58059675}, +} + +@article{sobieszczanski-sobieski_sensitivity_1982, + title = {Sensitivity of {Optimum} {Solutions} of {Problem} {Parameters}}, + volume = {20}, + issn = {0001-1452}, + url = {https://arc.aiaa.org/doi/10.2514/3.51191}, + doi = {10.2514/3.51191}, + number = {9}, + urldate = {2025-01-14}, + journal = {AIAA Journal}, + publisher = {American Institute of Aeronautics and Astronautics}, + author = {Sobieszczanski-Sobieski, Jaroslaw and Barthelemy, Jean-Francois and Riley, Kathleen M.}, + month = sep, + year = {1982}, + keywords = {Allowable Stress, Aspect Ratio, Bending Moment, Finite Difference Approximation, Finite Element Analysis, Lagrange Multipliers, Linear Programming, Sensitivity Analysis, Structural Optimization, Trusses}, + pages = {1291--1299}, +} + +@article{custodio_direct_2011, + title = {Direct {Multisearch} for {Multiobjective} {Optimization}}, + volume = {21}, + issn = {1052-6234}, + url = {https://epubs.siam.org/doi/10.1137/10079731X}, + doi = {10.1137/10079731X}, + abstract = {This work deals with bound constrained multiobjective optimization (MOP) of nonsmooth functions for problems where the structure of the objective functions either cannot be exploited, or are absent. Typical situations arise when the functions are computed as the result of a computer simulation. We first present definitions and optimality conditions as well as two families of single-objective formulations of MOP. Next, we propose a new algorithm called for the biobjective optimization (BOP) problem (i.e., MOP with two objective functions). The property that Pareto points may be ordered in BOP and not in MOP is exploited by our algorithm. generates an approximation of the Pareto front by solving a series of single-objective formulations of BOP. These single-objective problems are solved using the recent (mesh adaptive direct search) algorithm for nonsmooth optimization. The Pareto front approximation is shown to satisfy some first order necessary optimality conditions based on the Clarke calculus. Finally, is tested on problems from the literature designed to illustrate specific difficulties encountered in biobjective optimization, such as a nonconvex or disjoint Pareto front, local Pareto fronts, or a nonuniform Pareto front.}, + number = {3}, + urldate = {2025-01-13}, + journal = {SIAM Journal on Optimization}, + publisher = {Society for Industrial and Applied Mathematics}, + author = {Custódio, A. L. and Madeira, J. F. A. and Vaz, A. I. F. and Vicente, L. N.}, + month = jul, + year = {2011}, + pages = {1109--1140}, +} + +@techreport{previsic_100_2011, + type = {Unpublished draft report obtained via personal communication with {Vince} {Neary} of {Sandia} {National} {Lab}}, + title = {100 {kW} {Wave} {Power} {Hydraulic} {System}}, + institution = {ReVision Consulting and US Department of Energy}, + author = {Previsic, Mirko}, + month = sep, + year = {2011}, + pages = {22}, +} + +@techreport{dallman_characterization_2015, + title = {Characterization of {U}.{S}. {Wave} {Energy} {Converter} ({WEC}) test sites: a catalogue of met-ocean data ({Second} edition)}, + shorttitle = {Characterization of {U}.{S}. {Wave} {Energy} {Converter} ({WEC}) test sites}, + url = {https://www.osti.gov/biblio/1963664}, + doi = {10.2172/1963664}, + abstract = {This report presents met-ocean data and wave energy characteristics at eight U.S. wave energy converter (WEC) test and potential deployment sites. Its purpose is to enable the comparison of wave resource characteristics among sites as well as the selection of test sites that are most suitable for a developer’s device and that best meet their testing needs and objectives. It also provides essential inputs for the design of WEC test devices and planning WEC tests, including the planning of deployment, and operations and maintenance. For each site, this report catalogues wave statistics recommended in the International Electrotechnical Commission Technical Specification (IEC 62600-101 TS) on Wave Energy Characterization, as well as the frequency of occurrence of weather windows and extreme sea states, and statistics on wind and ocean currents. It also provides useful information on test site infrastructure and services.}, + language = {English}, + number = {SAND2015-7963}, + urldate = {2025-01-13}, + institution = {Sandia National Lab. (SNL-CA), Livermore, CA (United States); Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)}, + author = {Dallman, Ann and Neary, Vincent}, + month = sep, + year = {2015}, +} + +@misc{janzou_sam_2022, + address = {National Renewable Energy Lab GitHub}, + title = {{SAM} {Wave} {Resource} {Files}}, + url = {https://github.com/NREL/SAM/tree/patch/deploy/wave_resource}, + urldate = {2025-01-12}, + publisher = {SAM (System Advisor Model)}, + author = {Janzou, Steve and Gilman, Paul and Prilliman, Matt}, + month = oct, + year = {2022}, +} + +@techreport{berg_extreme_2011, + title = {Extreme {Ocean} {Wave} {Conditions} for {Northern} {California} {Wave} {Energy} {Conversion} {Device}.}, + url = {https://www.osti.gov/biblio/1113856}, + doi = {10.2172/1113856}, + abstract = {Abstract not provided.}, + language = {English}, + number = {SAND2011-9304}, + urldate = {2025-01-13}, + institution = {Sandia National Lab. (SNL-CA), Livermore, CA (United States); Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)}, + author = {Berg, Jonathan Charles}, + month = dec, + year = {2011}, +} + +@article{babarit_stakeholder_2017, + title = {Stakeholder requirements for commercially successful wave energy converter farms}, + volume = {113}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148117305451}, + doi = {10.1016/j.renene.2017.06.040}, + abstract = {In this study, systems engineering techniques are applied to wave energy to identify and specify stakeholders’ requirements for a commercially successful wave energy farm. The focus is on the continental scale utility market. Lifecycle stages and stakeholders are identified. Stakeholders’ needs across the whole lifecycle of the wave energy farm are analyzed. A list of 33 stakeholder requirements are identified and specified. This list of requirements should serve as components of a technology performance level metric that could be used by investors and funding agencies to make informed decisions when allocating resources. It is hoped that the technology performance level metric will accelerate wave energy conversion technology convergence.}, + urldate = {2025-01-12}, + journal = {Renewable Energy}, + author = {Babarit, Aurélien and Bull, Diana and Dykes, Katherine and Malins, Robert and Nielsen, Kim and Costello, Ronan and Roberts, Jesse and Bittencourt Ferreira, Claudio and Kennedy, Ben and Weber, Jochem}, + month = dec, + year = {2017}, + keywords = {Requirements, Systems engineering, Technology convergence, Technology performance level, Wave energy converter, Wave energy farm}, + pages = {742--755}, +} + +@techreport{livecchi_powering_2019, + title = {Powering the {Blue} {Economy}: {Exploring} {Opportunities} for {Marine} {Renewable} {Energy} in {Maritime} {Markets}}, + url = {https://www.energy.gov/eere/water/downloads/powering-blue-economy-report}, + institution = {US Department of Energy (DOE)}, + author = {LiVecchi, A and Copping, A and Jenne, D and Gorton, A and Preus, R and Gill, G and Robichaud, R and Green, R and Geerlofs, S and Gore, S and Hume, D and McShane, W and Schmaus, C and Spence, H}, + month = apr, + year = {2019}, + keywords = {Human Dimensions, Marine Energy, Social \& Economic Data}, + pages = {207}, +} + +@misc{neary_reference_2014, + type = {Spreadsheet}, + title = {Reference {Model} 3 {Cost} {Breakdown} ({RM3}: {Wave} {Point} {Absorber})}, + url = {https://mhkdr.openei.org/submissions/370}, + doi = {10.15473/1819894}, + publisher = {Marine and Hydrokinetic Data Repository}, + author = {Neary, Vincent and Previsic, Mirko and Jenne, Scott and Hallett, Kathleen}, + month = sep, + year = {2014}, +} + +@misc{noauthor_marine_nodate, + title = {Marine and {Hydrokinetic} {Data} {Repository} ({MHKDR})}, + url = {https://mhkdr.openei.org/}, + abstract = {Contains the Reference Model 3 (RM3) spreadsheets with the cost breakdown structure (CBS) for the levelized cost of energy (LCOE) calculations for a single RM3 device and multiple unit arrays. These spreadsheets are contained within an XLSX file and a spreadsheet editor such as Microsoft Excel is needed to open the file. This data was generated upon completion of the project on September 30, 2014. + +The Reference Model Project (RMP), sponsored by the U.S. Department of Energy (DOE), was a partnered effort to develop open-source MHK point designs as reference models (RMs) to benchmark MHK technology performance and costs, and an open-source methodology for design and analysis of MHK technologies, including models for estimating their capital costs, operational costs, and levelized costs of energy. The point designs also served as open-source test articles for university researchers and commercial technology developers. The RMP project team, led by Sandia National Laboratories (SNL), included a partnership between DOE, three national laboratories, including the National Renewable Energy Laboratory (NREL), Pacific Northwest National Laboratory (PNNL), and Oak Ridge National Laboratory (ORNL), the Applied Research Laboratory of Penn State University, and Re Vision Consulting. + +Reference Model 3 (RM3) is a wave point absorber, also referred to as a wave power buoy, that was designed for a reference site located off the shore of Eureka in Humboldt County, California. The design of the device consists of a surface float that translates (oscillates) with wave motion relative to a vertical column spar buoy, which connects to a subsurface reaction plate. This two-body point absorber converts wave energy into electrical power predominately from the devices heave oscillation induced by incident waves; the float is designed to oscillate up and down the vertical shaft up to 4 m. The bottom of the reaction plate is about 35 m below the water surface. The device is targeted for deployment in water depths of 40 m to 100 m. The point absorber is also connected to a mooring system to keep the floating device in position.}, + language = {en}, + urldate = {2025-01-12}, + journal = {MHKDR}, +} + +@inproceedings{nakhai_techno-economic_2022, + title = {Techno-{Economic} {Implications} of {Electrical} {Machine} {Scaling} for {Wave} {Energy} {Converters}}, + issn = {0197-7385}, + url = {https://ieeexplore.ieee.org/abstract/document/9977184}, + doi = {10.1109/OCEANS47191.2022.9977184}, + abstract = {The sizing of an electrical machine for a Wave Energy Converter (WEC) can have a substantial impact on the overall sizing, cost, and rating of the device. An electrical generator is typically part of the power take-off system, which is the mechanism by which the energy absorbed by the prime mover is transformed into usable electrical energy. For practically all WECs, the rate of change of actuation is predominantly determined by the wave resource (i.e., the wave height and frequency), and devices will see a sinusoidal varying velocity according to the wave conditions. The same can then be said for both directly and indirectly coupled power take-offs with electrical generators. This techno-economic study investigates electrical machine scaling and associated cost implications through core machine design theory, manufacturer data, supporting literature, and the Reference Model Project sponsored by the U.S. Department of Energy. The Reference Model Project was a partnered effort to develop open-source marine energy point designs as reference models to benchmark marine energy technology performance and costs, methods for design and analysis of marine energy technologies, estimations for capital costs, operational costs, and levelized cost of energy. The results from this study show torque is directly related to (1) the physical size of the machine required to increase the air-gap sheer stresses, (2)the amount of active material, (3) the support structure, (4) bearing size and rating, and (5) offshore cable rating, all of which have a significant effect on overall system costs in terms of both capital and operational expenditures. This paper aims to be a critical benchmark in helping determine an “optimal” nameplate rating for wave energy devices and their associated power take-offs. With an optimized rating and sizing process, WEC costs can be reduced and overall performance can be improved.}, + urldate = {2025-01-11}, + booktitle = {{OCEANS} 2022, {Hampton} {Roads}}, + author = {Nakhai, Aryana Y. and McGilton, Ben}, + month = oct, + year = {2022}, + keywords = {Air gaps, Analytical models, Benchmark testing, Costs, Generators, PTO, Performance evaluation, Torque, WEC, cables, capacity factor, cost, electrical machine, force, induction, mass, permanent magnet, power, rating, scaling, torque, wave energy}, + pages = {1--6}, +} + +@misc{mcgilton_optimal_2024, + address = {Rochester, NY}, + type = {{SSRN} {Scholarly} {Paper}}, + title = {On the {Optimal} {Sizing} of {Power} {Take}-{Off} {Systems} for {Wave} {Energy} {Converters}}, + url = {https://papers.ssrn.com/abstract=4886361}, + doi = {10.2139/ssrn.4886361}, + abstract = {The power take-off (PTO) system in a wave energy converter (WEC) is the means by which the energy in an ocean wave is converted into useful energy. There has been a general lack of technology convergence in the wave energyindustry and PTO design has been largely device-specific with the design process determined by the WEC developer. An optimizedPTO design can significantly affect the efficiency, reliability, performance, and overall cost and viability of a device. There remains a need in the marine energy industry for best practices and efficient design processes to be identified as it could greatly benefit developers and researchers in designing an optimal WEC PTO.The results from the extensive modelling and analysis effort in this research indicate that there may be an optimal sizing for WEC PTOs for both power and PTO force rating and that substantial reductions can be made in the cost of a device without significant loss in the energy produced. Furthermore, this optimal sizing may be independent of WEC type and deployment location.With an optimal, or near optimal, approach to WEC PTO sizing demonstrated, a methodology is proposed to address the challenge of nameplate ratings in the wave energy industry.}, + language = {en}, + urldate = {2025-01-11}, + publisher = {Social Science Research Network}, + author = {McGilton, Ben and Nakhai, Aryana and McNally, Jim}, + month = jul, + year = {2024}, + keywords = {LCOx, PTO, cost, rating, sizing, wave energy}, +} + +@article{sundarrajan_open-loop_2023, + title = {Open-{Loop} {Control} {Co}-{Design} of {Semisubmersible} {Floating} {Offshore} {Wind} {Turbines} {Using} {Linear} {Parameter}-{Varying} {Models}}, + volume = {146}, + issn = {1050-0472}, + url = {https://doi.org/10.1115/1.4063969}, + doi = {10.1115/1.4063969}, + abstract = {This paper discusses a framework to design elements of the plant and control systems for floating offshore wind turbines in an integrated manner using linear parameter-varying models. Multiple linearized models derived from aero-elastic simulation software in different operating regions characterized by the incoming wind speed are combined to construct an approximate low-fidelity model of the system. The combined model is then used to generate open-loop, optimal control trajectories as part of a nested control co-design strategy that explores the system’s power production and stability using the platform pitch tilt as a proxy in the context of crucial plant and control design decisions. The radial distance between the central and outer columns and the diameter of the outer columns of the semisubmersible platform are the plant design variables. The platform stability and power production are studied for different plant design decisions. The effect of plant decisions on subsequent power production and stability response of the floating wind turbine is quantified in terms of the levelized cost of energy. The results show that the inner-loop constraints and the plant design decisions affect the turbine’s power and, subsequently, the cost of the system.}, + number = {041704}, + urldate = {2025-01-04}, + journal = {Journal of Mechanical Design}, + author = {Sundarrajan, Athul K. and Hoon Lee, Yong and Allison, James T. and Zalkind, Daniel S. and Herber, Daniel R.}, + month = nov, + year = {2023}, +} + +@article{rohrer_analytical_2024, + title = {Analytical gradients of first-order diffraction and radiation forces for design optimization of floating structures}, + volume = {152}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118724003195}, + doi = {10.1016/j.apor.2024.104198}, + abstract = {Gradient-based design optimization of floating structures with many design variables requires efficient and accurate computation of hydrodynamic coefficients including wave excitation forces and their derivatives with respect to design variables. For large-volume structures or structures with many component members, the only practical method to determine diffraction and radiation forces is to apply a boundary element method solver. This work presents the first known boundary element method solver with implicit analytic derivatives, allowing for total derivative computation alongside force evaluation. Two case studies are presented: a single floating circular column and a structure with multiple square columns attached to a horizontal pontoon. Force results from both case studies agree well with reference data, while derivative results agree with the best comparisons available. Computational requirements limit the applicability of this method and suggest further work is required to refine this approach.}, + urldate = {2025-01-02}, + journal = {Applied Ocean Research}, + author = {Rohrer, Peter J. and Bachynski-Polić, Erin E.}, + month = nov, + year = {2024}, + keywords = {Boundary element method, Gradient-based optimization, Implicit analytic derivatives, Surrogate model}, + pages = {104198}, +} + +@misc{bradbury_jax_2018, + title = {{JAX}: composable transformations of {Python}+{NumPy} programs}, + url = {http://github.com/jax-ml/jax}, + author = {Bradbury, James and Frostig, Roy and Hawkins, Peter and Johnson, Matthew James and Leary, Chris and Maclaurin, Dougal and Necula, George and Paszke, Adam and VanderPlas, Jake and Wanderman-Milne, Skye and Zhang, Qiao}, + year = {2018}, +} + +@misc{ruehl_wec-simwec-sim_2024, + title = {{WEC}-{Sim}/{WEC}-{Sim}: v6.1.2}, + shorttitle = {{WEC}-{Sim}/{WEC}-{Sim}}, + url = {https://zenodo.org/records/14549050}, + doi = {10.5281/zenodo.14549050}, + abstract = {What's Changed + + + +Fixing documentation inconsistency for PTO-Sim blocks by @jleonqu in https://github.com/WEC-Sim/WEC-Sim/pull/1330 + +Update Google analytics implementation in docs by @akeeste in https://github.com/WEC-Sim/WEC-Sim/pull/1342 + +Body block library update for bug fix \#1346 by @dforbush2 in https://github.com/WEC-Sim/WEC-Sim/pull/1347 + +Fixes the bug in the bodyClass for the QTFs and variable hydro by @MShabara in https://github.com/WEC-Sim/WEC-Sim/pull/1351 + +Update overview.rst - fixed a typo by @thepeteriley in https://github.com/WEC-Sim/WEC-Sim/pull/1362 + +Update forceInternalMechanics and powerInternalMechanics in PTO blocks by @akeeste in https://github.com/WEC-Sim/WEC-Sim/pull/1369 + +Multi wave class bug fix v2 by @MShabara in https://github.com/WEC-Sim/WEC-Sim/pull/1373 + + +New Contributors + + + +@thepeteriley made their first contribution in https://github.com/WEC-Sim/WEC-Sim/pull/1362 + + +Statistics: + + + +18 issues closed since v6.1.1 + +34 PRs merged since v6.1.1 + +7 Discussions answered since v6.1.1 + + +Full Changelog: https://github.com/WEC-Sim/WEC-Sim/compare/v6.1.1...v6.1.2}, + urldate = {2025-01-02}, + publisher = {Zenodo}, + author = {Ruehl, Kelley and Keester, Adam and dforbush2 and Ströfer, Carlos A. Michelén and Topper, Mathew and Lawson, Michael and jtgrasb and Husain, Salman and Leon, Jorge and Ling, Bradley A. and Shabara, Mohamed and Ogden, David and j-vanrij and jhbates and Nguyen, Lily and Jeffalo1 and sedwardsand and ratanakso and emiliofa and crobarcro and agmoore4 and Alves, Erick F. and zmorrell-sand and yuyihsiang and Hall, Matt and gparisella and ashleynchong and SiHeTh and Davies, Ryan and Riley, Pete}, + month = dec, + year = {2024}, +} + +@misc{mccabe_mdocean_2024, + title = {{MDOcean}}, + url = {https://zenodo.org/records/13997244}, + doi = {10.5281/zenodo.13997244}, + abstract = {Open source codebase that uses multidisciplinary design optimization to optimize an ocean wave energy converter}, + urldate = {2025-01-02}, + publisher = {Zenodo}, + author = {McCabe, Rebecca and Dietrich, Madison and Ren, Iris and Murphy, Olivia and Haji, Maha N.}, + month = oct, + year = {2024}, + keywords = {hydrodynamics, multidisciplinary-optimization, wave-energy}, +} + +@techreport{gaudin_single_2021, + type = {Final report}, + title = {From single to multiple wave energy converters: {Cost} reduction through location and configuration optimisation}, + shorttitle = {From single to multiple wave energy converters}, + number = {ARENA 2015 RND086}, + institution = {University of Western Australia}, + author = {Gaudin, C. and David, D. R. and Cai, Y. and Hansen, J. E. and Bransby, M. F. and Rijnsdorp, D. P. and Lowe, R. J. and O’Loughlin, C. D. and Lu, T. and Uzielli, M. and O'Neill, Michael}, + month = oct, + year = {2021}, +} + +@article{tao_low_2003, + title = {Low \textit{{KC}} flow regimes of oscillating sharp edges. {II}. {Hydrodynamic} forces}, + volume = {25}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118703000464}, + doi = {10.1016/S0141-1187(03)00046-4}, + abstract = {Three vortex shedding modes, i.e. independent vortex shedding, interactive vortex shedding and uni-directional vortex shedding, for flow induced by oscillatory vertical cylinder witha disk attached at its keel were presented in Part I. The occurrence of these modes were shown to depend on the Keulegan–Carpenter (KC) number and disk thickness–diameter ratio. Associated with these distinct changes of vortex shedding patterns are distinct increases in the hydrodynamic damping. A quantitative method of identifying the vortex shedding flow regimes is proposed, and the scaling laws for heave damping estimation of cylinder+disk configuration are presented. A sample calculation on a classic Spar platform show that addition of a heave plate increased the heave damping fourfold.}, + number = {2}, + urldate = {2024-12-27}, + journal = {Applied Ocean Research}, + author = {Tao, Longbin and Thiagarajan, Krish}, + month = apr, + year = {2003}, + keywords = {Keulegan–Carpenter number, Sharp edged body, Vortex shedding}, + pages = {53--62}, +} + +@techreport{newman_motions_1963, + address = {Bethesda, MD}, + type = {Research and development report}, + title = {The motions of a spar buoy in regular waves}, + url = {https://apps.dtic.mil/sti/tr/pdf/AD0406333.pdf}, + doi = {10.5962/bhl.title.48348}, + number = {1499}, + institution = {Department of the Navy: David Taylor Model Basin Hydromechanics Laboratory}, + author = {Newman, J. N.}, + month = may, + year = {1963}, + pages = {38}, +} + +@book{martins_engineering_2022, + address = {Cambridge, UK}, + title = {Engineering {Design} {Optimization}}, + isbn = {978-1-108-83341-7}, + url = {https://mdobook.github.io}, + doi = {10.1017/9781108980647}, + publisher = {Cambridge University Press}, + author = {Martins, Joaquim R. R. A. and Ning, Andrew}, + month = jan, + year = {2022}, +} + +@book{papalambros_principles_2017, + edition = {Third}, + title = {Principles of optimal design}, + isbn = {978-1-107-13267-2}, + publisher = {Cambridge University Press, Cambridge}, + author = {Papalambros, Panos Y. and Wilde, Douglass J.}, + year = {2017}, + mrnumber = {3585626}, +} + +@article{rosati_control_2023, + title = {Control co-design of power take-off and bypass valve for {OWC}-based wave energy conversion systems}, + volume = {219}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148123014386}, + doi = {10.1016/j.renene.2023.119523}, + abstract = {Wave energy is a significant source of renewable energy harnessed by wave energy converters (WECs). However, due to the relatively high levelised cost of energy (LCoE), wave energy has not attained a commercial stage yet. To minimise the LCoE, since the optimum (uncontrolled) WEC design typically differs from the optimum controlled WEC design, control co-design (CCD) techniques are essential. With CCD, the WEC control-related aspects are taken into account from the start of the WEC design phase and, ideally, the best control-informed WEC design is then achieved. This paper specifically focuses on CCD for an oscillating-water-column (OWC) WEC, equipped with a Wells turbine and a bypass valve. In essence, a parametric CCD approach is devised to find the optimum (control-informed) turbine rotor diameter, and bypass valve diameter, for the considered OWC WEC. In particular, the optimum design parameters minimise a ‘simplified’ LCoE, which is chosen as a suitable performance function. Despite the LCoE is primarily sensitive to the power take-off size, rather than to the bypass valve size, peak-shaving control with a bypass valve potentially increases the capacity factor and, consequently, can minimise the LCoE for small-to-medium sized turbines.}, + urldate = {2024-12-23}, + journal = {Renewable Energy}, + author = {Rosati, Marco and Ringwood, John V.}, + month = dec, + year = {2023}, + keywords = {Bypass valve, Control co-design, Levelised cost of energy, Oscillating-water-column, Wave energy, Wells turbine}, + pages = {119523}, +} + +@article{lin_fast_2025, + title = {Fast optimal control performance evaluation for wave energy control co-design}, + volume = {239}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148124020421}, + doi = {10.1016/j.renene.2024.121974}, + abstract = {With the application of energy-maximizing control for wave energy converters (WECs), the WEC design problem becomes a control co-design problem. One of the fundamental requirements of co-design is to evaluate the optimal control performance, i.e., average power generation. Previous control techniques include model predictive control (MPC) and pseudo-spectral (PS) control, but both require iterative optimization, with computational requirements the main limiting factor in co-design. In this study, a fast optimal control performance evaluation method is proposed based on a ‘wave-by-wave’ (WbW) representation. The idea is to split the wave excitation force (WEF) signals into individual waves, process them separately, and then combine the results with the distribution of WEF amplitude and period, yielding a straightforward average power calculation. The method is fully developed and studied, considering the cases of position-only, and general, constraints, as well as different choices to obtain the WEF parameter distribution. It is shown that the WbW method can achieve a very high control evaluation fidelity (within a 5\% error) and give almost the same co-design result as MPC and PS (implemented using WecOptTool), but with a significantly reduced computation time (e.g., hundreds of times faster), therefore being a game changer for control co-design of WECs.}, + urldate = {2024-12-22}, + journal = {Renewable Energy}, + author = {Lin, Zechuan and Huang, Xuanrui and Xiao, Xi and Ringwood, John V.}, + month = feb, + year = {2025}, + keywords = {Control co-design, Model predictive control, Pseudo-spectral control, Wave energy converter}, + pages = {121974}, +} + +@article{devin_high-dimensional_2024, + title = {High-dimensional control co-design of a wave energy converter with a novel pitch resonator power takeoff system}, + volume = {312}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801824024624}, + doi = {10.1016/j.oceaneng.2024.119124}, + abstract = {Researchers are exploring adding wave energy converters to existing oceanographic buoys to provide a predictable source of renewable power. A ”pitch resonator” power take-off system has been developed that generates power using a geared flywheel system designed to match resonance with the pitching motion of the buoy. However, the novelty of the concept leaves researchers uncertain about various design aspects of the system. This work presents a novel design study of a pitch resonator to inform design decisions for an upcoming deployment of the system. The assessment uses control co-design via WecOptTool to optimize control trajectories for maximal electrical power production while varying five design parameters of the pitch resonator. Given the large search space of the problem, the control trajectories are optimized within a Monte Carlo analysis to identify optimal designs, followed by parameter sweeps around the optimum to identify trends between the design parameters. The gear ratio between the pitch resonator spring and flywheel are found to be the most sensitive design variables to power performance. The assessment also finds similar power generation for various sizes of resonator components, suggesting that correctly designing for optimal control trajectories at resonance is more critical to the design than component sizing.}, + urldate = {2024-12-22}, + journal = {Ocean Engineering}, + author = {Devin, Michael C. and Gaebele, Daniel T. and Ströfer, Carlos A. Michelén and Grasberger, Jeff T. and Lee, Jantzen and Coe, Ryan G. and Bacelli, Giorgio}, + month = nov, + year = {2024}, + keywords = {Central Pioneer Array, Control co-design, Optimization, Power take-off, Wave energy converter, WecOptTool}, + pages = {119124}, +} + +@article{cotten_multi-objective_2022, + title = {Multi-objective optimisation of a sloped-motion, multibody wave energy converter concept}, + volume = {194}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148122006681}, + doi = {10.1016/j.renene.2022.05.030}, + abstract = {The WaveTrain device is a wave energy converter concept designed to extend the high performance of buoys that undergo sloped motion into a deep water environment. It achieves this by mechanically interconnecting a series of sloped modules, amongst which restorative forces can be exchanged in order to prevent detrimental pitching motion, whilst sufficiently free motion along the inclined axis is retained. Importantly, this circumvents the requirement of a rigid seabed connection, but introduces a potential vulnerability of operational failure of the rotational joints that link each connecting strut to the adjacent module. In this paper, the impact of considering the fatigue damage accumulating at the joints, in addition to the power extraction, is investigated with regards to the optimal design of the WaveTrain device. A specially-tailored multi-objective genetic algorithm is used to explore the optimal design candidates with two variants of the pair of conflicting objectives (power extraction and fatigue damage). Some key design criteria are then presented, with reference and comparison to the design criteria that are considered optimal when only power extraction is considered.}, + urldate = {2024-12-22}, + journal = {Renewable Energy}, + author = {Cotten, A. and Forehand, D. I. M.}, + month = jul, + year = {2022}, + keywords = {Heuristic optimisation, Hydrodynamic modelling, Multi-objective optimisation, Multibody wave energy converter, Sloped motion wave energy converter, WaveTrain}, + pages = {307--320}, +} + +@article{an_optimal_2024, + title = {Optimal {Design} of the {Overtopping} {Wave} {Energy} {Converter} {Based} on {Fluid}–{Structure} {Interaction} {Simulation}}, + volume = {116}, + issn = {0749-0208}, + url = {https://doi.org/10.2112/JCR-SI116-117.1}, + doi = {10.2112/JCR-SI116-117.1}, + abstract = {An, S.-H.; Kim, G.-G., and Lee, J.-H., 2023. Optimal design of the overtopping wave energy converter based on fluid–structure interaction simulation. In: Lee, J.L.; Lee, H.; Min, B.I.; Chang, J.-I.; Cho, G.T.; Yoon, J.-S., and Lee, J. (eds.), Multidisciplinary Approaches to Coastal and Marine Management. Journal of Coastal Research, Special Issue No. 116, pp. 578-582. Charlotte (North Carolina), ISSN 0749-0208.The wave overtopping system in wave power generation systems is called the Overtopping Wave Energy Converter (OWEC). The performance of the OWEC is affected by wave height and period. Wave characteristics, such as wave height, period, and direction, vary with environmental conditions, which make it difficult for the OWEC to generate stable electric power. To mitigate this issue, appropriate OWEC designs based on environmental conditions and wave characteristics must be investigated. In this study, the hydraulic efficiency of the OWEC and the load acting on it were calculated using the Smoothed Particle Hydrodynamics (SPH) based on the environmental conditions along the Ulleungdo coast, and the structural safety of the optimized OWEC model was verified. Moreover, a particle-based simulation was performed to confirm the effect of design parameters on energy efficiency. Additionally, the load acting on the OWEC was calculated, and the optimization method was used to design six types of substructures. Finally, structural analysis was conducted, confirming that all six types avoided the design model's structural resonance period.}, + number = {SI}, + urldate = {2024-12-22}, + journal = {Journal of Coastal Research}, + author = {An, Sung-Hwan and Kim, Geun-Gon and Lee, Jong-Hyun}, + month = jan, + year = {2024}, + pages = {578--582}, +} + +@article{garcia-teruel_reliability-based_2021, + title = {Reliability-based hull geometry optimisation of a point-absorber wave energy converter with power take-off structural reliability objectives}, + volume = {15}, + copyright = {© 2021 The Authors. IET Renewable Power Generation published by John Wiley \& Sons Ltd on behalf of The Institution of Engineering and Technology}, + issn = {1752-1424}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1049/rpg2.12249}, + doi = {10.1049/rpg2.12249}, + abstract = {Recent studies have focused on optimising wave energy converter (WEC) designs, maximising their power performance and techno-economic feasibility. Reliability has yet to be fully considered in these formulations, despite its impact on cost and performance. In this study, this gap is addressed by developing a reliability-based design optimisation framework for WEC hull geometries to explore the trade-off between power performance and power take-off (PTO) system damage equivalent loading (DEL). Optimised hull geometries for two sites are considered (from the centre of the North Sea and off the west coast of Norway), and two directions of motions (heave and surge). Results indicate that site characteristics affect the potential power production and DEL for an optimal WEC design. These are also affected by the direction of motion for power extraction, which also significantly changes optimal hull shape characteristics. Optimal surging WEC designs have edges facing oncoming wave directions, while heaving WECs have pointed bottoms, both to streamline movement. Larger, more convex WECs result in greater power production and DEL, while smaller, more concave WECs result in lesser power production and DEL. These findings underline the importance of considering WEC hull geometry in early design processes to optimise cost, power production, and reliability.}, + language = {en}, + number = {14}, + urldate = {2024-12-22}, + journal = {IET Renewable Power Generation}, + author = {Garcia-Teruel, Anna and Clark, Caitlyn E.}, + year = {2021}, + note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1049/rpg2.12249}, + keywords = {Design, Fluid mechanics and aerodynamics (mechanical engineering), Maintenance and reliability, Optimisation, Optimisation techniques, Other structures, Power and plant engineering (mechanical engineering), Project and design engineering, Reliability, Tidal and flow energy, Wave power}, + pages = {3255--3268}, +} + +@article{ferri_balancing_2014, + title = {Balancing {Power} {Output} and {Structural} {Fatigue} of {Wave} {Energy} {Converters} by {Means} of {Control} {Strategies}}, + volume = {7}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/7/4/2246}, + doi = {10.3390/en7042246}, + abstract = {In order to reduce the cost of electricity produced by wave energy converters (WECs), the benefit of selling electricity as well as the investment costs of the structure has to be considered. This paper presents a methodology for assessing the control strategy for a WEC with respect to both energy output and structural fatigue loads. Different active and passive control strategies are implemented (proportional (P) controller, proportional-integral (PI) controller, proportional-integral-derivative with memory compensation (PID) controller, model predictive control (MPC) and maximum energy controller (MEC)), and load time-series resulting from numerical simulations are used to design structural parts based on fatigue analysis using rain-flow counting, Stress-Number (SN) curves and Miner’s rule. The objective of the methodology is to obtain a cost-effective WEC with a more comprehensive analysis of a WEC based on a combination of well known control strategies and standardised fatigue methods. The presented method is then applied to a particular case study, the Wavestar WEC, for a specific location in the North Sea. Results, which are based on numerical simulations, show the importance of balancing the gained power against structural fatigue. Based on a simple cost model, the PI controller is shown as a viable solution.}, + language = {en}, + number = {4}, + urldate = {2024-12-22}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Ferri, Francesco and Ambühl, Simon and Fischer, Boris and Kofoed, Jens Peter}, + month = apr, + year = {2014}, + note = {Number: 4}, + keywords = {active control, fatigue analysis, model predictive control (MPC), passive control, wave energy converter (WEC), wavestar}, + pages = {2246--2273}, +} + +@article{ambuhl_reliability-based_2014, + title = {Reliability-{Based} {Structural} {Optimization} of {Wave} {Energy} {Converters}}, + volume = {7}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/7/12/8178}, + doi = {10.3390/en7128178}, + abstract = {More and more wave energy converter (WEC) concepts are reaching prototypelevel. Once the prototype level is reached, the next step in order to further decrease thelevelized cost of energy (LCOE) is optimizing the overall system with a focus on structuraland maintenance (inspection) costs, as well as on the harvested power from the waves.The target of a fully-developed WEC technology is not maximizing its power output,but minimizing the resulting LCOE. This paper presents a methodology to optimize thestructural design of WECs based on a reliability-based optimization problem and the intentto maximize the investor’s benefits by maximizing the difference between income (e.g., fromselling electricity) and the expected expenses (e.g., structural building costs or failure costs).Furthermore, different development levels, like prototype or commercial devices, may havedifferent main objectives and will be located at different locations, as well as receive varioussubsidies. These points should be accounted for when performing structural optimizationsof WECs. An illustrative example on the gravity-based foundation of the Wavestar deviceis performed showing how structural design can be optimized taking target reliability levelsand different structural failure modes due to extreme loads into account.}, + language = {en}, + number = {12}, + urldate = {2024-12-22}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Ambühl, Simon and Kramer, Morten and Sørensen, John Dalsgaard}, + month = dec, + year = {2014}, + note = {Number: 12}, + keywords = {LCOE, WEC, Wavestar, probabilistic reliability analysis, reliability level, reliability-basedoptimization, wave energy}, + pages = {8178--8200}, +} + +@article{garcia-teruel_review_2021, + title = {A review of geometry optimisation of wave energy converters}, + volume = {139}, + issn = {1364-0321}, + url = {https://www.sciencedirect.com/science/article/pii/S1364032120308777}, + doi = {10.1016/j.rser.2020.110593}, + abstract = {Reducing the cost of energy of wave energy converters is key for the advancement of the technology. The costs associated with the device structure show the highest potential to achieve this reduction. For this reason, many hull geometry optimisation studies have been performed over the last 20 years, with the aim of finding improved hull shapes, that maximise the power generation and minimise the costs. These studies have been performed for different types of devices, applying a number of optimisation algorithms and representing power generation and costs with various strategies. The definition of the optimisation problem and the use of the most suitable strategies is key for a successful optimisation process, which will provide meaningful results and support device design at early development stages. This paper reviews all these different approaches, with a view to distilling the main findings and best practices; it then formulates recommendations based on these. The work is intended to serve as reference for any technology developer wishing to perform wave energy converter optimisation and for any funding body wanting to assess different device designs.}, + urldate = {2024-12-22}, + journal = {Renewable and Sustainable Energy Reviews}, + author = {Garcia-Teruel, A. and Forehand, D. I. M.}, + month = apr, + year = {2021}, + keywords = {Cost of energy, Device design, Hull geometry, Optimisation problem, Wave energy converter}, + pages = {110593}, +} + +@article{coe_survey_2018, + title = {A {Survey} of {WEC} {Reliability}, {Survival} and {Design} {Practices}}, + volume = {11}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/11/1/4}, + doi = {10.3390/en11010004}, + abstract = {A wave energy converter must be designed to survive and function efficiently, often in highly energetic ocean environments. This represents a challenging engineering problem, comprising systematic failure mode analysis, environmental characterization, modeling, experimental testing, fatigue and extreme response analysis. While, when compared with other ocean systems such as ships and offshore platforms, there is relatively little experience in wave energy converter design, a great deal of recent work has been done within these various areas. This paper summarizes the general stages and workflow for wave energy converter design, relying on supporting articles to provide insight. By surveying published work on wave energy converter survival and design response analyses, this paper seeks to provide the reader with an understanding of the different components of this process and the range of methodologies that can be brought to bear. In this way, the reader is provided with a large set of tools to perform design response analyses on wave energy converters.}, + language = {en}, + number = {1}, + urldate = {2024-12-22}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Coe, Ryan G. and Yu, Yi-Hsiang and Van Rij, Jennifer}, + month = jan, + year = {2018}, + note = {Number: 1}, + keywords = {design, extreme conditions, survival, wave energy converter (WEC)}, + pages = {4}, +} + +@article{zou_practical_2023, + title = {Practical power absorption assessment limits for generic wave energy converters}, + volume = {277}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S002980182300687X}, + doi = {10.1016/j.oceaneng.2023.114303}, + abstract = {There lacks a generic representation of the wave power absorption of devices across dimensions, shapes, and resource conditions. A conventional resource assessment approach only evaluates the wave power based on wave characteristics, which is insufficient to capture the practical power absorption variations between WEC archetypes. In this paper, a novel WEC net power assessment (WNPA) method is proposed and is generally applicable to any arbitrary WECs design. Two theoretical upper bounds of wave power absorption are adopted and derived for different types of WECs. Numerical simulations are conducted to apply this novel technique to assess the net power available to different WECs at the Wave Energy Test Site (WETS), Hawaii and the PacWave site, Oregon over 11 years. By comparing the power potential for WECs oscillating in different degrees of freedom, the results indicate the surging mode may be the most energetic; regardless of shapes and ocean sites. When applied to three generic WECs (point absorber, terminator, and attenuator), the pitching terminator is shown to have lower absorption potential. Finally, the mean annual energy production (MAEP) of the three generic WECs at WETS and PacWave are compared, and a surging attenuator shows a significant wave power potential at PacWave.}, + urldate = {2024-12-22}, + journal = {Ocean Engineering}, + author = {Zou, Shangyan and Robertson, Bryson and Yim, Solomon}, + month = jun, + year = {2023}, + keywords = {Budal’s limit, Maximum wave power absorption, Net power assessment, Wave energy conversion, Wave resources assessment}, + pages = {114303}, +} + +@article{garcia-teruel_design_2022, + title = {Design limits for wave energy converters based on the relationship of power and volume obtained through multi-objective optimisation}, + volume = {200}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148122014033}, + doi = {10.1016/j.renene.2022.09.053}, + abstract = {Wave energy conversion can have a significant role in the transition to a net-zero energy system. However, cost reductions are still required for this technology to be commercially competitive. To achieve commercialisation at a reasonable expense, disruptive innovations at early stages of development need to be enabled. Thus, to explore more of the design space, design limits need to be defined. Although physical limits, such as the maximum capture width and the Budal upper bound, have been defined, more realistic limits considering the variability of the resource, device dimensions and the actual hydrodynamic behaviour of different shapes can help provide further insights. This is relevant to both technology developers and funding bodies wanting to identify potential areas for innovation. In this study, the use of multi-objective optimisation is proposed to explore these limits, by investigating the optimal relationship between average annual power production and device size. This relationship depends on resource level, mode of motion used for power extraction and hull shape. The obtained fundamental relationships fall within the existing physical limits, but provide further insights into the impact of different factors on these limits. This allows for a more direct comparison with the performance of state-of-the-art wave energy converters.}, + urldate = {2024-12-22}, + journal = {Renewable Energy}, + author = {Garcia-Teruel, Anna and Roberts, Owain and Noble, Donald R. and Henderson, Jillian Catherine and Jeffrey, Henry}, + month = nov, + year = {2022}, + keywords = {Capture width, Design limits, Fundamental relationships, Scale, Size, Wave energy converter}, + pages = {492--504}, +} + +@article{tom_revisiting_2021, + title = {Revisiting {Theoretical} {Limits} for {One} {Degree}-of-{Freedom} {Wave} {Energy} {Converters}}, + volume = {143}, + issn = {0195-0738}, + url = {https://doi.org/10.1115/1.4049287}, + doi = {10.1115/1.4049287}, + abstract = {This work revisits the theoretical limits of one degree-of-freedom wave energy converters (WECs). This work considers the floating sphere used in the OES Task 10 WEC modeling and verification effort for analysis. Analytical equations are derived to determine bounds on displacement amplitude, time-averaged power (TAP), and power-take-off (PTO) force. A unique result found shows that the TAP absorbed by a WEC can be defined solely by the inertial properties and radiation hydrodynamic coefficients. In addition, a unique expression for the PTO force was derived that provides lower and upper bounds when resistive control is used to maximize power generation. For complex conjugate control, this same expression only provides a lower bound, as there is theoretically no upper bound. These bounds assist in comparing the performance of the floating sphere if it were to extract energy using surge or heave motion. The analysis shows because of differences in hydrodynamic coefficients for each oscillating mode, there are different frequency ranges that provide better power capture efficiency. The influence of a motion constraint on TAP while utilizing a nonideal power take-off is examined and found to reduce the losses associated with bidirectional energy flow. The expression to calculate TAP with a nonideal PTO is modified by the electrical conversion efficiency and the ratio of the PTO spring and damping coefficients. The PTO spring and damping coefficients were separated in the expression, allowing for limits to be set on the PTO coefficients to ensure net power generation.}, + number = {090909}, + urldate = {2024-12-22}, + journal = {Journal of Energy Resources Technology}, + author = {Tom, Nathan M.}, + month = jan, + year = {2021}, +} + +@techreport{housner_numerical_2024, + title = {Numerical {Modeling} and {Optimization} of the {iProTech} {Pitching} {Inertial} {Pump} ({PIP}) {Wave} {Energy} {Converter} ({WEC}) ({Cooperative} {Research} and {Development} {Final} {Report}, {CRADA} {Number}: {CRD}-22-22968)}, + shorttitle = {Numerical {Modeling} and {Optimization} of the {iProTech} {Pitching} {Inertial} {Pump} ({PIP}) {Wave} {Energy} {Converter} ({WEC}) ({Cooperative} {Research} and {Development} {Final} {Report}, {CRADA} {Number}}, + url = {https://www.osti.gov/biblio/2478103}, + doi = {10.2172/2478103}, + abstract = {This work generated a first-of-its-kind automated workflow to couple time-domain simulations of wave energy converters written in one software language with a set of design generation and evaluation scripts written in another software language. This automated workflow used an existing optimization package to analyze the sensitivity of different design parameters on the power output of a specific WEC, iProTech’s Pitching Inertial Pump (PIP). Geometric, inertial, and power take-off variables were all varied and optimized to find values that produced the highest amount of power generated over varying wave conditions. The findings on these parameter sensitivity studies are used to inform future design iterations of the PIP WEC. Including more design variables in the optimizations will only increase computational run time and further software development is needed to analyze a larger optimization.}, + language = {English}, + number = {NREL/TP-5000-92188; CRD-22-22968}, + urldate = {2024-12-21}, + institution = {National Renewable Energy Laboratory (NREL), Golden, CO (United States); iProTech, Redwood City, CA (United States)}, + author = {Housner, Stein and Wynn, Nick}, + month = nov, + year = {2024}, +} + +@article{abdulkadir_control_2024, + title = {Control co-design optimization of nonlinear wave energy converters}, + volume = {304}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S002980182401165X}, + doi = {10.1016/j.oceaneng.2024.117827}, + abstract = {This paper presents a study in which both the control and the shape of a Wave Energy Converter (WEC) are optimized simultaneously. A heaving point absorber WEC is assumed. To optimize the shape of the WEC’s buoy, nonlinear hydrodynamics need to be evaluated. One main contribution of this paper is the integration of nonlinear hydrodynamics and nonlinear control during the optimization of the WEC’s buoy shape. This approach is referred to as Control Co-Design (CCD). In this work, we present a control co-designed nonlinear heaving point absorber WEC that leverages the nonlinear dynamic, static Froude–Krylov (FK) forces to maximize power extraction. The nonlinear FK forces are approximated using a variation of the algebraic solution; the hydrodynamic forces of the body are computed using an analytic formulation leveraging the methods of eigenfunction expansion and separation of variables. The nonlinear geometry of the buoy is modeled as a series of inclined panels; the inclination angles are optimized to arrive at the optimal shape. The performance of the optimized shape is compared to that of a nonlinear spherical WEC. It is found that an average of 20\% improvement is achieved by the optimized geometry over the spherical device.}, + urldate = {2024-12-21}, + journal = {Ocean Engineering}, + author = {Abdulkadir, Habeebullah and Abdelkhalik, Ossama}, + month = jul, + year = {2024}, + keywords = {Control co-design, Froude–Krylov forces, Nonlinear WEC, Optimal control, Wave energy converter}, + pages = {117827}, +} + +@article{mi_multi-scale_2025, + title = {Multi-scale concurrent design of a 100 {kW} wave energy converter}, + volume = {238}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148124019037}, + doi = {10.1016/j.renene.2024.121835}, + abstract = {Wave energy converters (WEC) are complex systems comprising multiple subsystems including wave capture structure and station keeping, power takeoff (PTO), and control. Designing the whole WEC system requires an effective design approach that considers mutual couplings among them throughout the entire design process. Moreover, the traditional serial design approach, transitioning from small-scale to full-scale designs incrementally, often overlooks issues related to scaling factors. This can lead to unexpected challenges and delays towards real ocean deployment. To address system-level considerations and scaling challenges in WEC design, this study introduces a novel multi-scale concurrent design approach. It facilitates full-scale WEC design from the early concept to ocean test planning. This approach ensures a holistic and effective design process that considers interactions among subsystems at each design stage and incorporates control co-design starting with early concept development. To demonstrate the presented approach, we introduce a case study focused on the design of a 100 kW floating oscillating surge wave energy converter (FOSWEC) for PacWave South ocean test site. This includes the design of wave capture structure and station keeping, PTO, control, ocean test planning, and techno-economic analysis. The case study showcases the effectiveness of the proposed approach, offering invaluable guidance and insights for future WEC development and support efficient, cost-effective collaboration in WEC design and testing.}, + urldate = {2024-12-20}, + journal = {Renewable Energy}, + author = {Mi, Jia and Huang, Jianuo and Yang, Lisheng and Ahmed, Alaa and Li, Xiaofan and Wu, Xian and Datla, Raju and Staby, Bill and Hajj, Muhammad and Zuo, Lei}, + month = jan, + year = {2025}, + keywords = {Case study, Concurrent design, Multi-scale design, PacWave-south, Wave energy converter}, + pages = {121835}, +} + +@misc{khanal_multi-objective_2024, + title = {Multi-{Objective} {Multidisciplinary} {Optimization} of {Wave} {Energy} {Converter} {Array} {Layout} and {Controls}}, + url = {http://arxiv.org/abs/2410.11089}, + doi = {10.48550/arXiv.2410.11089}, + abstract = {This study utilizes multidisciplinary design optimization (MDO) to design an array of heaving wave energy converters (WECs) for grid-scale energy production with decision variables and parameters chosen from the coupled disciplines of geometry, hydrodynamics, layout, motor-actuated reactive controls (with a force maximum constraint) and economics. We vary a WEC's dimensions, array layout, and control gain to minimize two objectives: the levelized cost of energy (LCOE) and the maximum separation distance. This multi-objective optimization approach results in a set of optimal design configurations that stakeholders can choose from for their specific application and needs. The framework yields a range of optimal (minimum) LCOE values from 0.21 to 0.23 {\textbackslash}\$/kWh and a separation distance ranging from 97 to 62 meters. The WEC radius of 4m is found to be optimal, and the q-factor for optimal designs are greater than 1 up to 1.06 for a rhombus-like layout. Additionally, a post-optimality global sensitivity analysis of a design shows that wave heading, wave frequency, WEC lifetime, amplitude and interest rate accounts for most of the variance. Different designs in the Pareto set may be appealing for different decision makers based on their trade-off analysis. To that end, regression model is developed for design heuristics.}, + urldate = {2024-12-17}, + publisher = {arXiv}, + author = {Khanal, Kapil and DeGoede, Nate and Vitale, Olivia and Haji, Maha N.}, + month = oct, + year = {2024}, + note = {arXiv:2410.11089 [eess]}, + keywords = {Computer Science - Systems and Control, Electrical Engineering and Systems Science - Systems and Control}, +} + +@techreport{wierzbicki_lecture_2013, + type = {Lecture notes}, + title = {Lecture 11: {Buckling} of {Plates} and {Sections}}, + shorttitle = {2.{080J} {Structural} {Mechanics} {Lecture} 11}, + url = {https://ocw.mit.edu/courses/2-080j-structural-mechanics-fall-2013/resources/mit2_080jf13_lecture11/}, + abstract = {This file contains information regarding lecture 7.}, + language = {en}, + number = {11}, + urldate = {2024-12-15}, + institution = {Massachusetts Institute of Technology}, + author = {Wierzbicki, Tomasz}, + year = {2013}, +} + +@techreport{american_bureau_of_shipping_requirements_2022, + address = {ABS Plaza 1701 City Plaza Drive Spring, TX 77389 USA}, + type = {Requirement}, + title = {Requirements for {Buckling} and {Ultimate} {Strength} {Assessment} for {Offshore} {Structures}}, + url = {https://ww2.eagle.org/content/dam/eagle/rules-and-guides/current/offshore/126-requirements-for-buckling-and-ultimate-strength-assessment-for-offshore-structures/126-buckling-reqts-july22.pdf}, + language = {en}, + number = {126}, + urldate = {2024-12-15}, + institution = {American Bureau of Shipping}, + author = {{American Bureau of Shipping}}, + month = jul, + year = {2022}, +} + +@book{american_iron_and_steel_institute_cold-formed_1991, + address = {1000 16th Street, NW, Washington, D.C. 20036}, + edition = {1986 Edition with 1989 Addendum}, + title = {Cold-{Formed} {Steel} {Design} {Manual}}, + url = {https://scholarsmine.mst.edu/ccfss-aisi-spec/60/}, + abstract = {Note: This is an electronic version only. A printed version is available here. ELECTRONIC DELIVERY METHOD:The electronic version of this document will be placed in a Dropbox folder and the purchaser notified via email when it is available for downloading. Please be sure to include an email address with your order. Docu}, + language = {en}, + urldate = {2024-12-15}, + publisher = {W. P. Reyman Associates}, + author = {{American Iron and Steel Institute}}, + year = {1991}, +} + +@article{paduano_towards_2024, + title = {Towards standardised design of wave energy converters: {A} high-fidelity modelling approach}, + volume = {224}, + issn = {0960-1481}, + shorttitle = {Towards standardised design of wave energy converters}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148124002064}, + doi = {10.1016/j.renene.2024.120141}, + abstract = {Within this study, an analysis of the global standard panorama for wave energy converters (WECs) is presented, in order to develop design methodologies as close as possible to the state-of-the-art. In particular, an analysis of such international standards panorama exhibits a lack of information and detail regarding WEC system design, and the specific simulations procedures that shall be followed accordingly. In the light of this, this study proposes a standardised design process that can be followed to define the design loads which characterise a structural analysis, which are obtained by high-fidelity models. The device assessment in extreme states is analysed on intact and damaged conditions, where the use of a computational fluid dynamics (CFD) software is proposed to encompass any non-linear behaviour related to extreme events. Furthermore, this article also describes a fatigue assessment based on linear system theory, with the inclusion of linearised significant terms, such as, e.g. mooring influence on device dynamics.}, + urldate = {2024-12-15}, + journal = {Renewable Energy}, + author = {Paduano, Bruno and Parrinello, Luca and Niosi, Francesco and Dell’Edera, Oronzo and Sirigu, Sergej Antonello and Faedo, Nicolás and Mattiazzo, Giuliana}, + month = apr, + year = {2024}, + keywords = {Design, Extreme events, Fatigue, Standards, Wave energy converter}, + pages = {120141}, +} + +@techreport{ove_arup__partners_ltd_structural_2016, + address = {Scotland}, + title = {Structural {Forces} and {Stresses} for {Wave} {Energy} {Devices}}, + url = {https://tethys-engineering.pnnl.gov/publications/structural-forces-stresses-wave-energy-devices}, + number = {ARP LS2}, + urldate = {2024-12-15}, + institution = {Wave Energy Scotland}, + author = {{Ove Arup \& Partners Ltd} and {Cruz Atcheson Consulting Engineers, Lda.}}, + month = jun, + year = {2016}, +} + +@techreport{wierzbicki_lecture_2013-1, + type = {Lecture notes}, + title = {Lecture 7: {Bending} {Response} of {Plates} and {Optimum} {Design}}, + shorttitle = {2.{080J} {Structural} {Mechanics} {Lecture} 7}, + url = {https://ocw.mit.edu/courses/2-080j-structural-mechanics-fall-2013/resources/mit2_080jf13_lecture7/}, + abstract = {This file contains information regarding lecture 7.}, + language = {en}, + number = {7}, + urldate = {2024-12-15}, + institution = {Massachusetts Institute of Technology}, + author = {Wierzbicki, Tomasz}, + year = {2013}, +} + +@article{boedo_corrected_1998, + title = {Corrected {Solution} of {Clamped} {Ring} {Plate} with {Edge} {Point} {Load}}, + volume = {124}, + copyright = {Copyright © 1998 American Society of Civil Engineers}, + issn = {0733-9399}, + url = {https://ascelibrary.org/doi/10.1061/%28ASCE%290733-9399%281998%29124%3A6%28696%29}, + doi = {10.1061/(ASCE)0733-9399(1998)124:6(696)}, + abstract = {This technical note provides closed-form deflection and stress corrections to the +well-known and practical problem of a ring plate clamped along its inner radius and +subjected to a point load on its free outer edge. The corrected solution predicts +radial ...}, + language = {EN}, + number = {6}, + urldate = {2024-12-15}, + journal = {Journal of Engineering Mechanics}, + publisher = {American Society of Civil Engineers}, + author = {Boedo, S. and Prantil, V. C.}, + month = jun, + year = {1998}, + pages = {696--697}, +} + +@book{young_roarks_2001, + title = {Roark's {Formulas} for {Stress} and {Strain}}, + isbn = {978-0-07-150181-1}, + abstract = {Solutions-based approach to quick calculations in structural element design and analysisNow updated with 30\% new material, Roark Formulas for Stress and Strain, Seventh Edition, is the ultimate resource for designers, engineers, and analysts who need to calculate loads and stress. This landmark reference from Warren Young and Richard Budynas provides you with equations and diagrams of structural properties in an easy-to-use, thumb-through format. Updated, with a user-friendly page layout, this new edition includes expanded coverage of joints, bearing and shear stress, experimental stress analysis, and stress concentrations, as well as material behavior coverage and stress and strain measurement. You’ll also find expanded tables and cases; improved notations and figures in the tables; consistent table and equation numbering; and verification of correction factors.}, + language = {en}, + publisher = {McGraw Hill LLC}, + author = {Young, Warren C. and Budynas, Richard G.}, + month = oct, + year = {2001}, + note = {Google-Books-ID: pummClLoFXEC}, + keywords = {Technology \& Engineering / Civil / General}, +} + +@article{mccabe_force-limited_2024, + series = {15th {IFAC} {Conference} on {Control} {Applications} in {Marine} {Systems}, {Robotics} and {Vehicles} {CAMS} 2024}, + title = {Force-{Limited} {Control} of {Wave} {Energy} {Converters} using a {Describing} {Function} {Linearization}⁎}, + volume = {58}, + issn = {2405-8963}, + url = {https://www.sciencedirect.com/science/article/pii/S2405896324018482}, + doi = {10.1016/j.ifacol.2024.10.093}, + abstract = {Actuator saturation is a common nonlinearity. In wave energy conversion, force saturation conveniently limits drivetrain size and cost with minimal impact on energy generation. However, such nonlinear dynamics typically demand numerical simulation, which increases computational cost and diminishes intuition. This paper instead uses describing functions to approximate a force saturation nonlinearity as a linear impedance mismatch. In the frequency domain, the impact of controller impedance mismatch (such as force limit, finite bandwidth, or parameter error) on electrical power production is shown analytically and graphically for a generic nondimensionalized single degree of freedom wave energy converter in regular waves. Results are visualized with Smith charts. Notably, systems with a specific ratio of reactive to real mechanical impedance are least sensitive to force limits, a criteria which conflicts with resonance and bandwidth considerations. The describing function method shows promise to enable future studies such as large-scale design optimization and co-design.}, + number = {20}, + urldate = {2024-12-09}, + journal = {IFAC-PapersOnLine}, + author = {McCabe, Rebecca and Haji, Maha N.}, + month = jan, + year = {2024}, + keywords = {Wave energy converters, constrained control, describing functions, impedance mismatch, linearization, nonlinear and optimal marine system control, systems with saturation}, + pages = {440--445}, +} + +@article{hall_open-source_2022, + title = {An {Open}-{Source} {Frequency}-{Domain} {Model} for {Floating} {Wind} {Turbine} {Design} {Optimization}}, + volume = {2265}, + issn = {1742-6596}, + url = {https://dx.doi.org/10.1088/1742-6596/2265/4/042020}, + doi = {10.1088/1742-6596/2265/4/042020}, + abstract = {A new frequency-domain dynamics model has been developed that uses open-source components to efficiently represent a complete floating wind turbine system. The model, called RAFT (Response Amplitudes of Floating Turbines), incorporates quasi-static mooring reactions, strip-theory and potential-flow hydrodynamics, blade-element-momentum aerodynamics, and linear turbine control. The formulation is compatible with a wide variety of support structure configurations and no manual or time-domain preprocessing steps are required, making RAFT very practical in design and optimization workflows. The model is applied to three reference floating wind turbine designs and its predictions are compared with results from time-domain OpenFAST simulations. There is good agreement in mean offsets as well the statistics and spectra of the dynamic response, verifying RAFT’s general suitability for floating wind analysis. Follow-on work will include verification of potential-flow and turbine-control features and application to optimization problems.}, + language = {en}, + number = {4}, + urldate = {2024-12-08}, + journal = {Journal of Physics: Conference Series}, + publisher = {IOP Publishing}, + author = {Hall, Matthew and Housner, Stein and Zalkind, Daniel and Bortolotti, Pietro and Ogden, David and Barter, Garrett}, + month = may, + year = {2022}, + pages = {042020}, +} + +@book{pozar_microwave_2012, + edition = {4th edition}, + title = {Microwave {Engineering}}, + isbn = {978-1-118-21363-6}, + url = {https://alunoeletrica.eng.ufba.br/material/eletromagnetismoaplicado/livros/pozar.pdf}, + urldate = {2024-10-03}, + publisher = {Wiley}, + author = {Pozar, David}, + year = {2012}, +} + +@article{sun_stochastic_2019, + title = {Stochastic control of wave energy converters for optimal power absorption with constrained control force}, + volume = {87}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118718303122}, + doi = {10.1016/j.apor.2019.03.002}, + abstract = {This paper presents an analytical solution derived for optimal control of the power take-off of a single-degree of freedom heave point absorber with constraints on the control force. The optimal control law turns out to be noncausal with a functional dependence on future velocities. To handle this problem, an algorithm for predicting future velocities is derived. Based on the solution the mean (time-averaged) absorbed power in a given sea-state is calculated. The performance of the indicated controller in terms of the mean absorbed power is close to the optimal value obtained by nonlinear programming and better than a controller with feedback from the present displacement, velocity and acceleration, and with optimized gain factors.}, + urldate = {2024-10-06}, + journal = {Applied Ocean Research}, + author = {Sun, Tao and Nielsen, Søren R. K.}, + month = jun, + year = {2019}, + keywords = {Actuator force constraints, Heave point absorber, Optimal power take-off, Wave energy}, + pages = {130--141}, +} + +@misc{noauthor_77_2020, + title = {7.7: {Broadband} {Matching} to {Reactive} {Loads}}, + shorttitle = {7.7}, + url = {https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Electronics/Microwave_and_RF_Design_III_-_Networks_(Steer)/07%3A_Chapter_7/7.7%3A_Broadband_Matching_to_Reactive_Loads}, + language = {en}, + urldate = {2024-10-03}, + journal = {Engineering LibreTexts}, + month = oct, + year = {2020}, +} + +@article{herber_problem_2019, + title = {A {Problem} {Class} {With} {Combined} {Architecture}, {Plant}, and {Control} {Design} {Applied} to {Vehicle} {Suspensions}}, + volume = {141}, + issn = {1050-0472}, + url = {https://doi.org/10.1115/1.4043312}, + doi = {10.1115/1.4043312}, + abstract = {Here we describe a problem class with combined architecture, plant, and control design for dynamic engineering systems. The design problem class is characterized by architectures comprised of linear physical elements and nested co-design optimization problems employing linear-quadratic dynamic optimization. The select problem class leverages a number of existing theory and tools and is particularly effective due to the symbiosis between labeled graph representations of architectures, dynamic models constructed from linear physical elements, linear-quadratic dynamic optimization, and the nested co-design solution strategy. A vehicle suspension case study is investigated and a specifically constructed architecture, plant, and control design problem is described. The result was the automated generation and co-design problem evaluation of 4374 unique suspension architectures. The results demonstrate that changes to the vehicle suspension architecture can result in improved performance, but at the cost of increased mechanical complexity. Furthermore, the case study highlights a number of challenges associated with finding solutions to the considered class of design problems. One such challenge is the requirement to use simplified design problem elements/models; thus, the goal of these early-stage studies are to identify new architectures that are worth investigating more deeply. The results of higher-fidelity studies on a subset of high-performance architectures can then be used to select a final system architecture. In many aspects, the described problem class is the simplest case applicable to graph-representable, dynamic engineering systems.}, + number = {101401}, + urldate = {2024-09-30}, + journal = {Journal of Mechanical Design}, + author = {Herber, Daniel R. and Allison, James T.}, + month = may, + year = {2019}, +} + +@inproceedings{chen_electrical_2008, + address = {London}, + title = {Electrical and {Mechanical} {Passive} {Network} {Synthesis}}, + isbn = {978-1-84800-155-8}, + doi = {10.1007/978-1-84800-155-8_3}, + abstract = {The context of this paper is the application of electrical circuit synthesis to problems of mechanical control. The use of the electrical-mechanical analogy and the inerter mechanical element is briefly reviewed. Classical results from passive network synthesis are surveyed including Brune’s synthesis, Bott-Duffin’s procedure, Darlington’s synthesis, minimum reactance extraction and the synthesis of biquadratic functions. New results are presented on the synthesis of biquadratic functions which are realisable using two reactive elements and no transformers.}, + language = {en}, + booktitle = {Recent {Advances} in {Learning} and {Control}}, + publisher = {Springer}, + author = {Chen, Michael Z. Q. and Smith, Malcolm C.}, + editor = {Blondel, Vincent D. and Boyd, Stephen P. and Kimura, Hidenori}, + year = {2008}, + pages = {35--50}, +} + +@techreport{bortolotti_system_2022, + title = {System {Modeling} {Frameworks} for {Wind} {Turbines} and {Plants}: {Review} and {Requirements} {Specifications}}, + shorttitle = {System {Modeling} {Frameworks} for {Wind} {Turbines} and {Plants}}, + url = {https://www.osti.gov/biblio/1868328}, + doi = {10.2172/1868328}, + abstract = {System modeling frameworks for wind turbines and plants are used by research groups and industry to design wind energy systems that take into account key trade-offs across performance, cost, and reliability at both the turbine and plant level. The frameworks are exercised using a variety of multi-disciplinary design, analysis and optimization (MDAO) methods. To improve inter-operability and foster collaboration, this report proposes a classification system for the frameworks along dimensions of model fidelity and scope. The classification system is first motivated with reviews the state-of-the-art in the development of software frameworks for integrated wind turbine and plant simulation. Within each major wind turbine and power plant subsystem, a matrix is developed for the disciplines used and the fidelity levels with which each discipline can be modeled. The existing frameworks are then classified according to the matrix. Next, an ontology is proposed that will allow for standardizing how data is transferred between the most common discipline-fidelity combinations used in the frameworks. A common representation of data creates the ability to 1) share system descriptions and analysis results, supporting more transparent benchmarks and comparison, and 2) integrate models together into workflows within and across organizations for improving the efficiency and performance of wind turbine and power plant design processes. Ultimately, this integration leads to better overall wind energy system designs with high performance and low costs.}, + language = {English}, + number = {NREL/TP-5000-82621}, + urldate = {2024-09-14}, + institution = {National Renewable Energy Lab. (NREL), Golden, CO (United States)}, + author = {Bortolotti, Pietro and Bay, Christopher and Barter, Garrett and Gaertner, Evan and Dykes, Katherine and McWilliam, Michael and Friis-Moller, Mikkel and Molgaard Pedersen, Mads and Zahle, Frederik}, + month = may, + year = {2022}, +} + +@article{rijlaarsdam_comparative_2017, + title = {A comparative overview of frequency domain methods for nonlinear systems}, + volume = {42}, + issn = {0957-4158}, + url = {https://www.sciencedirect.com/science/article/pii/S0957415816301568}, + doi = {10.1016/j.mechatronics.2016.12.008}, + abstract = {The widespread acceptance of frequency domain techniques for linear and time invariant systems has been an impetus for the extension of these methodologies toward nonlinear systems. However, differences and equivalences between alternative methods have been less addressed. This paper provides a comparative overview of four classes of frequency domain methods for nonlinear systems: Volterra based models, nonlinear frequency response functions / Bode plots, describing functions and linear approximations in the presence of nonlinearities. Each method is introduced using consistent nomenclature and terminology, which allows for comparison in terms of system and signal classes for which the methods are valid as well as the type of (nonlinear) effects captured by each model. Summarizing, the paper aims to connect, and make different frequency domain methods for nonlinear systems accessible, by providing a comparative overview of such methodologies, accompanied by illustrative (experimental) examples.}, + urldate = {2024-09-01}, + journal = {Mechatronics}, + author = {Rijlaarsdam, David and Nuij, Pieter and Schoukens, Johan and Steinbuch, Maarten}, + month = apr, + year = {2017}, + keywords = {Convergent systems, Describing functions, Fading memory, Frequency domain methods, Generalized FRF, Linear approximation, Modeling, Nonlinear FRF, Nonlinear systems, Volterra systems}, + pages = {11--24}, +} + +@article{rijlaarsdam_uniquely_2012, + title = {Uniquely connecting frequency domain representations of given order polynomial {Wiener}–{Hammerstein} systems}, + volume = {48}, + issn = {0005-1098}, + url = {https://www.sciencedirect.com/science/article/pii/S0005109812002579}, + doi = {10.1016/j.automatica.2012.06.006}, + abstract = {The notion of frequency response functions has been generalized to nonlinear systems in several ways. However, a relation between different approaches has not yet been established. In this paper, frequency domain representations for nonlinear systems are uniquely connected for a class of nonlinear systems. Specifically, by means of novel analytical results, the generalized frequency response function (GFRF) and the higher order sinusoidal input describing function (HOSIDF) for polynomial Wiener–Hammerstein systems are explicitly related, assuming the linear dynamics are known. Necessary and sufficient conditions for this relation to exist and results on the uniqueness and equivalence of the HOSIDF and GFRF are provided. Finally, this yields an efficient computational procedure for computing the GFRF from the HOSIDF and vice versa.}, + number = {9}, + urldate = {2024-09-01}, + journal = {Automatica}, + author = {Rijlaarsdam, David and Oomen, Tom and Nuij, Pieter and Schoukens, Johan and Steinbuch, Maarten}, + month = sep, + year = {2012}, + keywords = {Describing functions, Frequency response methods, Generalized frequency response function, Higher order sinusoidal input describing function, Nonlinear systems}, + pages = {2381--2384}, +} + +@techreport{schwarz_evaluating_2024, + title = {Evaluating the {Impact} of {Tidal} {Energy} in the {Cook} {Inlet} on {Alaska}'s {Railbelt} {Electrical} {Grid}}, + url = {https://www.osti.gov/biblio/2345173}, + doi = {10.2172/2345173}, + abstract = {This report presents the findings of a case study that evaluates the impact of integrating significant tidal energy generation in the Cook Inlet in Alaska. The case study is part of a series within the "Quantifying the Grid Value of MRE [Marine Renewable Energy] in Early U.S. Markets" project funded by the U.S. Department of Energy. This study takes a scenario-based approach to evaluate the tidal energy potential in the Cook Inlet, in which 100-500 megawatts (MW) of tidal energy are integrated into the grid under different infrastructure scenarios. These scenarios include increased energy storage and transmission line upgrades, a "Basecase" scenario with no additional upgrades, and a reference case with no tidal energy. We concluded that tidal energy at an installed capacity of 200-300 MW has the potential to reduce fuel costs in Alaska while also reducing carbon emissions and increasing the energy independence of the state. This analysis and the key findings should be viewed as a starting point for additional research and used to inform investment and policy options.}, + language = {English}, + number = {NREL/TP-5700-85943}, + urldate = {2024-08-29}, + institution = {National Renewable Energy Laboratory (NREL), Golden, CO (United States)}, + author = {Schwarz, Marty and McGilton, Ben and Kilcher, Levi and Gjestvang, Kelly and Stark, Greg}, + month = apr, + year = {2024}, +} + +@article{penalba_review_2016, + title = {A {Review} of {Wave}-to-{Wire} {Models} for {Wave} {Energy} {Converters}}, + volume = {9}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/9/7/506}, + doi = {10.3390/en9070506}, + abstract = {Control of wave energy converters (WECs) has been very often limited to hydrodynamic control to absorb the maximum energy possible from ocean waves. This generally ignores or significantly simplifies the performance of real power take-off (PTO) systems. However, including all the required dynamics and constraints in the control problem may considerably vary the control strategy and the power output. Therefore, this paper considers the incorporation into the model of all the conversion stages from ocean waves to the electricity network, referred to as wave-to-wire (W2W) models, and identifies the necessary components and their dynamics and constraints, including grid constraints. In addition, the paper identifies different control inputs for the different components of the PTO system and how these inputs are articulated to the dynamics of the system. Examples of pneumatic, hydraulic, mechanical or magnetic transmission systems driving a rotary electrical generator, and linear electric generators are provided.}, + language = {en}, + number = {7}, + urldate = {2024-08-23}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Penalba, Markel and Ringwood, John V.}, + month = jul, + year = {2016}, + note = {Number: 7}, + keywords = {electric generator, electricity network, hydraulic system, hydrodynamic model, power converters, wave energy, wave resource, wave-to-wire model}, + pages = {506}, +} + +@article{gonzalez_offshore_2024, + title = {Offshore wind and wave energy can reduce total installed capacity required in zero-emissions grids}, + volume = {15}, + copyright = {2024 The Author(s)}, + issn = {2041-1723}, + url = {https://www.nature.com/articles/s41467-024-50040-6}, + doi = {10.1038/s41467-024-50040-6}, + abstract = {As the world races to decarbonize power systems to mitigate climate change, the body of research analyzing paths to zero emissions electricity grids has substantially grown. Although studies typically include commercially available technologies, few of them consider offshore wind and wave energy as contenders in future zero-emissions grids. Here, we model with high geographic resolution both offshore wind and wave energy as independent technologies with the possibility of collocation in a power system capacity expansion model of the Western Interconnection with zero emissions by 2050. In this work, we identify cost targets for offshore wind and wave energy to become cost effective, calculate a 17\% reduction in total installed capacity by 2050 when offshore wind and wave energy are fully deployed, and show how curtailment, generation, and transmission change as offshore wind and wave energy deployment increase.}, + language = {en}, + number = {1}, + urldate = {2024-08-21}, + journal = {Nature Communications}, + publisher = {Nature Publishing Group}, + author = {Gonzalez, Natalia and Serna-Torre, Paul and Sánchez-Pérez, Pedro A. and Davidson, Ryan and Murray, Bryan and Staadecker, Martin and Szinai, Julia and Wei, Rachel and Kammen, Daniel M. and Sunter, Deborah A. and Hidalgo-Gonzalez, Patricia}, + month = aug, + year = {2024}, + keywords = {Energy modelling, Energy supply and demand, Hydroelectricity, Power distribution, Wind energy}, + pages = {6826}, +} + +@misc{noauthor_value_nodate, + title = {The {Value} of {Nuclear} {Microreactors} in {Providing} {Heat} and {Electricity} to {Alaskan} {Communities} -}, + url = {https://ceepr.mit.edu/workingpaper/the-value-of-nuclear-microreactors-in-providing-heat-and-electricity-to-alaskan-communities/}, + abstract = {We evaluated the system cost of providing electricity and heat to serve the load profiles of two types of Alaskan […]}, + language = {en-US}, + urldate = {2024-08-21}, + journal = {CEEPR}, +} + +@article{kagemoto_interactions_1986, + title = {Interactions among multiple three-dimensional bodies in water waves: an exact algebraic method}, + volume = {166}, + issn = {1469-7645, 0022-1120}, + shorttitle = {Interactions among multiple three-dimensional bodies in water waves}, + url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/interactions-among-multiple-threedimensional-bodies-in-water-waves-an-exact-algebraic-method/6A2EE66379F6149D11228E1A9D6F2BB3}, + doi = {10.1017/S0022112086000101}, + abstract = {We consider three-dimensional water-wave diffraction and radiation by a structure consisting of a number of separate (vertically) non-overlapping members in the context of linearized potential flow. An interaction theory is developed which solves the complete problem, predicting wave exciting forces, hydrodynamic coefficients and second-order drift forces, but is based algebraically on the diffraction characteristics of single members only. This method, which includes also the diffraction interaction of evanescent waves, is in principle exact (within the context of linearized theory) for otherwise arbitrary configurations and spacings. This is confirmed by a number of numerical examples and comparisons involving two or four axisymmetric legs, where full three-dimensional diffraction calculations for the entire structures are also performed using a hybrid element method. To demonstrate the efficacy of the interaction theory, we apply it finally to an array of 33 (3 by 11) composite cylindrical legs, where experimental data are available. The comparison with measurements shows reasonable agreement.The present method is valid for a large class of arrays of arbitrary individual geometries, number and configuration of bodies with non-intersecting vertical projections. Its application should make it unnecessary to perform full diffraction computations for many multiple-member structures and arrays.}, + language = {en}, + urldate = {2024-08-05}, + journal = {Journal of Fluid Mechanics}, + author = {Kagemoto, Hiroshi and Yue, Dick K. P.}, + month = may, + year = {1986}, + pages = {189--209}, +} + +@article{guo_geometric_2021, + title = {Geometric optimisation of wave energy conversion devices: {A} survey}, + volume = {297}, + issn = {0306-2619}, + shorttitle = {Geometric optimisation of wave energy conversion devices}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261921005456}, + doi = {10.1016/j.apenergy.2021.117100}, + abstract = {Unlike more established renewable energy conversion technologies, such as wind turbines, wave power systems have reached neither commercial maturity, nor technological convergence. The significant variation in device geometries and operating principles has resulted in a diversification of effort, with little coordination or true comparative analysis. The situation is compounded by the relative lack of systematic optimisation applied to the sector, partly explained by the complexity and uncertainty associated with wave energy system models, as well as difficulties in the evaluation of appropriate target function metrics. This review provides a critical overview of the state-of-the-art in wave energy device geometry optimisation, comparing and contrasting various optimisation approaches, and attempting to detail the current limitations preventing further progress, and convergence, in the development of optimal wave energy technology.}, + urldate = {2024-08-05}, + journal = {Applied Energy}, + author = {Guo, Bingyong and Ringwood, John V.}, + month = sep, + year = {2021}, + keywords = {Geometric optimisation, Hydrodynamic modelling, Optimal control, Optimisation algorithm, Optimisation criteria, Wave energy conversion}, + pages = {117100}, +} + +@article{hall_hydrodynamics-based_2014, + title = {Hydrodynamics-based floating wind turbine support platform optimization: {A} basis function approach}, + volume = {66}, + issn = {0960-1481}, + shorttitle = {Hydrodynamics-based floating wind turbine support platform optimization}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148114000068}, + doi = {10.1016/j.renene.2013.12.035}, + abstract = {The floating wind turbine support structure design problem is complicated by conflicting technical objectives and innumerable platform geometry options. Previous support structure optimization studies have been limited in their ability to evaluate the full design space due to their adherence to certain assumptions about the physical platform configuration. The present work is an effort toward developing an alternative form of the support platform optimization problem – one that abstracts details of the platform geometry and deals instead with hydrodynamic performance coefficients – in order to provide a more complete and intuitive exploration of the design space. A basis function approach, which represents the design space by linearly combining the hydrodynamic performance coefficients of a diverse set of basis platform geometries, was taken as the most straightforward way of physically constraining the platform hydrodynamic performance. Candidate designs are evaluated in the frequency domain using linearized coefficients for the wind turbine, platform, and mooring system dynamics. The platform hydrodynamic coefficients are calculated according to linear hydrodynamic theory. The optimization objective is to minimize the nacelle acceleration under several operating conditions. Optimization results for a slack catenary mooring system indicate the benefits of combining submerged volume with a widely dispersed water plane area. Results for a tension leg mooring system are consistent with conventional TLP designs. The intent is to use these results as starting points for more traditional platform parameter optimization. Examination of the possible physical interpretations of linearly combining basis platform coefficients reveals that certain aspects of this approach may have poor physicality. This points to the need to expand this first attempt with more sophisticated ways of representing the constrained hydrodynamic performance variables.}, + urldate = {2024-08-05}, + journal = {Renewable Energy}, + author = {Hall, Matthew and Buckham, Brad and Crawford, Curran}, + month = jun, + year = {2014}, + keywords = {Floating, Hydrodynamics, Offshore, Optimization, Support structure, Wind turbine}, + pages = {559--569}, +} + +@phdthesis{rijlaarsdam_frequency_2012, + title = {Frequency domain based performance optimization of systems with static nonlinearities}, + url = {https://research.tue.nl/en/publications/frequency-domain-based-performance-optimization-of-systems-with-s}, + urldate = {2024-08-05}, + school = {Eindhoven University of Technology}, + author = {Rijlaarsdam, D. J.}, + year = {2012}, +} + +@misc{noauthor_devices_nodate, + title = {Devices}, + url = {https://openei.org/wiki/PRIMRE/Databases/Projects_Database/Devices}, + urldate = {2024-07-26}, +} + +@misc{noauthor_methods_2016, + title = {Methods to determine pore pressure}, + url = {https://petrowiki.spe.org/Methods_to_determine_pore_pressure}, + language = {en}, + urldate = {2024-07-26}, + journal = {PetroWiki}, + month = jan, + year = {2016}, +} + +@misc{noauthor_using_2018, + title = {Using an offshore platform beyond its expected lifespan {\textbar} {Engineer} {Live}}, + url = {https://www.engineerlive.com/node/17311}, + abstract = {When it comes to asset life extension, oil producers have discovered that a risk-based inspection approach can cut costs if it’s implemented properly. Now, says Anne-Marie Walters, it’s a matter of increasing the adoption rate}, + urldate = {2024-07-26}, + month = aug, + year = {2018}, +} + +@misc{noauthor_technology_nodate, + title = {Technology}, + url = {https://capturacorp.com/technology/}, + language = {en-US}, + urldate = {2024-07-26}, + journal = {Captura}, +} + +@article{norton_storage_2024, + title = {Storage capacity estimates and site conditions of potential locations for offshore-wind powered carbon dioxide removal and carbon sequestration in ocean basalt}, + volume = {13}, + issn = {2772-6568}, + url = {https://www.sciencedirect.com/science/article/pii/S2772656824000435}, + doi = {10.1016/j.ccst.2024.100231}, + abstract = {Negative emission technologies (NETs) are considered essential to keep global warming below 2 °C. Situating wind-powered carbon dioxide removal (CDR) devices offshore and injecting carbon dioxide (CO2) into deep-water sub-seafloor basalt aquifers has the potential to offer large CO2 removal capacity. It also avoids land and water-use competition and provides additional low-risk protections against post-injection leakage compared to terrestrial CO2 storage. This paper seeks to identify locations where offshore wind and potential basalt storage locations exist within close proximity to one another around the globe. A global mean wind power density map at 150 m height was computed using 30 years (1986–2016) of ERA5 hourly wind speed reanalysis data. Offshore regions with mean wind speed greater than 8 m/s were identified. Offshore regions with basalt aquifers along seismic or aseismic ridges which provide potential CO2 storage sites were identified and selected based on sediment thickness, age, and distance from plate boundaries. Four scenarios were constructed to capture a range of constraints with implications for technical, economic and regulatory difficulties. For each scenario, eligible regions for CO2 injection were filled by regularly spaced grid points and the distance to the nearest eligible wind resource was calculated for each point to identify the most promising configurations. Total available storage capacity within reach of wind resources was estimated to be between 4,300Gt and 196,000Gt depending on both uncertainties in porosity and other imposed constraints; even the most conservative estimates represent enormous capacity compared to global targets for negative emissions technologies. Typically, the best areas were found close to the poles due to the greater prevalence of good wind resources in those areas. Site-specific properties such as water depth and distance from shore are computed for the identified locations in order to characterize the conditions in which such locations are typically found.}, + urldate = {2024-07-24}, + journal = {Carbon Capture Science \& Technology}, + author = {Norton, Heather and Todd, Devin and Crawford, Curran}, + month = dec, + year = {2024}, + keywords = {Basalt, Carbon capture and storage (CCS), Carbon dioxide removal (CDR), Negative emissions technology (NET), Offshore wind}, + pages = {100231}, +} + +@article{norton_techno-economic_2024, + title = {Techno-economic assessment of supercritical, cold liquid, and dissolved {CO2} injection into sub-seafloor basalt}, + volume = {13}, + issn = {2772-6568}, + url = {https://www.sciencedirect.com/science/article/pii/S2772656824000484}, + doi = {10.1016/j.ccst.2024.100236}, + abstract = {Injecting CO2 into subsea basalt can provide permanent storage via multiple trapping mechanisms, including mineralization reactions which convert the CO2 into solid carbonates over time. Injecting CO2 together with water can accelerate the process of mineralization, but presents additional challenges, such as high energy and water requirements. A techno-economic model of CO2 transport and injection into ocean basalt was developed to compare injection strategies using pure supercritical CO2, pure liquid CO2, and CO2 dissolved in seawater. The model was applied to a representative injection site off the coast of British Columbia, Canada. Injection of CO2 dissolved into seawater was found to be more energy and cost intensive than injection of supercritical or liquid CO2; this is primarily due to the reduced quantities of CO2 that can be injected into each well, and additional pumping energy required for the accompanying seawater. For the base assumptions, transport and storage costs for supercritical, liquid, and dissolved injection were estimated as \$43/t, \$38/t, and \$250/t respectively. Their energy requirements were estimated as 93 kWh/t, 90 kWh/t, and 213 kWh/t respectively. The current best estimates of geological parameters for ocean basalt suggest good injectivity and very large storage capacities per well. This may help to compensate for the additional project expenses incurred by deep water, allowing cost-effective liquid and supercritical injection. However, this result is sensitive to high uncertainties in both geological parameters and component cost data.}, + urldate = {2024-07-24}, + journal = {Carbon Capture Science \& Technology}, + author = {Norton, Heather and Gillessen, Philipp and Crawford, Curran}, + month = dec, + year = {2024}, + keywords = {Basalt, Carbon capture and storage (CCS), Carbon dioxide removal (CDR), Offshore, Techno-economic analysis (TEA)}, + pages = {100236}, +} + +@article{levine_gravitational_2007, + title = {Gravitational trapping of carbon dioxide in deep sea sediments: {Permeability}, buoyancy, and geomechanical analysis}, + volume = {34}, + issn = {1944-8007}, + shorttitle = {Gravitational trapping of carbon dioxide in deep sea sediments}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/2007GL031560}, + doi = {10.1029/2007GL031560}, + abstract = {Liquid carbon dioxide injected in deep-sea sediments at km depths and near freezing temperatures is denser than surrounding pore water and will be trapped by gravitational forces. Storage capacity for CO2 in such formations below the ocean floor is shown to vary with seafloor depth, geothermal gradient, porosity, and pore water salinity. The formation permeability, or the successful engineering of such permeability through hydraulic fracturing, will determine the capacity for gravitational trapping in deep-sea geological formations. We conclude that most ocean sediments at appropriate depth will lack the required permeability and that conventional hydraulic fracturing would only be possible in carefully selected sites.}, + language = {en}, + number = {24}, + urldate = {2024-07-24}, + journal = {Geophysical Research Letters}, + author = {Levine, J. S. and Matter, J. M. and Goldberg, D. and Cook, A. and Lackner, K. S.}, + year = {2007}, + note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1029/2007GL031560}, + keywords = {CO2, separations}, +} + +@phdthesis{rijlaarsdam_frequency_2012-1, + address = {Eindhoven}, + type = {Phd {Thesis} 1 ({Research} {TU}/e / {Graduation} {TU}/e)}, + title = {Frequency domain based performance optimization of systems with static nonlinearities}, + isbn = {978-90-386-3149-3}, + doi = {10.6100/IR732581}, + school = {Technische Universiteit Eindhoven}, + author = {Rijlaarsdam, D.J.}, + year = {2012}, +} + +@article{roberts_conjugate-image_1946, + title = {Conjugate-{Image} {Impedances}}, + volume = {34}, + issn = {2162-6634}, + url = {https://ieeexplore.ieee.org/abstract/document/1697051}, + doi = {10.1109/JRPROC.1946.234242}, + abstract = {A load having the conjugate impedance of the signal generator to which it is connected receives the maximum amount of power and is said to be matched on the conjugate-image basis. This method of impedance matching, when applied to active and passive four-terminal networks, is shown to be especially suitable for determining the limits of power amplification or loss. In contrast, an analysis on the usual image basis gives these results only if the image impedances happen to be pure resistances. The maximum power gain of a given network and the impedance terminations for achieving it are derived and are expressed in-concise form. The effects of impedance mismatching are likewise treated.}, + number = {4}, + urldate = {2024-06-21}, + journal = {Proceedings of the IRE}, + author = {Roberts, S.}, + month = apr, + year = {1946}, + keywords = {Circuits, Communication cables, Image analysis, Impedance, Laboratories, Power generation, Research and development, Signal generators, Telephony, Transformers}, + pages = {198p--204p}, +} + +@article{quartier_influence_2021, + title = {Influence of the {Drag} {Force} on the {Average} {Absorbed} {Power} of {Heaving} {Wave} {Energy} {Converters} {Using} {Smoothed} {Particle} {Hydrodynamics}}, + volume = {13}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {2073-4441}, + url = {https://www.mdpi.com/2073-4441/13/3/384}, + doi = {10.3390/w13030384}, + abstract = {In this paper, we investigated how the added mass, the hydrodynamic damping and the drag coefficient of a Wave Energy Converter (WEC) can be calculated using DualSPHysics. DualSPHysics is a software application that applies the Smoothed Particle Hydrodynamics (SPH) method, a Lagrangian meshless method used in a growing range of applications within the field of Computational Fluid Dynamics (CFD). Furthermore, the effect of the drag force on the WEC’s motion and average absorbed power is analyzed. Particularly under controlled conditions and in the resonance region, the drag force becomes significant and can greatly reduce the average absorbed power of a heaving point absorber. Once the drag coefficient has been determined, it is used in a modified equation of motion in the frequency domain, taking into account the effect of the drag force. Three different methods were compared for the calculation of the average absorbed power: linear potential flow theory, linear potential flow theory modified to take the drag force into account and DualSPHysics. This comparison showed the considerable effect of the drag force in the resonance region. Calculations of the drag coefficient were carried out for three point absorber WECs: one spherical WEC and two cylindrical WECs. Simulations in regular waves were performed for one cylindrical WEC with two different power take-off (PTO) systems: a linear damping and a Coulomb damping PTO system. The Coulomb damping PTO system was added in the numerical coupling between DualSPHysics and Project Chrono. Furthermore, we considered the optimal PTO system damping coefficient taking the effect of the drag force into account.}, + language = {en}, + number = {3}, + urldate = {2024-06-25}, + journal = {Water}, + author = {Quartier, Nicolas and Ropero-Giralda, Pablo and M. Domínguez, José and Stratigaki, Vasiliki and Troch, Peter}, + month = jan, + year = {2021}, + keywords = {DualSPHysics, SPH, WEC, drag force, multiphysics, numerical coupling, power take-off (PTO) system}, + pages = {384}, +} + +@article{coe_useful_2023, + title = {Useful {Power} {Maximization} for {Wave} {Energy} {Converters}}, + volume = {16}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/16/1/529}, + doi = {10.3390/en16010529}, + abstract = {Wave energy converters (WECs) have enormous potential in providing clean renewable energy with high levels of predictability [...]}, + language = {en}, + number = {1}, + urldate = {2024-02-11}, + journal = {Energies}, + author = {Coe, Ryan G. and Bacelli, Giorgio}, + month = jan, + year = {2023}, + keywords = {n/a}, + pages = {529}, +} + +@article{merigaud_geometrical_2023, + title = {Geometrical {Framework} for {Hydrodynamics} and {Control} of {Wave} {Energy} {Converters}}, + volume = {2}, + url = {https://link.aps.org/doi/10.1103/PRXEnergy.2.023003}, + doi = {10.1103/PRXEnergy.2.023003}, + abstract = {This article presents a simple geometrical approach to visualize the hydrodynamic properties of wave energy converters (WECs), in terms of wave reflection, transmission, and absorption, and how those properties are governed by the WEC control parameters. The problem is modeled as an array of periodic rows of WECs parallel to the wave front, which is representative of WEC farms located along the shoreline, and allows for a straightforward two-dimensional analysis of energy fluxes. The WECs are assumed to be symmetric with respect to the plane perpendicular to the wave propagation direction, and they operate in a single degree of freedom. Under those assumptions, fundamental hydrodynamic relationships allow the WEC operation at a given frequency to be mapped to a single complex number, {\textasciicircum}T, which represents the WEC (complex) transmission coefficient, located in a circle with center 1/2 and radius 1/2. The WEC hydrodynamic and control parameters (added mass, stiffness, damping) govern the precise location of {\textasciicircum}T within the circle. The distance of {\textasciicircum}T to the center of the circle determines the hydrodynamic efficiency, between 0 (when {\textasciicircum}T is on the circle border) and 1/2 (which is achieved when {\textasciicircum}T is at the center of the circle). Therefore, the representation of {\textasciicircum}T provides an immediate insight into the balance between reflection, transmission, and absorption. The proposed unified representation reflects, in a didactic way, some fundamental wave energy concepts, common to all WECs, such as the Haskind relationship, or the impedance matching condition for optimal wave power absorption. Two numerical examples illustrate how the locus of {\textasciicircum}T, across a prescribed frequency range, provides a distinctive “signature” specific to the WEC geometry, mode of operation, and control strategy. Finally, the proposed representation shows many similarities to the Smith chart and, as such, is but one additional analogy between wave energy conversion and electrical engineering.}, + number = {2}, + urldate = {2024-02-07}, + journal = {PRX Energy}, + author = {Mérigaud, Alexis and Thiria, Benjamin and Godoy-Diana, Ramiro}, + month = may, + year = {2023}, + pages = {023003}, +} + +@article{tedeschi_effect_2011, + title = {Effect of {Control} {Strategies} and {Power} {Take}-{Off} {Efficiency} on the {Power} {Capture} {From} {Sea} {Waves}}, + volume = {26}, + issn = {1558-0059}, + url = {https://ieeexplore.ieee.org/abstract/document/6026916}, + doi = {10.1109/TEC.2011.2164798}, + abstract = {The choice of the most suitable control strategy for wave energy converters (WECs) is often evaluated with reference to the sinusoidal assumption for incident waves. Under this hypothesis, linear techniques for the control of the extracted power, as passive loading and optimum control, are well known and widely analyzed. It can be shown, however, how their performances are fundamentally different when irregular waves are considered and the theoretical superiority of optimum control is questionable under real wave conditions. Moreover, the global optimization of WECs implies a rational design of the power electronics equipment. This requires the analysis of the instantaneous extracted power in addition to the average one. In this paper, the impact of irregular waves on the power extraction when using different control techniques is analyzed in the case of a point absorber in heave. It is also shown how a convenient tradeoff between high average power extraction and limited power electronics overrating can be obtained by applying simple power saturation techniques. Moreover, the impact of power conversion efficiency on the control strategy is analyzed.}, + number = {4}, + urldate = {2024-01-29}, + journal = {IEEE Transactions on Energy Conversion}, + author = {Tedeschi, Elisabetta and Carraro, Matteo and Molinas, Marta and Mattavelli, Paolo}, + month = dec, + year = {2011}, + keywords = {Analytical models, Control strategies, Hydrodynamics, Load modeling, Mathematical model, Power electronics, Time domain analysis, Wave energy, irregular waves, power take-off (PTO), wave energy}, + pages = {1088--1098}, +} + +@article{strofer_control_2023, + title = {Control {Co}-{Design} of {Power} {Take}-{Off} {Systems} for {Wave} {Energy} {Converters} {Using} {WecOptTool}}, + volume = {14}, + issn = {1949-3037}, + url = {https://ieeexplore.ieee.org/document/10114969}, + doi = {10.1109/TSTE.2023.3272868}, + abstract = {Improved power take-off (PTO) controller design for wave energy converters is considered a critical component for reducing the cost of energy production. However, the device and control design process often remains sequential, with the space of possible final designs largely reduced before the controller has been considered. Control co-design, whereby the device and control design are considered concurrently, has resulted in improved designs in many industries, but remains rare in the wave energy community. In this paper we demonstrate the use of a new open-source code, WecOptTool, for control co-design of wave energy converters, with the aim to make the co-design approach more accessible and accelerate its adoption. Additionally, we highlight the importance of designing a wave energy converter to maximize electrical power, rather than mechanical power, and demonstrate the co-design process while modeling the PTO's components (i.e., drive-train and generator, and their dynamics). We also consider the design and optimization of causal fixed-structure controllers. The demonstration presented here considers the PTO design problem and finds the optimal PTO drive-train that maximizes annual electrical power production. The results show a 22\% improvement in the optimal controller and drive-train co-design over the optimal controller for the nominal, as built, device design.}, + number = {4}, + urldate = {2024-01-29}, + journal = {IEEE Transactions on Sustainable Energy}, + author = {Ströfer, Carlos A. Michelén and Gaebele, Daniel T. and Coe, Ryan G. and Bacelli, Giorgio}, + month = oct, + year = {2023}, + keywords = {Control design, Mathematical models, Optimal control, Optimization, Software tools, Wave energy conversion, Wave energy converter (WEC), co-design, optimal control, optimization, power take-off (PTO)}, + pages = {2157--2167}, +} + +@article{otoshi_maximum_1994, + title = {Maximum and minimum return losses from a passive two-port network terminated with a mismatched load}, + volume = {42}, + issn = {1557-9670}, + url = {https://ieeexplore-ieee-org.proxy.library.cornell.edu/document/293526}, + doi = {10.1109/22.293526}, + abstract = {An analytical expression is derived for determining load-reflection coefficient phase-angle values that will lead to maximum and minimum return losses from a terminated two-port network. The expression is derived in terms of two-port network S-parameters and a load whose reflection-coefficient magnitude is a constant but can be any value greater than zero and less than or equal to unity. The equation is useful for cases where it is desirable to know how to position a load (1) to obtain maximum return loss for network-matching purposes or (2) to obtain minimum return loss for some types of reflector antenna applications. Two examples are given: One shows that for some types of reflector antennas with a mesh-type surface that is backed by another reflecting surface, a resonance phenomenon can occur and cause unexpectedly large dissipative losses ({\textgreater}30 dB) to occur. The other example shows that when a particular type of reflector antenna with a dielectric layer becomes wet from rain or condensation, large ({\textgreater}10 dB) signal losses can occur. For both examples, equations presented in this article were used to calculate the exact load-reflection coefficient phase values that led to worst-case return loss values. In practical situations, once the phenomenon is understood and predictable, steps can be taken to avoid these resonance regions.{\textless}{\textgreater}}, + number = {5}, + urldate = {2024-06-21}, + journal = {IEEE Transactions on Microwave Theory and Techniques}, + author = {Otoshi, T.Y.}, + month = may, + year = {1994}, + keywords = {Dielectric losses, Equations, Impedance, Loaded antennas, Measurement techniques, Rain, Reflection, Reflector antennas, Resonance, Scattering parameters}, + pages = {787--792}, +} + +@article{zou_practical_2023-1, + title = {Practical power absorption assessment limits for generic wave energy converters}, + volume = {277}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S002980182300687X}, + doi = {10.1016/j.oceaneng.2023.114303}, + abstract = {There lacks a generic representation of the wave power absorption of devices across dimensions, shapes, and resource conditions. A conventional resource assessment approach only evaluates the wave power based on wave characteristics, which is insufficient to capture the practical power absorption variations between WEC archetypes. In this paper, a novel WEC net power assessment (WNPA) method is proposed and is generally applicable to any arbitrary WECs design. Two theoretical upper bounds of wave power absorption are adopted and derived for different types of WECs. Numerical simulations are conducted to apply this novel technique to assess the net power available to different WECs at the Wave Energy Test Site (WETS), Hawaii and the PacWave site, Oregon over 11 years. By comparing the power potential for WECs oscillating in different degrees of freedom, the results indicate the surging mode may be the most energetic; regardless of shapes and ocean sites. When applied to three generic WECs (point absorber, terminator, and attenuator), the pitching terminator is shown to have lower absorption potential. Finally, the mean annual energy production (MAEP) of the three generic WECs at WETS and PacWave are compared, and a surging attenuator shows a significant wave power potential at PacWave.}, + urldate = {2024-07-06}, + journal = {Ocean Engineering}, + author = {Zou, Shangyan and Robertson, Bryson and Yim, Solomon}, + month = jun, + year = {2023}, + keywords = {Budal’s limit, Maximum wave power absorption, Net power assessment, Wave energy conversion, Wave resources assessment}, + pages = {114303}, +} + +@article{abdulkadir_optimal_2024, + title = {Optimal {Constrained} {Control} of {Arrays} of {Wave} {Energy} {Converters}}, + volume = {12}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {2077-1312}, + url = {https://www.mdpi.com/2077-1312/12/1/104}, + doi = {10.3390/jmse12010104}, + abstract = {Wave Energy Converters (WECs) are designed to be deployed in arrays, usually in a limited space, to minimize the cost of installation, mooring, and maintenance. Control methods that attempt to maximize the harvested power often lead to power flow from the WEC to the ocean, at times, to maximize the overall harvested power from the ocean over a longer period. The Power Take-Off (PTO) units that can provide power to the ocean (reactive power) are usually more expensive and complex. In this work, an optimal control formulation is presented using Pontryagin’s minimum principle that aims to maximize the harvested energy subject to constraints on the maximum PTO force and power flow direction. An analytical formulation is presented for the optimal control of an array of WECs, assuming irregular wave input. Three variations of the developed control are tested: a formulation without power constraints, a formulation that only allows for positive power, and finally, a formulation that allows for finite reactive power. The control is compared with optimally tuned damping and bang–bang control.}, + language = {en}, + number = {1}, + urldate = {2024-06-27}, + journal = {Journal of Marine Science and Engineering}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Abdulkadir, Habeebullah and Abdelkhalik, Ossama}, + month = jan, + year = {2024}, + note = {Number: 1}, + keywords = {Pontryagin’s minimum principle, constrained control, optimal control, reactive power, wave energy converter}, + pages = {104}, +} + +@article{zhou_assessment_2022, + title = {Assessment of {Electrical} {Power} {Generation} of {Wave} {Energy} {Converters} {With} {Wave}-to-{Wire} {Modeling}}, + volume = {13}, + issn = {1949-3037}, + url = {https://ieeexplore.ieee.org/abstract/document/9760017}, + doi = {10.1109/TSTE.2022.3168040}, + abstract = {Direct-drive wave energy converter (WEC) and buoy control algorithms have shown great potential for renewable wave energy extraction in ideal conditions. However the actual power take-off (PTO) impacts are barely considered in the WEC design. This paper highlights the demands of designing the WEC wave-to-wire control from a global point of view by studying the actual PTO impacts. A permanent magnet linear electrical machine (LEM) PTO unit is simulated and controlled to fulfill the WEC buoy control requirements. Several state of the art control algorithms, which include singular-arc (SA) control, shape-based (SB) control, model predictive control (MPC), and proportional-derivative (PD) control, are applied to maximize the wave energy production (mechanical energy). Multiple types of electrical PTOs, including ideal PTO, unlimited PTO and limited PTO, are all implemented to evaluate WEC wave-to-wire performances. Further, the PTO copper loss model and the PTO actual efficiency maps are introduced and studied to improve the electrical PTO operation efficiency. To further assess the control schemes in various wave conditions, one-year PacWave ground-truth data is applied as well. Numerical simulations are conducted using MATLAB/Simulink and the Simscape toolbox. The electrical PTO unit is composed of a LEM, an ideal inverter, and an ideal energy storage system. The results show that the actual PTO will impact the constrained controls (MPC and SB) less comapring to unconstrained controls (SA and PD). Although SB can produce the maximum energy with the limited PTOs, it is not robust for all wave conditions. At the end of the paper, the possible solutions for improving the WEC wave-to-wire performances are also provided.}, + number = {3}, + urldate = {2024-06-27}, + journal = {IEEE Transactions on Sustainable Energy}, + author = {Zhou, Xiang and Zou, Shangyan and Weaver, Wayne W. and Abdelkhalik, Ossama}, + month = jul, + year = {2022}, + note = {Conference Name: IEEE Transactions on Sustainable Energy}, + keywords = {Computational modeling, Copper, Force, Integrated circuit modeling, Mathematical models, Model predictive control, PD, PD control, Performance evaluation, WEC, power take-off, shape-based control, singular arc, wave energy}, + pages = {1654--1665}, +} + +@article{abdulkadir_power_2022, + series = {14th {IFAC} {Conference} on {Control} {Applications} in {Marine} {Systems}, {Robotics}, and {Vehicles} {CAMS} 2022}, + title = {Power {Constrained} {Optimal} {Control} of {Wave} {Energy} {Converters}}, + volume = {55}, + issn = {2405-8963}, + url = {https://www.sciencedirect.com/science/article/pii/S2405896322025101}, + doi = {10.1016/j.ifacol.2022.10.464}, + abstract = {The general goal of control methods developed for Wave Energy Converter (WEC) technologies is to improve the amount of energy captured by the WEC from the wave. However, most WEC control methods require some power to be supplied from the grid (reactive power) to drive the floater towards resonance at intervals to improve the device's overall performance. Such controls’ reactive power and motion requirements sometimes become large and unrealistic. Additionally, a power take-off (PTO) unit capable of fulfilling a sizeable reactive power requirement will be expensive and complex, if not impossible. In this work, an optimal control formulation that aims to maximize the harvested energy while constraining the reactive power not to exceed a realistic threshold is derived using Pontryagin Minimum Principle. The optimal control formulation is derived for a single WEC device with irregular excitation. Low fidelity numerical simulations are presented comparing the proposed power-constrained Bang Singular Bang (PCBSB) control to an Optimal Resistive Loading (ORL) control.}, + number = {31}, + urldate = {2024-06-27}, + journal = {IFAC-PapersOnLine}, + author = {Abdulkadir, Habeebullah and Abdelkhalik, Ossama}, + month = jan, + year = {2022}, + keywords = {Optimal control, Pontryagin Minimum principle, Reactive power, Wave energy converter, power constraint}, + pages = {421--426}, +} + +@article{wilson_extending_2020, + title = {Extending {Complex} {Conjugate} {Control} to {Nonlinear} {Wave} {Energy} {Converters}}, + volume = {8}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {2077-1312}, + url = {https://www.mdpi.com/2077-1312/8/2/84}, + doi = {10.3390/jmse8020084}, + abstract = {This paper extends the concept of Complex Conjugate Control (CCC) of linear wave energy converters (WECs) to nonlinear WECs by designing optimal limit cycles with Hamiltonian Surface Shaping and Power Flow Control (HSSPFC). It will be shown that CCC for a regular wave is equivalent to a power factor of one in electrical power networks, equivalent to mechanical resonance in a mass-spring-damper (MSD) system, and equivalent to a linear limit cycle constrained to a Hamiltonian surface defined in HSSPFC. Specifically, the optimal linear limit cycle is defined as a second-order center in the phase plane projection of the constant energy orbit across the Hamiltonian surface. This concept of CCC described by a linear limit cycle constrained to a Hamiltonian surface will be extended to nonlinear limit cycles constrained to a Hamiltonian surface for maximum energy harvesting by the nonlinear WEC. The case studies presented confirm increased energy harvesting which utilizes nonlinear geometry realization for reactive power generation.}, + language = {en}, + number = {2}, + urldate = {2024-06-27}, + journal = {Journal of Marine Science and Engineering}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Wilson, David G. and Robinett, Rush D. and Bacelli, Giorgio and Abdelkhalik, Ossama and Coe, Ryan G.}, + month = feb, + year = {2020}, + note = {Number: 2}, + keywords = {complex conjugate control, nonlinear control, wave energy converter}, + pages = {84}, +} + +@article{abdelkhalik_optimization_2018, + title = {Optimization of nonlinear wave energy converters}, + volume = {162}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801818307881}, + doi = {10.1016/j.oceaneng.2018.05.023}, + abstract = {This paper presents an optimization approach for the nonlinear control of wave energy converters (WECs). The proposed optimization method also presents the option of optimizing the system nonlinearities, such as those due to the buoy shape, such that the harvested energy is maximized. For the sake of control design, the control force and the system optimizable nonlinear force, each is expressed as a truncated power series function of the system states. The power series coefficients in both the control and system forces are optimized. A hidden genes genetic algorithm is used for optimization. The optimized system's nonlinear force is assumed to drive the design of the WEC. The numerical test cases presented in this paper show that it is possible to attain multiple fold higher harvested energy when using nonlinear control optimization. The advantage of being able to optimize the WEC design simultaneously with the control is the potential of harvesting this multiple fold higher energy without causing large WEC motion and with less dependence on reactive power. While this paper focuses on the optimization part of the problem, the implementation of the obtained control in realtime is discussed at the end of the paper.}, + urldate = {2024-06-27}, + journal = {Ocean Engineering}, + author = {Abdelkhalik, Ossama and Darani, Shadi}, + month = aug, + year = {2018}, + keywords = {Nonlinear control optimization, Nonlinear wave energy conversion, WEC, Wave energy conversion}, + pages = {187--195}, +} + +@incollection{alessio_survey_2009, + address = {Berlin, Heidelberg}, + title = {A {Survey} on {Explicit} {Model} {Predictive} {Control}}, + isbn = {978-3-642-01094-1}, + url = {https://doi.org/10.1007/978-3-642-01094-1_29}, + doi = {10.1007/978-3-642-01094-1_29}, + abstract = {Explicit model predictive control (MPC) addresses the problem of removing one of the main drawbacks of MPC, namely the need to solve a mathematical program on line to compute the control action. This computation prevents the application of MPC in several contexts, either because the computer technology needed to solve the optimization problem within the sampling time is too expensive or simply infeasible, or because the computer code implementing the numerical solver causes software certification concerns,especially in safety critical applications.}, + language = {en}, + urldate = {2024-06-26}, + booktitle = {Nonlinear {Model} {Predictive} {Control}: {Towards} {New} {Challenging} {Applications}}, + publisher = {Springer}, + author = {Alessio, Alessandro and Bemporad, Alberto}, + editor = {Magni, Lalo and Raimondo, Davide Martino and Allgöwer, Frank}, + year = {2009}, + keywords = {Model predictive control, explicit solutions, hybrid systems, min-max control, multiparametric programming, piecewise affine controllers}, + pages = {345--369}, +} + +@inproceedings{soroush_plants_2007, + title = {Plants for {Which} {Model} {Predictive} {Control} {Admits} an {Analytical} {Solution}}, + issn = {2378-5861}, + url = {https://ieeexplore.ieee.org/document/4282843}, + doi = {10.1109/ACC.2007.4282843}, + abstract = {Model predictive control (MPC) provides an optimal control sequence that is the solution to a moving horizon, constrained optimization problem. This problem is usually solved numerically on-line. A question that often process control engineers face is for what class of plants, MPC admits an analytical solution, in which case the optimal control sequence takes significantly less time to calculate. This paper presents an answer to this question. A class of nonlinear and linear plants for which MPC admits an analytical solution, is characterized. It is shown that for plants without directionality, constrained MPC can be identical to unconstrained MPC with saturation. Structural information on the characteristic (decoupling) matrix of a plant is often adequate for the characterization. Two input-constrained plant examples are considered. On the basis of structural information on the characteristic (decoupling) matrices of the two plants, the plan(s) for which constrained MPC admits an analytical solution is (are) specified. Simulated closed-loop responses are then presented to validate the characterization numerically.}, + urldate = {2024-06-26}, + booktitle = {2007 {American} {Control} {Conference}}, + author = {Soroush, Masoud}, + month = jul, + year = {2007}, + keywords = {Biological system modeling, Constraint optimization, Control systems, Linear feedback control systems, Optimal control, PD control, Predictive control, Predictive models, Proportional control, Windup}, + pages = {3745--3750}, +} + +@inproceedings{soroush_analytical_2000, + address = {Basel}, + title = {Analytical {Model} {Predictive} {Control}}, + isbn = {978-3-0348-8407-5}, + doi = {10.1007/978-3-0348-8407-5_9}, + abstract = {This presentation deals with the model predictive controllers that admit an analytical solution. In particular, short horizon and long(infinite) horizon controllers are considered. A general model predictive control(MPC) law is formulated, and it is then shown that in special cases the MPC law leads to the following:input-output linearizing control laws that inherently include optimal windup and directionality compensatorsmodel state feedback control and modified internal model control laws that inherently include an optimal directionality compensatorproportional—integral(PI)and proportional—integral—derivative(PID)controllers that inherently include optimal windup and directionality compensators}, + language = {en}, + booktitle = {Nonlinear {Model} {Predictive} {Control}}, + publisher = {Birkhäuser}, + author = {Soroush, Masoud and Muske, Kenneth R.}, + editor = {Allgöwer, Frank and Zheng, Alex}, + year = {2000}, + keywords = {Internal Model, Internal Model Control, Linear Quadratic Regulator, Model Predictive Control, Prediction Horizon}, + pages = {163--179}, +} + +@inproceedings{seron_global_2000, + title = {Global analytical model predictive control with input constraints}, + volume = {1}, + issn = {0191-2216}, + url = {https://ieeexplore.ieee.org/document/912749}, + doi = {10.1109/CDC.2000.912749}, + abstract = {We derive a closed-form global analytical solution for model predictive control (MPC) of linear, discrete-time systems, subject to a quadratic performance index and hard magnitude constraints at the system input. The solution is shown to be a partition of the state space in regions for which an analytic expression is given for the corresponding control law. Both the regions and the control law are characterised in terms of the parameters of the open-loop optimal control problem that underlies MPC. The result exploits the geometric properties of quadratic programming.}, + urldate = {2024-06-26}, + booktitle = {Proceedings of the 39th {IEEE} {Conference} on {Decision} and {Control} ({Cat}. {No}.{00CH37187})}, + author = {Seron, M.M. and De Dona, J.A. and Goodwin, G.C.}, + month = dec, + year = {2000}, + keywords = {Analytical models, Closed-form solution, Constraint optimization, Open loop systems, Optimal control, Performance analysis, Predictive control, Predictive models, Sampling methods, State-space methods}, + pages = {154--159 vol.1}, +} + +@inproceedings{seron_global_2000-1, + title = {Global {Analytical} {Model} {Predictive} {Control} with {Input} {Constraints}}, + volume = {1}, + isbn = {978-0-7803-6638-1}, + doi = {10.1109/CDC.2000.912749}, + abstract = {We derive a closed-form global analytical solution for model predictive control (MPC) of linear, discrete-time systems, subject to a quadratic performance index and hard magnitude constraints at the system input. The solution is shown to be a partition of the state space in regions for which an analytic expression is given for the corresponding control law. Both the regions and the control law are characterised in terms of the parameters of the open-loop optimal control problem that underlies MPC. The result exploits the geometric properties of quadratic programming}, + author = {Seron, M.M. and Dona, José and Goodwin, Graham}, + month = feb, + year = {2000}, + pages = {154--159 vol.1}, +} + +@article{ringwood_empowering_2023, + title = {Empowering wave energy with control technology: {Possibilities} and pitfalls}, + volume = {55}, + issn = {1367-5788}, + shorttitle = {Empowering wave energy with control technology}, + url = {https://www.sciencedirect.com/science/article/pii/S1367578823000226}, + doi = {10.1016/j.arcontrol.2023.04.004}, + abstract = {With an increasing focus on climate action and energy security, an appropriate mix of renewable energy technologies is imperative. Despite having considerable global potential, wave energy has still not reached a state of maturity or economic competitiveness to have made an impact. Challenges include the high capital and operational costs associated with deployment in the harsh ocean environment, so it is imperative that the full energy harnessing capacity of wave energy devices, and arrays of devices in farms, is realised. To this end, control technology has an important role to play in maximising power capture, while ensuring that physical system constraints are respected, and control actions do not adversely affect device lifetime. Within the gamut of control technology, a variety of tools can be brought to bear on the wave energy control problem, including various control strategies (optimal, robust, nonlinear, etc.), data-based model identification, estimation, and forecasting. However, the wave energy problem displays a number of unique features which challenge the traditional application of these techniques, while also presenting a number of control ‘paradoxes’. This review articulates the important control-related characteristics of the wave energy control problem, provides a survey of currently applied control and control-related techniques, and gives some perspectives on the outstanding challenges and future possibilities. The emerging area of control co-design, which is especially relevant to the relatively immature area of wave energy system design, is also covered.}, + urldate = {2024-06-23}, + journal = {Annual Reviews in Control}, + author = {Ringwood, John V. and Zhan, Siyuan and Faedo, Nicolás}, + month = jan, + year = {2023}, + keywords = {Control system design, Estimation, Forecasting, Wave energy control, Wave energy conversion}, + pages = {18--44}, +} + +@misc{noauthor_history_2019, + title = {History of {Broadband} {Impedance} {Matching}}, + url = {https://ethw.org/History_of_Broadband_Impedance_Matching}, + language = {en}, + urldate = {2024-06-21}, + journal = {ETHW}, + month = jan, + year = {2019}, +} + +@misc{noauthor_72_2020, + title = {7.2: {Fano}-{Bode} {Limits}}, + shorttitle = {7.2}, + url = {https://eng.libretexts.org/Bookshelves/Electrical_Engineering/Electronics/Microwave_and_RF_Design_III_-_Networks_(Steer)/07%3A_Chapter_7/7.2%3A_Fano-Bode_Limits}, + language = {en}, + urldate = {2024-06-21}, + journal = {Engineering LibreTexts}, + month = oct, + year = {2020}, +} + +@book{wing_classical_2009, + address = {Boston, MA}, + title = {Classical {Circuit} {Theory}}, + copyright = {https://www.springernature.com/gp/researchers/text-and-data-mining}, + isbn = {978-0-387-09739-8 978-0-387-09740-4}, + url = {https://link.springer.com/10.1007/978-0-387-09740-4}, + doi = {10.1007/978-0-387-09740-4}, + language = {en}, + urldate = {2024-06-21}, + publisher = {Springer US}, + author = {Wing, Omar}, + year = {2009}, + keywords = {Bounded-Real Functions, Broadband Matching, Circuit Analysis, Circuit Design by Optimization, Circuit Synthesis, Circuit Theory, Constant Phase-Difference Circuits, Delay, Delay Equalizers, Filter Design, Group Delay, Pass-Band Sensitivity, Phase and Gain}, +} + +@article{liang_dynamics_2017, + title = {On the dynamics and design of a two-body wave energy converter}, + volume = {101}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148116307698}, + doi = {10.1016/j.renene.2016.08.059}, + abstract = {A two-body wave energy converter oscillating in heave is studied in this paper. The energy is extracted through the relative motion between the floating and submerged bodies. A linearized model in the frequency domain is adopted to study the dynamics of such a two-body system with consideration of both the linear viscous damping and the hydrodynamic damping. The closed form solution of the maximum absorption power and corresponding power takeoff parameters are obtained. The suboptimal and optimal designs for a two-body system are proposed based on the closed form solution. The physical insight of the optimal design is to have one of the damped natural frequencies of the two body system the same as, or as close as possible to, the excitation frequency. A case study is conducted to investigate the influence of the submerged body on the absorption power of a two-body system subjected to suboptimal and optimal design under regular and irregular wave excitations. It is found that the absorption power of the two-body system can be significantly higher than that of the single body system with the same floating buoy in both regular and irregular waves. In regular waves, it is found that the mass of the submerged body should be designed with an optimal value in order to achieve the maximum absorption power for a given floating buoy in the presence of viscous damping. The viscous damping on the submerged body should be as small as possible for a given mass in both regular and irregular waves.}, + urldate = {2024-06-20}, + journal = {Renewable Energy}, + author = {Liang, Changwei and Zuo, Lei}, + month = feb, + year = {2017}, + keywords = {Dynamics, Optimal design, Suboptimal design, Two-body system, Wave energy converter}, + pages = {265--274}, +} + +@article{merigaud_nonlinear_2018, + title = {A {Nonlinear} {Frequency}-{Domain} {Approach} for {Numerical} {Simulation} of {Wave} {Energy} {Converters}}, + volume = {9}, + issn = {1949-3037}, + url = {https://ieeexplore.ieee.org/document/7950997}, + doi = {10.1109/TSTE.2017.2716826}, + abstract = {Nonlinear, analytical wave-energy converter (WEC) models are generally simulated through time-domain (TD) numerical integration. However, the relatively high computational requirements of TD integration are not compatible with applications where a large number of simulations are needed. Spectral domain (SD) linearization has also been proposed to take into account some nonlinear effects, while being much faster than TD integration. However, as explained in this paper, such SD models have limited accuracy, and cannot extend to the static nonlinear forces. In this paper, a nonlinear frequency-domain (NLFD) method is investigated for WEC simulation, using a projection of the dynamical equations onto a basis of trigonometric functions. A comparison with TD integration (second-order Runge-Kutta-RK2) and SD methods is provided, through theoretical considerations, and by means of numerical simulations based on two case studies. In the cases considered, the proposed NLFD method allows for significant computational savings compared to RK2 integration, without requiring any approximation for the radiation forces. NLFD thus shows promising potential for applications involving extensive WEC simulation, such as power production assessment, while preserving the WEC model accuracy. Although slower than SD, NLFD has significant benefits in terms of accuracy and range of applicability.}, + number = {1}, + urldate = {2024-06-17}, + journal = {IEEE Transactions on Sustainable Energy}, + author = {Mérigaud, Alexis and Ringwood, John V.}, + month = jan, + year = {2018}, + note = {Conference Name: IEEE Transactions on Sustainable Energy}, + keywords = {Computational modeling, Dynamics, Force, Frequency domain, Frequency-domain analysis, Mathematical model, Numerical models, Time-domain analysis, galerkin method, non-linearities, numerical simulation, spectral domain, time domain, wave energy converters}, + pages = {86--94}, +} + +@inproceedings{read_time-_2018, + title = {Time- and {Frequency}-domain {Comparisons} of the {Wavepiston} {Wave} {Energy} {Converter}: 33rd {International} {Workshop} on {Water} {Waves} and {Floating} {Bodies} ({IWWWFB} 2018)}, + shorttitle = {Time- and {Frequency}-domain {Comparisons} of the {Wavepiston} {Wave} {Energy} {Converter}}, + abstract = {Analysis of wave-energy converters is most frequently undertaken in the time-domain. This formulation allows the direct inclusion of nonlinear time-varying loads such as power take-off (PTO) reactions, mooring forces, and viscous drag. However, integrating the governing equations of motion in the time domain is relatively computationally expensive, and requires a simulation to be conducted for each incident-wave state. In contrast, calculating the linearised performance of a wave energy converter (WEC) in sinusoidal waves of a given frequency is relatively inexpensive, albeit with the lower accuracy associated with the assumption of linearity. Combining this frequency-domain information with aspectral characterisation of the sea state therefore offers an opportunity to predict the power-capture performance of a WEC with less computational expense than a direct time-domain approach. In this regard, methods such as spectral domain linearisation (Folley, 2016) and nonlinear frequency domain analysis using a basis of trigonometric functions (Mérigaud and Ringwood, 2018) have been proposed to provide a compromise between speed and accuracy in assessments of WEC performance.This paper will compare time- and frequency-domain analyses of the Wavepiston surging-plate WEC. This device consists of a surging plate close to the free surface that drives a staged telescopic hydraulic PTO. Modelling this system in the frequency domain presents challenges associated withthe signiffcant nonlinear forces arising from both the PTO reactions and the non-negligible viscous drag acting on the plate. Equivalent linear damping coeffcients are used to model these forces in the frequency domain, while they are included explicitly in the time domain. The main idea of this paper is to quantify, for this device, the errors associated with linearising these two nonlinear processes. Ouraim here is to assess the trade-offs between speed and accuracy when using a fully-linear frequency-domain approach compared to a partially-nonlinear time-domain method}, + author = {Read, Robert and Bingham, Harry}, + year = {2018}, +} + +@inproceedings{noauthor_time-_nodate, + title = {Time- and {Frequency}-domain {Comparisons} of the {Wavepiston} {Wave} {Energy} {Converter}}, +} + +@article{pastor_frequency_2014, + title = {Frequency and time domain modeling and power output for a heaving point absorber wave energy converter}, + volume = {5}, + issn = {2251-6832}, + url = {https://doi.org/10.1007/s40095-014-0101-9}, + doi = {10.1007/s40095-014-0101-9}, + abstract = {This paper presents, assesses, and optimizes a point absorber wave energy converter (WEC) through numerical modeling, simulation, and analysis in both frequency and time domain. Wave energy conversion is a technology especially suited for assisting in power generation in the offshore oil and gas platforms. A linear frequency domain model is created to predict the behavior of the heaving point absorber WEC system. The hydrodynamic parameters are obtained with AQWA, a software package based on boundary element methods. A linear external damping coefficient is applied to enable power absorption, and an external spring force is introduced to tune the point absorber to the incoming wave conditions. The external damping coefficient and external spring forces are the control parameters, which need to be optimized to maximize the power absorption. Two buoy shapes are tested and a variety of diameters and drafts are compared. Optimal shape, draft, and diameter of the model are then determined to maximize its power absorption capacity. Based on the results generated from the frequency domain analysis, a time domain analysis was also conducted to derive the responses of the WEC in the hydrodynamic time response domain. The time domain analysis results allowed us to estimate the power output of this WEC system.}, + language = {en}, + number = {2}, + urldate = {2024-06-17}, + journal = {International Journal of Energy and Environmental Engineering}, + author = {Pastor, Jeremiah and Liu, Yucheng}, + month = apr, + year = {2014}, + keywords = {Energy conversion, Frequency and time domain, Numerical modeling and simulation, Wave energy technology}, + pages = {101}, +} + +@article{yu_reynolds-averaged_2013, + title = {Reynolds-{Averaged} {Navier}–{Stokes} simulation of the heave performance of a two-body floating-point absorber wave energy system}, + volume = {73}, + issn = {0045-7930}, + url = {https://www.sciencedirect.com/science/article/pii/S0045793012003878}, + doi = {10.1016/j.compfluid.2012.10.007}, + abstract = {This paper presents a recent numerical study conducted by researchers at the National Renewable Energy Laboratory on a point absorber wave energy conversion (WEC) system using a Reynolds-averaged Navier–Stokes (RANS)-based Computational Fluid Dynamics (CFD) method. The device we studied was a two-body floating-point absorber (FPA) that operates predominantly in heave and generates energy from the relative motion between the two bodies. We performed a series of numerical simulation to analyze the hydrodynamic response and the power absorption performance of the system in regular waves. Overall, it was successful to use the RANS method to model the complex hydrodynamics interaction of the FPA system. We demonstrated the significance of the nonlinear effects, including viscous damping and wave overtopping. The study showed that the nonlinear effects could significantly decrease the power output and the motion of the FPA system, particularly in larger waves.}, + urldate = {2024-06-14}, + journal = {Computers \& Fluids}, + author = {Yu, Yi-Hsiang and Li, Ye}, + month = mar, + year = {2013}, + keywords = {Computational Fluid Dynamics, Heave, Point absorber, Power take-off, Reynolds-averaged Navier–Stokes equations, Wave energy conversion}, + pages = {104--114}, +} + +@inproceedings{faedo_optimisation-_2020, + title = {Optimisation- vs. non-optimisation-based energy-maximising control for wave energy converters: {A} case study}, + shorttitle = {Optimisation- vs. non-optimisation-based energy-maximising control for wave energy converters}, + url = {https://ieeexplore-ieee-org.proxy.library.cornell.edu/document/9143751}, + doi = {10.23919/ECC51009.2020.9143751}, + abstract = {Energy-maximising control of wave energy converters can be separated into two different classes: optimisation and non-optimisation based strategies. While optimisation-based controllers can outperform non-optimisation based strategies, the computational requirements associated with numerical optimisation routines, and the high control forces required under optimal conditions, can render these energy-maximising control laws unsuitable for realistic scenarios. Non-optimisation-based controllers present an alternative solution, where linear time-invariant systems are used to approximate the so-called impedance-matching condition. These strategies are often simple to implement but suffer from performance degradation when motion constraints are considered. This paper aims to present a critical comparison between both families of controllers, highlighting the strengths and weaknesses of each approach. We present simulation results for a state-of-the-art CorPower-like device under polychromatic (irregular) wave excitation, for both (motion) unconstrained and constrained scenarios.}, + urldate = {2024-06-14}, + booktitle = {2020 {European} {Control} {Conference} ({ECC})}, + author = {Faedo, Nicolás and García-Violini, Demián and Peña-Sanchez, Yerai and Ringwood, John V.}, + month = may, + year = {2020}, + keywords = {Dynamics, Force, Linear systems, Mathematical model, Optimal control, Optimized production technology}, + pages = {843--848}, +} + +@article{faedo_energy-maximising_2022, + series = {14th {IFAC} {Conference} on {Control} {Applications} in {Marine} {Systems}, {Robotics}, and {Vehicles} {CAMS} 2022}, + title = {Energy-maximising experimental control synthesis via impedance-matching for a multi degree-of-freedom wave energy converter}, + volume = {55}, + issn = {2405-8963}, + url = {https://www.sciencedirect.com/science/article/pii/S2405896322024995}, + doi = {10.1016/j.ifacol.2022.10.453}, + abstract = {We present, in this paper, an experimental framework for design and synthesis of impedance-matching-based (IM) controllers capable of maximising energy extraction in inherently multi degree-of-freedom wave energy converter (WEC) systems, and its subsequent application to the Intertial Sea Wave Energy Converter (ISWEC) device, by incorporating recent advances in IM-based theory. In particular, we consider a 1/20th scale prototype of the ISWEC system, tested as part of a larger experimental campaign conducted within the tank facilities available at Università degli Studi di Napoli Federico II, subject to a variety of wave conditions. We adopt two different control structures to realise an approximation of the IM principle, fully tuned based upon interpolation of a particular (experimentally obtained) non-parametric empirical transfer function estimate, which defines the optimal frequency-domain input-output response for energy-maximising behaviour. Furthermore, a performance comparison between controller tuning based upon traditional linear boundary element method models, and the presented experimental approach, is also offered, showing that the latter can consistently outperform the former in realistic scenarios, for the set of analysed sea-states.}, + number = {31}, + urldate = {2024-06-14}, + journal = {IFAC-PapersOnLine}, + author = {Faedo, Nicolás and Pasta, Edoardo and Carapellese, Fabio and Orlando, Vincenzo and Pizzirusso, Domenica and Basile, Dario and Sirigu, Sergej A.}, + month = jan, + year = {2022}, + keywords = {Impedance-matching, Optimal control, Wave energy converters}, + pages = {345--350}, +} + +@article{barter_beyond_2023, + title = {Beyond 15 {MW}: {A} cost of energy perspective on the next generation of drivetrain technologies for offshore wind turbines}, + volume = {344}, + issn = {0306-2619}, + shorttitle = {Beyond 15 {MW}}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261923006360}, + doi = {10.1016/j.apenergy.2023.121272}, + abstract = {Leading wind turbine manufacturers are racing to build larger and more powerful offshore machines. Drivetrain configurations often use a permanent-magnet synchronous generator (PMSG), in either a direct-drive configuration or coupled to a gearbox. With increasing demand for critical rare-earth magnets, new generator technologies are emerging to ensure a stable and secure supply chain. We evaluate three different topologies of radial flux synchronous generators employing high field magnets with reduced or no rare-earth content: a direct-drive interior PMSG (DD-IPMSG), a geared drivetrain combining a medium speed gearbox with a PMSG (MS-PMSG), and a direct-drive low-temperature superconducting generator (DD-LTSG). We develop a conceptual design module for each of these technologies within a larger framework for full turbine design. This provides the fairest comparison between technologies at nominal power ratings from 15–25MW, which represent the next generation of offshore wind turbines. The analyses show that if operational expenditures (OpEx) are constant across the technologies, MS-PMSG results in the lowest LCOE with reductions of up to 7\% relative to DD-IPMSG. DD-LTSG also yields lower LCOE values by 2\%–3\% for fixed-bottom turbines and 3\%–5\% with a floating platform. However, results are sensitive to OpEx assumptions, with a mere 10\% increase causing the conclusions to shift.}, + urldate = {2024-06-06}, + journal = {Applied Energy}, + author = {Barter, Garrett E. and Sethuraman, Latha and Bortolotti, Pietro and Keller, Jonathan and Torrey, David A.}, + month = aug, + year = {2023}, + keywords = {Direct drive, Levelized cost of energy, Medium speed, Offshore wind, Permanent magnet synchronous generator, Superconducting generator}, + pages = {121272}, +} + +@misc{schivley_powergenomepowergenome_2024, + title = {{PowerGenome}/{PowerGenome}: v0.6.3}, + url = {https://doi.org/10.5281/zenodo.11194213}, + doi = {10.5281/zenodo.11194213}, + publisher = {Zenodo}, + author = {Schivley, Greg and Welty, Ethan and Patankar, Neha and Jacobson, Anna and Xu, Qingyu and Manocha, Aneesha and Pecora, Braden and Bhandarkar, Riti and Jenkins, Jesse D. and Fripp, Matthias}, + month = may, + year = {2024}, +} + +@misc{pauly_mhkit_2020, + title = {{MHKiT} ({Marine} and {Hydrokinetic} {Toolkit}) - {MATLAB}}, + url = {https://doi.org/10.5281/zenodo.3928405}, + doi = {10.5281/zenodo.3928405}, + author = {Pauly, Rebecca and Klise, Katherine and Ruehl, Kelley M. and Olson, Sterling and Shippert, Timothy and Morrell, Zachary and Bredin, Sarah and Lansing, Carina and Macduff, Matt and Martin, Tonya and Sivaraman, Chitra and Gunawan, Budi and Driscoll, Frederick}, + month = jan, + year = {2020}, + note = {Published: [Computer Software] https://doi.org/10.5281/zenodo.3928405}, +} + +@article{noauthor_mhkit-softwaremhkit-matlab_nodate, + title = {{MHKiT}-{Software}/{MHKiT}-{MATLAB}: v0.4.1}, + shorttitle = {{MHKiT}-{Software}/{MHKiT}-{MATLAB}}, + url = {https://zenodo.org/records/10783438}, + doi = {10.5281/zenodo.10783438}, + abstract = {New Features DOLfYN IO \& Rotations(\#79) IO Implement DOLfYN IO functionality for classic Nortek data format Add support for RDI file read Initial development for NetCDF read and write functionality Rotations Speed optimizations, bug fixes, and rotations for DOLfYN Power Quality Flicker (\#105) Update power quality flicker assessment workflow and calculations CDIP Data IO and Graphics (\#83) Implement CDIP data collection and plotting functions Wave Updates (\#70) Add depth\_regime, wave\_length, and depth flags Implement updates to wave-related functions and tests Cache hindcast data calls (309f51226a88b25f985a6767e5696e0ec656d6ce) Add MATLAB/Python compatibility to README (576b406c7e102068526718e44a8878327c693764) Bug Fixes \#59 Magnitude and Phase Function for MATLAB (\#76) Implement magnitude and phase function for MATLAB \#65 Tidal Ebb and Flood Plots for MATLAB (\#73) Implement tidal ebb and flood plots for MATLAB WPTO for MATLAB (\#61) Address issues related to WPTO for MATLAB Fix python namespace conflict warnings (be70376) Developer Improvements Fix Github Actions Workflow to automate unit testing \#102 Linux, macOS, and Windows Units are performing nominally Fix/update failing unit tests where possible 100\% (151 / 151) of test cases are passing Add built in MATLAB code coverage (1f5f93a) Thank you to @kchong75, @H0R5E, @kbrode22, @parangat94, @Matthew-Boyd, @hivanov-nrel, @rpauly18, @Alex-McVey, @simmsa for your contributions!}, + language = {en}, + urldate = {2024-06-03}, +} + +@misc{klise_mhkit_2020, + title = {{MHKiT} ({Marine} and {Hydrokinetic} {Toolkit}) - {Python}}, + url = {https://doi.org/10.5281/zenodo.3924683}, + doi = {10.5281/zenodo.3924683}, + author = {Klise, Katherine and Pauly, Rebecca and Ruehl, Kelley M. and Olson, Sterling and Shippert, Timothy and Morrell, Zachary and Bredin, Sarah and Lansing, Carina and Macduff, Matt and Martin, Tonya and Sivaraman, Chitra and Gunawan, Budi and Driscoll, Frederick}, + month = jan, + year = {2020}, + note = {Published: [Computer Software] https://doi.org/10.5281/zenodo.3924683}, +} + +@misc{mit_energy_initiative_genx_nodate, + title = {{GenX}: a configurable power system capacity expansion model for studying low-carbon energy futures}, + url = {https://github.com/GenXProject/GenX.jl}, + author = {{MIT Energy Initiative} and {Princeton University ZERO lab}}, +} + +@article{faedo_principle_2022, + title = {On the principle of impedance-matching for underactuated wave energy harvesting systems}, + volume = {118}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118721004223}, + doi = {10.1016/j.apor.2021.102958}, + abstract = {In recent years, the fundamental principle of impedance-matching (IM) has inspired a number of sophisticated, yet simple, control solutions for wave energy converters (WEC). Such controllers have the capability of maximising energy absorption from incoming waves with mild computational requirements, being often intuitive in their design, hence especially appealing for real-time industrial applications. Nonetheless, these control solutions are, to date, almost exclusively developed for single degree-of-freedom (DoF) (and hence fully actuated) WEC systems, hindering their application to realistic underactuated multi-DoF devices, i.e. harvesting systems where energy is extracted from only a handful of its total set of modes of motion. Motivated by this, we present, in this paper, a comprehensive derivation and discussion of the IM conditions for maximum energy absorption in underactuated multi-DoF WEC systems. In particular, we show that the IM principle for single-DoF devices can be effectively extended to underactuated multi-DoF systems, and that a set of optimality conditions can be explicitly derived. In addition, we discuss both the impact and use of this set of optimal conditions for control design and synthesis, hence effectively taking a fundamental step towards the general extension of current IM-based techniques to the case of underactuated multi-DoF devices.}, + urldate = {2024-06-02}, + journal = {Applied Ocean Research}, + author = {Faedo, Nicolás and Carapellese, Fabio and Pasta, Edoardo and Mattiazzo, Giuliana}, + month = jan, + year = {2022}, + keywords = {Energy-maximising control, Impedance-matching, Optimal control, WEC, Wave energy}, + pages = {102958}, +} + +@article{akdemir_opportunities_2023, + title = {Opportunities for wave energy in bulk power system operations}, + volume = {352}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261923012096}, + doi = {10.1016/j.apenergy.2023.121845}, + abstract = {Wave energy resources have high, yet largely untapped potential as candidate generation technology. In this paper, we perform a data-driven analysis to characterize the impact of wave energy integration on bulk-scale power systems and market operations. Through data-driven sensitivity studies centered on an optimization-based production cost modeling formulation, our work characterizes the inflection point beyond which wave integration starts impacting power system operations, considering present day transmission infrastructure. Furthermore, our analysis also considers the joint effects of wave energy integration and system-wide transmission expansion. Finally, potential resilience scenarios such as wildfire-driven transmission contingencies and heat wave events are investigated, whereby the contributions of grid-integrated wave energy in alleviating the effects of the resilience events are analyzed. As our demonstration test bed, we consider a reduced-order network topology for the U.S. Western Interconnection with wave energy generation integrated at carefully selected sites across the coastal areas of Washington, Oregon, and northern California. Our results indicate that over a representative year of operations, wave energy integration systematically reduces locational marginal prices (LMPs) of energy and price volatility, especially during periods of high wave resource availability (winter months for the U.S. west coast). Average, maximum, and minimum of hourly LMPs over a typical year of operation was reduced by 2.95, 51.28, and 1.13 \$/MWh respectively (over a baseline scenario with no wave energy integration), when the selected network model had a total of 5000 MW wave power installed capacity during the representative year of study. The effects of wave energy integration can remain localized with existing transmission infrastructure (identified to be most pronounced in the Pacific Northwest region in the example we studied). However, with concurrent transmission expansion, the impacts of wave energy integration are likely to have a higher geographical spread. Our results also indicate that wave energy may be able to assist power system operations during resilience events such as major transmission contingencies and heat wave events, although such benefits might be dependent on factors such as proximity of affected area to wave resources, availability of adequate resource potential and adequate transmission capacity.}, + urldate = {2024-06-02}, + journal = {Applied Energy}, + author = {Akdemir, Kerem Ziya and Robertson, Bryson and Oikonomou, Konstantinos and Kern, Jordan and Voisin, Nathalie and Hanif, Sarmad and Bhattacharya, Saptarshi}, + month = dec, + year = {2023}, + keywords = {Contingency analysis, Electricity market, Marine renewable energy, Power system operations, Production cost modeling, Wave energy}, + pages = {121845}, +} + +@article{satymov_techno-economic_2024, + title = {Techno-economic assessment of global and regional wave energy resource potentials and profiles in hourly resolution}, + volume = {364}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261924005026}, + doi = {10.1016/j.apenergy.2024.123119}, + abstract = {Climate change is driving the adoption of sustainable energy, with low-cost solar photovoltaics and wind power at the forefront. However, land-constrained regions and islands have a limited onshore renewable energy potential. Wave power may prove useful for such regions, supported by growing literature in the field. This study delves into wave power's techno-economic potential, addressing a gap in previous assessments focused solely on theoretical or technical prospects. Utilising hourly wave data and a wave energy converter manufacturer's power matrix, global wave electricity yield is estimated. Considering projected costs, levelised cost of electricity is used to gauge economic viability. Although wave power is currently expensive, the results suggest that it could become cost-competitive with offshore wind power in the 2030s, with levelised cost of electricity below 70 €/MWh by 2035 in areas with good wave energy resources. Finally, the paper contributes openly accessible, hourly capacity factor data of global wave power generation, empowering further energy system modelling research. This study paves the way for informed decision-making on wave power's role in a diversified, sustainable energy future.}, + urldate = {2024-06-02}, + journal = {Applied Energy}, + author = {Satymov, Rasul and Bogdanov, Dmitrii and Dadashi, Mojtaba and Lavidas, George and Breyer, Christian}, + month = jun, + year = {2024}, + keywords = {CorPower, Energy supply diversification, Land-constrained regions, Ocean energy, Wave electricity yield, Wave energy}, + pages = {123119}, +} + +@article{grasberger_control_2024, + title = {Control co-design and optimization of oscillating-surge wave energy converter}, + volume = {225}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148124002994}, + doi = {10.1016/j.renene.2024.120234}, + abstract = {Ocean wave energy has the potential to play a crucial role in the shift to renewable energy. In order to improve wave energy conversion performance, it is necessary to break through the traditional sequential design process due to the coupling of subsystems such as the wave capture structure geometry, power take-off (PTO), and control systems. A co-design optimization is introduced in this paper to include effects of all subsystems with one outer and one inner optimization loop in order to reach a fully optimal design of an oscillating surge wave energy converter (OSWEC). A width and height sweep serves as an outer loop geometry optimization while power take-off components and control parameters are optimized efficiently in an inner loop for each geometry. An investigation into electrical power and mechanical power maximization also outlines the contrasting nature of the two objectives to illustrate the importance of electrical power maximization for identifying optimality. The co-design optimization leads to an optimal design with a width of 12 m and a height of 10 m which achieves an improvement in the normalized power value of over 60\% when compared to sequential design. A sensitivity analysis of the PTO system enhances understanding of the impact of PTO component value changes to support detailed-design of relevant components including drivetrain and generator. Lastly, the effect of the wave height and period on the optimal design is explored. Through the optimization and sensitivity analysis, a greater understanding on the effects of applying control co-design principles on surface piercing OSWECs is achieved and the importance of control co-design methods is demonstrated.}, + urldate = {2024-06-01}, + journal = {Renewable Energy}, + author = {Grasberger, Jeff and Yang, Lisheng and Bacelli, Giorgio and Zuo, Lei}, + month = may, + year = {2024}, + keywords = {Control co-design, Ocean wave energy, Oscillating-surge wave energy converter, Power-takeoff design, Shape optimization}, + pages = {120234}, +} + +@article{gudmestad_hydrodynamic_1996, + title = {Hydrodynamic coefficients for calculation of hydrodynamic loads on offshore truss structures}, + volume = {9}, + issn = {0951-8339}, + url = {https://www.sciencedirect.com/science/article/pii/0951833995000232}, + doi = {10.1016/0951-8339(95)00023-2}, + abstract = {The current American Petroleum Institute's recipe [API RP 2A WSD, Recommended practice for planning, designing and constructing fixed offshore platforms, working stress design. API, USA, 1993.] for calculation of hydrodynamic loads on offshore truss structures is compared with the corresponding North Sea Design Practice, as given by the rules of Det Norske Veritas. Most emphasis is put on the hydrodynamic coefficients and the estimation of design current as these issues are identified to be particularly critical. Use of the updated API (1993) recommendations in which the drag coefficient for roughened cylinders is increased from a minimum of 0·6 (API 1991) to 1·05 (API 1993) and where current is included, could lead to a general increase in the estimated load level on slender offshore structures [Petrauskas, C., Heideman, J.C. \& Berek, E.P., Extreme wave force calculation procedure for the 20th edition of API RP 2A. OTC paper 7153, In Proc. OTC 1993, Houston, Texas, 1993, pp. 201–211]. The main emphasis with regard to the impact of the new API recommendations, however, is that a consistent approach is provided to the calculation of 100-yr directional loads. This includes taking into account the effect of marine growth on force coefficients, modifying the wave kinematics for directional spreading, and considering current blockage effects, conductor shielding effects, and joint occurrence of wave height and current (i.e., using the associated current as being representative of the current that would lead to the 100-yr load). It is concluded that a consistent approach, such as that underlying the new API RP 2A (1993) recipe, is preferable to the current North Sea Design Practice [Det Norske Veritas, Environmental conditions and environmental loads. DNV classification notes 30.5, 1001.] in this field, and thus that the North Sea Design Practice should be updated. This relates in particular to selection of hydrodynamic coefficients. Measurement programmes to obtain full scale global force data simultatneously with wave and current data are furthermore recommended.}, + number = {8}, + urldate = {2024-05-27}, + journal = {Marine Structures}, + author = {Gudmestad, Ove T. and Moe, Geir}, + month = sep, + year = {1996}, + keywords = {API Recommended practice, hydrodynamic coefficients, offshore truss structures, wave forces}, + pages = {745--758}, +} + +@article{wen_shape_2018, + title = {A {Shape} {Optimization} {Method} of a {Specified} {Point} {Absorber} {Wave} {Energy} {Converter} for the {South} {China} {Sea}}, + volume = {11}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/11/10/2645}, + doi = {10.3390/en11102645}, + abstract = {In this paper, a shape optimization method of a truncated conical point absorber wave energy converter is proposed. This method converts the wave energy absorption efficiency into the matching problem between the wave spectrum of the South China Sea and the buoy’s absorption power spectrum. An objective function which combines these two spectra is established to reflect the energy absorbing efficiency. By applying Taguchi design, the frequency domain hydrodynamic analysis and the response surface method (RSM), the radius, cone angle and draft of the buoy are optimized. Since the significant influence of power take-off system (PTO) on energy absorption, the optimal PTO damping under random wave conditions is also studied. The optimal shape is acquired by maximizing the energy absorbing efficiency. Four types of performance and the influence of each geometrical parameter are also obtained. In addition, the cause of the trend of performance as well as the effects of adjusting the input parameters are analyzed. This study can provide guidance for the shape optimization of multi-parameter buoys.}, + language = {en}, + number = {10}, + urldate = {2024-05-27}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Wen, Yadong and Wang, Weijun and Liu, Hua and Mao, Longbo and Mi, Hongju and Wang, Wenqiang and Zhang, Guoping}, + month = oct, + year = {2018}, + note = {Number: 10}, + keywords = {RSM, South China Sea, Taguchi design, absorption power spectrum, point absorber, shape optimization, wave energy converter}, + pages = {2645}, +} + +@article{son_performance_2016, + title = {Performance validation and optimization of a dual coaxial-cylinder ocean-wave energy extractor}, + volume = {92}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148116300325}, + doi = {10.1016/j.renene.2016.01.032}, + abstract = {A point-absorber wave-energy extractor is developed, consisting of a dual coaxial-cylinder system, with the inner cylinder tension-tethered and an outer cylinder (floater) oscillating vertically. A permanent magnet linear generator (PMLG) is used as a power take-off (PTO) capturing wave energy from the relative motion of the two cylinders. The mathematical modeling of the system includes the coupling effects of the cylinder hydrodynamics and the PMLG behavior. It gives a rational and effective way of providing performance predictions and directions for optimization. The flat bottom shape of the floater is modified into a needle-like curved shape to minimize viscous losses, which leads to three-times increase in floater response, compared with the flat-bottom geometry and thus improved wave-energy capture. The behavior of the PTO in the presence of an appropriate supporting structure for the coaxial cylinders are investigated, and optimal operating conditions for energy extraction and mechanical to electrical conversion efficiency are determined. Experimental results of this coupled system in regular waves confirm the validity of the theoretical predictions and soundness of the engineering design. Optimizing the floater bottom shape and the operating conditions for energy extraction lead to a two-times increase in overall efficiency, even without any active control.}, + urldate = {2024-05-24}, + journal = {Renewable Energy}, + author = {Son, Daewoong and Belissen, Valentin and Yeung, Ronald W.}, + month = jul, + year = {2016}, + keywords = {Coaxial cylinders, Motion amplification, Ocean-wave energy, Optimization, Permanent-magnet linear generator, Wave-energy extractor}, + pages = {192--201}, +} + +@unpublished{dekker_our_1999, + title = {On our own terms: emerging autistic culture}, + url = {https://www.autscape.org/2015/programme/handouts/Autistic-Culture-07-Oct-1999.pdf}, + author = {Dekker, Martijn}, + month = oct, + year = {1999}, +} + +@misc{noauthor_welcome_nodate, + title = {Welcome to {People} {First}.org!}, + url = {https://www.peoplefirst.org/}, + urldate = {2024-05-10}, +} + +@incollection{watson_deaf_2019, + address = {London}, + edition = {2}, + title = {Deaf identities in disability studies}, + isbn = {978-0-429-43081-7}, + doi = {10.4324/9780429430817}, + abstract = {This fully revised and expanded second edition of the Routledge Handbook of Disability Studies takes a multidisciplinary approach to disability and provides an authoritative and up-to-date overview of the main issues in the field around the world today. Adopting an international perspective and arranged thematically, it surveys the state of the discipline, examining emerging and cutting-edge areas as well as core areas of contention. +Divided in five parts, this comprehensive handbook covers: + +Different models and approaches to disability +How key impairment groups have engaged with disability studies and the writings within the discipline +Policy and legislation responses to disability studies and to disability activism +Disability studies and its interaction with other disciplines, such as history, philosophy, sport, and science and technology studies +Disability studies and different life experiences, examining how disability and disability studies intersects with ethnicity, sexuality, gender, childhood and ageing +Containing 15 revised chapters and 12 new chapters from an international selection of leading scholars, this authoritative handbook is an invaluable reference for all academics, researchers, and more advanced students in disability studies and associated disciplines such as sociology, health studies and social work. +Chapter 6 of this book is freely available as a downloadable Open Access PDF at https://www-taylorfrancis-com.proxy.library.cornell.edu under a Creative Commons Attribution-Non Commercial-No Derivatives (CC-BY-NC-ND) 4.0 license.}, + booktitle = {Routledge {Handbook} of {Disability} {Studies}}, + publisher = {Routledge}, + author = {Scully, Jackie Leach}, + editor = {Watson, Nick and Roulstone, Alan and Thomas, Carol}, + month = nov, + year = {2019}, +} + +@misc{murray_deaf_nodate, + type = {Encyclopedia}, + title = {Deaf {History}}, + url = {https://www.britannica.com/science/deaf-history/The-19th-century}, + abstract = {Deaf history - Sign Language, Education, Advocacy: Deaf education in the first part of the 1800s was largely inspired by an impulse to save deaf people’s souls, to ensure that they received sufficient religious training to understand the word of God. In the United States that period is generally known as the heyday of manualism. In 1817 a deaf teacher from the INJS, Laurent Clerc, together with American educational philanthropist Thomas Hopkins Gallaudet, established what later became the American School for the Deaf, located in West Hartford, Connecticut. Aside from a short stint as principal of the Pennsylvania Institution for the Deaf in Philadelphia, Clerc would go}, + language = {en}, + urldate = {2024-05-10}, + journal = {Britannica}, + author = {Murray, Joseph}, +} + +@article{jones_deafness_2002, + title = {Deafness as {Culture}: {A} {Psychosocial} {Perspective}}, + volume = {22}, + copyright = {Copyright (c) 2002 Megan Jones}, + issn = {2159-8371}, + shorttitle = {Deafness as {Culture}}, + url = {https://dsq-sds.org/index.php/dsq/article/view/344}, + doi = {10.18061/dsq.v22i2.344}, + abstract = {No abstract available}, + language = {en}, + number = {2}, + urldate = {2024-05-10}, + journal = {Disability Studies Quarterly}, + author = {Jones, Megan}, + month = apr, + year = {2002}, + note = {Number: 2}, +} + +@incollection{erickson-schroth_disability_2014, + title = {Disability and {Deaf} {Culture}}, + isbn = {978-0-19-932537-5}, + abstract = {There is no one way to be transgender. Transgender and gender non-conforming people have many different ways of understanding their gender identities. Only recently have sex and gender been thought of as separate concepts, and we have learned that sex (traditionally thought of as physical or biological) is as variable as gender (traditionally thought of as social). While trans people share many common experiences, there is immense diversity within trans communities. There are an estimated 700,000 transgendered individuals in the US and 15 million worldwide. Even still, there's been a notable lack of organized information for this sizable group. Trans Bodies, Trans Selves is a revolutionary resource-a comprehensive, reader-friendly guide for transgender people, with each chapter written by transgender or genderqueer authors. Inspired by Our Bodies, Ourselves, the classic and powerful compendium written for and by women, Trans Bodies, Trans Selves is widely accessible to the transgender population, providing authoritative information in an inclusive and respectful way and representing the collective knowledge base of dozens of influential experts. Each chapter takes the reader through an important transgender issue, such as race, religion, employment, medical and surgical transition, mental health topics, relationships, sexuality, parenthood, arts and culture, and many more. Anonymous quotes and testimonials from transgender people who have been surveyed about their experiences are woven throughout, adding compelling, personal voices to every page. In this unique way, hundreds of viewpoints from throughout the community have united to create this strong and pioneering book. It is a welcoming place for transgender and gender-questioning people, their partners and families, students, professors, guidance counselors, and others to look for up-to-date information on transgender life.}, + language = {en}, + booktitle = {Trans {Bodies}, {Trans} {Selves}: {A} {Resource} for the {Transgender} {Community}}, + publisher = {Oxford University Press}, + author = {Ware, Syrus Marcus and Marshall, Zack}, + editor = {Erickson-Schroth, Laura}, + month = may, + year = {2014}, + note = {Google-Books-ID: 7Ef1AwAAQBAJ}, + keywords = {Psychology / Human Sexuality, Social Science / Social Work}, +} + +@article{eckert_audism_2013, + title = {Audism: {A} {Theory} and {Practice} of {Audiocentric} {Privilege}}, + volume = {37}, + issn = {0160-5976}, + shorttitle = {Audism}, + url = {https://doi.org/10.1177/0160597613481731}, + doi = {10.1177/0160597613481731}, + abstract = {More than 30 years ago, Tom Humphries coined the term “audism” to describe audiocentric (based on hearing and speaking) assumptions and attitudes of supremacy. Only a handful of scholarly articles mention the concept of audism and not one of those is published outside of Deaf Cultural Studies. In this article, audism is broadly defined in the ideological contexts of individual, institutional, metaphysical, and laissez-faire prejudices. Audism is further explained in the context of overt, covert, and aversive practices of discrimination. Examples of the intersections of the theory and practice of audiocentric privilege are explored. Based on critical observations of audism as a stratifying system of oppression, four recommendations are made: increasing public awareness of Deaf American contributions to society (multiculturalism), infusing Deaf-centric curriculum content in education (equity), advocating intergroup dialogues as a transformative pedagogy that further exposes audism as a social injustice (intercultural responsibility), and promoting community service opportunities (ethical citizenship) for students to do volunteer work in the Deaf American Community.}, + language = {en}, + number = {2}, + urldate = {2024-05-10}, + journal = {Humanity \& Society}, + publisher = {SAGE Publications Inc}, + author = {Eckert, Richard Clark and Rowley, Amy June}, + month = may, + year = {2013}, + pages = {101--130}, +} + +@article{zisk_augmentative_2019, + title = {Augmentative and {Alternative} {Communication} for {Speaking} {Autistic} {Adults}: {Overview} and {Recommendations}}, + volume = {1}, + issn = {2573-9581}, + shorttitle = {Augmentative and {Alternative} {Communication} for {Speaking} {Autistic} {Adults}}, + url = {https://www.liebertpub.com/doi/10.1089/aut.2018.0007}, + doi = {10.1089/aut.2018.0007}, + abstract = {In recent years, technologies used for augmentative and alternative communication (AAC) have seen increasing development and availability. As a result, more and more autistic people are using AAC. With the increased use of AAC by autistic people, research on autism and AAC has also increased. However, the vast majority of this research focuses on nonspeaking autistic children. AAC use by autistic adults and by speaking autistic people has received limited academic attention. Speaking autistic adults often use AAC and many have publicly shared information about their strategies and experiences. In this article, we provide an overview of the speech differences autistic adults choose to support through AAC, including varying difficulties with speech depending on environment and content. We also discuss the technologies and strategies adopted by autistic adults, including free or low-cost tools that are not specific to AAC, mobile technologies, and signed languages or gestures. We explore barriers to AAC use, including a lack of awareness of relevant options, misconceptions about who AAC supports are for, and the cost of dedicated AAC applications or devices. We then provide suggestions for autistic adults, people supporting autistic adults, and researchers. Overall communication—rather than speech—should be prioritized. Mainstream communication technologies can support communication for autistic adults and a variety of tools can support communication across contexts. Further research into the use and effectiveness of AAC for autistic adults is needed, as is research on barriers to AAC use.}, + number = {2}, + urldate = {2024-05-10}, + journal = {Autism in Adulthood}, + publisher = {Mary Ann Liebert, Inc., publishers}, + author = {Zisk, Alyssa Hillary and Dalton, Elizabeth}, + month = jun, + year = {2019}, + pages = {93--100}, +} + +@techreport{lusin_enrollments_2023, + title = {Enrollments in {Languages} {Other} {Than} {English} in {US} {Institutions} of {Higher} {Education}, {Fall} 2021}, + url = {https://www.mla.org/content/download/191324/file/Enrollments-in-Languages-Other-Than-English-in-US-Institutions-of-Higher-Education-Fall-2021.pdf}, + institution = {Modern Language Association of America}, + author = {Lusin, Natalia and Peterson, Terri and Sulewski, Christine and Zafer, Rizwana}, + year = {2023}, +} + +@misc{rocky_mountain_ada_how_2019, + title = {How {Deaf} people influenced the passage of the {ADA}}, + url = {https://rockymountainada.org/news/blog/how-deaf-people-influenced-passage-ada}, + language = {en}, + urldate = {2024-05-09}, + journal = {Rocky Mountain ADA}, + author = {{Rocky Mountain ADA}}, + month = sep, + year = {2019}, +} + +@misc{noauthor_writing_2023, + title = {Writing {Respectfully}: {Person}-{First} and {Identity}-{First} {Language}}, + shorttitle = {Writing {Respectfully}}, + url = {https://www.nih.gov/about-nih/what-we-do/science-health-public-trust/perspectives/writing-respectfully-person-first-identity-first-language}, + abstract = {When communicating about disabilities, diseases, and health conditions, it’s important to consider the unique needs and interests of the people experiencing them as part of daily life.}, + language = {EN}, + urldate = {2024-05-09}, + journal = {National Institutes of Health (NIH)}, + month = apr, + year = {2023}, +} + +@article{lane_ethnicity_2005, + title = {Ethnicity, {Ethics}, and the {Deaf}-{World}}, + volume = {10}, + issn = {1081-4159}, + url = {https://doi.org/10.1093/deafed/eni030}, + doi = {10.1093/deafed/eni030}, + abstract = {This article is concerned with ethical aspects of the relations between language minorities using signed languages (called the Deaf-World) and the larger societies that engulf them. The article aims to show that such minorities have the properties of ethnic groups, and that an unsuitable construction of the Deaf-World as a disability group has led to programs of the majority that discourage Deaf children from acquiring the language and culture of the Deaf-World and that aim to reduce the number of Deaf births—programs that are unethical from an ethnic group perspective. Four reasons not to construe the Deaf-World as a disability group are advanced: Deaf people themselves do not believe they have a disability; the disability construction brings with it needless medical and surgical risks for the Deaf child; it also endangers the future of the Deaf-World; finally, the disability construction brings bad solutions to real problems because it is predicated on a misunderstanding.}, + number = {3}, + urldate = {2024-05-09}, + journal = {The Journal of Deaf Studies and Deaf Education}, + author = {Lane, Harlan}, + month = jul, + year = {2005}, + pages = {291--310}, +} + +@article{ahamed_advancements_2020, + title = {Advancements of wave energy converters based on power take off ({PTO}) systems: {A} review}, + volume = {204}, + issn = {0029-8018}, + shorttitle = {Advancements of wave energy converters based on power take off ({PTO}) systems}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801820302985}, + doi = {10.1016/j.oceaneng.2020.107248}, + abstract = {Ocean waves contain one of the world's largest untapped and predictable renewable energy sources that can be used to fulfil the energy demand in the present energy crises situation. There are many devices that have been proposed and prototyped in different countries all around the world to harness wave energy based on different power take-off (PTO) systems. The aim of this article is to review the power take-off (PTO) systems of the wave energy converters (WEC). The review starts with a brief introduction and background of wave energy. Following this, a novel classification of WEC systems is introduced. Then, the WECs based on the different working methods of their power take off systems are briefly reviewed. This includes an analysis and comparison of advantages and challenges of the power take off systems. Aspects of current international research and development activities and networks for wave energy is also discussed. The current market of wave energy technologies is also assessed, showing that the mechanical direct drive system is the most popular. Hybrid PTO systems are seen as an important development for the future.}, + urldate = {2024-05-06}, + journal = {Ocean Engineering}, + author = {Ahamed, Raju and McKee, Kristoffer and Howard, Ian}, + month = may, + year = {2020}, + keywords = {Ocean waves, Performance, Power take off system, Wave energy converter, Working methods}, + pages = {107248}, +} + +@article{osullivan_co-design_2017, + title = {Co-design of a wave energy converter using constrained predictive control}, + volume = {102}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148116308990}, + doi = {10.1016/j.renene.2016.10.034}, + abstract = {This paper highlights the need to optimise the performance of the complete wave to wire system, instead of designing the individual subsystems. In this work a point absorber wave energy converter operating in heave mode separately, coupled to a Linear Permanent Magnet Generator (LPMG); where the results are obtained in simulation. The PTO force is controlled by a machine side back-to-back voltage source converter (VSC), which is connected to a constant DC-link voltage. Model Predictive Control (MPC) is then used to maximise the absorbed electrical power with the resistive losses of the PTO included; this is compared with classical control methods. The optimal force produced from the MPC incorporates legitimate physical and electrical constraints of the WEC and LPMG -the importance of including such constraints within the optimisation is shown. Field weakening and a uni-directional power flow constraint are then incorporated to help prevent poor grid power quality when fluctuations in the DC-link occur. It is assumed that the constrained optimal control approach produces the highest possible electrical power available. This means that it is now possible to clearly see the effect of physical design choices on the performance on a level playing field.}, + urldate = {2024-05-06}, + journal = {Renewable Energy}, + author = {O'Sullivan, Adrian C. M. and Lightbody, Gordon}, + month = mar, + year = {2017}, + keywords = {Cyber-physical, Field weakening, MPC, Power maximisation, Uni-directional power flow, Wave energy}, + pages = {142--156}, +} + +@article{tan_downsizing_2022, + title = {Downsizing the {Linear} {PM} {Generator} in {Wave} {Energy} {Conversion} for {Improved} {Economic} {Feasibility}}, + volume = {10}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {2077-1312}, + url = {https://www.mdpi.com/2077-1312/10/9/1316}, + doi = {10.3390/jmse10091316}, + abstract = {A crucial part of wave energy converters (WECs) is the power take-off (PTO) mechanism, and PTO sizing has been shown to have a considerable impact on the levelized cost of energy (LCOE). However, as a dominating type of PTO system in WECs, previous research pertinent to PTO sizing did not take modeling and optimization of the linear permanent magnet (PM) generator into consideration. To fill this gap, this paper provides an insight into how PTO sizing affects the performance of linear permanent magnet (PM) generators, and further the techno-economic performance of WECs. To thoroughly reveal the power production of the WEC, both hydrodynamic modeling and generator modeling are incorporated. In addition, three different methods for sizing the linear generator are applied and compared. The effect of the selection of the sizing method on the techno-economic performance of the WEC is identified. Furthermore, to realistically reflect the relevance of PTO sizing, wave resources from three European sea sites are considered in the techno-economic analysis. The dependence of PTO sizing on wave resources is demonstrated.}, + language = {en}, + number = {9}, + urldate = {2024-05-04}, + journal = {Journal of Marine Science and Engineering}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Tan, Jian and Wang, Xuezhou and Polinder, Henk and Laguna, Antonio Jarquin and Miedema, Sape A.}, + month = sep, + year = {2022}, + note = {Number: 9}, + keywords = {downsizing, linear PM generator, wave energy converter}, + pages = {1316}, +} + +@article{wu_gradient-based_2022, + title = {A {Gradient}-based {Sequential} {Multifidelity} {Approach} to {Multidisciplinary} {Design} {Optimization}}, + volume = {65}, + issn = {1615-1488}, + url = {https://doi.org/10.1007/s00158-022-03204-1}, + doi = {10.1007/s00158-022-03204-1}, + abstract = {Multifidelity design optimization is a strategy that can reduce the high computational cost in cases where the high-fidelity model is too expensive to use directly in optimization. However, current multifidelity approaches cannot handle the high-dimensional problems commonly encountered in industrial settings. Furthermore, they cannot accommodate arbitrary analysis fidelities, directly handle multidisciplinary problems, or provably converge to the high-fidelity optimum. In this paper, we present a practical multifidelity approach that leverages the advantages of conventional gradient-based approaches. Rather than constructing a multifidelity surrogate, we perform a sequence of single-fidelity gradient-based optimizations. The framework determines the appropriate fidelity and updates it during the optimization process. Finally, we demonstrate the proposed approach on a multipoint aerostructural wing optimization problem with over a hundred design variables. The multifidelity approach reduces the computational cost by 59\% compared to the high-fidelity approach while obtaining the same numerical optimum.}, + language = {en}, + number = {4}, + urldate = {2024-04-12}, + journal = {Structural and Multidisciplinary Optimization}, + author = {Wu, Neil and Mader, Charles A. and Martins, Joaquim R. R. A.}, + month = apr, + year = {2022}, + keywords = {Gradient-based optimization, Multidisciplinary design optimization, Multifidelity optimization}, + pages = {131}, +} + +@misc{noauthor_overview_nodate, + title = {Overview of {NASA} {Electrified} {Aircraft} {Propulsion} ({EAP}) {Research} for {Large} {Subsonic} {Transports}}, + url = {https://arc.aiaa.org/doi/epdf/10.2514/6.2017-4701}, + doi = {10.2514/6.2017-4701}, + language = {en}, + urldate = {2024-04-12}, +} + +@book{noauthor_commercial_nodate, + title = {Commercial {Aircraft} {Propulsion} and {Energy} {Systems} {Research}: {Reducing} {Global} {Carbon} {Emissions}}, + shorttitle = {Read "{Commercial} {Aircraft} {Propulsion} and {Energy} {Systems} {Research}}, + url = {https://nap.nationalacademies.org/read/23490/chapter/7#58}, + doi = {10.17226/23490}, + abstract = {Read chapter 4 Electric Propulsion: The primary human activities that release carbon dioxide (CO2) into the atmosphere are the combustion of fossil fuels ...}, + language = {en}, + urldate = {2024-04-12}, +} + +@book{gelb_multiple-input_1968, + series = {{McGraw}-{Hill} {Electronic} {Sciences}}, + title = {Multiple-{Input} {Describing} {Functions} and {Nonlinear} {System} {Design}}, + url = {https://www.semanticscholar.org/paper/Multiple-Input-Describing-Functions-and-Nonlinear-Gelb-Velde/8a855f23d04e394328b2978c5843cf9f6d2d8fdc}, + abstract = {The theory of automatic control has been advanced in important ways during recent years, particularly with respect to stability and optimal control. These are significant contributions which appeal to many workers, including the writers, because they answer important questions and are both theoretically elegant and practically useful. These theories do not, however, lay to rest all questions of importance to the control engineer. The designer of the attitude control system for a space vehicle booster which, for simplicity, utilizes a rate-switched engine gimbal drive, must know the characteristics of the limit cycle oscillation that the system will sustain and must have some idea of how the system will respond to attitude commands while continuing to limit-cycle. The designer of a chemical process control system must be able to predict the transient oscillations the process may experience during start-up due to the limited magnitudes of important variables in the system. The designer of a radar antenna pointing system with limited torque capability must be able to predict the rms pointing error due to random wind disturbances on the antenna, and must understand how these random disturbances will influence the behavior of the system in its response to command inputs. But more important than just being able to evaluate how a given system will behave in a postulated situation is the fact that these control engineers must design their systems to meet specifications on important characteristics. Thus a complicated exact analytical tool, if one existed, would be of less value to the designer than an approximate tool which is simple enough in application to give insight into the trends in system behavior as a function of system parameter values or possible compensations, hence providing the basis for system design. As an analytical tool to answer questions such as these in a way …}, + urldate = {2024-04-08}, + publisher = {McGraw-Hill}, + author = {Gelb, Arthur and Vander Velde, Wallace E.}, + year = {1968}, +} + +@article{comino_augmentative_2024, + title = {Augmentative and alternative communication and deaf children with disabilities}, + volume = {0}, + issn = {1464-3154}, + url = {https://doi.org/10.1080/14643154.2024.2316959}, + doi = {10.1080/14643154.2024.2316959}, + abstract = {With recent data reporting approximately 40–50\% of Deaf or hard of hearing (DHH) individuals as having a diability, complex communication needs are not uncommon within this population and can present unique communicative challenges. Implementing augmentative and alternative communication (AAC) systems can provide this population with an effective means of communication, assist them in developing specific language skills, and support them in effectively accessing their social environment. The purpose of this scoping review was to (a) identify the facilitators and barriers to AAC provision for this group of individuals, (b) discuss observable trends throughout studies, and (c) highlight areas for further research in AAC for this group of learners. This review compiles the results from seven studies within the last 10 years and focuses on the facilitators and barriers when implementing AAC systems for DHH individuals with a disability (DWD) and complex communication needs. The facilitators and barriers are categorised as interpersonal, intervention and assessment related. The trends that were identified included (a) the overall success of AAC, (b) the prevalence of speech-generating devices (SGD) use, (c) the lack of communication within interdisciplinary teams, (d) the lack of DHH-specific research, and (e) the lack of standardised methods for AAC selection.}, + number = {0}, + urldate = {2024-04-03}, + journal = {Deafness \& Education International}, + publisher = {Routledge}, + author = {Comino, Dimity and Roche, Laura and Duncan, Jill}, + year = {2024}, + note = {\_eprint: https://doi.org/10.1080/14643154.2024.2316959}, + keywords = {Augmentative and alternative communication; deaf, hard of hearing; complex communication needs}, + pages = {1--25}, +} + +@article{graham_increasing_2020, + title = {Increasing {Social} {Awareness} for {Deaf} and {Hard} of {Hearing} {Children} on the {Autism} {Spectrum}: {Innovative} {Strategies}}, + volume = {21}, + issn = {1544-6751}, + shorttitle = {Increasing {Social} {Awareness} for {Deaf} and {Hard} of {Hearing} {Children} on the {Autism} {Spectrum}}, + url = {https://eric.ed.gov/?id=EJ1268538}, + abstract = {For families and educators, understanding and working with children who experience a combination of deafness and autism spectrum disorder (ASD) can be challenging. Yet both understanding and work are crucial. For children with ASD to succeed, parents and educators need to understand them and to be able to work together to implement successful educational strategies. These strategies fall into two categories: 1) strategies for improving social interaction, primarily focusing on communication; and 2) strategies for incorporating the students' interests, which may be intense but restricted (American Psychiatric Association, 2013). What this means is that some children can be very focused on a few specific interests so educators can modify strategies to use each child's interests to introduce new knowledge and teach various skills. Educators, must develop a "toolbox" of strategies and frameworks of practice to help students develop supportive relationships and ensure they have a sense of belonging and being a part of an inclusive community. The information in this toolbox will help teachers who have deaf or hard of hearing children with ASD in their classrooms. This article describes four strategies that are inclusive; they work for most children. They include: (1) routine explanation; (2) video modeling; (3) peer-to-peer social interaction; and (4) differentiated instruction.}, + language = {en}, + urldate = {2024-04-03}, + journal = {Odyssey: New Directions in Deaf Education}, + publisher = {Laurent Clerc National Deaf Education Center}, + author = {Graham, Patrick and Neild, Raschelle and Shield, Aaron}, + year = {2020}, + note = {ERIC Number: EJ1268538}, + keywords = {Autism, Comorbidity, Deafness, Generalization, Hearing Impairments, Individualized Instruction, Interaction, Interpersonal Communication, Modeling (Psychology), Peer Relationship, Pervasive Developmental Disorders, Social Development, Student Interests, Students with Disabilities, Teaching Methods, Video Technology}, + pages = {28--33}, +} + +@article{shield_preliminary_2014, + title = {Preliminary {Findings} of {Similarities} and {Differences} in the {Signed} and {Spoken} {Language} of {Children} with {Autism}}, + volume = {35}, + copyright = {Thieme Medical Publishers 333 Seventh Avenue, New York, NY 10001, USA.}, + issn = {0734-0478, 1098-9056}, + url = {http://www.thieme-connect.de/DOI/DOI?10.1055/s-0034-1389103}, + doi = {10.1055/s-0034-1389103}, + abstract = {Approximately 30\% of hearing children with autism spectrum disorder (ASD) do not acquire expressive language, and those who do often show impairments related to their social deficits, using language instrumentally rather than socially, with a poor understanding of pragmatics and a tendency toward repetitive content. Linguistic abnormalities can be clinically useful as diagnostic markers of ASD and as targets for intervention. Studies have begun to document how ASD manifests in children who are deaf for whom signed languages are the primary means of communication. Though the underlying disorder is presumed to be the same in children who are deaf and children who hear, the structures of signed and spoken languages differ in key ways. This article describes similarities and differences between the signed and spoken language acquisition of children on the spectrum. Similarities include echolalia, pronoun avoidance, neologisms, and the existence of minimally verbal children. Possible areas of divergence include pronoun reversal, palm reversal, and facial grammar.}, + language = {en}, + number = {4}, + urldate = {2024-04-03}, + journal = {Seminars in Speech and Language}, + publisher = {Thieme Medical Publishers}, + author = {Shield, Aaron}, + month = nov, + year = {2014}, + keywords = {Sign language, autism, echolalia, language acquisition, pronouns}, + pages = {309--320}, +} + +@inproceedings{polinder_linear_2007, + address = {Porto}, + title = {Linear generator systems for wave energy conversion}, + booktitle = {Proceedings of the 7th {European} {Wave} and {Tidal} {Energy} {Conference}, {Porto}}, + author = {Polinder, Henk and Mueller, Markus and Scuotto, Mattia and Prado, M.}, + month = sep, + year = {2007}, +} + +@article{skrovanek_electrostatic_2024, + title = {Electrostatic {Wave} {Energy} {Conversion}: {A} {Review} of {Devices}, {Theory}, and {Hurdles}}, + issn = {1558-0059}, + shorttitle = {Electrostatic {Wave} {Energy} {Conversion}}, + url = {https://ieeexplore.ieee.org/document/10399859}, + doi = {10.1109/TEC.2024.3354122}, + abstract = {Wave energy is a continuously available resource with tremendous potential. However, utility-scale wave energy harvesting has experienced limited commercial success to date. Many of these shortcomings can be attributed to the fundamental mismatch between the low-frequency nature of ocean waves and the physical principles of conventional electromagnetic generators used in today's WECs, leading to WECs that are large, expensive, and inefficient. As such, a growing number of researchers are investigating electric machinery based on electrostatics as a viable alternative for WEC generators. Not only are electrostatic WECs generally more efficient than their electromagnetic counterparts at low-speed operation, but they also tend to be constructed from abundant, lightweight, and inexpensive materials, which could make WECs economically competitive with other energy sources. This paper first characterizes electrostatic WECs from a theoretical perspective to gain insight into their physical nature and then reviews existing electrostatic WEC technologies, which include variable-capacitance and triboelectric generators. Performance metrics for existing electrostatic WECs are presented. Finally, the key challenges in electrostatic WEC technology are identified along with several strategies to overcome these hurdles in future research.}, + urldate = {2024-03-16}, + journal = {IEEE Transactions on Energy Conversion}, + author = {Skrovanek, David and Ludois, Daniel C.}, + year = {2024}, + note = {Conference Name: IEEE Transactions on Energy Conversion}, + keywords = {Capacitors, Electromagnetic scattering, Electromagnetics, Electrostatics, Generators, Magnetomechanical effects, Power conversion, Wave energy, dielectric elastomers, electrostatics, ocean energy, triboelectricity, variable capacitors}, + pages = {1--11}, +} + +@article{rahman_recent_2020, + title = {Recent {Progress} in {Electrical} {Generators} for {Oceanic} {Wave} {Energy} {Conversion}}, + volume = {8}, + issn = {2169-3536}, + url = {https://ieeexplore.ieee.org/document/9152036}, + doi = {10.1109/ACCESS.2020.3012662}, + abstract = {Oceanic wave energy extraction through electrical generator is one of the most interesting topics in the field of power engineering. Almost all the existing relevant review paper focus on electrical generator with the working principle of electromagnetic induction or piezoelectric or triboelectric effect. In this paper, all the existing types (based on principle of operation) of electrical generator used for wave power harvesting are discussed. This paper not only covers recent progress in electrical power generation by electro-magnetic induction, piezoelectric generator, and electrostatic induction, but also presents critical comparative review as well where suitable use and weakness of each type of generators are discussed. Moreover, the application of advanced magnetic core, winding, and permanent magnets are discussed with extensive explanation which are not focused in the existing reviews. Various new constructional features of the electrical generators such as split translator flux switching, two-point absorber, triangular coil, dual port linear generator, piezoelectric, triboelectric nanogenerator, etc. are highlighted with principles of operation. It also includes emerging human intervened optimization method for determining optimum shape of generator and cooling system which is necessary to prevent demagnetization of the permanent magnet. Finally, the way of supply the generated electrical power form the generator to load/grid is thoroughly described in a separate section that would be obvious for successful operation. The comparison among all types of generators in terms of output voltage, current, scale of power production, power-frequency characteristics, power density, cascading, and approaches are tabulated in this paper.}, + urldate = {2024-03-09}, + journal = {IEEE Access}, + author = {Rahman, Abidur and Farrok, Omar and Islam, Md. Rabiul and Xu, Wei}, + year = {2020}, + note = {Conference Name: IEEE Access}, + keywords = {Electromagnetics, Electrostatic induction generator, Energy conversion, Generators, Magnetic cores, Permanent magnets, Stator windings, linear electrical generator, magnetic material, optimization, permanent magnet, piezoelectric generator, superconductor, wave energy converter}, + pages = {138595--138615}, +} + +@inproceedings{akiror_coefficients_2012, + title = {On the coefficients of core loss formulas for electrical machines}, + issn = {1553-572X}, + url = {https://ieeexplore.ieee.org/document/6388907}, + doi = {10.1109/IECON.2012.6388907}, + abstract = {In this paper the behavior of core loss coefficients is studied using a new method of core loss separation. This method eliminates the assumption of uniform magnetic field distribution in a material especially at high frequencies. With this separation method, the hysteresis and eddy current coefficients are calculated using the original Steinmetz equation and its derivative. The calculated loss from the coefficients of the two formulas is then compared to the loss from the separation. Results and conclusions are also presented.}, + urldate = {2024-03-07}, + booktitle = {{IECON} 2012 - 38th {Annual} {Conference} on {IEEE} {Industrial} {Electronics} {Society}}, + author = {Akiror, Jemimah.C and Pillay, Pragasen}, + month = oct, + year = {2012}, + keywords = {Core loss, Eddy current loss, hysteresis loss}, + pages = {1927--1933}, +} + +@book{hanselman_brushless_2003, + edition = {Second}, + title = {Brushless {Permanent} {Magnet} {Motor} {Design}}, + isbn = {978-1-932133-63-9}, + abstract = {Explaining techniques for magnetic modelling and circuit analysis, this book shows how magnetic circuit analysis applies to motor design. It describes the major aspects of motor operation and design, and develops design equations for radial flux and axial flux motors. It is intended for electrical, electronics and mechanical engineers.}, + language = {en}, + publisher = {Writers' Collective}, + author = {Hanselman, Duane C.}, + year = {2003}, + note = {Google-Books-ID: vlWSQAAACAAJ}, + keywords = {Technology \& Engineering / Electrical, Technology \& Engineering / Electronics / General, Technology \& Engineering / Mechanical, Technology \& Engineering / Power Resources / Electrical}, +} + +@phdthesis{mccabe_electromagnetic_2021, + type = {Thesis}, + title = {Electromagnetic and {Systems} {Design} of a {Permanent} {Magnet} {Synchronous} {Motor} for an {Electric} {Vehicle}}, + copyright = {In Copyright - Educational Use Permitted}, + url = {https://dspace.mit.edu/handle/1721.1/139215}, + abstract = {This project explores the analysis and design of a Surface Permanent Magnet (SPM) motor for an electric racecar application. Magnetic fields and forces are analyzed using simplified magnetic circuits as well as the more accurate magnetic scalar potential and the Maxwell stress tensor. Thermal analysis is performed to determine peak and continuous current capability. Parameter sweeps are used to optimize machine design for a 20 kW hub motor in a student-built high-performance electric vehicle. The optimization maximizes simulated points scored in the Formula Society of Automotive Engineers (FSAE) competition. Performance is estimated with full-vehicle sensitivities linearized around the point of breaking traction.}, + language = {en}, + urldate = {2024-03-07}, + school = {Massachusetts Institute of Technology}, + author = {McCabe, Rebecca G.}, + month = jun, + year = {2021}, + note = {Accepted: 2022-01-14T14:57:12Z}, +} + +@misc{noauthor_tesla_2024, + title = {Tesla {Investor} {Relations}}, + url = {https://ir.tesla.com/}, + abstract = {Tesla's mission is to accelerate the world's transition to sustainable energy. Today, Tesla builds not only all-electric vehicles but also infinitely scalable clean energy generation and storage products.}, + language = {en}, + urldate = {2024-02-17}, + month = jan, + year = {2024}, +} + +@techreport{hull_economic_nodate, + address = {San Francisco, CA}, + title = {The {Economic} {Value} of {Offshore} {Wind} {Power} in {California}}, + url = {https://www.ethree.com/wp-content/uploads/2019/09/2019-08-08_E3-Castle-Wind-Offshore-Wind-Value-Report-FINAL.pdf}, + urldate = {2024-02-17}, + institution = {Energy and Environmental Economics, Inc. and Castle Wind}, + author = {Hull, Sanderson and Sawyerr, Femi and Mullen, Dan and Olson, Arne and Weinstein, Alla and Knop, Christoph and Kienzle, Sebastian and Black, Steve}, +} + +@misc{noauthor_what_nodate, + title = {What are the {UK} power system benefits from deployments of wave and tidal stream generation?}, + url = {https://www.policyandinnovationedinburgh.org/what-are-the-uk-power-system-benefits-from-deployments-of-wave-and-tidal-stream-generation.html}, + abstract = {This new study quantifies the potential power system benefits that the UK stands to gain through the deployment of marine energy technologies (wave and tidal stream) in domestic waters. These system...}, + language = {en}, + urldate = {2024-02-17}, + journal = {POLICY AND INNOVATION GROUP}, +} + +@misc{noauthor_value_nodate, + title = {Value of innovative offshore renewable energy deployment to the {UK}}, + url = {https://www.policyandinnovationedinburgh.org/value-of-innovative-offshore-renewable-energy-deployment-to-the-uk.html}, + abstract = {C. Cochrane, S. Pennock,  H. Jeffrey, Policy and Innovation Group.  Published on: 03/09/2021 This policy paper from the Supergen ORE Hub , and the Policy and Innovation Group  at the University...}, + language = {en}, + urldate = {2024-02-17}, + journal = {POLICY AND INNOVATION GROUP}, +} + +@article{bensalah_electrical_2022, + title = {Electrical {Generators} for {Large} {Wind} {Turbine}: {Trends} and {Challenges}}, + volume = {15}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + shorttitle = {Electrical {Generators} for {Large} {Wind} {Turbine}}, + url = {https://www.mdpi.com/1996-1073/15/18/6700}, + doi = {10.3390/en15186700}, + abstract = {This paper presents an overview of the emerging trends in the development of electrical generators for large wind turbines. To describe the developments in the design of electrical generators, it is necessary to look at the conversion system as a whole, and then, the structural and mechanical performances of the drive train need to be considered. Many drive train configurations have been proposed for large wind turbines; they should ensure high reliability, long availability and reduced maintainability. Although most installed wind turbines are geared, directly driven wind turbines with permanent magnet generators have attracted growing interest in the last few years, which has been in parallel to the continuous increase of the per unit turbine power. The aim of this work is to present the recent commercial designs of electrical generators in large wind turbines. Both the strengths and weaknesses of the existing systems are discussed. The most emerging technologies in high-power, low-speed electrical generators are investigated. Furthermore, a comparative analysis of different electrical generator concepts is performed, and the generators are assessed upon a list of criteria such as the mass, cost, and mass-to-torque ratio. Within the framework of these criteria, it may help to determine whether the electrical generator is technically feasible and economically viable for high-power wind turbines. Finally, this review could help to determine suitable generators for use in large and ultra-large wind energy systems.}, + language = {en}, + number = {18}, + urldate = {2024-02-17}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Bensalah, Amina and Barakat, Georges and Amara, Yacine}, + month = jan, + year = {2022}, + note = {Number: 18}, + keywords = {direct drive, gearless, large wind turbine, multi-megawatt generator, permanent magnet, rare-earth materials, wind energy conversion system}, + pages = {6700}, +} + +@techreport{noauthor_co2_nodate, + title = {{CO2} {EOR} {Primer}}, +} + +@article{faedo_optimal_2017, + title = {Optimal control, {MPC} and {MPC}-like algorithms for wave energy systems: {An} overview}, + volume = {1}, + issn = {2468-6018}, + shorttitle = {Optimal control, {MPC} and {MPC}-like algorithms for wave energy systems}, + url = {https://www.sciencedirect.com/science/article/pii/S2468601817301104}, + doi = {10.1016/j.ifacsc.2017.07.001}, + abstract = {Model predictive control (MPC) has achieved considerable success in the process industries, with its ability to deal with linear and nonlinear models, while observing system constraints and considering future behaviour. Given these characteristics, against the backdrop of the energy maximising control problem for Wave Energy Converters (WECs), with physical constraints on system variables and a non-causal optimal control solution it is, perhaps, natural to consider the application of MPC to the WEC problem. However, the WEC energy maximisation problem requires a significant modification of the traditional MPC objective function, resulting in a potentially non-convex optimisation problem. A variety of MPC formulations for WECs have been proposed, with variations in the WEC model, discretisation method, objective function and optimisation algorithm employed. This paper attempts to provide a critical comparison of the various WEC MPC algorithms, while also presenting WEC MPC algorithms within the broader context of other WEC “optimal” control schemes.}, + urldate = {2024-02-10}, + journal = {IFAC Journal of Systems and Control}, + author = {Faedo, Nicolás and Olaya, Sébastien and Ringwood, John V.}, + month = sep, + year = {2017}, + keywords = {Constrained optimisation, Model predictive control, Optimal control, Receding horizon, Wave energy conversion, Wave energy device}, + pages = {37--56}, +} + +@article{nuij_higher-order_2006, + title = {Higher-order sinusoidal input describing functions for the analysis of non-linear systems with harmonic responses}, + volume = {20}, + issn = {0888-3270}, + url = {https://www.sciencedirect.com/science/article/pii/S088832700500083X}, + doi = {10.1016/j.ymssp.2005.04.006}, + abstract = {For high-precision motion systems, modelling and control design specifically oriented at friction effects is instrumental. The sinusoidal input describing function theory represents an approximative mathematical framework for analysing non-linear system behaviour. This theory, however, limits the description of the non-linear system behaviour to a quasi-linear amplitude-dependent relation between sinusoidal excitation and sinusoidal response. In this paper, an extension to higher-order describing functions is realised by introducing the concept of the harmonics generator. The resulting higher-order sinusoidal input describing functions (HOSIDFs) relate the magnitude and phase of the higher harmonics of the periodic response of the system to the magnitude and phase of a sinusoidal excitation. Based on this extension two techniques to measure HOSIDFs are presented. The first technique is FFT based. The second technique is based on IQ (in-phase/quadrature-phase) demodulation. In a simulation, the measurement techniques have been tested by comparing the simulation results to analytically derived results from a known (backlash) non-linearity. In a subsequent practical case study both techniques are used to measure the changes in dynamic behaviour as a function of drive level due to friction in an electric motor. Both methods prove successful for measuring HOSIDFs.}, + number = {8}, + urldate = {2024-02-10}, + journal = {Mechanical Systems and Signal Processing}, + author = {Nuij, P. W. J. M. and Bosgra, O. H. and Steinbuch, M.}, + month = nov, + year = {2006}, + keywords = {Describing function, Frequency domain analysis, Harmonic distortion, Non-linear systems, System identification}, + pages = {1883--1904}, +} + +@inproceedings{gaebele_incorporating_2023, + title = {Incorporating {Empirical} {Nonlinear} {Efficiency} {Into} {Control} {Co}-{Optimization} of a {Real} {World} {Heaving} {Point} {Absorber} {Using} {WecOptTool}}, + url = {https://dx.doi.org/10.1115/OMAE2023-103899}, + doi = {10.1115/OMAE2023-103899}, + abstract = {Abstract. The open-source WecOptTool was developed to make wave energy converter (WEC) control co-design accessible. WecOptTool is based on the pseudo-spectral method which is capable of efficiently dealing with any linear or nonlinear constraints and nonlinear dynamics by solving the WEC optimal control problem in the time domain using a gradient based optimization algorithm. This work1 presents a control co-optimization study of the AquaHarmonics Inc. heaving point absorber WEC sized for ocean deployment to solve practical industry design problems. Components such as the specific type of generator, the hull shape, and the displaced volume are pre-determined. We co-optimize the WEC’s mass versus mooring line pretension in conjunction with the controller. The optimization is subject to the power-take-off (PTO) dynamics and the rated constraints of the components. In particular, the continuous torque rating is implemented as an explicit constraint, a novel approach for WEC optimization. The PTO dynamics are incorporated into the optimization algorithm via a combination of first principle methods (linear drivetrain model) and empirical efficiency maps (electrical generator) represented as a power loss map. This is a practical method applicable to a variety of PTO architectures and transferable to other WECs. A discussion between using an efficiency coefficient versus a power loss map and their implication for the optimization method is presented. This application of WecOptTool represents a real world WEC by combining simplified models with empirical efficiency data. The WEC, as a dynamically coupled, oscillatory system, requires consideration of the time trajectory dependent power loss for optimizing the average electrical power. This objective function, the modelling approach, and the realistic loss terms makes the common practice of artificially penalizing the reactive power needless.}, + language = {en}, + urldate = {2024-02-06}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Gaebele, Daniel T. and Michelén Ströfer, Carlos A. and Devin, Michael C. and Grasberger, Jeff T. and Coe, Ryan G. and Bacelli, Giorgio}, + month = sep, + year = {2023}, +} + +@article{bacelli_geometric_2013, + title = {A geometric tool for the analysis of position and force constraints in wave energy converters}, + volume = {65}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801813001200}, + doi = {10.1016/j.oceaneng.2013.03.011}, + abstract = {Most wave energy devices are subject to finite constraints on both the power take-off (PTO) stroke length and the maximum force that the PTO can tolerate. It is also often the case that greater stroke lengths can reduce the maximum force in the PTO and vice versa. Ultimately, some informed choice of PTO constraints must be made in order to ensure that PTO constraints are not violated and that the trade-off between position and force constraints is made in such as way that maximum energy is captured by the converter. This paper presents a tool to allow device developers to check the satisfaction of constraints for a given hydrodynamic model and set of sea conditions and, where constraints are not satisfied, shows how to relax the constraints to maximize energy capture. The tool is algebraic, requiring no simulation and the results are presented through intuitive geometrical constructs. Sample application results are presented for single- and two-body wave energy systems.}, + urldate = {2024-01-29}, + journal = {Ocean Engineering}, + author = {Bacelli, Giorgio and Ringwood, John V.}, + month = jun, + year = {2013}, + keywords = {Constraints, Discretization, Power take-off, Wave energy}, + pages = {10--18}, +} + +@article{zou_optimal_2017, + title = {Optimal control of wave energy converters}, + volume = {103}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148116310059}, + doi = {10.1016/j.renene.2016.11.036}, + abstract = {Optimal control theory is applied to compute control for a single-degree-of-freedom heave wave energy converter. The goal is to maximize the energy extraction per cycle. Both constrained and unconstrained optimal control problems are presented. Both periodic and non-periodic excitation forces are considered. In contrast to prior work, it is shown that for this non-autonomous system, the optimal control, in general, includes both singular arc and bang-bang modes. Conditions that determine the switching times to/from the singular arc are derived. Simulation results show that the proposed optimal control solution matches the solution obtained using the complex conjugate control. A generic linear dynamic model is used in the simulations. The main advantage of the proposed control is that it finds the optimal control without the need for wave prediction; it only requires the knowledge of the excitation force and its derivatives at the current time.}, + urldate = {2024-01-29}, + journal = {Renewable Energy}, + author = {Zou, Shangyan and Abdelkhalik, Ossama and Robinett, Rush and Bacelli, Giorgio and Wilson, David}, + month = apr, + year = {2017}, + keywords = {Bang-bang control, Optimal control, Singular arc control, Wave energy conversion}, + pages = {217--225}, +} + +@article{sun_stochastic_2019, + title = {Stochastic control of wave energy converters for optimal power absorption with constrained control force}, + volume = {87}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118718303122}, + doi = {10.1016/j.apor.2019.03.002}, + abstract = {This paper presents an analytical solution derived for optimal control of the power take-off of a single-degree of freedom heave point absorber with constraints on the control force. The optimal control law turns out to be noncausal with a functional dependence on future velocities. To handle this problem, an algorithm for predicting future velocities is derived. Based on the solution the mean (time-averaged) absorbed power in a given sea-state is calculated. The performance of the indicated controller in terms of the mean absorbed power is close to the optimal value obtained by nonlinear programming and better than a controller with feedback from the present displacement, velocity and acceleration, and with optimized gain factors.}, + urldate = {2024-01-29}, + journal = {Applied Ocean Research}, + author = {Sun, Tao and Nielsen, Søren R. K.}, + month = jun, + year = {2019}, + keywords = {Actuator force constraints, Heave point absorber, Optimal power take-off, Wave energy}, + pages = {130--141}, +} + +@article{sichani_constrained_2014, + title = {Constrained optimal stochastic control of non-linear wave energy point absorbers}, + volume = {47}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118714000546}, + doi = {10.1016/j.apor.2014.06.005}, + abstract = {The paper deals with the stochastic optimal control of a wave energy point absorber with strong nonlinear buoyancy forces using the reactive force from the electric generator on the absorber as control force. The considered point absorber has only one degree of freedom, heave motion, which is used to extract energy. Constrains are enforced on the control force to prevent large structural stresses in the floater at specific hot spots with the risk of inducing fatigue damage, or because the demanded control force cannot be supplied by the actuator system due to saturation. Further, constraints are enforced on the motion of the floater to prevent it from hitting the bottom of the sea or to make unacceptable jumps out of the water. The applied control law, which is of the feedback type with feedback from the displacement, velocity, and acceleration of the floater, contains two unprovided gain parameters, which are chosen so the mean (expected value) of the power outtake in the stationary state is optimized. In order to ensure accuracy of the results for each configuration of the controller Monte Carlo simulations have been carried out for various sea-states and the final results have been presented in the paper. The effect of nonlinear buoyancy force – in comparison to linear buoyancy force – and constraints of the controller on the power outtake of the device have been studied in details and supported by numerical simulations.}, + urldate = {2024-01-29}, + journal = {Applied Ocean Research}, + author = {Sichani, M. T. and Chen, J. B. and Kramer, M. M. and Nielsen, S. R. K.}, + month = aug, + year = {2014}, + keywords = {Constrained optimal stochastic control, Irregular sea state, Nonlinear buoyancy force, Wave energy point converter}, + pages = {255--269}, +} + +@article{babarit_numerical_2012, + title = {Numerical benchmarking study of a selection of wave energy converters}, + volume = {41}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148111005672}, + doi = {10.1016/j.renene.2011.10.002}, + abstract = {The aim of this study is to estimate the mean annual power absorption of a selection of eight Wave Energy Converters (WECs) with different working principles. Based on these estimates a set of power performance measures that can be related to costs are derived. These are the absorbed energy per characteristic mass [kWh/kg], per characteristic surface area [MWh/m2], and per root mean square of Power Take Off (PTO) force [kWh/N]. The methodology relies on numerical modelling. For each device, a numerical Wave-to-Wire (W2W) model is built based on the equations of motion. Physical effects are modelled according to the state-of-the-art within hydrodynamic modelling practise. Then, the W2W models are used to calculate the power matrices of each device and the mean annual power absorption at five different representative wave sites along the European Coast, at which the mean level of wave power resource ranges between 15 and 88 kW per metre of wave front. Uncertainties are discussed and estimated for each device. Computed power matrices and results for the mean annual power absorption are assembled in a summary sheet per device. Comparisons of the selected devices show that, despite very different working principles and dimensions, power performance measures vary much less than the mean annual power absorption. With the chosen units, these measures are all shown to be of the order of 1.}, + urldate = {2024-01-29}, + journal = {Renewable Energy}, + author = {Babarit, A. and Hals, J. and Muliawan, M. J. and Kurniawan, A. and Moan, T. and Krokstad, J.}, + month = may, + year = {2012}, + keywords = {Comparison, Mean annual power, Power matrix, Wave energy converter}, + pages = {44--63}, +} + +@article{pena-sanchez_control_2022, + series = {9th {IFAC} {Symposium} on {Mechatronic} {Systems} {MECHATRONICS} 2022}, + title = {Control co-design of power take-off parameters for wave energy systems}, + volume = {55}, + issn = {2405-8963}, + url = {https://www.sciencedirect.com/science/article/pii/S2405896322025848}, + doi = {10.1016/j.ifacol.2022.10.531}, + abstract = {A key component of wave energy converters (WECs), which determines the technical and economic performance of WECs, is the power take-off (PTO) system. This WEC subsystem converts the hydrodynamic excitation of the WEC into useful mechanical and, typically, electrical energy. It is well known that WEC control systems have the capability to significantly enhance the performance of WECs, but are limited in scope by the physical PTO displacement and force constraints. A variety of WEC control algorithms have the capacity to include the PTO constraints within the (constrained) optimal control formulation, delivering performance which takes maximum advantage of the available operational space, but avoiding exceedance of device/PTO specifications. However, little consideration is given to the interplay between the constraint levels and the maximum achievable performance. This paper examines, from an economic perspective, the trade-off between energy receipts and the capital cost of force and displacement constraints in a typical heaving point absorber WEC.}, + number = {27}, + urldate = {2024-01-27}, + journal = {IFAC-PapersOnLine}, + author = {Peña-Sanchez, Yerai and García-Violini, Demián and Ringwood, John V.}, + month = jan, + year = {2022}, + keywords = {Power take-off, constraints, control co-design, energy maximisation, wave energy}, + pages = {311--316}, +} + +@article{de_la_torre-castro_combined_2023, + title = {Combined impact of power take-off capping and of wave resource description on wave energy converter performance}, + volume = {134}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S014111872300038X}, + doi = {10.1016/j.apor.2023.103494}, + abstract = {Wave energy converters (WECs) energy production estimates are key metrics for performance predictions. This study compares four methods for energy production assessment: power matrix, interpolated power matrix, capture length matrix, and a reference method based on the exact omnidirectional spectra for every sea state. Two deployment sites are considered and their wave resource is derived from hindcast databases. The WEC chosen for this study is a two-body self-referenced heaving device characterised using a boundary element method (BEM) numerical model run in time-domain and accounting for some non-linearities. The model also includes power take-off capping, in terms of power capacity and a force cap, independently. A novel metric is introduced to assess the shape similarity between two spectra and it is used to assess the impact of approximating raw spectra with standard ones on energy production estimates. The study shows that the power take-off capping approaches and values and the way the exact resource spectra are approximated have a significant impact WEC energy estimation methods accuracy. Indeed, relative differences in yearly production estimates with respect to the benchmark method vary from 2.4\% to 8.3\% across capping values and estimation methods. It also shows that there is little difference in yearly averaged energy production estimates between the different “matrix based” methods. These differences are of the order of tens of percent for a given power take-off capping configuration and a given site.}, + urldate = {2023-12-12}, + journal = {Applied Ocean Research}, + author = {de la Torre-Castro, L. M. and Pascal, R. C. R. and Perignon, Y. and Babarit, A. and Payne, G. S.}, + month = may, + year = {2023}, + keywords = {Energy production estimates, Power take-off capping, Wave energy, Wave resource characterisation}, + pages = {103494}, +} + +@article{chittick_asymmetric_2009, + title = {An asymmetric suboptimization approach to aerostructural optimization}, + volume = {10}, + issn = {1573-2924}, + url = {https://doi.org/10.1007/s11081-008-9046-2}, + doi = {10.1007/s11081-008-9046-2}, + abstract = {An asymmetric suboptimization method for performing multidisciplinary design optimization is introduced. The objective of the proposed method is to improve the overall efficiency of aerostructural optimization, by simplifying the system-level problem, and thereby reducing the number of calls to a potentially costly aerodynamics solver. To guide a gradient-based optimization algorithm, an extension of the coupled sensitivity equations is developed to include post-optimality information from the structural suboptimization. The optimization of an aircraft wing is performed using linear aerodynamic and structural analyses, and a thorough performance comparison is made between the new approach and the conventional multidisciplinary feasible method. The asymmetric suboptimization method is found to be the more efficient approach when it adequately simplifies the system-level problem, or when there is a large enough discrepancy between disciplinary solution times.}, + language = {en}, + number = {1}, + urldate = {2023-12-04}, + journal = {Optimization and Engineering}, + author = {Chittick, Ian R. and Martins, Joaquim R. R. A.}, + month = mar, + year = {2009}, + keywords = {Asymmetric suboptimization, Coupled post-optimality sensitivity analysis, Multidisciplinary design optimization}, + pages = {133--152}, +} + +@inproceedings{sundarrajan_towards_2021, + title = {Towards a {Fair} {Comparison} between the {Nested} and {Simultaneous} {Control} {Co}-{Design} {Methods} using an {Active} {Suspension} {Case} {Study}}, + issn = {2378-5861}, + url = {https://ieeexplore.ieee.org/abstract/document/9482687}, + doi = {10.23919/ACC50511.2021.9482687}, + abstract = {This paper tackles perhaps the two most common control co-design coordination strategies: simultaneous analysis and design and the nested control problem formulation. Many practical insights into the two strategies are presented using the literature and comprehensive numerical results from a detailed and challenging CCD problem of an active vehicle suspension. The study conducted attempts to provide a fair comparison and discussion between the control co-design coordination implementations. The results indicate a substantial reduction in computational costs over the existing implementations and conclusions on method selection contrary to common assumptions in the literature. However, additional work is needed to provide a robust set of CCD implementation guidelines.}, + urldate = {2023-12-04}, + booktitle = {2021 {American} {Control} {Conference} ({ACC})}, + author = {Sundarrajan, Athul K. and Herber, Daniel R.}, + month = may, + year = {2021}, + pages = {358--365}, +} + +@article{bacelli_numerical_2015, + title = {Numerical {Optimal} {Control} of {Wave} {Energy} {Converters}}, + volume = {6}, + issn = {1949-3037}, + url = {https://ieeexplore.ieee.org/abstract/document/6987295}, + doi = {10.1109/TSTE.2014.2371536}, + abstract = {Energy maximizing control for wave energy converters (WECs) is a nonstandard optimal control problem. While the constrained optimal control problem for WECs has been addressed by model-predictive control strategies, such strategies need to employ cost function modifications due to convexity problems and the algorithms are computationally complex, making real-time implementation difficult. The recently developed family of direct transcription methods offer a promising alternative, since they are computationally efficient and a convex problem results. Moreover, constraints on both the device displacement and velocity, and power take off force, are easily incorporated. Both single-body and multibody device models can be used, as well as arrays of single-body or multibody devices.}, + number = {2}, + urldate = {2023-11-27}, + journal = {IEEE Transactions on Sustainable Energy}, + author = {Bacelli, Giorgio and Ringwood, John V.}, + month = apr, + year = {2015}, + note = {Conference Name: IEEE Transactions on Sustainable Energy}, + pages = {294--302}, +} + +@article{coe_maybe_2021, + title = {Maybe less is more: {Considering} capacity factor, saturation, variability, and filtering effects of wave energy devices}, + volume = {291}, + issn = {0306-2619}, + shorttitle = {Maybe less is more}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261921002701}, + doi = {10.1016/j.apenergy.2021.116763}, + abstract = {While a great deal of research has been performed to quantify and characterize the wave energy resource, there are still open questions about how a wave energy developer should use this wave resource information to design a wave energy converter device to suit a specific environment or, alternatively, to assess potential deployment locations. It is natural to focus first on the impressive magnitudes of power available from ocean waves, and to be drawn to locations where mean power levels are highest. However, a number of additional factors such as intermittency and capacity factor may be influential in determining economic viability of a wave energy converter, and should therefore be considered at the resource level, so that these factors can influence device design decisions. This study examines a set of wave resource metrics aimed towards this end of bettering accounting for variability in wave energy converter design. The results show distinct regional trends that may factor into project siting and wave energy converter design. Although a definitive solution for the optimal size of a wave energy converter is beyond the reaches of this study, the evidence presented does support the idea that smaller devices with lower power ratings may merit closer consideration.}, + urldate = {2023-11-27}, + journal = {Applied Energy}, + author = {Coe, Ryan G. and Ahn, Seongho and Neary, Vincent S. and Kobos, Peter H. and Bacelli, Giorgio}, + month = jun, + year = {2021}, + keywords = {Practical resource, Wave energy converter (WEC), Wave power resource}, + pages = {116763}, +} + +@article{grossmann_systematic_2013, + title = {Systematic modeling of discrete-continuous optimization models through generalized disjunctive programming}, + volume = {59}, + copyright = {Copyright © 2013 American Institute of Chemical Engineers}, + issn = {1547-5905}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/aic.14088}, + doi = {10.1002/aic.14088}, + abstract = {Discrete-continuous optimization problems are commonly modeled in algebraic form as mixed-integer linear or nonlinear programming models. Since these models can be formulated in different ways, leading either to solvable or nonsolvable problems, there is a need for a systematic modeling framework that provides a fundamental understanding on the nature of these models. This work presents a modeling framework, generalized disjunctive programming (GDP), which represents problems in terms of Boolean and continuous variables, allowing the representation of constraints as algebraic equations, disjunctions and logic propositions. An overview is provided of major research results that have emerged in this area. Basic concepts are emphasized as well as the major classes of formulations that can be derived. These are illustrated with a number of examples in the area of process systems engineering. As will be shown, GDP provides a structured way for systematically deriving mixed-integer optimization models that exhibit strong continuous relaxations, which often translates into shorter computational times. © 2013 American Institute of Chemical Engineers AIChE J, 59: 3276–3295, 2013}, + language = {en}, + number = {9}, + urldate = {2023-11-27}, + journal = {AIChE Journal}, + author = {Grossmann, Ignacio E. and Trespalacios, Francisco}, + year = {2013}, + note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1002/aic.14088}, + keywords = {logic-based optimization, mixed-integer programming, optimization}, + pages = {3276--3295}, +} + +@misc{sundarrajan_open-loop_2023, + title = {Open-{Loop} {Control} {Co}-{Design} of {Semisubmersible} {Floating} {Offshore} {Wind} {Turbines} using {Linear} {Parameter}-{Varying} {Models}}, + url = {http://arxiv.org/abs/2310.13647}, + doi = {10.48550/arXiv.2310.13647}, + abstract = {This paper discusses a framework to design elements of the plant and control systems for floating offshore wind turbines in an integrated manner using linear parameter-varying models. Multiple linearized models derived from aeroelastic simulation software in different operating regions characterized by the incoming wind speed are combined to construct an approximate low-fidelity model of the system. The combined model is then used to generate open-loop, optimal control trajectories as part of a nested control co-design strategy that explores the system's power production and stability using the platform pitch tilt as a proxy in the context of crucial plant and control design decisions. The radial distance between the central and outer columns and the diameter of the outer columns of the semisubmersible platform are the plant design variables. The platform stability and power production are studied for different plant design decisions. The effect of plant decisions on subsequent power production and stability response of the floating wind turbine is quantified in terms of the levelized cost of energy. The results show that the inner-loop constraints and the plant design decisions affect the turbine's power and, subsequently, the cost of the system.}, + urldate = {2023-11-01}, + publisher = {arXiv}, + author = {Sundarrajan, Athul Krishna and Lee, Yong Hoon and Allison, James T. and Zalkind, Daniel and Herber, Daniel}, + month = oct, + year = {2023}, + note = {arXiv:2310.13647 [cs, eess]}, + keywords = {Electrical Engineering and Systems Science - Systems and Control}, +} + +@article{herber_advances_2017, + title = {Advances in combined architecture, plant, and control design}, + url = {https://www.ideals.illinois.edu/items/105359}, + urldate = {2023-11-01}, + author = {Herber, Daniel Ronald}, + year = {2017}, +} + +@article{herber_nested_2018, + title = {Nested and {Simultaneous} {Solution} {Strategies} for {General} {Combined} {Plant} and {Control} {Design} {Problems}}, + volume = {141}, + issn = {1050-0472}, + url = {https://doi.org/10.1115/1.4040705}, + doi = {10.1115/1.4040705}, + abstract = {In this paper, general combined plant and control design or co-design problems are examined. The previous work in co-design theory imposed restrictions on the type of problems that could be posed. This paper lifts many of those restrictions. The problem formulations and optimality conditions for both the simultaneous and nested solution strategies are given. Due to a number of challenges associated with the optimality conditions, practical solution considerations are discussed with a focus on the motivating reasons for using direct transcription (DT) in co-design. This paper highlights some of the key concepts in general co-design including general coupling, the differences between the feasible regions for each strategy, general boundary conditions, inequality path constraints, system-level objectives, and the complexity of the closed-form solutions. Three co-design test problems are provided. A number of research directions are proposed to further co-design theory including tailored solution methods for reducing total computational expense, better comparisons between the two solution strategies, and more realistic test problems.}, + number = {011402}, + urldate = {2023-10-30}, + journal = {Journal of Mechanical Design}, + author = {Herber, Daniel R. and Allison, James T.}, + month = oct, + year = {2018}, +} + +@article{abbas_control_2024, + title = {Control co-design of a floating offshore wind turbine}, + volume = {353}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261923014009}, + doi = {10.1016/j.apenergy.2023.122036}, + abstract = {Several control co-design (CCD) optimizations of floating offshore wind turbines are presented in this work using the newly introduced Wind Energy with Integrated Servo-Control (WEIS) framework. Three methods for parameterizing the primary tuning inputs to the Reference Open-Source Controller are presented and optimized, including a sensitivity-margin constrained controller. WEIS, a detailed, open-source floating offshore wind turbine design optimization tool is then used to conduct CCD optimizations on the International Energy Agency (IEA) 15MW wind turbine on the University of Maine VolturnUS-S semisubmersible platform. The results from optimizations are shown to reduce the levelized cost of energy (LCOE) by approximately 1\% and 4\% when optimizing the tower and platform, respectively. It is also found that the coupling between the tower and control system parameters is weaker than the coupling between the floating system and control system parameters, showing that CCD may not be advantageous for certain problems. Finally, a subset of operational design load cases is run to verify the optimized controller and turbine models.}, + urldate = {2023-10-30}, + journal = {Applied Energy}, + author = {Abbas, Nikhar J. and Jasa, John and Zalkind, Daniel S. and Wright, Alan and Pao, Lucy}, + month = jan, + year = {2024}, + keywords = {Control systems, Floating wind turbines, Multidisciplinary design, Optimization}, + pages = {122036}, +} + +@article{mowers_evaluation_2021, + title = {An evaluation of electricity system technology competitiveness metrics: {The} case for profitability}, + volume = {34}, + issn = {1040-6190}, + shorttitle = {An evaluation of electricity system technology competitiveness metrics}, + url = {https://www.sciencedirect.com/science/article/pii/S1040619021000221}, + doi = {10.1016/j.tej.2021.106931}, + abstract = {In this work we develop standardized functional forms for electricity technology competitiveness metrics and show how the mathematical relationship between value and cost can affect the robustness of the metric. We make the case to replace established metrics with economic profitability metrics – including a new profitability-based adjustment to LCOE. These profitability metrics are shown to be more robust for evaluating technology competitiveness by keeping comparisons on an equivalent monetary basis.}, + number = {4}, + urldate = {2023-10-30}, + journal = {The Electricity Journal}, + author = {Mowers, Matthew and Mai, Trieu}, + month = may, + year = {2021}, + keywords = {Competitiveness metrics, Electricity technology competitiveness, Levelized cost of electricity, Profitability, Renewable energy, System value}, + pages = {106931}, +} + +@phdthesis{andre_sustainable_2022, + title = {Sustainable {Design} of {Electric} {Vertical} {Take}-{Off} and {Landing} {Aircraft} for {Urban} {Air} {Mobility}}, + url = {https://mediatum.ub.tum.de/1618545}, + abstract = {The thesis assesses the environmental impact of electric vertical take-off and landing (eVTOL) aircraft. It develops a methodology for the integrated conceptual design and life cycle assessment of eVTOL that facilitates evaluating different configurations, electrochemical energy carriers, and scenarios. It is shown that eVTOLs can provide a sustainable transportation mode under appropriate circumstances. Sensitivity analyses, case studies, and a novel regression-based conceptual design approach analyze those circumstances and discuss implications of uncertainties.}, + urldate = {2023-10-07}, + school = {Technische Universität München}, + author = {André, Nicolas}, + year = {2022}, +} + +@article{noauthor_reflection_2014, + title = {Reflection of oblique ocean water waves by a vertical porous structure placed on a multi-step impermeable bottom}, + volume = {47}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118714000595}, + doi = {10.1016/j.apor.2014.07.001}, + abstract = {Based on linear water wave theory, wave reflection by a vertical porous structure placed on an elevated impermeable seabed, assumed to consist of a nu…}, + language = {en-US}, + urldate = {2023-10-07}, + journal = {Applied Ocean Research}, + publisher = {Elsevier}, + month = aug, + year = {2014}, + pages = {373--385}, +} + +@article{bacelli_control_2011, + series = {18th {IFAC} {World} {Congress}}, + title = {A control system for a self-reacting point absorber wave energy converter subject to constraints}, + volume = {44}, + issn = {1474-6670}, + url = {https://www.sciencedirect.com/science/article/pii/S1474667016454443}, + doi = {10.3182/20110828-6-IT-1002.03694}, + abstract = {The problem of the maximization of the energy produced by a self reacting point absorber subject to motion restriction is addressed. The main objective is to design a control system suitable for real-time implementation. The method presented for the solution of the optimization problem is based on the approximation of the motion of the device and of the force exerted by the power take off unit by means of a linear combination of basis functions. The result is that the optimal control problem is reformulated as a non linear program where the properties of the cost function and of the constraint are affected by the choice of the basis functions. An example is described where the motion and the force are approximated using Fourier series; an optimization algorithm for the solution of the non linear program is also presented. The control system is implemented and simulated using a real sea profile measured by a waverider buoy.}, + number = {1}, + urldate = {2023-09-13}, + journal = {IFAC Proceedings Volumes}, + author = {Bacelli, Giorgio and Ringwood, John V. and Gilloteaux, Jean-Christophe}, + month = jan, + year = {2011}, + pages = {11387--11392}, +} + +@article{fukui_impedance_2021, + title = {Impedance {Control} {Considering} {Velocity} {Saturation} of a {Series} {Elasticity} {System} with a {Motor}}, + volume = {33}, + doi = {10.20965/jrm.2021.p0833}, + abstract = {Human-machine cooperative robots are required to drive their arms with low impedance and high torque. As a compact mechanism that generates a large torque and has low impedance characteristics, the series elastic drive system, in which an elastic element is inserted between the motor and driving unit, has been proposed. In this paper, we propose a method of applying impedance control to a series elasticity system with a torque-compensating motor that uses a torsion bar as an elastic body that enables its use under high loads. The stability of the system was verified via simulation and experiment by considering the allowable speed and maximum torque of the motor. The experimental results from the conventional system and the proposed system were compared. The proposed system was confirmed to be superior to the conventional system in terms of both stability and tracking performance. Consequently, the effectiveness of our proposed system was confirmed.}, + number = {4}, + journal = {Journal of Robotics and Mechatronics}, + author = {Fukui, Ren and Kusakabe, Yasuhito and Ikeura, Ryojun and Hayakawa, Soichiro}, + year = {2021}, + keywords = {human-robot cooperation, impedance control, robot arm, series elasticity system, velocity saturation}, + pages = {833--842}, +} + +@article{flower_describing-function_1980, + title = {Describing-function method for estimating the performance of a dynamic system having nonlinear-power take-off, with application to wave-power conversion}, + volume = {20}, + issn = {0196-8904}, + url = {https://www.sciencedirect.com/science/article/pii/0196890480900175}, + doi = {10.1016/0196-8904(80)90017-5}, + abstract = {This work reports part of a programme aimed at stimulating the use of control engineering methods and techniques in the wave-power arena. Here we use the Describing-Function method to estimate the performance of a dynamical energy-conversion system (a second-order system in this particular case) with nonlinear damping. The Describing-Function is used to model the nonlinearity, and the system is conceptually re-arranged to appear in closed-loop form; this arrangement is particularly convenient for the application of a graphical method of solution. By this means the motion and the mean-rate of energy conversion of the system can be rapidly evaluated. The method is primarily directed towards solving problems of wave-power conversion by nonlinear devices.}, + number = {2}, + urldate = {2023-08-27}, + journal = {Energy Conversion and Management}, + author = {Flower, J. O. and Knott, G. F.}, + month = jan, + year = {1980}, + keywords = {Describing-Function, Nonlinear, Power conversion, Wave-power}, + pages = {127--134}, +} + +@inproceedings{herber_wave_2014, + title = {Wave {Energy} {Extraction} {Maximization} in {Irregular} {Ocean} {Waves} {Using} {Pseudospectral} {Methods}}, + url = {https://dx.doi.org/10.1115/DETC2013-12600}, + doi = {10.1115/DETC2013-12600}, + abstract = {Energy extraction from ocean waves and conversion to electrical energy is a promising form of renewable energy, yet achieving economic viability of wave energy converters (WECs) has proven challenging. In this article, the design of a heaving cylinder WEC will be explored. The optimal plant (i.e. draft and radius) design space with respect to the design’s optimal control (i.e. power take-off trajectory) for maximum energy production is characterized. Irregular waves based on the Bretschneider wave spectrum are considered. The optimization problem was solved using a pseudospectral method, a direct optimal control approach that can incorporate practical design constraints, such as power flow, actuation force, and slamming. The results provide early-stage guidelines for WEC design. Results show the resonance frequency required for optimal energy production with a regular wave is quite different than the resonance frequency found for irregular waves; specifically, it is much higher.}, + language = {en}, + urldate = {2023-08-27}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Herber, Daniel R. and Allison, James T.}, + month = feb, + year = {2014}, +} + +@article{tom_pseudo-spectral_2017, + title = {Pseudo-spectral control of a novel oscillating surge wave energy converter in regular waves for power optimization including load reduction}, + volume = {137}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801817301403}, + doi = {10.1016/j.oceaneng.2017.03.027}, + abstract = {The aim of this paper is to describe a procedure to maximize the power-to-load ratio of a novel wave energy converter (WEC) that combines an oscillating surge wave energy converter with variable structural components. The control of the power-take-off torque will be on a wave-to-wave timescale, whereas the structure will be controlled statically such that the geometry remains the same throughout the wave period. Linear hydrodynamic theory is used to calculate the upper and lower bounds for the time-averaged absorbed power and surge foundation loads while assuming that the WEC motion remains sinusoidal. Previous work using pseudo-spectral techniques to solve the optimal control problem focused solely on maximizing absorbed energy. This work extends the optimal control problem to include a measure of the surge foundation force in the optimization. The objective function includes two competing terms that force the optimizer to maximize power capture while minimizing structural loads. A penalty weight was included with the surge foundation force that allows control of the optimizer performance based on whether emphasis should be placed on power absorption or load shedding. Results from pseudo-spectral optimal control indicate that a unit reduction in time-averaged power can be accompanied by a greater reduction in surge-foundation force.}, + urldate = {2023-08-27}, + journal = {Ocean Engineering}, + author = {Tom, N. M. and Yu, Y. H. and Wright, A. D. and Lawson, M. J.}, + month = jun, + year = {2017}, + keywords = {Convex optimization, Load shedding, Oscillating surge wave energy converter, Psuedo-spectral control, Variable structures}, + pages = {352--366}, +} + +@article{sepulveda_design_2021, + title = {The design space for long-duration energy storage in decarbonized power systems}, + volume = {6}, + copyright = {2021 The Author(s), under exclusive licence to Springer Nature Limited}, + issn = {2058-7546}, + url = {https://www.nature.com/articles/s41560-021-00796-8}, + doi = {10.1038/s41560-021-00796-8}, + abstract = {Long-duration energy storage (LDES) is a potential solution to intermittency in renewable energy generation. In this study we have evaluated the role of LDES in decarbonized electricity systems and identified the cost and efficiency performance necessary for LDES to substantially reduce electricity costs and displace firm low-carbon generation. Our findings show that energy storage capacity cost and discharge efficiency are the most important performance parameters. Charge/discharge capacity cost and charge efficiency play secondary roles. Energy capacity costs must be ≤US\$20 kWh–1 to reduce electricity costs by ≥10\%. With current electricity demand profiles, energy capacity costs must be ≤US\$1 kWh–1 to fully displace all modelled firm low-carbon generation technologies. Electrification of end uses in a northern latitude context makes full displacement of firm generation more challenging and requires performance combinations unlikely to be feasible with known LDES technologies. Finally, LDES systems with the greatest impact on electricity cost and firm generation have storage durations exceeding 100 h.}, + language = {en}, + number = {5}, + urldate = {2023-05-22}, + journal = {Nature Energy}, + publisher = {Nature Publishing Group}, + author = {Sepulveda, Nestor A. and Jenkins, Jesse D. and Edington, Aurora and Mallapragada, Dharik S. and Lester, Richard K.}, + month = may, + year = {2021}, + note = {Number: 5}, + keywords = {Climate-change mitigation, Energy and society, Energy economics, Energy policy, Energy science and technology}, + pages = {506--516}, +} + +@article{schwartz_value_2023, + title = {The value of fusion energy to a decarbonized {United} {States} electric grid}, + volume = {7}, + issn = {2542-4785, 2542-4351}, + url = {https://www.cell.com/joule/abstract/S2542-4351(23)00075-2}, + doi = {10.1016/j.joule.2023.02.006}, + language = {English}, + number = {4}, + urldate = {2023-05-22}, + journal = {Joule}, + publisher = {Elsevier}, + author = {Schwartz, Jacob A. and Ricks, Wilson and Kolemen, Egemen and Jenkins, Jesse D.}, + month = apr, + year = {2023}, + keywords = {capacity expansion, macro-energy systems, nuclear fusion, technology assessment, tokamaks}, + pages = {675--699}, +} + +@inproceedings{mccabe_system_2023, + address = {Boston, MA, USA}, + title = {System {Level} {Techno}-{Economic} and {Environmental} {Design} {Optimization} for {Ocean} {Wave} {Energy}}, + author = {McCabe, Rebecca and Dietrich, Madison and Liu, Alan and Haji, Maha}, + month = aug, + year = {2023}, +} + +@article{gray_openmdao_2019, + title = {{OpenMDAO}: an open-source framework for multidisciplinary design, analysis, and optimization}, + volume = {59}, + issn = {1615-1488}, + shorttitle = {{OpenMDAO}}, + url = {https://doi.org/10.1007/s00158-019-02211-z}, + doi = {10.1007/s00158-019-02211-z}, + abstract = {Multidisciplinary design optimization (MDO) is concerned with solving design problems involving coupled numerical models of complex engineering systems. While various MDO software frameworks exist, none of them take full advantage of state-of-the-art algorithms to solve coupled models efficiently. Furthermore, there is a need to facilitate the computation of the derivatives of these coupled models for use with gradient-based optimization algorithms to enable design with respect to large numbers of variables. In this paper, we present the theory and architecture of OpenMDAO, an open-source MDO framework that uses Newton-type algorithms to solve coupled systems and exploits problem structure through new hierarchical strategies to achieve high computational efficiency. OpenMDAO also provides a framework for computing coupled derivatives efficiently and in a way that exploits problem sparsity. We demonstrate the framework’s efficiency by benchmarking scalable test problems. We also summarize a number of OpenMDAO applications previously reported in the literature, which include trajectory optimization, wing design, and structural topology optimization, demonstrating that the framework is effective in both coupling existing models and developing new multidisciplinary models from the ground up. Given the potential of the OpenMDAO framework, we expect the number of users and developers to continue growing, enabling even more diverse applications in engineering analysis and design.}, + language = {en}, + number = {4}, + urldate = {2023-03-01}, + journal = {Structural and Multidisciplinary Optimization}, + author = {Gray, Justin and Hwang, John and Martins, Joaquim and Moore, Kenneth and Naylor, Bret}, + year = {2019}, + pages = {1075--1104}, +} + +@techreport{bhatnagar_grid_2021, + address = {Richland, WA (United States)}, + title = {Grid {Value} {Proposition} of {Marine} {Energy}}, + url = {https://www.osti.gov/biblio/1833512}, + doi = {10.2172/1833512}, + abstract = {Marine energy technologies convert the energy of ocean waves, and tidal, river, and ocean currents into electricity and other forms of usable energy. The marine energy resource potential in the United States is significant and geographically diverse, with a study commissioned by the U.S. Department of Energy estimating that the nation’s annual marine energy potential is approximately 2,300 TWh/year across the 50 states, or greater than 57 percent of U.S. electricity generation in 2019. However, the marine energy industry still faces hurdles to commercialization. While high costs relative to wind and solar remain a key challenge, other hurdles relate to marine energy’s value streams not being well characterized and not captured by traditional energy comparison metrics like the levelized cost of energy. To address this challenge, this project undertakes several types of analyses to identify and illustrate value propositions for marine energy resources. It provides a fresh framework for considering electric system benefits based on unique marine energy attributes, and provides analyses illustrating and quantifying those benefits. The authors find many opportunities for the deployment of marine energy technologies both in the near term and within typical utility planning timeframes (i.e. up to 20 years). From a resource and technology perspective, marine energy resources can deliver distinct and valuable benefits to different configurations of the grid, whether the bulk system, isolated distribution systems, or remote communities, islands, and microgrids. Marine energy resources can be valuable in increasing technology diversity in a generation portfolio, providing energy where it is otherwise difficult to come by, supporting local resiliency, complementing and being complemented by other resources including solar, wind, and energy storage, and avoiding land constraints.}, + language = {English}, + number = {PNNL-31123}, + urldate = {2023-03-07}, + institution = {Pacific Northwest National Lab}, + author = {Bhatnagar, Dhruv and Bhattacharya, Saptarshi and Preziuso, Danielle and Hanif, Sarmad and O'Neil, Rebecca and Alam, Md and Chalishazar, Vishvas and Newman, Sarah and Lessick, Jennifer and Medina, Gabriel Garcia and Douville, Travis and Robertson, Bryson and Busch, Jason and Kilcher, Levi and Yu, Y}, + year = {2021}, +} + +@techreport{previsic_future_2012, + title = {The {Future} {Potential} of {Wave} {Power} in the {United} {States}}, + doi = {10.13140/RG.2.2.24238.05444}, + abstract = {The theoretical ocean wave energy resource potential exceeds 50\% of the annual domestic energy demand of the United States, is located close to coastal population centers, and, although variable in nature, may be more consistent and predictable than some other renewable generation technologies. As a renewable electricity generation technology, ocean wave energy offers a low air pollutant option for diversifying the +U.S. electricity generation portfolio. Furthermore, the output characteristics of these technologies may complement other renewable technologies. + +This study addresses the following: +(1) The theoretical, technical and practical potential for electricity generation from wave energy +(2) The present lifecycle cost profile (Capex, Opex, and Cost of Electricity) of wave energy conversion +technology at a reference site in Northern California at different plant scales +(3) Cost of electricity variations as a function of deployment site, considering technical, geo-spatial and +and electric grid constraints +(4) Technology cost reduction pathways +(5) Cost reduction targets at which the technology will see significant deployment within US markets, explored through a series of deployment scenarios}, + author = {Previsic, Mirko and Eppler, Jeff and Hand, Mohammed and Heimiller, Donna and Short, Walter and Eurek, Kelly}, + month = aug, + year = {2012}, +} + +@inproceedings{coe_minimizing_2022, + title = {Minimizing {Cost} in a 100\% {Renewable} {Electricity} {Grid}: {A} {Case} {Study} of {Wave} {Energy} in {California}}, + shorttitle = {Minimizing {Cost} in a 100\% {Renewable} {Electricity} {Grid}}, + url = {https://asmedigitalcollection.asme.org/OMAE/proceedings-abstract/OMAE2022/85932/1148047}, + doi = {10.1115/OMAE2022-80731}, + abstract = {Abstract. Wave energy converters have yet to reach broad market viability. Traditionally, levelized cost of energy has been considered the ultimate stage gate through which wave energy developers must pass in order to find success (i.e., the levelized cost of wave energy must be less than that of solar and wind). However, real world energy decisions are not based solely on levelized cost of energy. In this study, we consider the energy mix in California in the year 2045, upon which the state plans to achieve zero carbon energy production. By considering temporal electricity production and consumption, we are able to perform a more informed analysis of the decision process to address this challenge. The results show that, due to high level of ocean wave energy in the winter months, wave energy provides a valuable complement to solar and wind, which have higher production in the summer. Thus, based on this complementary temporal aspect, wave energy appears cost-effective, even when the cost of installation and maintenance is twice that of solar and wind.}, + language = {en}, + urldate = {2023-03-01}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Coe, Ryan and Lavidas, George and Bacelli, Giorgio and Kobos, Peter and Neary, Vincent}, + month = oct, + year = {2022}, +} + +@incollection{roy_mixed_nodate, + title = {A {Mixed} {Integer} {Efficient} {Global} {Optimization} {Algorithm} with {Multiple} {Infill} {Strategy} - {Applied} to a {Wing} {Topology} {Optimization} {Problem}}, + urldate = {2023-03-13}, + booktitle = {{AIAA} {Scitech} 2019 {Forum}}, + publisher = {American Institute of Aeronautics and Astronautics}, + author = {Roy, Satadru and Crossley, William and Stanford, Bret and Moore, Kenneth and Gray, Justin}, +} + +@article{sobieszczanski-sobieski_multidisciplinary_1997, + title = {Multidisciplinary aerospace design optimization: survey of recent developments}, + volume = {14}, + issn = {1615-1488}, + shorttitle = {Multidisciplinary aerospace design optimization}, + url = {https://doi.org/10.1007/BF01197554}, + doi = {10.1007/BF01197554}, + abstract = {The increasing complexity of engineering systems has sparked rising interest in multidisciplinary optimization (MDO). This paper surveys recent publications in the field of aerospace, in which the interest in MDO has been particularly intense. The primary c hallenges in MDO are computational expense and organizational complexity. Accordingly, this survey focuses on various methods used by different researchers to address these challenges. The survey is organized by a breakdown of MDO into its conceptual components, reflected in sections on mathematical modelling, approximation concepts, optimization procedures, system sensitivity, and human interface. Because the authors' primary area of expertise is in the structures discipline, the majority of the references focus on the interaction of this discipline with others. In particular, two sections at the end of this review focus on two interactions that have recently been pursued with vigour: the simultaneous optimization of structures and aerodynamics and the simultaneous optimization of structures with active control.}, + language = {en}, + number = {1}, + urldate = {2021-10-20}, + journal = {Structural optimization}, + author = {Sobieszczanski-Sobieski, J. and Haftka, R.}, + month = aug, + year = {1997}, + pages = {1--23}, +} + +@techreport{kilcher_marine_2021, + title = {Marine {Energy} in the {United} {States}: {An} {Overview} of {Opportunities}}, + shorttitle = {Marine {Energy} in the {United} {States}}, + url = {https://www.osti.gov/servlets/purl/1766861/}, + doi = {10.2172/1766861}, + language = {en}, + number = {NREL/TP-5700-78773}, + urldate = {2021-10-19}, + institution = {NREL}, + author = {Kilcher, Levi and Fogarty, Michelle and Lawson, Michael}, + month = feb, + year = {2021}, +} + +@book{sterman_business_2000, + title = {Business {Dynamics}: {Systems} {Thinking} and {Modeling} for a {Complex} {World}}, + isbn = {978-0-07-231135-8}, + shorttitle = {Business {Dynamics}}, + abstract = {Today's leading authority on the subject of this text is the author, MIT Standish Professor of Management and Director of the System Dynamics Group, John D. Sterman. Sterman's objective is to explain, in a true textbook format, what system dynamics is, and how it can be successfully applied to solve business and organizational problems. System dynamics is both a currently utilized approach to organizational problem solving at the professional level, and a field of study in business, engineering, and social and physical sciences.}, + language = {en}, + publisher = {Irwin/McGraw-Hill}, + author = {Sterman, John}, + year = {2000}, +} + +@article{ricks_value_2022, + title = {The value of in-reservoir energy storage for flexible dispatch of geothermal power}, + volume = {313}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261922002537}, + doi = {10.1016/j.apenergy.2022.118807}, + abstract = {Geothermal systems making use of advanced drilling and well stimulation techniques have the potential to provide tens to hundreds of gigawatts of clean electricity generation in the United States by 2050. With near-zero variable costs, geothermal plants have traditionally been envisioned as providing “baseload” power, generating at their maximum rated output at all times. However, as variable renewable energy sources (VREs) see greater deployment in energy markets, baseload power is becoming increasingly less competitive relative to flexible, dispatchable generation and energy storage. Herein we conduct an analysis of the potential for future geothermal plants to provide both of these services, taking advantage of the natural properties of confined, engineered geothermal reservoirs to store energy in the form of accumulated, pressurized geofluid and provide flexible load-following generation. We develop a linear optimization model based on multi-physics reservoir simulations that captures the transient pressure and flow behaviors within a confined, engineered geothermal reservoir. We then optimize the investment decisions and hourly operations of a power plant exploiting such a reservoir against a set of historical and modeled future electricity price series. We find that operational flexibility and in-reservoir energy storage can significantly enhance the value of geothermal plants in markets with high VRE penetration, with energy value improvements of up to 60\% relative to conventional baseload plants operating under identical conditions. Across a range of realistic subsurface and operational conditions, our modeling demonstrates that confined, engineered geothermal reservoirs can provide large and effectively free energy storage capacity, with round-trip storage efficiencies comparable to those of leading grid-scale energy storage technologies. Optimized operational strategies indicate that flexible geothermal plants can provide both short- and long-duration energy storage, prioritizing output during periods of high electricity prices. Sensitivity analysis assesses the variation in outcomes across a range of subsurface conditions and cost scenarios.}, + language = {en}, + urldate = {2023-05-15}, + journal = {Applied Energy}, + author = {Ricks, Wilson and Norbeck, Jack and Jenkins, Jesse}, + month = may, + year = {2022}, + keywords = {EGS, Flexibility, Geothermal, Solar, Storage, Wind}, + pages = {118807}, +} + +@article{lopez-garza_fuzzy_2022, + title = {Fuzzy {Logic} and {Linear} {Programming}-{Based} {Power} {Grid}-{Enhanced} {Economical} {Dispatch} for {Sustainable} and {Stable} {Grid} {Operation} in {Eastern} {Mexico}}, + volume = {15}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/15/11/4069}, + doi = {10.3390/en15114069}, + abstract = {Sustainable, stable, and cost-optimized operation of power grids must be the main objectives of power grid operators and electric utilities. The energy transition towards a preponderant green energy economy requires innovative solutions to enhance the power grid economic dispatches looking for a better allocation of the energy demand among the diverse renewable and fossil fuel energy plants. Green renewable energy systems must be preferred over fossil fuel generators when they are available. However, fossil plants are still required to be kept operational due to the variability and uncertainty of renewable energy plants. This study proposes a hybrid rational economic dispatch model that combines a cost minimization linear model enhanced with a fuzzy logic system for decision-making on wind and hydropower minimum and maximum generation levels. The model considers the intermittency of wind energy and recognizes the strategic value of hydropower as energy storage. The results of the model with real data taken from wind, hydroelectric, geothermal, nuclear, bioenergy, and fossil fuel power plants in the eastern region of Mexico show that a fairer, rational, and cost-optimized power grid economic dispatch can be achieved with the proposed approach.}, + language = {en}, + number = {11}, + urldate = {2023-03-27}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {López-Garza, Esmeralda and Domínguez-Cruz, René Fernando and Martell-Chávez, Fernando and Salgado-Tránsito, Iván}, + month = jan, + year = {2022}, + note = {Number: 11}, + keywords = {economic dispatch, optimization of generation grids, reliability power grid}, + pages = {4069}, +} + +@techreport{united_nations_transforming_2015, + title = {Transforming our {World}: {The} 2030 {Agenda} for {Sustainable} {Development}}, + url = {https://sdgs.un.org/publications/transforming-our-world-2030-agenda-sustainable-development-17981}, + number = {A/RES/70/1}, + urldate = {2023-03-25}, + institution = {United Nations Department of Economic and Social Affairs}, + author = {{United Nations}}, + year = {2015}, +} + +@article{wu_dynamic_2014, + title = {Dynamic economic dispatch of a microgrid: {Mathematical} models and solution algorithm}, + volume = {63}, + issn = {0142-0615}, + shorttitle = {Dynamic economic dispatch of a microgrid}, + url = {https://www.sciencedirect.com/science/article/pii/S0142061514003482}, + doi = {10.1016/j.ijepes.2014.06.002}, + abstract = {Dynamic economic dispatch of a microgrid is better suited to the requirements of a system in actual operation because it not only considers the lowest cost in a scheduling cycle but also coordinates between different distribution generations (DGs) over many periods. So it is very significant to research the dynamic economic dispatch of a microgrid. Since wind energy and solar energy are subject to random variations and intervals, there is great difficulty in solving the dynamic economic dispatch. In this paper, we establish a combined heat and power (CHP) microgrid system which includes wind turbines (WT), photovoltaic arrays (PV), diesel engines (DE), a micro-turbine (MT), a fuel cell (FC) and a battery (BS). Comprehensively considering the operation cost and the pollutant treatment cost of the microgrid system, we choose the maximum comprehensive benefits as the objective function for the dynamic economic dispatch. At the same time, we establish the spinning reserve probability constraints of the microgrid considering the influence of uncertainty factors such as the fluctuation of the renewable energy, load fluctuation error, and fault shutdown of the unit. Also researched are four different operation scheduling strategies under grid-connected mode and island mode of the microgrid. An improved particle swarm optimization (PSO) algorithm combined with Monte Carlo simulation is used to solve the objective function. With the example system, the proposed models and improved algorithm are verified. When the microgrid is running under the grid-connected mode, we discuss the influence of different scheduling strategies, optimization goals and reliability indexes on the dynamic economic dispatch. And when the microgrid is running under the island mode, we discuss the influence of the uncertainty factors and the capacityof the battery on the dynamic economic dispatch. The presented research can provide some reference for dynamic economic dispatch of microgrid on making full use of renewable energy and improving the microgrid system reliability.}, + language = {en}, + urldate = {2023-03-16}, + journal = {International Journal of Electrical Power \& Energy Systems}, + author = {Wu, Hongbin and Liu, Xingyue and Ding, Ming}, + month = dec, + year = {2014}, + keywords = {Dynamic economic dispatch, Improved particle swarm optimization, Microgrid, Monte Carlo simulation, Operation scheduling strategies, Uncertainty}, + pages = {336--346}, +} + +@techreport{yang_reliability_2020, + type = {Deliverable}, + title = {Reliability, {Availability}, {Maintainability} and {Survivability} {Assessment} {Tool} – {Alpha} version}, + url = {https://www.dtoceanplus.eu/content/download/5623/file/DTOceanPlus_D6.3_Systems%20RAMS%20Tools_alpha_AAU_20200430_v1.0.pdf}, + number = {D6.3}, + institution = {Aalborg University}, + author = {Yang, Yi and Nambiar, Amup and Luxcey, Neil and Fonseca, Francisco and Amaral, Luis}, + month = apr, + year = {2020}, +} + +@techreport{correia_da_fonseca_system_2019, + type = {Deliverable}, + title = {System {Lifetime} {Costs} {Tools} - alpha version}, + url = {https://www.dtoceanplus.eu/content/download/4457/file/DTOceanPlus_D6.4_System_Lifetime_Costs_WavEC_20191219_v1.0.pdf%20citation%20link%20for%20dtoceanslc}, + number = {D6.4}, + institution = {WavEC}, + author = {Correia da Fonseca, F. X. and Amaral, Luis and González Armayor, Amorina and Cândido, José and Arede, Filipe and Henderson, Jillian and Hudson, Ben and Nava, Vincenzo and Tunga, Ines and Petrov, Alexey}, + month = dec, + year = {2019}, +} + +@article{pan_technological_2007, + series = {Sustainability and {Cost}-{Benefit} {Analysis}}, + title = {Technological change in energy systems: {Learning} curves, logistic curves and input–output coefficients}, + volume = {63}, + issn = {0921-8009}, + shorttitle = {Technological change in energy systems}, + url = {https://www.sciencedirect.com/science/article/pii/S0921800907000912}, + doi = {10.1016/j.ecolecon.2007.01.013}, + abstract = {Learning curves have recently been widely adopted in climate-economy models to incorporate endogenous change of energy technologies, replacing the conventional assumption of an autonomous energy efficiency improvement. However, there has been little consideration of the credibility of the learning curve. The current trend that many important energy and climate change policy analyses rely on the learning curve means that it is of great importance to critically examine the basis for learning curves. Here, we analyse the use of learning curves in energy technology, usually implemented as a simple power function. We find that the learning curve cannot separate the effects of price and technological change, cannot reflect continuous and qualitative change of both conventional and emerging energy technologies, cannot help to determine the time paths of technological investment, and misses the central role of R\&D activity in driving technological change. We argue that a logistic curve of improving performance modified to include R\&D activity as a driving variable can better describe the cost reductions in energy technologies. Furthermore, we demonstrate that the top-down Leontief technology can incorporate the bottom-up technologies that improve along either the learning curve or the logistic curve, through changing input–output coefficients. An application to UK wind power illustrates that the logistic curve fits the observed data better and implies greater potential for cost reduction than the learning curve does.}, + language = {en}, + number = {4}, + urldate = {2023-03-14}, + journal = {Ecological Economics}, + author = {Pan, Haoran and Köhler, Jonathan}, + month = sep, + year = {2007}, + keywords = {Input–output coefficients, Learning curve, Logistic curve, Technological change, UK wind power}, + pages = {749--758}, +} + +@book{simpson_product_2006, + address = {New York, NY}, + title = {Product {Platform} and {Product} {Family} {Design}}, + isbn = {978-0-387-25721-1 978-0-387-29197-0}, + url = {http://link.springer.com/10.1007/0-387-29197-0}, + doi = {10.1007/0-387-29197-0}, + language = {en}, + urldate = {2023-03-13}, + publisher = {Springer US}, + editor = {Simpson, Timothy W. and Siddique, Zahed and Jiao, Jianxin Roger}, + year = {2006}, + keywords = {architecture, capacity, design, development, innovation, management, manufacturing, mass customization, platform design, product design, product development, product family design, production, pruduction efficiency, technology roadmap}, +} + +@techreport{noauthor_system_2023, + title = {The system benefits of ocean energy to {European} power systems}, + url = {https://evolveenergy.eu/wp-content/uploads/2023/01/EVOLVE-technical-note-The-system-benefits-of-ocean-energy-to-European-power-systems.pdf}, + institution = {EVOLVE Consortium}, + month = jan, + year = {2023}, +} + +@book{crawley_system_2016, + title = {System {Architecture}: {Strategy} and {Product} {Development} for {Complex} {Systems}}, + isbn = {978-0-13-397534-5}, + shorttitle = {System {Architecture}}, + abstract = {For courses in engineering and technical management Architecture and Function of Complex Systems System architecture is the study of early decision making in complex systems. This text teaches how to capture experience and analysis about early system decisions, and how to choose architectures that meet stakeholder needs, integrate easily, and evolve flexibly. With case studies written by leading practitioners, from hybrid cars to communications networks to aircraft, this text showcases the science and art of system architecture.}, + language = {en}, + publisher = {Pearson}, + author = {Crawley, Edward and Cameron, Bruce and Selva, Daniel}, + year = {2016}, + note = {Google-Books-ID: 67TuoQEACAAJ}, +} + +@techreport{costello_wavesparc_2019, + title = {{WaveSPARC}: {Evaluation} of {Innovation} {Techniques} for {Wave} {Energy}.}, + shorttitle = {{WaveSPARC}}, + url = {https://www.osti.gov/biblio/1641798}, + abstract = {Abstract not provided.}, + language = {English}, + number = {SAND2019-10104C}, + urldate = {2023-03-07}, + institution = {Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)}, + author = {Costello, Ronan and Nielsen, Kim and Weber, Jochem and Tom, Nate and Roberts, Jesse D.}, + month = aug, + year = {2019}, +} + +@inproceedings{trueworthy_set-based_2019, + address = {Naples, Italy}, + title = {A {Set}-{Based} {Design} approach for the design of high-performance wave energy converters}, + abstract = {The objective of this paper is to introduce an approach for designing wave energy converters (WECs) that can be implemented early during the conceptual design phase, enabling downstream convergence on higher performance concepts. Currently, WEC concepts span a wide design space which includes a high number of functionally dissimilar devices. The concept-agnostic assessment of WEC techno-economic performance, the Technology Performance Level (TPL) metric [1], provides designers with a set of customer requirements upon which devices can be assessed. Those requirements were translated to functional requirements using a systems engineering approach [2]. Despite the framework that TPL and the functional requirements provide, WEC designers have limited guidance in approach to conceptual design. This often results in premature commitment to a single functional concept that can limit device performance, even if later-stage design optimization techniques are used [3]. TPL has made significant strides in helping designers understand the requirements of WEC design. This work aims to guide designers toward design processes which can help them meet those requirements. This paper proposes a Set-Based Design approach to WEC conceptual design which could enable the generation of high-performance concepts faster and with less expense. Set-Based Design is a design process in which engineers ideate a large set of potential solutions and work with critical stakeholders to ensure convergence on an optimal concept [4]. The process was chosen specifically due to its ability to directly facilitate design decision making. We tested the design method through a design workshop in which participants were given design requirements and asked to generate WEC concepts. Though the workshop was constrained by time, number of participants, and background of participants, it was a good proof of concept for the applicability of this design methodology and provided insight on how to continue developing WEC design methodologies. SBD is a methodology that can help designers understand and design to the conflicting requirements of WEC design. SBD also allows designers to avoid making decisions based on imprecise information, which may ultimately lead to more efficient generation of +high-performance concepts.}, + author = {Trueworthy, Ali and DuPont, Bryony and Maurer, Benjamin and Cavagnaro, Robert}, + year = {2019}, +} + +@misc{noauthor_ali_nodate, + title = {Ali {TRUEWORTHY} {\textbar} {PhD} {Student} {\textbar} {Oregon} {State} {University}, {Oregon} {\textbar} {OSU} {\textbar} {School} of {Mechanical}, {Industrial} and {Manufacturing} {Engineering} {\textbar} {Research} profile}, + url = {https://www.researchgate.net/profile/Ali-Trueworthy-2}, + abstract = {I work in wave energy from both the engineering and the humanities disciplines. Currently, I am doing work related to WEC design methodologies and the relationships between wave energy and climate change.}, + language = {en}, + urldate = {2023-03-07}, + journal = {ResearchGate}, +} + +@article{bubbar_method_2018, + title = {A method for comparing wave energy converter conceptual designs based on potential power capture}, + volume = {115}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148117308674}, + doi = {10.1016/j.renene.2017.09.005}, + abstract = {The design space for ocean wave energy converters is notable for its divergence. To facilitate convergence, and thereby support commercialization, we present a new simple method for analysis and comparison of alternative device architectures at an early stage of the design process. Using Thévenin's theorem, Falnes crafted an ingenious solution for the monochromatic optimal power capture of heaving point absorber devices by forming a mechanical impedance matching problem between the device and the power take-off. However, his solutions are limited by device architecture complexity. In this paper, we use the mechanical circuit framework to extend Falnes' method to form and solve the impedance matching problem and calculate the optimal power capture for converter architectures of arbitrary complexity. The new technique is first applied to reprove Falnes' findings and then to assess a complex converter architecture, proposed by Korde. This work also provides insight into a master-slave relationship between the geometry and power take-off force control problems that are inherent to converter design, and it reveals a hierarchy of distinct design objectives unbeknownst to Korde for his device. Finally, we show how application of the master-slave principle leads to the reduction in the dimensionality of the associated design space.}, + language = {en}, + urldate = {2023-03-07}, + journal = {Renewable Energy}, + author = {Bubbar, K. and Buckham, B. and Wild, P.}, + month = jan, + year = {2018}, + keywords = {Design convergence, Geometry control, Impedance matching, Mechanical circuits, Optimal PTO force control, Optimal power capture, Thévenin's theorem, WEC canonical form}, + pages = {797--807}, +} + +@book{vogtlander_lca-based_2010, + address = {Oegetgeest, The Netherlands}, + series = {Sustainable {Design} {Series} of {Delft} {University} of {Technology}}, + title = {{LCA}-based assessment of sustainability: the {Eco}-costs/{Value} {Ratio} ({EVR})}, + url = {https://www.ecocostsvalue.com/EVR/img/references%20ecocosts/Book_EVR.pdf}, + publisher = {Sustainability Impact Metrics}, + author = {Vogtlander, Joost G and Baetens, Bianca and Bijma, Arianne and Brandjes, Eduard and Lindeijer, Erwin and Segers, Merel and Witte, Flip and Brezet, J.C. and Hendriks, Ch.F.}, + year = {2010}, +} + +@techreport{araignous_environmental_2020, + type = {Deliverable}, + title = {Environmental and {Social} {Acceptance} {Tools} - alpha version}, + url = {https://www.dtoceanplus.eu/content/download/4813/file/DTOceanPlus_D6.5_ESA_alpha_FEM_20200227_v1.0.pdf}, + number = {D6.5}, + institution = {France Energies Marines}, + author = {Araignous, E and Safi, G}, + month = feb, + year = {2020}, +} + +@article{de_faria_optimizing_2022, + title = {Optimizing offshore renewable portfolios under resource variability}, + volume = {326}, + issn = {0306-2619}, + url = {https://www.sciencedirect.com/science/article/pii/S0306261922012697}, + doi = {10.1016/j.apenergy.2022.120012}, + abstract = {The deployment of offshore wind, wave, and ocean current technologies can be coordinated to provide maximum economic benefit. We develop a model formulation based on Mean-Variance portfolio theory to identify the optimal site locations for a given number of wind, wave, and ocean current turbines subject to constraints on their energy collection system and the maximum number of turbines per site location. A model relaxation is also developed to improve the computational efficiency of the optimization process, allowing the inclusion of more than 5000 candidate generation sites. The model is tested using renewable resource estimates from the coast of North Carolina, along the eastern US coast. Different combinations of technology-specific offshore technologies are compared in terms of their levelized cost of electricity and energy variability. The optimal portfolio results are then included in a capacity expansion model to derive economic targets that make the offshore portfolios cost-competitive with other generating technologies. Results of this work indicate that the integration of different offshore technologies can help to decrease the energy variability associated with marine energy resources. Furthermore, this research shows that substantial cost reductions are still necessary to realize the deployment of these technologies in the region investigated.}, + language = {en}, + urldate = {2023-03-07}, + journal = {Applied Energy}, + author = {de Faria, Victor A. D. and de Queiroz, Anderson R. and DeCarolis, Joseph F.}, + month = nov, + year = {2022}, + keywords = {Energy economics, Energy system planning, Ocean current energy, Offshore renewable energy, Portfolio optimization, Wave energy, Wind energy}, + pages = {120012}, +} + +@techreport{mai_competitiveness_2021, + title = {Competitiveness {Metrics} for {Electricity} {System} {Technologies}}, + url = {https://www.osti.gov/biblio/1765599}, + doi = {10.2172/1765599}, + abstract = {The relative economic competitiveness of power generation technologies is a topic of much interest to diverse electric industry participants. However, assessing competitiveness can be challenging as it requires considering both total costs and total system value of each technology, which are complicated by the (1) numerous and diverse grid services needed to operate a reliable power system; (2) variations in the economic value of the grid services with system state and location, and over multiple timescales, due to the challenges of transporting and storing electricity; and (3) the unique characteristics of different electric system assets. Ideally, metrics designed or used to convey technology competitiveness must consider these complexities, but existing metrics often fall short. For example, the levelized cost of energy does not consider the system economic value of the various technologies nor does it consider services beyond electricity production. Various other metrics have been designed with the purpose of more-accurately communicating the economic viability of electric system technologies. In this report, we summarize the primary sources and components of costs and value and review the known competitiveness metrics by presenting their definitions, applications, advantages, and disadvantages. We also introduce a new set of competitiveness metrics, which we refer to as System Profitability metrics, that more-directly applies the economic principles of return-on-investment to electric system technologies. We use conceptual examples to show how the System Profitability metrics better reflect economic viability and relative technology competitiveness compared with existing metrics. We also describe how competitiveness metrics can be quantified using optimization-based models and demonstrate this capability using a U.S. electric sector capacity expansion model.}, + language = {English}, + number = {NREL/TP-6A20-72549}, + urldate = {2023-03-07}, + institution = {National Renewable Energy Lab. (NREL), Golden, CO (United States)}, + author = {Mai, Trieu and Mowers, Matthew and Eurek, Kelly}, + month = feb, + year = {2021}, +} + +@techreport{jenne_powering_2021, + title = {Powering the {Blue} {Economy}: {Economics} of {Marine} {Renewable} {Energy} {Systems}}, + shorttitle = {Powering the {Blue} {Economy}}, + url = {https://www.osti.gov/biblio/1811994}, + abstract = {This presentation, part of the Policy and Innovation Drivers Shaping the Market for Marine Renewable Energy panel of the 2020 Marine Renewable Energy Conference: On and Off the Grid, moderated by Leslie-Ann McGee, Assistant Director of the Consortium for Marine Robotics at the Woods Hole Oceanographic Institution and Program Manager, Cape Cod Blue Economy Foundation, delves into government policies incentivizing technological advances, collaborative models for technology development, market trends, and permitting hurdles. Panelists include: Jennifer Garson, Senior Advisor, U.S. Dept. of Energy Lead for the Powering the Blue Economy Initiative; Henry Jeffrey, Chairman of the Technology Collaboration Programme for Ocean Energy Systems, University of Edinburgh; Alf Carroll, SBIR Blackbelt and Ocean Energy SME, Raytheon Technologies; Walter Schurtenberger, Founder, Hydrokinetic Energy Corp.; and Dale "Scott" Jenne, Engineer, National Renewable Energy Laboratory.}, + language = {English}, + number = {NREL/PR-5700-78328}, + urldate = {2023-03-07}, + institution = {National Renewable Energy Lab. (NREL), Golden, CO (United States)}, + author = {Jenne, Scott}, + month = jul, + year = {2021}, +} + +@techreport{driscoll_methodology_2018, + title = {Methodology to {Calculate} the {ACE} and {HPQ} {Metrics} {Used} in the {Wave} {Energy} {Prize}}, + url = {https://www.osti.gov/biblio/1426063}, + doi = {10.2172/1426063}, + abstract = {The U.S. Department of Energy's Wave Energy Prize Competition encouraged the development of innovative deep-water wave energy conversion technologies that at least doubled device performance above the 2014 state of the art. Because levelized cost of energy (LCOE) metrics are challenging to apply equitably to new technologies where significant uncertainty exists in design and operation, the prize technical team developed a reduced metric as proxy for LCOE, which provides an equitable comparison of low technology readiness level wave energy converter (WEC) concepts. The metric is called 'ACE' which is short for the ratio of the average climate capture width to the characteristic capital expenditure. The methodology and application of the ACE metric used to evaluate the performance of the technologies that competed in the Wave Energy Prize are explained in this report.}, + language = {English}, + number = {NREL/TP-5000-70592}, + urldate = {2023-03-07}, + institution = {National Renewable Energy Lab. (NREL), Golden, CO (United States)}, + author = {Driscoll, Frederick R. and Weber, Jochem W. and Jenne, Dale S. and Thresher, Robert W. and Fingersh, Lee J. and Bull, Dianna and Dallman, Ann and Gunawan, Budi and Ruehl, Kelley and Newborn, David and Quintero, Miguel and LaBonte, Alison and Karwat, Darshan and Beatty, Scott}, + month = mar, + year = {2018}, +} + +@inproceedings{bilgen_openturbinecode_2022, + address = {University of Delaware, DE}, + title = {{OpenTurbineCoDe} ({OTCD}): {An} {Open}-{Source} {Floating} {Offshore} {Wind} {Turbine} {Multidisciplinary} {Control} {Co}-{Design} {Optimization} {Framework}}, + url = {https://dial.uclouvain.be/pr/boreal/en/object/boreal%3A269524/datastreams}, + urldate = {2023-03-01}, + author = {Bilgen, Onur and Martins, Joaquim R. R. A. and Ning, Andrew and Burlion, Laurent and Platt, Andy and Caprace, Denis–Gabriel and Du, Xianping and Mangano, Marco and Lopez Muro, Juan Francisco and Wright, Cody and Zhang, Kai}, + month = sep, + year = {2022}, +} + +@book{sartori_research_2020, + title = {A {Research} {Framework} for the {Multidisciplinary} {Design} and {Optimization} of {Wind} {Turbines}}, + isbn = {978-1-78984-408-5}, + url = {https://www.intechopen.com/chapters/70217}, + doi = {10.5772/intechopen.90172}, + abstract = {The design of very large wind turbines is a complex task which requires the development of dedicated tools and techniques. In this chapter, we present a system-level design procedure based on the combination of multi-body numerical models of the turbine and a multilevel optimization scheme. The overall design aims at the minimization of the cost of energy (COE) through the optimization of all the characteristics of the turbine, and the procedure automatically manages all the simulations required to compute relevant loads and displacements. This unique setup allows the designer to conduct trade-off studies in a highly realistic virtual environment and is an ideal test bench for advanced research studies in which it is important to assess the economic impact of specific design choices. Examples of such studies include the impact of stall-induced vibrations on fatigue, the development of active/passive control laws for large rotors, and the complete definition of 10–20 MW reference turbines.}, + language = {en}, + urldate = {2023-03-07}, + publisher = {IntechOpen}, + author = {Sartori, Luca and Cacciola, Stefano and Croce, Alessandro and Riboldi, Carlo Emanuele Dionigi and Sartori, Luca and Cacciola, Stefano and Croce, Alessandro and Riboldi, Carlo Emanuele Dionigi}, + month = apr, + year = {2020}, + note = {Publication Title: Design Optimization of Wind Energy Conversion Systems with Applications}, +} + +@article{jasa_effectively_2022, + title = {Effectively using multifidelity optimization for wind turbine design}, + volume = {7}, + issn = {2366-7443}, + url = {https://wes.copernicus.org/articles/7/991/2022/}, + doi = {10.5194/wes-7-991-2022}, + abstract = {Wind turbines are complex multidisciplinary systems that are challenging to design because of the tightly coupled interactions between different subsystems. Computational modeling attempts to resolve these couplings so we can efficiently explore new wind turbine systems early in the design process. Low-fidelity models are computationally efficient but make assumptions and simplifications that limit the accuracy of design studies, whereas high-fidelity models capture more of the actual physics but with increased computational cost. This paper details the use of multifidelity methods for optimizing wind turbine designs by using information from both low- and high-fidelity models to find an optimal solution at reduced cost. Specifically, a trust-region approach is used with a novel corrective function built from a nonlinear surrogate model. We find that for a diverse set of design problems – with examples given in rotor blade geometry design, wind turbine controller design, and wind power plant layout optimization – the multifidelity method finds the optimal design using 38 \%–58 \% of the computational cost of the high-fidelity-only optimization. The success of the multifidelity method in disparate applications suggests that it could be more broadly applied to other wind energy or otherwise generic applications.}, + language = {English}, + number = {3}, + urldate = {2023-03-07}, + journal = {Wind Energy Science}, + publisher = {Copernicus GmbH}, + author = {Jasa, John and Bortolotti, Pietro and Zalkind, Daniel and Barter, Garrett}, + month = may, + year = {2022}, + pages = {991--1006}, +} + +@article{oconnell_review_2023, + title = {A review of geographic information system ({GIS}) and techno economic ({TE}) software tools for renewable energy and methodology to develop a coupled {GIS}-{TE} software tool for marine renewable energy ({MRE})}, + issn = {1475-0902}, + url = {https://doi.org/10.1177/14750902221150050}, + doi = {10.1177/14750902221150050}, + abstract = {Accurate and up-to-date Geographic Information System (GIS) and Techno Economic (TE) tools are pertinent to helping to develop the renewable energy sector. This paper reviews the state of the art in existing GIS and TE tools for renewable energy and proposes a methodology to develop a coupled GIS-TE software tool that is geared specifically to Marine Renewable Energy (MRE) applications and bespoke to Irish and Western UK waters. Methods for approaching GIS and TE analysis within existing tools for renewable energy are presented and compared. Many existing tools of this nature have some interesting functionalities, but most are unsuitable for MRE; are limited by a lack of information on both the technology and the site; and focus solely either on GIS or TE aspects of analysis. Additionally, almost all of those with a TE focus are not open access. The proposed tool aims to incorporate increased resolution and site relevance of resource data; the most up-to-date geospatial data for site selection; and will provide site specific TE indicators and recommendations for contemporary MRE devices. The result will be the development an open-access GIS-TE software tool for MRE.}, + language = {en}, + urldate = {2023-03-07}, + journal = {Proceedings of the Institution of Mechanical Engineers, Part M: Journal of Engineering for the Maritime Environment}, + publisher = {SAGE Publications}, + author = {O’Connell, Ross and Murphy, Jimmy and Devoy McAuliffe, Fiona and Dalton, Gordon}, + month = jan, + year = {2023}, + pages = {14750902221150050}, +} + +@misc{noauthor_exfin_nodate, + title = {Exfin {Software} {\textbar} {Your} {Single} {Source} of {Digital} {Truth}}, + url = {https://exfinsoftware.com/product/}, + abstract = {Exfin financial modelling software for the renewable industry, creates a centralised, single source of digital truth in 4 simple steps.}, + language = {en-US}, + urldate = {2023-03-07}, + journal = {exfinsoftware.com}, +} + +@article{roberts_bringing_2021, + title = {Bringing {Structure} to the {Wave} {Energy} {Innovation} {Process} with the {Development} of a {Techno}-{Economic} {Tool}}, + volume = {14}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/14/24/8201}, + doi = {10.3390/en14248201}, + abstract = {Current wave energy development initiatives assume that available designs have the potential for success through continuous learning and innovation-based cost reduction. However, this may not be the case, and potential winning technologies may have been overlooked. The scenario creation tool presented in this paper provides a structured method for the earliest stages of design in technology development. The core function of the scenario creation tool is to generate and rank scenarios of potential Wave Energy Converter (WEC) attributes and inform the user on the areas of the parameter space that are most likely to yield commercial success. This techno-economic tool uses a structured innovation approach to identify commercially attractive and technically achievable scenarios, with a scoring system based on their power performance and costs. This is done by leveraging performance and cost data from state-of-the-art wave energy converters and identifying theoretical limits to define thresholds. As a result, a list of scored solutions is obtained depending on resource level, wave energy converter hull shape, size, material, degree of freedom for power extraction, and efficiency. This scenario creation tool can be used to support private and public investors to inform strategy for future funding calls, and technology developers and researchers in identifying new avenues of innovation.}, + language = {en}, + number = {24}, + urldate = {2023-03-07}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Roberts, Owain and Henderson, Jillian Catherine and Garcia-Teruel, Anna and Noble, Donald R. and Tunga, Inès and Hodges, Jonathan and Jeffrey, Henry and Hurst, Tim}, + month = jan, + year = {2021}, + note = {Number: 24}, + keywords = {commercial attractiveness, scenario creation, structured innovation, technical achievability, wave energy}, + pages = {8201}, +} + +@article{tunga_addressing_2021, + title = {Addressing {European} {Ocean} {Energy} {Challenge}: {The} {DTOceanPlus} {Structured} {Innovation} {Tool} for {Concept} {Creation} and {Selection}}, + volume = {14}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + shorttitle = {Addressing {European} {Ocean} {Energy} {Challenge}}, + url = {https://www.mdpi.com/1996-1073/14/18/5988}, + doi = {10.3390/en14185988}, + abstract = {The whole energy system requires renewables that scale and produce reliable, valuable energy at an acceptable cost. The key to increasing the deployment of ocean energy is bringing down development and operating costs. This paper proposes a structured approach to innovation in ocean energy systems that would spur innovation and expand the market for ocean energy. This approach can be used by a wide range of stakeholders—including technology and project developers and investors—when considering creating or improving designs. The Structured Innovation design tool within the DTOceanPlus suite is one of a kind beyond the current state-of-the-art. It enables the adaptation and integration of systematic problem-solving tools based on quality function deployment (QFD), the theory of inventive thinking (TRIZ), and the failure modes and effects analysis (FMEA) methodologies for the ocean energy sector. In obtaining and assessing innovative concepts, the integration of TRIZ into QFD enables the designers to define the innovation problem, identifies trade-offs in the system, and, with TRIZ as a systematic inventive problem-solving methodology, generates potential design concepts for the contradicting requirements. Additionally, the FMEA is used to assess the technical risks associated with the proposed design concepts. The methodology is demonstrated using high-level functional requirements for a small array of ten tidal turbines to improve the devices layout and power cabling architecture. The Structured Innovation design tool output comprises critical functional requirements with the highest overall impact and the least organisational effort to implement, along with appropriate alternative solutions to conflicting requirements.}, + language = {en}, + number = {18}, + urldate = {2023-03-07}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Tunga, Inès and Garcia-Teruel, Anna and Noble, Donald R. and Henderson, Jillian}, + month = jan, + year = {2021}, + note = {Number: 18}, + keywords = {DTOceanPlus, FMEA, fundamental relationships, innovation, ocean energy, quality function deployment, structured innovation tool, theory of inventive problem solving}, + pages = {5988}, +} + +@inproceedings{weber_wec_2012, + title = {{WEC} {Technology} {Readiness} and {Performance} {Matrix} – finding the best research technology development trajectory}, + abstract = {The paper identifies and discusses the need for techno-economic performance improvements at early stages of the wave energy converter (WEC) technology development process. Technology Readiness Levels (TRLs) for wave energy projects provide a valuable metric of technology readiness and deliver useful guidance for the development process. This paper describes the complementary metric of Technology Performance Levels (TPLs) characterised by a set of quantified performance criteria aimed at identifying and classifying the techno-economic performance of wave energy technology. These TPLs are broadly inversely related to cost of energy (CoE) and provide a combined measure for capital expenditure (CapEx), lifecycle operational expenditure (OpEx), energy conversion efficiency and technology availability. Less quantifiable performance aspects such as acceptability and safety are also considered in the definition of the TPLs. +A 2-dimensional representation of technology readiness and performance levels is introduced. This TRL–TPL–Matrix visualisation provides a useful means for the evaluation, comparison and discussion of different research technology development trajectories over the technology readiness and performance levels plane. The paper identifies the need for technology performance trajectories with high technology performance levels at low readiness levels and gives valuable advice on the development strategy and tools required to achieve successful WEC technology development outcome at reduced development time, total development cost and encountered risk.}, + author = {Weber, Jochem}, + month = oct, + year = {2012}, +} + +@inproceedings{noauthor_notitle_nodate, +} + +@article{clark_reliability-based_2018, + title = {Reliability-based design optimization in offshore renewable energy systems}, + volume = {97}, + issn = {1364-0321}, + url = {https://www.sciencedirect.com/science/article/pii/S1364032118306154}, + doi = {10.1016/j.rser.2018.08.030}, + abstract = {Offshore wind farm operations and maintenance costs currently total 6 m€/year, or 25–28\% of total costs. For wave and tidal energy converters, this cost is projected to be twice that of offshore wind, but has high levels of uncertainty. As the wave and tidal energy industries mature, decreasing O\&M costs through reliability-based design optimization is critical to increasing feasibility and competitiveness with other energy technologies. In this paper, we will synthesize existing information on reliability-based optimization in systems analogous to offshore renewable energy systems. We will conclude by highlighting opportunities for future work in this field.}, + language = {en}, + urldate = {2023-03-07}, + journal = {Renewable and Sustainable Energy Reviews}, + author = {Clark, Caitlyn E. and DuPont, Bryony}, + month = dec, + year = {2018}, + keywords = {Offshore renewable energy, Offshore wind energy, Reliability-based design optimization, Tidal energy, Wave energy}, + pages = {390--400}, +} + +@article{macgillivray_innovation_2014, + title = {Innovation and cost reduction for marine renewable energy: {A} learning investment sensitivity analysis}, + volume = {87}, + issn = {0040-1625}, + shorttitle = {Innovation and cost reduction for marine renewable energy}, + url = {https://www.sciencedirect.com/science/article/pii/S0040162513003041}, + doi = {10.1016/j.techfore.2013.11.005}, + abstract = {Using learning curves as an analytical tool for technology forecasting involves making assumptions over a range of key uncertainties, often implicitly. In this paper, we present an explicit treatment of the key uncertainties involved in learning rates' analyses of marine energy innovation (wave and tidal stream) — technology fields attracting considerable interest, but whose commercial prospects depends on substantial learning and cost reduction. Taking a simple single factor learning rate model, we describe a range of plausible learning investments required so that marine energy technologies become cost-competitive with their ‘benchmark’ technology: offshore wind. Our analysis highlights the sensitivity of marine energy to three key parameters: the capital cost of first devices, the level of deployment before sustained cost reduction emerges, and the average rate of cost reduction with deployment (learning rate). Figures often quoted within the marine energy sector for the parameters of starting cost, learning rate, and capacity at which sustained cost reduction occurs (metrics conventionally used for learning rate analysis) can be seen to represent very attractive scenarios. The intention of this paper is to display that even small changes to input assumptions can have a dramatic effect on the overall investment required for a sector to reach parity with benchmark technologies. In the short term, reaching cost competitiveness with offshore wind is a necessity if marine energy is to reach commercialisation. Additionally, an assessment of the plausible total investment (and inherent uncertainties) in a global wave and tidal deployment scenario will be presented. The paper also considers the implications of these uncertainties for marine energy innovation management. While the benchmark against offshore wind will generally be used as a performance indicator, in order to achieve similar and sustained cost reductions to other, more mature, renewable energy technologies (and thus achieve a competitive price for marine technologies, securing their place within the energy mix), the marine energy sector needs a targeted innovation focus to fulfil the desired objectives, and a development pathway very different to offshore wind must be used.}, + language = {en}, + urldate = {2023-03-05}, + journal = {Technological Forecasting and Social Change}, + author = {MacGillivray, Andrew and Jeffrey, Henry and Winskel, Mark and Bryden, Ian}, + month = sep, + year = {2014}, + keywords = {Experience curve, Learning curve, Learning investment, Marine energy, Technology innovation}, + pages = {108--124}, +} + +@article{tassey_standardization_2000, + title = {Standardization in technology-based markets}, + volume = {29}, + issn = {0048-7333}, + url = {https://www.sciencedirect.com/science/article/pii/S0048733399000918}, + doi = {10.1016/S0048-7333(99)00091-8}, + abstract = {The complexity of modern technology, especially its system character, has led to an increase in the number and variety of standards that affect a single industry or market. Standards affect the R\&D, production, and market penetration stages of economic activity and therefore have a significant collective effect on innovation, productivity, and market structure. Standards are classified into product-element and nonproduct categories because the two types arise from different technologies and require different formulation and implementation strategies. Because standards are a form of technical infrastructure, they have considerable public good content. Research policy must therefore include standardization in analyses of technology-based growth issues.}, + language = {en}, + number = {4}, + urldate = {2023-03-05}, + journal = {Research Policy}, + author = {Tassey, Gregory}, + month = apr, + year = {2000}, + keywords = {Economic growth, Industry structure, Innovation, R\&D, Standardization}, + pages = {587--602}, +} + +@article{moni_life_2020, + title = {Life cycle assessment of emerging technologies: {A} review}, + volume = {24}, + copyright = {© 2019 by Yale University}, + issn = {1530-9290}, + shorttitle = {Life cycle assessment of emerging technologies}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/jiec.12965}, + doi = {10.1111/jiec.12965}, + abstract = {In recent literature, prospective application of life cycle assessment (LCA) at low technology readiness levels (TRL) has gained immense interest for its potential to enable development of emerging technologies with improved environmental performances. However, limited data, uncertain functionality, scale up issues and uncertainties make it very challenging for the standard LCA guidelines to evaluate emerging technologies and requires methodological advances in the current LCA framework. In this paper, we review published literature to identify major methodological challenges and key research efforts to resolve these issues with a focus on recent developments in five major areas: cross-study comparability, data availability and quality, scale-up issues, uncertainty and uncertainty communication, and assessment time. We also provide a number of recommendations for future research to support the evaluation of emerging technologies at low technology readiness levels: (a) the development of a consistent framework and reporting methods for LCA of emerging technologies; (b) the integration of other tools with LCA, such as multicriteria decision analysis, risk analysis, technoeconomic analysis; and (c) the development of a data repository for emerging materials, processes, and technologies.}, + language = {en}, + number = {1}, + urldate = {2023-03-04}, + journal = {Journal of Industrial Ecology}, + author = {Moni, Sheikh Moniruzzaman and Mahmud, Roksana and High, Karen and Carbajales-Dale, Michael}, + year = {2020}, + note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/jiec.12965}, + keywords = {emerging technology, ex ante LCA, industrial ecology, life cycle assessment (LCA), technoeconomic analysis (TEA), technology readiness level (TRL)}, + pages = {52--63}, +} + +@article{pennock_life_2022, + title = {Life cycle assessment of a point-absorber wave energy array}, + volume = {190}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148122004712}, + doi = {10.1016/j.renene.2022.04.010}, + abstract = {Wave energy has a large global resource and thus a great potential to contribute to low-carbon energy systems. This study quantifies the environmental impacts of a 10 MW array of 28 point-absorber wave energy converters, by means of a process-based life cycle assessment (LCA). Midpoint and Cumulative Energy Demand LCA results are presented over 19 impact categories, representing impacts encompassing human health, ecosystems and resource availability. Three scenarios are undertaken to represent the use phase of the array, identified as a particularly uncertain input, with very little long-term operation of wave energy arrays available to validate assumptions. The resultant global warming potential of the array ranges from 25.1 to 46.0 gCO2e/kWh over a 95\% confidence interval, 23–43 times lower than conventional fossil fuel electricity generation. The Energy Payback Time of the array ranges between 2.6 and 5.2 years. LCA results are found to be particularly sensitive to annual energy production across all impact categories, and to assumptions associated with the frequency of marine operations over a number of categories quantifying the production of greenhouse gases. This LCA has been undertaken at an early stage in the WEC product development and will inform innovative research focused on further reducing the environmental impacts of electricity generation.}, + language = {en}, + urldate = {2023-03-04}, + journal = {Renewable Energy}, + author = {Pennock, Shona and Vanegas-Cantarero, María M. and Bloise-Thomaz, Tianna and Jeffrey, Henry and Dickson, Matthew J.}, + month = may, + year = {2022}, + keywords = {Carbon footprint, Environmental impact, Life cycle assessment, Operations and maintenance, Wave energy}, + pages = {1078--1088}, +} + +@inproceedings{apolonia_developing_2019, + address = {Universitá degli Studi della Campania “Luigi Vanvitelli”, Italy}, + title = {Developing an {Environmental} {Impact} {Assessment} model for nearshore wave energy devices}, + booktitle = {Proceedings of the {Thirteenth} {European} {Wave} and {Tidal} {Energy} {Conference}}, + publisher = {EWTEC}, + author = {Apolonia, Maria and Silva, Ana and Simas, Teresa}, + editor = {Vicinanza, D.}, + month = sep, + year = {2019}, +} + +@article{zhang_optimization_2022, + title = {Optimization of energy-capture performance of point-absorber wave energy converter}, + volume = {46}, + issn = {1099-114X}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/er.7816}, + doi = {10.1002/er.7816}, + abstract = {An optimization process is proposed for improving the energy-harvesting efficiency of the point-absorber wave energy converter (WEC) and thus enhancing the utilization of wave energy resources. The multidisciplinary design optimization integration system ISIGHT is adopted to establish an optimization design flow for the shape parameters of the point-absorber WEC. The motion equations of the point-absorber WEC are established according to the potential flow theory, and the wave energy capture capacity per unit is calculated. Considering it as the objective, the point-absorber WEC is modified to improve the energy-capture efficiency by using an optimization function in an approximation model. A comparison indicates that a cylindrical-bottom point-absorber WEC with a diameter of 7 m, draft of 1.8 m, and damping factor of 31 150 Ns·m−1 has the optimal performance and the maximum energy capture capacity. The energy-capture performance of the WEC can be significantly enhanced through this optimization method.}, + language = {en}, + number = {7}, + urldate = {2023-03-03}, + journal = {International Journal of Energy Research}, + author = {Zhang, Baocheng and Deng, Ziwei and Miao, Yu and Zhao, Bo and Wang, Qiang and Zhang, Kaisheng}, + year = {2022}, + note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1002/er.7816}, + keywords = {hydrodynamic, optimization design, parameterization, point absorber, wave energy}, + pages = {9444--9455}, +} + +@inproceedings{caio_tackling_2019, + title = {Tackling the {Wave} {Energy} {Paradox} - {Stepping} {Towards} {Commercial} {Deployment}}, + url = {https://onepetro.org/ISOPEIOPEC/proceedings-abstract/ISOPE19/All-ISOPE19/21575}, + abstract = {ABSTRACT. For the wave energy industry, the leap from R\&D to commercial deployment remains considerable and arises as part of the ‘wave energy paradox’, defined here as a negative reinforcement cycle involving a lack of investment, deployment, learning and returns. In this context, we review performance metrics set by funding bodies, industry standards and developers, examining how existing practices can result in sub-optimal design targets due to current specifications and misalignment of metrics between developers and external stakeholders. This paper offers initial insights - via a case study - to demonstrate how the integration of meaningful and aligned metrics throughout the design process represents a key lever in overcoming the paradox.INTRODUCTION. The vast potential of wave energy as a renewable source of power has been advocated for several decades (Isaacs \& Seymour, 1973), (Cruz, 2008). Although nearshore wave energy potential has been estimated to be in the TW range, e.g. (Gunn \& Stock-Williams, 2012), global deployed capacity as of 2017 was lagging at only 8MW (Ocean Energy Systems, 2017). Many observers argue that the shortfall is a result of the failure of wave energy converters (WECs) to converge to a single optimal design, though this can be viewed as both a cause and an effect (see following section). In 2016, O'Hagan et al. highlighted that}, + language = {en}, + urldate = {2023-03-03}, + publisher = {OnePetro}, + author = {Caio, Andrea and Davey, Thomas and McNatt, Cameron}, + month = jun, + year = {2019}, +} + +@misc{noauthor_triton_nodate, + title = {Triton {\textbar} {PNNL}}, + url = {https://www.pnnl.gov/projects/triton}, + urldate = {2023-03-01}, +} + +@article{li_quantitative_2022, + title = {Quantitative sustainable design ({QSD}) for the prioritization of research, development, and deployment of technologies: a tutorial and review}, + volume = {8}, + issn = {2053-1419}, + shorttitle = {Quantitative sustainable design ({QSD}) for the prioritization of research, development, and deployment of technologies}, + url = {https://pubs.rsc.org/en/content/articlelanding/2022/ew/d2ew00431c}, + doi = {10.1039/D2EW00431C}, + abstract = {The pursuit of sustainability has catalyzed broad investment in the research, development, and deployment (RD\&D) of innovative water, sanitation, and resource recovery technologies, yet the lack of transparent and agile methodologies to navigate the expansive landscape of technology development pathways remains a critical challenge. This challenge is further complicated by the higher levels of uncertainty that are intrinsic to early-stage technologies. In this work, we review and synthesize published literature on the sustainability analyses of water and related technologies to present quantitative sustainable design (QSD) – a methodology to expedite and support technology RD\&D. With a shared lexicon and a structured approach, QSD facilitates interdisciplinary communication and research consistency. In introducing QSD, we review existing studies to highlight best practices and discuss them in the context of the specific steps of QSD, which include defining the problem space, establishing simulation algorithms, and characterizing system sustainability across economic, environmental, human health, and social dimensions. Next, we summarize tools for QSD execution and provide recommendations to account for uncertainty in this process. We further discuss applications of QSD in the fields of water/wastewater and beyond (e.g., renewable fuels, circular economy) in combination with uncertainty, sensitivity, and scenario analyses to generate the desired types of insight. Finally, we identify future research needs for sustainability analyses to advance technology RD\&D. Ultimately, QSD can be used to elucidate the complex and intertwined connections among design decisions, technology characteristics, contextual factors, and sustainability indicators, thereby supporting transparent, consistent, and agile RD\&D.}, + language = {en}, + number = {11}, + urldate = {2023-03-01}, + journal = {Environmental Science: Water Research \& Technology}, + publisher = {The Royal Society of Chemistry}, + author = {Li, Yalin and Trimmer, John T. and Hand, Steven and Zhang, Xinyi and Chambers, Katherine G. and Lohman, Hannah A. C. and Shi, Rui and Byrne, Diana M. and Cook, Sherri M. and Guest, Jeremy S.}, + month = oct, + year = {2022}, + pages = {2439--2465}, +} + +@article{mahmud_integration_2021, + title = {Integration of techno-economic analysis and life cycle assessment for sustainable process design – {A} review}, + volume = {317}, + issn = {0959-6526}, + url = {https://www.sciencedirect.com/science/article/pii/S0959652621024641}, + doi = {10.1016/j.jclepro.2021.128247}, + abstract = {For sustainable design, technology developers need to consider not only technical and economic aspects but also potential environmental impacts while developing new technologies. Techno economic analysis (TEA) evaluates the technical performance and economic feasibility of a technology. Life cycle assessment (LCA) evaluates the potential environmental impacts associated with a product system throughout its life cycle from raw material extraction to disposal. Generally, TEA and LCA performed separately for technology assessment. Understanding of the trade-off between economic and environmental performance is crucial for sustainable process design, which is not fully available if TEA and LCA is performed separately. In contrast, integration of TEA and LCA enables systematic analysis of the relationships between technical, economic, and environmental performance and provides more information to technology developers for trade-off analysis. Integrated TEA-LCA tool can also reduce inconsistency between system boundaries, functional units, and assumptions that can arise from using standalone TEA and LCA findings in decision making. There is also growing interest of prospective application of integrated TEA-LCA tool to evaluate emerging technologies at early technology readiness level (TRL). Integration of TEA and LCA is still an evolving area and requires further exploration to develop a consistent methodological guideline. The goal of this study is to review the current state-of-the-art in TEA and LCA to identify the methodological challenges of TEA-LCA integration approaches. This study also identifies major challenges to perform integrated TEA-LCA analysis of emerging technologies at low TRLs. Lack of consistent methodological guidelines and compatible software tools, inconsistent system boundary and functional unit selection, limited data availability and uncertainty are key methodological challenges for integration of LCA and TEA. Future research should focus on developing integrated TEA-LCA tool, formulating approach to incorporate optimization method with integrated TEA-LCA tool, and developing strategy of proper communication of results from integrated LCA-TEA tool to broad range of stakeholders.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Journal of Cleaner Production}, + author = {Mahmud, Roksana and Moni, Sheikh Moniruzzaman and High, Karen and Carbajales-Dale, Michael}, + month = oct, + year = {2021}, + keywords = {Emerging technology, Integration, Life cycle assessment (LCA), Sustainable process design, Techno-economic analysis (TEA), Technology readiness level (TRL)}, + pages = {128247}, +} + +@article{li_quantitative_2022-1, + title = {Quantitative sustainable design ({QSD}) for the prioritization of research, development, and deployment of technologies: a tutorial and review}, + volume = {8}, + issn = {2053-1419}, + shorttitle = {Quantitative sustainable design ({QSD}) for the prioritization of research, development, and deployment of technologies}, + url = {https://pubs.rsc.org/en/content/articlelanding/2022/ew/d2ew00431c}, + doi = {10.1039/D2EW00431C}, + abstract = {The pursuit of sustainability has catalyzed broad investment in the research, development, and deployment (RD\&D) of innovative water, sanitation, and resource recovery technologies, yet the lack of transparent and agile methodologies to navigate the expansive landscape of technology development pathways remains a critical challenge. This challenge is further complicated by the higher levels of uncertainty that are intrinsic to early-stage technologies. In this work, we review and synthesize published literature on the sustainability analyses of water and related technologies to present quantitative sustainable design (QSD) – a methodology to expedite and support technology RD\&D. With a shared lexicon and a structured approach, QSD facilitates interdisciplinary communication and research consistency. In introducing QSD, we review existing studies to highlight best practices and discuss them in the context of the specific steps of QSD, which include defining the problem space, establishing simulation algorithms, and characterizing system sustainability across economic, environmental, human health, and social dimensions. Next, we summarize tools for QSD execution and provide recommendations to account for uncertainty in this process. We further discuss applications of QSD in the fields of water/wastewater and beyond (e.g., renewable fuels, circular economy) in combination with uncertainty, sensitivity, and scenario analyses to generate the desired types of insight. Finally, we identify future research needs for sustainability analyses to advance technology RD\&D. Ultimately, QSD can be used to elucidate the complex and intertwined connections among design decisions, technology characteristics, contextual factors, and sustainability indicators, thereby supporting transparent, consistent, and agile RD\&D.}, + language = {en}, + number = {11}, + urldate = {2023-03-01}, + journal = {Environmental Science: Water Research \& Technology}, + publisher = {The Royal Society of Chemistry}, + author = {Li, Yalin and Trimmer, John T. and Hand, Steven and Zhang, Xinyi and Chambers, Katherine G. and Lohman, Hannah A. C. and Shi, Rui and Byrne, Diana M. and Cook, Sherri M. and Guest, Jeremy S.}, + month = oct, + year = {2022}, + pages = {2439--2465}, +} + +@article{mccabe_constrained_2013, + title = {Constrained optimization of the shape of a wave energy collector by genetic algorithm}, + volume = {51}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148112006258}, + doi = {10.1016/j.renene.2012.09.054}, + abstract = {Wave energy extraction requires the conversion of the energy within the waves to drive the power take off system, often by means of a principal interface, or collector. This paper describes part of the development of a robust, systematic method of optimizing the collector shape to improve energy extraction using a genetic algorithm. The collector geometry uses a parametric description based upon bi-cubic B-spline surfaces, generated from a relatively small number of control points to reduce the dimensionality of the search space. The collector shapes that are optimized have one plane of symmetry and move in one degree of freedom (surge). Each candidate shape is assessed in a wave climate based upon data from a site in the North-East Atlantic Ocean. Three cost functions, distinguished by the severity of the penalty put on the size of the candidate collectors, and four constraint regimes, defined by two displacement and two power rating limits, are the governing influences on the twelve optimization procedures described. The selected collector shapes from each optimization run are appraised in terms of size, complexity and their performance compared to that of ‘benchmark’ box-shaped collectors.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Renewable Energy}, + author = {McCabe, A. P.}, + month = mar, + year = {2013}, + keywords = {Genetic algorithms, Marine energy conversion, Optimization methods, Wave energy converter design}, + pages = {274--284}, +} + +@article{patryniak_multidisciplinary_2022, + title = {Multidisciplinary design analysis and optimisation frameworks for floating offshore wind turbines: {State} of the art}, + volume = {251}, + issn = {0029-8018}, + shorttitle = {Multidisciplinary design analysis and optimisation frameworks for floating offshore wind turbines}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801822004267}, + doi = {10.1016/j.oceaneng.2022.111002}, + abstract = {Meeting climate and air quality targets, while preserving the focus on the reliability and cost-effectiveness of energy, became a central issue for offshore wind turbine engineers. Floating offshore wind turbines, which allow harnessing the large untapped wind resources in deep waters, are highly complex and coupled systems. Subsystem-level optimisations result in suboptimal designs, implying that an integrated design approach is important. Literature saw a few attempts on multidisciplinary design analysis and optimisation of floating wind turbines, with varying results, proving the need for an efficient, and sufficiently accurate, integrated approach. This paper reviews the state-of-the-art approaches to multidisciplinary design analysis and optimisation of floating support structures. The choice of the optimisation framework architecture, support platform design variables, constraints and objective functions are investigated. The techno-economic analysis models are closely examined, focusing on the approaches to achieving the optimum accuracy–efficiency balance. It is shown that the representation of the fully coupled system within the optimisation framework requires the introduction of a more complex multidisciplinary analysis workflow. Methods to increase the efficiency of such frameworks are indicated. Non-conventional support structure configurations can be conceived through the application of more advanced parametrisation schemes, which is feasible together with design space size reduction techniques. The set of design criteria should be extended by operation and maintenance cost, and power production metrics. The main technical limitations of the frameworks adopted so far include the inability to accurately analyse a diverse range of support structure topologies in multiple design load cases within a common framework. The cost approximation models should be extended by the chosen aspects of pre-operational phases, to better explore the benefits of the floating platforms.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Ocean Engineering}, + author = {Patryniak, Katarzyna and Collu, Maurizio and Coraddu, Andrea}, + month = may, + year = {2022}, + keywords = {Coupled dynamics, Floating offshore wind turbine, MDAO, Multidisciplinary optimisation, Offshore wind, Support structure}, + pages = {111002}, +} + +@article{giannini_wave_2022, + title = {Wave energy converters design combining hydrodynamic performance and structural assessment}, + volume = {249}, + issn = {0360-5442}, + url = {https://www.sciencedirect.com/science/article/pii/S0360544222005448}, + doi = {10.1016/j.energy.2022.123641}, + abstract = {The design of a wave energy converter (WEC) is a many-sided and important assignment that determines its future technical and economic viability. Presently, there is a lack of structured design methodologies that take into account both the hydrodynamic performance, structural reliability and economic data from early development stages. Therefore, a new methodology is proposed, aiming for a viable predesign solution for avoiding major setbacks at later stages. It includes a series of steps related to the initial design definition, hydrodynamic analysis, yield strength investigation and early-stage economic assessment. For demonstration, the methodology is applied to progress a sloped motion WEC for near-shore locations. The original WEC configuration is also assessed and the novel design, which allows reducing the mass of floating elements by 70\%, is developed. It is found that: for recurrent sea states, the capture width ratio of the new design (20–40\%) is similar to the one of the original design (20–50\%), the estimated cost of the device is reduced by 28.6\% and the payback period is reduced by 2.4 years. Overall, the results obtained for the case study demonstrated the interest in the proposed methodology that can assist in the development and analysis of early-stage WEC concepts.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Energy}, + author = {Giannini, Gianmaria and Rosa-Santos, Paulo and Ramos, Victor and Taveira-Pinto, Francisco}, + month = jun, + year = {2022}, + keywords = {Economic analysis, Hydrodynamic structural analysis, Multi-scope design development, Pivoting wave energy converter, Wave loads, marine Energy}, + pages = {123641}, +} + +@misc{noauthor_dtocean_nodate, + title = {{DTOcean}+}, + url = {https://www.dtoceanplus.eu/Tools/DTOcean}, + language = {en-GB}, + urldate = {2023-03-01}, + journal = {DTOceanPlus - Design tools for ocean energy systems}, +} + +@article{garcia-teruel_geometry_2020, + title = {Geometry optimisation of wave energy converters}, + url = {https://era.ed.ac.uk/handle/1842/36912}, + doi = {10.7488/era/213}, + abstract = {Given the large energy resource available in ocean waves, wave energy +converters have been developed over the last decades for power extraction. +Various concepts exist, and research efforts are now focussed on reducing their +levelised cost of energy. The device structure has been identified to have the +highest cost reduction potential. For this reason, a number of hull geometry +optimisation studies have been performed in recent years. In these studies, +costs have been mostly represented through the device size or weight, and +devices have been optimised for specific sea conditions, based generally on +simple shapes such as spheres or cylinders. However, there is no consensus in +the employed methodology and resulting shapes might be difficult to manu +facture or unable to survive in high energetic seas. The goal of this thesis is, +therefore, to develop a device-agnostic methodology for geometry optimisation +of wave energy converters, which enables the generation of improved hull shapes +that reduce the levelised cost of electricity. An existing approach for single +body floating point-absorbers, exhibiting some of the best practices found in +this field, is re-implemented and extended to improve its robustness for its +application to different case studies. Each of the elements composing this +approach (how the geometry is defined, the choice of objective function and +the choice of optimisation algorithm and set-up) are then evaluated and their +suitability is assessed through comparison to other strategies. The method is +then applied to a range of study cases, such as to study the effect of location +and of the choice of modes-of-motion for power extraction on the optimal hull +shape. Further extensions of the method to include manufacturability and +reliability considerations, as well as to include the effect of mass distribution +are investigated. As a result, recommendations are formulated for the set-up of +an early stage WEC design geometry optimisation process. Additionally, trends +for the hull shape design are identified for the considered cases - depending +on, location, the choice of the modes of motion for power extraction, and how +costs are accounted for.}, + language = {en}, + urldate = {2023-03-01}, + publisher = {The University of Edinburgh}, + author = {Garcia-Teruel, Anna}, + month = jul, + year = {2020}, + note = {Accepted: 2020-03-31T10:31:18Z}, +} + +@misc{noauthor_proteusds_nodate, + title = {{ProteusDS} {\textbar} {A} flexible {Dynamic} {Analysis} {Tool} for {Ocean} {Industries} {\textbar} {DSA}}, + url = {https://dsaocean.com/proteusds/overview/}, + abstract = {ProteusDS is a full-featured dynamic analysis software capable of simulating vessels, flexible structures, lines and technologies in harsh marine environments. It is modern, customizable and validated.}, + language = {en-CA}, + urldate = {2023-03-01}, + journal = {DSA Ocean}, +} + +@misc{ruehl_wec-simwec-sim_2022, + title = {{WEC}-{Sim}/{WEC}-{Sim}: {WEC}-{Sim} v5.0.1}, + shorttitle = {{WEC}-{Sim}/{WEC}-{Sim}}, + url = {https://zenodo.org/record/7121186}, + doi = {10.5281/zenodo.7121186}, + abstract = {New Features This is a bug fix release. New features since the previous release are not included. Bug Fixes Fix saveViz by @jtgrasb in https://github.com/WEC-Sim/WEC-Sim/pull/866 Fix typo in docs. by @mancellin in https://github.com/WEC-Sim/WEC-Sim/pull/898 Update documentation tutorials to fix OSWEC inertia by @jtgrasb in https://github.com/WEC-Sim/WEC-Sim/pull/894 CI: Split docs jobs {\textbar} Add color to docs logs {\textbar} Cancel runs on new push {\textbar} Add 2021b to MATLAB versions by @H0R5E in https://github.com/WEC-Sim/WEC-Sim/pull/862 Mac path fixes and make outputDir public by @ahmedmetin in https://github.com/WEC-Sim/WEC-Sim/pull/874 wecSimPCT Fix (Master) by @yuyihsiang in https://github.com/WEC-Sim/WEC-Sim/pull/870 Fix image bug in PTO-Sim in Library Browser by @jleonqu in https://github.com/WEC-Sim/WEC-Sim/pull/896 update to v5.0 citation by @akeeste in https://github.com/WEC-Sim/WEC-Sim/pull/911 fix non-linear hydro by @dforbush2 in https://github.com/WEC-Sim/WEC-Sim/pull/910 Pull dev bugfixes into master by @akeeste @jtgrasb in https://github.com/WEC-Sim/WEC-Sim/pull/950 (includes https://github.com/WEC-Sim/WEC-Sim/pull/929 https://github.com/WEC-Sim/WEC-Sim/pull/917 https://github.com/WEC-Sim/WEC-Sim/pull/884 by @jtgrasb) New Contributors @mancellin made their first contribution in https://github.com/WEC-Sim/WEC-Sim/pull/898 @ahmedmetin made their first contribution in https://github.com/WEC-Sim/WEC-Sim/pull/874 Issues and Pull Requests {\textgreater}52 issues closed since v5.0 {\textgreater}23 PRs merged since v5.0 Full Changelog: https://github.com/WEC-Sim/WEC-Sim/compare/v5.0...v5.0.1}, + urldate = {2023-03-01}, + publisher = {Zenodo}, + author = {Ruehl, Kelley and Keester, Adam and Ströfer, Carlos A. Michelén and nathanmtom and Topper, Mathew and Lawson, Michael and dforbush2 and Ling, Bradley A. and jtgrasb and j-vanrij and Sal and jhbates and Ogden, David and Nguyen, Lily and Jeffalo1 and Leon, Jorge and sedwardsand and Alves, Erick F. and crobarcro and emiliofa and ratanakso and Rashid, Ahmed and Aquaharmonics and Sauer, Filip and Ancellin, Matthieu and NREL-Jim-McNally and SiHeTh and gparisella and Hall, Matt and yuyihsiang}, + month = sep, + year = {2022}, +} + +@article{balitsky_analyzing_2018, + title = {Analyzing the {Near}-{Field} {Effects} and the {Power} {Production} of an {Array} of {Heaving} {Cylindrical} {WECs} and {OSWECs} {Using} a {Coupled} {Hydrodynamic}-{PTO} {Model}}, + volume = {11}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + url = {https://www.mdpi.com/1996-1073/11/12/3489}, + doi = {10.3390/en11123489}, + abstract = {The Power Take-Off (PTO) system is the key component of a Wave Energy Converter (WEC) that distinguishes it from a simple floating body because the uptake of the energy by the PTO system modifies the wave field surrounding the WEC. Consequently, the choice of a proper PTO model of a WEC is a key factor in the accuracy of a numerical model that serves to validate the economic impact of a wave energy project. Simultaneously, the given numerical model needs to simulate many WEC units operating in close proximity in a WEC farm, as such conglomerations are seen by the wave energy industry as the path to economic viability. A balance must therefore be struck between an accurate PTO model and the numerical cost of running it for various WEC farm configurations to test the viability of any given WEC farm project. Because hydrodynamic interaction between the WECs in a farm modifies the incoming wave field, both the power output of a WEC farm and the surface elevations in the ‘near field’ area will be affected. For certain types of WECs, namely heaving cylindrical WECs, the PTO system strongly modifies the motion of the WECs. Consequently, the choice of a PTO system affects both the power production and the surface elevations in the ‘near field’ of a WEC farm. In this paper, we investigate the effect of a PTO system for a small wave farm that we term ‘WEC array’ of 5 WECs of two types: a heaving cylindrical WEC and an Oscillating Surge Wave Energy Converter (OSWEC). These WECs are positioned in a staggered array configuration designed to extract the maximum power from the incident waves. The PTO system is modelled in WEC-Sim, a purpose-built WEC dynamics simulator. The PTO system is coupled to the open-source wave structure interaction solver NEMOH to calculate the average wave field η in the ‘near-field’. Using a WEC-specific novel PTO system model, the effect of a hydraulic PTO system on the WEC array power production and the near-field is compared to that of a linear PTO system. Results are given for a series of regular wave conditions for a single WEC and subsequently extended to a 5-WEC array. We demonstrate the quantitative and qualitative differences in the power and the ‘near-field’ effects between a 5-heaving cylindrical WEC array and a 5-OSWEC array. Furthermore, we show that modeling a hydraulic PTO system as a linear PTO system in the case of a heaving cylindrical WEC leads to considerable inaccuracies in the calculation of average absorbed power, but not in the near-field surface elevations. Yet, in the case of an OSWEC, a hydraulic PTO system cannot be reduced to a linear PTO coefficient without introducing substantial inaccuracies into both the array power output and the near-field effects. We discuss the implications of our results compared to previous research on WEC arrays which used simplified linear coefficients as a proxy for PTO systems.}, + language = {en}, + number = {12}, + urldate = {2023-03-01}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Balitsky, Philip and Quartier, Nicolas and Verao Fernandez, Gael and Stratigaki, Vasiliki and Troch, Peter}, + month = dec, + year = {2018}, + note = {Number: 12}, + keywords = {BEM, NEMOH, PTO system, PTO system tuning, PTO-sim, WEC array, WEC farm, WEC-sim, hydraulic, linearization, model coupling}, + pages = {3489}, +} + +@article{de_andres_adaptability_2015, + title = {Adaptability of a generic wave energy converter to different climate conditions}, + volume = {78}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148115000270}, + doi = {10.1016/j.renene.2015.01.020}, + abstract = {This study evaluates the influence of wave climate tunability on the performance of a generic Wave Energy Converter (WEC) for different climate scenarios. The generic WEC is assumed to be composed of an array of heaving, floating cylinders. In this study, two natural periods for the cylinders of 4 s and 8 s (typical of enclosed seas and the mean Atlantic swell, respectively) and a location-tunable cylinder are considered to evaluate the influence of tuning on the power performance of the cylinder. The WEC power matrix is computed using a frequency domain model, and the performance of the WEC is evaluated along the global coasts; the met-ocean data originated from the global reanalysis database (GOW) from Reguero et al. (2012). The performance of the WEC is evaluated using two parameters: the capture width ratio (CWR), which evaluates the efficiency of the converter at each location, and the kW/Ton (KWT) parameter, which evaluates the efficiency of the converter using “economic” terms. Tuning a converter for each location displayed a positive CWR; however, the KWT was low after WEC tuning because of the weight of the structures required to tune the converter that experiences high peak periods.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Renewable Energy}, + author = {de Andres, A. and Guanche, R. and Vidal, C. and Losada, I. J.}, + month = jun, + year = {2015}, + keywords = {Adaptability, Capture width ratio, Resonance, Tuning, Wave energy converter}, + pages = {322--333}, +} + +@article{zhang_ocean_2021, + title = {Ocean wave energy converters: {Technical} principle, device realization, and performance evaluation}, + volume = {141}, + issn = {1364-0321}, + shorttitle = {Ocean wave energy converters}, + url = {https://www.sciencedirect.com/science/article/pii/S1364032121000605}, + doi = {10.1016/j.rser.2021.110764}, + abstract = {As a renewable energy with immense development potential, ocean wave energy has abundant storage. The utilizations of wave energy technology to exploit wave energy resources have broad application prospects and an important realistic meaning. The researchers worldwide have designed many wave energy converters (WEC) with varied and structures based on different concepts. In this paper, the principle of wave energy power generation technology is reviewed and analyzed from basic structure and power take-off (PTO). Some typical WEC and multi-degree of freedom WEC (MDWEC) and their realization are introduced. The analytic hierarchy process (AHP) is employed to construct a comprehensive multi-index model and evaluate the present WEC from five perspectives: energy capture, technology cost economic, reliability, environmental friendliness and adaptability. Results show that in the field of wave energy utilization and development, the MDWEC has a good comprehensive performance and a wide application range. Qualitative and quantitative methods are adopted to find the optimal WEC technical scheme based on the review and analysis of technology principles of wave energy power generation and realization of devices, which can be used for the development of WEC.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Renewable and Sustainable Energy Reviews}, + author = {Zhang, Yongxing and Zhao, Yongjie and Sun, Wei and Li, Jiaxuan}, + month = may, + year = {2021}, + keywords = {Device realization, Ocean wave energy, Performance evaluation, Technical principles, Wave energy converters}, + pages = {110764}, +} + +@misc{noauthor_small_nodate, + title = {Small {WEC}}, + url = {https://apps.openei.org/swec/}, + urldate = {2023-03-01}, +} + +@article{trueworthy_wave_2020, + title = {The {Wave} {Energy} {Converter} {Design} {Process}: {Methods} {Applied} in {Industry} and {Shortcomings} of {Current} {Practices}}, + volume = {8}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {2077-1312}, + shorttitle = {The {Wave} {Energy} {Converter} {Design} {Process}}, + url = {https://www.mdpi.com/2077-1312/8/11/932}, + doi = {10.3390/jmse8110932}, + abstract = {Wave energy is among the many renewable energy technologies being researched and developed to address the increasing demand for low-emissions energy. The unique design challenges for wave energy converter design—integrating complex and uncertain technological, economic, and ecological systems, overcoming the structural challenges of ocean deployment, and dealing with complex system dynamics—have lead to a disjointed progression of research and development. There is no common design practice across the wave energy industry and there is no published synthesis of the practices that are used by developers. In this paper, we summarize the methods being employed in WEC design as well as promising methods that have yet to be applied. We contextualize these methods within an overarching design process. We present results from a survey of WEC developers to identify methods that are common in industry. From the review and survey results, we conclude that the most common methods of WEC design are iterative methods in which design parameters are defined, evaluated, and then changed based on evaluation results. This leaves a significant space for improvement of methods that help designers make better-informed decisions prior to sophisticated evaluation, and methods of using the evaluation results to make better design decisions during iteration. Despite the popularity of optimization methods in academic research, they are less common in industry development. We end this paper with a summary of the areas of WEC design in which the testing and development of new methods is necessary, and where more research is required to fully understand the influence of design decisions on WEC performance.}, + language = {en}, + number = {11}, + urldate = {2023-03-01}, + journal = {Journal of Marine Science and Engineering}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Trueworthy, Ali and DuPont, Bryony}, + month = nov, + year = {2020}, + note = {Number: 11}, + keywords = {conceptual design, design methods, industry survey, stakeholder requirements, wave energy converter}, + pages = {932}, +} + +@book{bazilian_analytical_2009, + title = {Analytical {Methods} for {Energy} {Diversity} and {Security}: {Portfolio} {Optimization} in the {Energy} {Sector}: {A} {Tribute} to the work of {Dr}. {Shimon} {Awerbuch}}, + isbn = {978-0-08-091531-9}, + shorttitle = {Analytical {Methods} for {Energy} {Diversity} and {Security}}, + abstract = {Analytical Methods for Energy Diversity and Security is an ideal volume for professionals in academia, industry and government interested in the rapidly evolving area at the nexus between energy and climate change policy. The cutting-edge international contributions allow for a wide coverage of the topic. Analytical Methods for Energy Diversity and Security focuses on the consideration of financial risk in the energy sector. It describes how tools borrowed from financial economic theory, in particular mean-variance portfolio theory, can provide insights on the costs and benefits of diversity, and thus inform investment decision making in conditions of uncertainty. It gives the reader an in-depth understanding of how to manage risk at a time when the world’s focus is on this area. The book provides insights from leading authorities in the area of energy security. It gives readers abundant, rigorous analysis and guidance at a critical time in facing the twin challenges of energy security and climate change. The book also highlights the role of clean energy technology in moving towards future diverse and intelligent electricity systems. It will be a trusted, first point of reference for decision-makers in the field of energy policy. The book includes a foreword by the 2007 Nobel Peace Prize winner. All royalties from sale of this book will be donated to charities working in the energy sector in the developing world. Theoretical underpinning and applied use of Portfolio theory in the energy sector In-depth consideration of risk Contributions from leading international energy economists Innovative methodologies for thinking about energy security and diversity}, + publisher = {Elsevier}, + author = {Bazilian, Morgan and Roques, Fabien}, + month = mar, + year = {2009}, + note = {Google-Books-ID: iV1qIPxGM4wC}, + keywords = {Business \& Economics / Industries / Energy, Technology \& Engineering / Power Resources / General}, +} + +@article{jurasz_review_2020, + title = {A review on the complementarity of renewable energy sources: {Concept}, metrics, application and future research directions}, + volume = {195}, + issn = {0038-092X}, + shorttitle = {A review on the complementarity of renewable energy sources}, + url = {https://www.sciencedirect.com/science/article/pii/S0038092X19311831}, + doi = {10.1016/j.solener.2019.11.087}, + abstract = {Global and regional trends indicate that energy demand will soon be covered by a widespread deployment of renewable energy sources. However, the weather and climate driven energy sources are characterized by a significant spatial and temporal variability. One of the commonly mentioned solutions to overcome the mismatch between demand and supply provided by renewable generation is a hybridization of two or more energy sources into a single power station (like wind-solar, solar-hydro or solar-wind-hydro). The operation of hybrid energy sources is based on the complementary nature of renewable sources. Considering the growing importance of such systems and increasing number of research activities in this area this paper presents a comprehensive review of studies which investigated, analyzed, quantified and utilized the effect of temporal, spatial and spatiotemporal complementarity between renewable energy sources. The review starts with a brief overview of available research papers, formulates detailed definition of major concepts, summarizes current research directions and ends with prospective future research activities. The review provides a chronological and spatial information with regard to the studies on the complementarity concept.}, + language = {en}, + urldate = {2023-03-01}, + journal = {Solar Energy}, + author = {Jurasz, J. and Canales, F. A. and Kies, A. and Guezgouz, M. and Beluco, A.}, + month = jan, + year = {2020}, + keywords = {Complementarity index, Non-dispatchable energy sources, Reliability, Variability, Weather-driven}, + pages = {703--724}, +} + +@misc{noauthor_system_2022, + title = {System {Advisor} {Model} ({SAM})}, + copyright = {BSD-3-Clause}, + url = {https://github.com/NREL/SAM}, + abstract = {System Advisor Model (SAM)}, + urldate = {2022-05-13}, + publisher = {National Renewable Energy Laboratory}, + month = apr, + year = {2022}, + note = {original-date: 2013-01-10T02:52:47Z}, +} + +@book{franklin2014feedback, + series = {Always learning}, + title = {Feedback control of dynamic systems}, + isbn = {978-1-292-06890-9}, + url = {https://books.google.com/books?id=yO2hoAEACAAJ}, + publisher = {Pearson}, + author = {Franklin, G.F. and Powell, J.D. and Emami-Naeini, A.}, + year = {2014}, +} + +@incollection{FPE, + edition = {7}, + title = {Equivalent {Gain} {Analysis} {Using} {Frequency} {Response}: {Describing} {Functions}}, + isbn = {978-1-292-06890-9}, + url = {https://books.google.com/books?id=yO2hoAEACAAJ}, + booktitle = {Feedback control of dynamic systems}, + publisher = {Pearson}, + author = {Franklin, G.F. and Powell, J.D. and Emami-Naeini, A.}, + year = {2015}, + pages = {678--682}, +} + +@misc{noauthor_feedback_nodate, + title = {Feedback {Control} of {Dynamic} {Systems}, 7th {Edition}}, + url = {https://www.pearson.com/content/one-dot-com/one-dot-com/us/en/higher-education/program.html}, + abstract = {Feedback Control of Dynamic Systems, 7th Edition}, + language = {en}, + urldate = {2022-05-12}, +} + +@misc{noauthor_paretosearch_nodate, + title = {paretosearch {Algorithm} - {MATLAB} \& {Simulink}}, + url = {https://www.mathworks.com/help/gads/paretosearch-algorithm.html}, + urldate = {2022-02-21}, +} + +@article{goteman_methods_2014, + title = {Methods of reducing power fluctuations in wave energy parks}, + volume = {6}, + url = {https://aip.scitation.org/doi/10.1063/1.4889880}, + doi = {10.1063/1.4889880}, + number = {4}, + urldate = {2022-02-14}, + journal = {Journal of Renewable and Sustainable Energy}, + publisher = {American Institute of Physics}, + author = {Göteman, Malin and Engström, Jens and Eriksson, Mikael and Isberg, Jan and Leijon, Mats}, + month = jul, + year = {2014}, + pages = {043103}, +} + +@article{al_shami_parameter_2019, + title = {A parameter study and optimization of two body wave energy converters}, + volume = {131}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148118307833}, + doi = {10.1016/j.renene.2018.06.117}, + abstract = {This paper studies the multidisciplinary nature of two body wave energy converters by a parametric study based on the Taguchi method which helps to understand the effect of different dependent parameters on the wave energy conversion performance. Seven different parameters are analyzed and their effect on the maximum captured power, resonance frequency and bandwidth is studied. An interesting comparison between a cylindrical submerged body and a spherical one was made in terms of the system's viscous damping and hydrodynamics. The best system parameter combinations based on the maximum output power, best resonant frequency and frequency bandwidth were identified from the outcomes of the Taguchi method and optimized to capture the maximum power to operate in the specific (Australian) sea regions where the waves' frequencies are relatively low. This paper should provide a guideline for designers to tune their parameters based on the desired performance and sea state.}, + language = {en}, + urldate = {2022-02-14}, + journal = {Renewable Energy}, + author = {Al Shami, Elie and Wang, Xu and Zhang, Ran and Zuo, Lei}, + month = feb, + year = {2019}, + keywords = {Bandwidth, Optimization, Parameter, Power, Taguchi method, Two body wave energy converters}, + pages = {1--13}, +} + +@article{aderinto_ocean_2018, + title = {Ocean {Wave} {Energy} {Converters}: {Status} and {Challenges}}, + volume = {11}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + shorttitle = {Ocean {Wave} {Energy} {Converters}}, + url = {https://www.mdpi.com/1996-1073/11/5/1250}, + doi = {10.3390/en11051250}, + abstract = {Wave energy is substantial as a resource, and its potential to significantly contribute to the existing energy mix has been identified. However, the commercial utilization of wave energy is still very low. This paper reviewed the background of wave energy harvesting technology, its evolution, and the present status of the industry. By covering the theoretical formulations, wave resource characterization methods, hydrodynamics of wave interaction with the wave energy converter, and the power take-off and electrical systems, different challenges were identified and discussed. Solutions were suggested while discussing the challenges in order to increase awareness and investment in wave energy industry as a whole.}, + language = {en}, + number = {5}, + urldate = {2022-02-14}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Aderinto, Tunde and Li, Hua}, + month = may, + year = {2018}, + note = {Number: 5}, + keywords = {challenges, design, wave energy, wave energy converters}, + pages = {1250}, +} + +@article{franzitta_desalination_2016, + title = {The {Desalination} {Process} {Driven} by {Wave} {Energy}: {A} {Challenge} for the {Future}}, + volume = {9}, + copyright = {http://creativecommons.org/licenses/by/3.0/}, + issn = {1996-1073}, + shorttitle = {The {Desalination} {Process} {Driven} by {Wave} {Energy}}, + url = {https://www.mdpi.com/1996-1073/9/12/1032}, + doi = {10.3390/en9121032}, + abstract = {The correlation between water and energy is currently the focus of several investigations. In particular, desalination is a technological process characterized by high energy consumption; nevertheless, desalination represents the only practicable solution in several areas, where the availability of fresh water is limited but brackish water or seawater are present. These natural resources (energy and water) are essential for each other; energy system conversion needs water, and electrical energy is necessary for water treatment or transport. Several interesting aspects include the study of saline desalination as an answer to freshwater needs and the application of renewable energy (RE) devices to satisfy electrical energy requirement for the desalination process. A merge between renewable energy and desalination is beneficial in that it is a sustainable and challenging option for the future. This work investigates the possibility of using renewable energy sources to supply the desalination process. In particular, as a case study, we analyze the application of wave energy sources in the Sicilian context.}, + language = {en}, + number = {12}, + urldate = {2022-02-14}, + journal = {Energies}, + publisher = {Multidisciplinary Digital Publishing Institute}, + author = {Franzitta, Vincenzo and Curto, Domenico and Milone, Daniele and Viola, Alessia}, + month = dec, + year = {2016}, + note = {Number: 12}, + keywords = {desalination, renewable energy, water, wave}, + pages = {1032}, +} + +@inproceedings{driscol_wave-powered_2019, + title = {Wave-{Powered} {AUV} {Recharging}: {A} {Feasibility} {Study}}, + shorttitle = {Wave-{Powered} {AUV} {Recharging}}, + url = {https://asmedigitalcollection.asme.org/OMAE/proceedings/OMAE2019/58899/V010T09A023/1068258}, + doi = {10.1115/OMAE2019-95383}, + language = {en}, + urldate = {2022-02-14}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Driscol, Blake P. and Gish, Andrew and Coe, Ryan G.}, + month = nov, + year = {2019}, +} + +@inproceedings{ramudu_ocean_2011, + title = {Ocean {Wave} {Energy}-{Driven} {Desalination} {Systems} for {Off}-grid {Coastal} {Communities} in {Developing} {Countries}}, + doi = {10.1109/GHTC.2011.38}, + abstract = {Resolute Marine Energy, Inc. (RME) is based in Boston, MA and is developing ocean wave energy converters (WECs) to benefit remote off-grid communities in developing nations. Our two WEC technologies are based on the heaving and surging motion of a buoy on the ocean surface (the 3-D WEC) and on a bottom-mounted hinged paddle that oscillates in the full water column (the Surge WEC). Our computer models and wave tank tests have revealed conversion efficiencies as high as 31\% in random sea states for the 3-D WEC and 40\% for the Surge WEC. Our objective is to complete all the testing and prototyping of both WECs by the end of 2012. RME plans to use the Surge WEC in conjunction with a reverse osmosis seawater desalination system in order to provide fresh water to coastal communities in developing countries. The proposed system will operate completely off-grid and will represent a clean and low-cost solution to the water scarcity problem commonly faced by remote communities. The fresh water production process comprises three stages: energy extraction from waves, process water acquisition and pressure regulation, and reverse osmosis. We estimate that an array of about 25 Surge WECs can produce 0.9 million m3 of fresh water per year, which is enough to meet the water needs of about 30,000 people while eliminating about 104 thousand tons of carbon dioxide emissions per year. RME has identified a municipality in South Africa as its launch customer and has the support of the South African Department of Water Affairs to develop the project. In South Africa, 1.97 million people live on the coast where wave energy is abundant and each person needs an additional 700 m3 of water per person per year to comply with United Nations Millennium Development Goals. After the first deployment, RME will expand to other remote communities in South Africa.}, + booktitle = {2011 {IEEE} {Global} {Humanitarian} {Technology} {Conference}}, + author = {Ramudu, Eshwan}, + month = oct, + year = {2011}, + keywords = {Communities, Desalination, Ocean waves, Oceans, Sea measurements, Surges, coastal communities, desalination, ocean wave energy, renewable energy, water}, + pages = {287--289}, +} + +@inproceedings{polinder_wave_2005, + title = {Wave energy converters and their impact on power systems}, + doi = {10.1109/FPS.2005.204210}, + abstract = {The objective of this paper is to give an introduction into ocean wave energy converters and their impact on power systems. The potential of wave energy is very large. There are a lot of different methods and systems for converting this power into electrical power, such as oscillating water columns, hinged contour devices as the Pelamis, overtopping devices as the wave dragon and the Archimedes wave swing. The main characteristics of these wave energy converters are discussed. A lot of research, development and engineering work is necessary to develop the experimental systems into reliable and cost-effective power stations. The wide variety of systems makes it difficult to say general things about power quality. However, the large variations of output power are a common problem. Whether this can be solved by using wave farms has to be investigated further}, + booktitle = {2005 {International} {Conference} on {Future} {Power} {Systems}}, + author = {Polinder, H. and Scuotto, M.}, + month = nov, + year = {2005}, + keywords = {Archimedes Wave Swing, Energy conversion, Ocean wave energy, Ocean waves, Petroleum, Power engineering and energy, Power generation, Power quality, Power system reliability, Power systems, Reliability engineering, Renewable energy resources, oscillating water column, power quality, power systems, renewable energy, wave energy conversion}, + pages = {9 pp.--9}, +} + +@article{borettiSolar, + title = {High-frequency standard deviation of the capacity factor of renewable energy facilities: {Part} 1—{Solar} photovoltaic}, + volume = {2}, + issn = {2578-4862}, + shorttitle = {High-frequency standard deviation of the capacity factor of renewable energy facilities}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/est2.101}, + doi = {10.1002/est2.101}, + abstract = {It is important to secure for every solar photovoltaic energy installation the highest-possible average (mean) capacity factor, as well as the lowest-possible SD, this latter computed with high frequency. High-frequency data of solar photovoltaic energy facilities are, however, very hard to be found. There are no estimations in the literature of the SD of the capacity factor of solar photovoltaic energy installations sampled with high frequency. Here, we show the data sampled every 5 minutes for the solar photovoltaic energy facilities connected to the Australian National Electricity Market grid during the year 2018. The average capacity factors are about 27\%-28\% flat panel, and 31\%-32\% tracking flat panel. The SDs have larger values at about 37\%-38\%, for coefficients of variation 120\%-130\%. As solar photovoltaic energy facilities only produce electricity during the daylight time, that is predictable, the statistic analysis is also applied to the daylight times only. While average daylight-only capacity factors are about twice the previous values, SDs are slightly less, for coefficients of variations more than halved at 55\%-65\%. The analysis highlights the extreme variability of solar energy helping the design of the energy storage needed for making possible an efficient, resilient, renewable energy-only grid. The collected and interpreted information and the provided analysis are filing a gap in the area of renewable energy and energy harvesting technology based on wind and solar photovoltaics where variability has been so far underevaluated.}, + language = {en}, + number = {1}, + urldate = {2022-01-26}, + journal = {Energy Storage}, + author = {Boretti, Alberto}, + year = {2020}, + keywords = {Australia, energy storage, renewable energy, solar energy, variability analysis, variability measures}, + pages = {e101}, +} + +@article{falcaoHydro, + title = {Wave energy utilization: {A} review of the technologies}, + volume = {14}, + issn = {1364-0321}, + shorttitle = {Wave energy utilization}, + url = {https://www.sciencedirect.com/science/article/pii/S1364032109002652}, + doi = {10.1016/j.rser.2009.11.003}, + abstract = {Sea wave energy is being increasingly regarded in many countries as a major and promising resource. The paper deals with the development of wave energy utilization since the 1970s. Several topics are addressed: the characterization of the wave energy resource; theoretical background, with especial relevance to hydrodynamics of wave energy absorption and control; how a large range of devices kept being proposed and studied, and how such devices can be organized into classes; the conception, design, model-testing, construction and deployment into real sea of prototypes; and the development of specific equipment (air and water turbines, high-pressure hydraulics, linear electrical generators) and mooring systems.}, + language = {en}, + number = {3}, + urldate = {2022-01-26}, + journal = {Renewable and Sustainable Energy Reviews}, + author = {Falcão, António F. de O.}, + month = apr, + year = {2010}, + keywords = {Equipment, Power take-off, Renewable energy, Review, Wave energy, Wave power}, + pages = {899--918}, +} + +@techreport{RM3, + address = {Albuquerque, New Mexico}, + title = {Methodology for {Design} and {Economic} {Analysis} of {Marine} {Energy} {Conversion} ({MEC}) {Technologies}}, + shorttitle = {{RM3}}, + url = {https://energy.sandia.gov/wp-content/gallery/uploads/SAND2014-9040-RMP-REPORT.pdf}, + language = {en}, + number = {SAND2014-9040}, + institution = {Sandia National Laboratories}, + author = {Neary, Vincent S and Previsic, Mirko and Jepsen, Richard A and Lawson, Michael J and Yu, Yi-Hsiang and Copping, Andrea E and Fontaine, Arnold A and Hallett, Kathleen C and Murray, Dianne K}, + month = mar, + year = {2014}, + pages = {262}, +} + +@book{newman, + title = {Marine {Hydrodynamics}}, + shorttitle = {newman}, + url = {https://direct.mit.edu/books/book/2693/Marine-Hydrodynamics}, + abstract = {Marine Hydrodynamics was specifically designed to meet the need for an ocean hydrodynamics text that is up-to-date in terms of both content and approach. The bo}, + language = {en}, + urldate = {2022-01-26}, + author = {Newman, J. N.}, + month = aug, + year = {1977}, +} + +@article{boretti_high-frequency_2020, + title = {High-frequency standard deviation of the capacity factor of renewable energy facilities: {Part} 1—{Solar} photovoltaic}, + volume = {2}, + issn = {2578-4862}, + shorttitle = {High-frequency standard deviation of the capacity factor of renewable energy facilities}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/est2.101}, + doi = {10.1002/est2.101}, + abstract = {It is important to secure for every solar photovoltaic energy installation the highest-possible average (mean) capacity factor, as well as the lowest-possible SD, this latter computed with high frequency. High-frequency data of solar photovoltaic energy facilities are, however, very hard to be found. There are no estimations in the literature of the SD of the capacity factor of solar photovoltaic energy installations sampled with high frequency. Here, we show the data sampled every 5 minutes for the solar photovoltaic energy facilities connected to the Australian National Electricity Market grid during the year 2018. The average capacity factors are about 27\%-28\% flat panel, and 31\%-32\% tracking flat panel. The SDs have larger values at about 37\%-38\%, for coefficients of variation 120\%-130\%. As solar photovoltaic energy facilities only produce electricity during the daylight time, that is predictable, the statistic analysis is also applied to the daylight times only. While average daylight-only capacity factors are about twice the previous values, SDs are slightly less, for coefficients of variations more than halved at 55\%-65\%. The analysis highlights the extreme variability of solar energy helping the design of the energy storage needed for making possible an efficient, resilient, renewable energy-only grid. The collected and interpreted information and the provided analysis are filing a gap in the area of renewable energy and energy harvesting technology based on wind and solar photovoltaics where variability has been so far underevaluated.}, + language = {en}, + number = {1}, + urldate = {2021-12-14}, + journal = {Energy Storage}, + author = {Boretti, Alberto}, + year = {2020}, + keywords = {Australia, energy storage, renewable energy, solar energy, variability analysis, variability measures}, + pages = {e101}, +} + +@article{noauthor_notitle_nodate, +} + +@inproceedings{du_control_2021, + title = {Control {Co}-{Design} for {Rotor} {Blades} of {Floating} {Offshore} {Wind} {Turbines}}, + url = {https://asmedigitalcollection.asme.org/IMECE/proceedings/IMECE2020/84546/V07AT07A052/1099255}, + doi = {10.1115/IMECE2020-24605}, + language = {en}, + urldate = {2021-10-20}, + publisher = {American Society of Mechanical Engineers Digital Collection}, + author = {Du, Xianping and Burlion, Laurent and Bilgen, Onur}, + month = feb, + year = {2021}, +} + +@article{mwasilu_potential_2019, + title = {Potential for power generation from ocean wave renewable energy source: a comprehensive review on state-of-the-art technology and future prospects}, + volume = {13}, + issn = {1752-1424}, + shorttitle = {Potential for power generation from ocean wave renewable energy source}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1049/iet-rpg.2018.5456}, + doi = {10.1049/iet-rpg.2018.5456}, + abstract = {This study presents a comprehensive review of the ocean wave technology and prospects of the wave energy penetration to cater to clean global energy demand. An ocean wave is a remarkable energy resource, but it presents a very small share in the global energy mix because of various challenges and limitations encountered to unleash its potential. This study evaluates intensively the complex barriers to the ocean energy technology deployment. The existing and prospective major wave energy projects are extensively examined to identify the learned lessons and optimise possible technological solutions to close the gap in the energy market. Furthermore, limiting and motivating factors to foster the global wave energy potential growth are deeply discussed to ignite new research directions and promising solutions. In particular, the wave energy converters as the underpinning enabling technology are fully investigated regarding their technical readiness, reliability, competitiveness and critical challenges. To complete the power equation, possible energy conversion stages, grid connection and integration issues are dealt with in a broad view of the wave energy power system. Eventually, this study aims at providing an updated ocean wave technology review and progress while introducing new research gap to fast-track contributions in the global energy mix.}, + language = {en}, + number = {3}, + urldate = {2021-10-20}, + journal = {IET Renewable Power Generation}, + author = {Mwasilu, Francis and Jung, Jin-Woo}, + year = {2019}, + keywords = {clean global energy demand, energy market, global energy mix, global wave energy potential growth, hydroelectric power, ocean energy technology deployment, ocean wave renewable energy source, ocean waves, power generation, renewable energy sources, underpinning enabling technology, wave energy converters, wave energy penetration, wave energy power system, wave power generation}, + pages = {363--375}, +} + +@techreport{bull_technological_2013, + address = {Albuquerque, NM}, + title = {Technological {Cost}-{Reduction} {Pathways} for {Point} {Absorber} {Wave} {Energy} {Converters} in the {Marine} {Hydrokinetic} {Environment}.}, + url = {https://www.osti.gov/servlets/purl/1092993/}, + doi = {10.2172/1092993}, + abstract = {This report considers and prioritizes the potential technical cost‐reduction pathways for offshore point absorber wave energy converters designed for ocean resources. This report focuses on cost‐reduction pathways related to the device technology rather than environmental monitoring or permitting opportunities. Three sources of information were used to understand current cost drivers and develop a prioritized list of potential cost‐reduction pathways: a literature review of technical work related to offshore wave activated body point absorbers, a reference device that was developed through the DOE Reference Model project, and a webinar with each of four industry device developers. Data from these information sources were aggregated and prioritized with respect to the potential impact on the lifetime levelized cost of energy, the potential for progress, the potential for success, and the confidence in success. Results indicated the four most promising cost‐reduction pathways include advanced controls, optimized structural design, improved power conversion, and optimized device profile.}, + language = {en}, + number = {SAND2013-7204, 1092993, 470210}, + urldate = {2021-10-20}, + institution = {Sandia National Lab}, + author = {Bull, Diana and Ochs, Margaret and Laird, Daniel and Boren, Blake and Jepsen, Richard}, + month = sep, + year = {2013}, +} + +@techreport{ochs_technological_2013, + title = {Technological {Cost}-{Reduction} {Pathways} for {Point} {Absorber} {Wave} {Energy} {Converters} in the {Marine} {Hydrokinetic} {Environment}.}, + url = {https://www.osti.gov/servlets/purl/1092993/}, + doi = {10.2172/1092993}, + number = {SAND2013-7204, 1092993, 470210}, + urldate = {2021-10-20}, + author = {Ochs, Margaret and Bull, Diana and Laird, Daniel and Jepsen, Richard and Boren, Blake}, + month = sep, + year = {2013}, + pages = {SAND2013--7204, 1092993, 470210}, +} + +@article{coe_initial_2020, + title = {Initial conceptual demonstration of control co-design for {WEC} optimization}, + volume = {6}, + issn = {2198-6452}, + url = {https://doi.org/10.1007/s40722-020-00181-9}, + doi = {10.1007/s40722-020-00181-9}, + abstract = {While some engineering fields have benefited from systematic design optimization studies, wave energy converters have yet to successfully incorporate such analyses into practical engineering workflows. The current iterative approach to wave energy converter design leads to sub-optimal solutions. This short paper presents an open-source MATLAB toolbox for performing design optimization studies on wave energy converters where power take-off behavior and realistic constraints can be easily included. This tool incorporates an adaptable control co-design approach, in that a constrained optimal controller is used to simulate device dynamics and populate an arbitrary objective function of the user’s choosing. A brief explanation of the tool’s structure and underlying theory is presented. To demonstrate the capabilities of the tool, verify its functionality, and begin to explore some basic wave energy converter design relationships, three conceptual case studies are presented. In particular, the importance of considering (and constraining) the magnitudes of device motion and forces in design optimization is shown.}, + language = {en}, + number = {4}, + urldate = {2021-10-20}, + journal = {Journal of Ocean Engineering and Marine Energy}, + author = {Coe, Ryan G. and Bacelli, Giorgio and Olson, Sterling and Neary, Vincent S. and Topper, Mathew B. R.}, + month = nov, + year = {2020}, + pages = {441--449}, +} + +@misc{garcia-sanz_control_2018, + address = {Washington, DC}, + title = {Control {Co}-{Design} for {Wind}/{Tidal}/{Wave} {Energy} {Systems}}, + url = {https://arpa-e.energy.gov/sites/default/files/2.%20Garcia-Sanz_ARPA-E_Presentation.pdf}, + urldate = {2021-10-20}, + author = {Garcia-Sanz, Mario}, + month = jul, + year = {2018}, +} + +@article{garcia-sanz_control_2019, + title = {Control {Co}-{Design}: {An} engineering game changer}, + volume = {1}, + issn = {2578-0727}, + shorttitle = {Control {Co}-{Design}}, + url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/adc2.18}, + doi = {10.1002/adc2.18}, + abstract = {Over the last few decades, control engineers have focused on developing innovative control theories and algorithms to regulate systems. These control efforts are usually at the last stage of a sequential strategy that allows engineering departments to work independently and consecutively toward the design of new products and systems. Control algorithms are usually developed at the end of that sequential process, once the mechanical, electrical, and other subsystems are completely defined. This paper discusses a different approach, named Control Co-Design (CCD). Following a concurrent engineering strategy that considers multidisciplinary subsystem interactions from the beginning of the design process, CCD applies control concepts to design the entire system and reach optimal solutions that are not achievable otherwise. This approach is a game changer for the control engineer, who will be not only the designer of advanced control algorithms but also the natural leader of the design of new products and systems. This paper describes some historic engineering breakthroughs achieved by applying CCD and explores some relevant application areas. It also presents three complementary CCD methodologies that include control-inspired paradigms, formal mathematical co-optimization techniques, and co-simulation campaigns to enhance engineering creativity and achieve radically new optimal designs.}, + language = {en}, + number = {1}, + urldate = {2021-10-20}, + journal = {Advanced Control for Applications}, + author = {Garcia-Sanz, Mario}, + year = {2019}, + keywords = {concurrent engineering, control, control co-design, design, systems engineering}, + pages = {e18}, +} + +@techreport{bull_systems_2017, + address = {Albuquerque, New Mexico}, + title = {Systems {Engineering} {Applied} to the {Development} of a {Wave} {Energy} {Farm}.}, + url = {https://www.osti.gov/biblio/1365534}, + number = {SAND2017-4507}, + institution = {Sandia National Lab}, + author = {Bull, Diana L. and Costello, Ronan Patrick and Babarit, Aurelien and Nielsen, Kim and Ferreira, Claudio Bittencourt and Kennedy, Ben and Malins, Robert Joseph and Dykes, Kathryn and Roberts, Jesse and Weber, Jochem}, + month = apr, + year = {2017}, +} + +@techreport{kilcher_marine_2021, + title = {Marine {Energy} in the {United} {States}: {An} {Overview} of {Opportunities}}, + shorttitle = {Marine {Energy} in the {United} {States}}, + url = {https://www.osti.gov/servlets/purl/1766861/}, + doi = {10.2172/1766861}, + number = {NREL/TP-5700-78773, 1766861, MainId:32690}, + urldate = {2021-10-19}, + author = {Kilcher, Levi and Fogarty, Michelle and Lawson, Michael}, + month = feb, + year = {2021}, + pages = {NREL/TP--5700--78773, 1766861, MainId:32690}, +} + +@techreport{noauthor_net_2021, + title = {Net {Zero} by 2050}, + url = {https://www.iea.org/reports/net-zero-by-2050}, + abstract = {Net Zero by 2050 - Analysis and key findings. A report by the International Energy Agency.}, + language = {en-GB}, + urldate = {2021-10-19}, + institution = {IEA}, + month = may, + year = {2021}, +} + +@misc{noauthor_climate_2019, + title = {Climate change impacts}, + url = {https://www.noaa.gov/education/resource-collections/climate/climate-change-impacts}, + urldate = {2021-10-19}, + journal = {NOAA}, + month = feb, + year = {2019}, +} + +@techreport{ipcc_summary_2021, + title = {Summary for {Policymakers}}, + url = {https://www.ipcc.ch/report/ar6/wg1/downloads/report/IPCC_AR6_WGI_SPM.pdf}, + urldate = {2021-10-19}, + institution = {Cambridge University Press}, + author = {{IPCC}}, + month = aug, + year = {2021}, +} + +@article{agte_mdo_2010, + title = {{MDO}: assessment and direction for advancement—an opinion of one international group}, + volume = {40}, + issn = {1615-147X, 1615-1488}, + shorttitle = {{MDO}}, + url = {http://link.springer.com/10.1007/s00158-009-0381-5}, + doi = {10.1007/s00158-009-0381-5}, + language = {en}, + number = {1-6}, + urldate = {2021-08-28}, + journal = {Structural and Multidisciplinary Optimization}, + author = {Agte, Jeremy and de Weck, Olivier and Sobieszczanski-Sobieski, Jaroslaw and Arendsen, Paul and Morris, Alan and Spieck, Martin}, + month = jan, + year = {2010}, + pages = {17--33}, +} + +@incollection{cooley_municipal_2012, + address = {Oxford ; New York}, + edition = {1st edition}, + title = {Municipal {Water} {Use}}, + isbn = {978-0-19-985944-3}, + language = {English}, + booktitle = {A {Twenty}-{First} {Century} {U}.{S}. {Water} {Policy}}, + publisher = {Oxford University Press}, + author = {Cooley, Heather}, + month = jul, + year = {2012}, +} + +@misc{walton_water_2016, + title = {Water {Systems} {Need} {Investment} and {Affordability}}, + url = {https://www.circleofblue.org/2016/united-states/water-systems-need-investment-affordability/}, + abstract = {Utilities are pulled by opposing economic and infrastructure pressures.}, + language = {en-US}, + urldate = {2021-05-28}, + journal = {Circle of Blue}, + author = {Walton, Brett}, + month = mar, + year = {2016}, +} + +@incollection{fischer_citizens_2000, + address = {Durham, NC}, + title = {Citizens as {Local} {Experts}}, + isbn = {978-0-8223-2622-9}, + language = {English}, + booktitle = {Citizens, {Experts}, and the {Environment}: {The} {Politics} of {Local} {Knowledge}}, + publisher = {Duke University Press Books}, + author = {Fischer, Frank}, + month = dec, + year = {2000}, +} + +@article{hohn_flints_2016, + chapter = {Magazine}, + title = {Flint’s {Water} {Crisis} and the ‘{Troublemaker}’ {Scientist}}, + issn = {0362-4331}, + url = {https://www.nytimes.com/2016/08/21/magazine/flints-water-crisis-and-the-troublemaker-scientist.html}, + abstract = {Marc Edwards took up the cause of water activists in Michigan a year ago — and earned their trust. Now he’s fighting to keep it.}, + language = {en-US}, + urldate = {2021-05-28}, + journal = {The New York Times}, + author = {Hohn, Donovan}, + month = aug, + year = {2016}, + keywords = {Edwards, Marc (1964- ), Flint (Mich), Hazardous and Toxic Substances, Hohn, Donovan, Lead, Ruffalo, Mark, Virginia Polytechnic Institute and State University, Water, Water Pollution}, +} + +@article{bosman_ep_2016, + chapter = {U.S.}, + title = {E.{P}.{A}. {Waited} {Too} {Long} to {Warn} of {Flint} {Water} {Danger}, {Report} {Says}}, + issn = {0362-4331}, + url = {https://www.nytimes.com/2016/10/21/us/epa-waited-too-long-to-warn-of-flint-water-danger-report-says.html}, + abstract = {The findings of the agency’s internal inspector general suggests the federal government should shoulder some of the blame for the city water supply’s continued lead contamination.}, + language = {en-US}, + urldate = {2021-05-28}, + journal = {The New York Times}, + author = {Bosman, Julie}, + month = oct, + year = {2016}, + keywords = {Bosman, Julie, Environmental Protection Agency, Flint (Mich), Lead, Water, Water Pollution}, +} + +@article{edwards_flint_2016, + title = {The {Flint} {Water} {Crisis}: {Overturning} the {Research} {Paradigm} to {Advance} {Science} and {Defend} {Public} {Welfare}}, + doi = {http://dx.doi.org/10.1021/acs.est.6b03573}, + number = {50}, + journal = {Environmental Science and Technology}, + author = {Edwards, Marc A. and Pruden, Amy}, + month = aug, + year = {2016}, + pages = {8935--8936}, +} + +@techreport{davis_flint_2016, + address = {Michigan}, + title = {Flint {Water} {Advisory} {Task} {Force} {Final} {Report}}, + institution = {Office of Governor Rick Snyder}, + author = {Davis, Matthew M. and Kolb, Chris and Reynolds, Lawrence and Rothstein, Eric and Sikkema, Ken}, + month = mar, + year = {2016}, + pages = {116}, +} + +@article{sorkin_contempt_2016, + title = {The {Contempt} {That} {Poisoned} {Flint}’s {Water}}, + url = {https://www.newyorker.com/news/amy-davidson/the-contempt-that-poisoned-flints-water}, + abstract = {When Michigan officials systematically ignored tests and dismissed concerns, it was the city’s citizens who suffered.}, + language = {en-US}, + urldate = {2021-05-28}, + journal = {The New Yorker}, + author = {Sorkin, Amy Davidson}, + month = jan, + year = {2016}, +} + +@incollection{vanderwarker_water_2012, + address = {Oxford ; New York}, + edition = {1st edition}, + title = {Water and {Environmental} {Justice}}, + isbn = {978-0-19-985944-3}, + abstract = {It is zero hour for a new US water policy! At a time when many countries are adopting new national approaches to water management, the United States still has no cohesive federal policy, and water-related authorities are dispersed across more than 30 agencies. Here, at last, is a vision forwhat we as a nation need to do to manage our most vital resource. In this book, leading thinkers at world-class water research institution the Pacific Institute present clear and readable analysis and recommendations for a new federal water policy to confront our national and global challenges at acritical time.What exactly is at stake? In the 21st century, pressures on water resources in the United States are growing and conflicts among water users are worsening. Communities continue to struggle to meet water quality standards and to ensure that safe drinking water is available for all. And new challengesare arising as climate change and extreme events worsen, new water quality threats materialize, and financial constraints grow. Yet the United States has not stepped up with adequate leadership to address these problems. The inability of national policymakers to safeguard our water makes the United States increasingly vulnerable to serious disruptions of something most of us take for granted: affordable, reliable, and safe water. This book provides an independent assessment of water issues and water management inthe United States, addressing emerging and persistent water challenges from the perspectives of science, public policy, environmental justice, economics, and law. With fascinating case studies and first-person accounts of what helps and hinders good water management, this is a clear-eyed look atwhat we need for a 21st century U.S. water policy.}, + language = {English}, + booktitle = {A {Twenty}-{First} {Century} {U}.{S}. {Water} {Policy}}, + publisher = {Oxford University Press}, + author = {Vanderwarker, Amy}, + month = jul, + year = {2012}, +} + +@article{goodnough_when_2016, + chapter = {U.S.}, + title = {When the {Water} {Turned} {Brown}}, + issn = {0362-4331}, + url = {https://www.nytimes.com/2016/01/24/us/when-the-water-turned-brown.html}, + abstract = {As every major decision was made over more than a year, officials at all levels of government acted in ways that contributed to the public health emergency in Flint, Mich.}, + language = {en-US}, + urldate = {2021-05-28}, + journal = {The New York Times}, + author = {Goodnough, Abby and Davey, Monica and Smith, Mitch}, + month = jan, + year = {2016}, + keywords = {Davey, Monica, Flint (Mich), Goodnough, Abby, Lead, Michigan, Smith, Mitch, Water, Water Pollution}, +} + +@article{schmidt_bush_2008, + title = {The {Bush} {Doctrine} and the {Iraq} {War}: {Neoconservatives} {Versus} {Realists}}, + volume = {17}, + issn = {0963-6412}, + shorttitle = {The {Bush} {Doctrine} and the {Iraq} {War}}, + url = {https://doi.org/10.1080/09636410802098990}, + doi = {10.1080/09636410802098990}, + abstract = {The aim of this article is to contribute to our understanding of both the debate over the war in Iraq and its implications for the future of U.S. foreign policy by examining the relationship between neoconservatism and realism. The article begins by establishing the connection between the tenets of neoconservatism and the arguments for war against Iraq. The primary focus is on the neoconservative Bush Doctrine that served as the primary justification for the Iraq War. Next, we turn to the arguments that realists put forth in their attempt to steer America away from the road to war. The realists, however, proved to be unsuccessful in their attempt to prevent war and in the final section we address the central question of the article; why did realism fail in the debate over Iraq?}, + number = {2}, + urldate = {2021-05-27}, + journal = {Security Studies}, + author = {Schmidt, Brian C. and Williams, Michael C.}, + month = may, + year = {2008}, + pages = {191--220}, +} + +@article{kaufmann_threat_2004, + title = {Threat {Inflation} and the {Failure} of the {Marketplace} of {Ideas}: {The} {Selling} of the {Iraq} {War}}, + volume = {29}, + issn = {0162-2889}, + url = {https://doi.org/10.1162/0162288041762940}, + doi = {10.1162/0162288041762940}, + number = {1}, + urldate = {2021-05-27}, + journal = {International Security}, + author = {Kaufmann, Chaim}, + month = jul, + year = {2004}, + pages = {5--48}, +} + +@article{nelkin_political_1975, + title = {The {Political} {Impact} of {Technical} {Expertise}}, + volume = {5}, + issn = {0306-3127}, + url = {https://doi.org/10.1177/030631277500500103}, + doi = {10.1177/030631277500500103}, + language = {en}, + number = {1}, + urldate = {2021-05-27}, + journal = {Social Studies of Science}, + author = {Nelkin, Dorothy}, + month = feb, + year = {1975}, + pages = {35--54}, +} + +@book{ricks_fiasco_2006, + address = {New York}, + title = {Fiasco: {The} {American} {Military} {Adventure} in {Iraq}, 2003 to 2005}, + isbn = {978-0-14-303891-7}, + shorttitle = {Fiasco}, + abstract = {Coming from The Penguin Press in February 2009, Thomas E. Ricks's The GambleThomas E. Ricks 's \#1 New York Times bestseller, Fiasco, transformed the political dialogue on the war in Iraq. Now Ricks has picked up where Fiasco left off-Iraq, late 2005. With more newsbreaking information, including hundreds of hours of interviews with top U.S. officials who were on the ground during the surge and beyond, The Gamble is the natural companion piece to Fiasco, and the two are sure to become the definitive examinations of what ultimately went wrong in Iraq.}, + language = {English}, + publisher = {Penguin Books}, + author = {Ricks, Thomas E.}, + year = {2006}, +} + +@inproceedings{grandi_evaluation_2013, + address = {Ljubljana, Slovenia}, + title = {Evaluation of current ripple amplitude in three-phase {PWM} voltage source inverters}, + isbn = {978-1-4673-4913-0 978-1-4673-4911-6}, + url = {http://ieeexplore.ieee.org/document/6601146/}, + doi = {10.1109/CPE.2013.6601146}, + abstract = {Determination of current ripple in three-phase PWM voltage source inverters (VSI) is important for both design and control purposes, since this is the most popular conversion topology for energy conversion systems. In this paper the complete analysis of the peak-to-peak current ripple distribution over a fundamental period is given for three-phase VSIs. In particular, peak-to-peak current ripple amplitude is analytically determined as a function of the modulation index. Minimum, maximum, and average values are also emphasized. Although the reference is made to continuous symmetric PWM, being the most simple and effective solution to minimize the current ripple, the analysis could be easily extended to either discontinuous or unsymmetrical modulation, both carrier-based and space vector PWM. The analytical developments for all the different subcases are verified by numerical simulations.}, + language = {en}, + urldate = {2021-05-17}, + booktitle = {2013 {International} {Conference}-{Workshop} {Compatibility} {And} {Power} {Electronics}}, + publisher = {IEEE}, + author = {Grandi, G. and Loncarski, J.}, + month = jun, + year = {2013}, + pages = {156--161}, +} + +@misc{yngve_solbakken_space_2017, + title = {Space {Vector} {PWM} {Intro}}, + url = {https://www.switchcraft.org/learning/2017/3/15/space-vector-pwm-intro}, + abstract = {Get rich, smart and famous by understanding the dark arts of space vector pulse width modulation! A must for everyone aspiring to become a star in the drives community!}, + language = {en-US}, + urldate = {2021-05-16}, + journal = {Switchcraft}, + author = {{Yngve Solbakken}}, + month = may, + year = {2017}, +} + +@misc{mathworks_permanent_nodate, + title = {Permanent magnet synchronous machine}, + url = {https://www.mathworks.com/help/physmod/sps/powersys/ref/permanentmagnetsynchronousmachine.html}, + urldate = {2021-05-16}, + journal = {Mathworks Help Center Documentation}, + author = {{Mathworks}}, +} + +@book{hanselman_brushless_2006, + address = {Lebanon, Ohio}, + edition = {2}, + title = {Brushless {Permanent} {Magnet} {Motor} {Design}}, + isbn = {1-881855-15-5}, + url = {https://blog.avislab.com/uploads/2014/05/BrushlessPermanentMagnetMotorDesignVersion2.pdf}, + abstract = {Written for electrical, electronics, and mechanical engineers responsible for designing and specifying motors, the book provides details of brushless DC and synchronous motors, as well as both radial and axial motor...}, + language = {en}, + urldate = {2021-05-14}, + publisher = {Magna Physics Publishing}, + author = {Hanselman, Duane C.}, + year = {2006}, +} + +@article{decoret_fourrier_2004, + title = {Fourrier transform of an impulsion train}, + language = {en}, + author = {Decoret, Xavier}, + month = jul, + year = {2004}, + pages = {3}, +} + +@misc{ka-raceing_ev_ka-raceing_2021, + title = {{KA}-{RaceIng} {Rollout} 2021 powered by {BASF}}, + url = {https://www.youtube.com/watch?v=xPRnP5qF-JQ}, + language = {German}, + collaborator = {{KA-RaceIng e.V.}}, + month = may, + year = {2021}, +} + +@misc{noauthor_vehicles_nodate, + title = {Vehicles – {ELEFANT} {RACING}}, + url = {https://elefantracing.de/vehicles}, + urldate = {2021-05-14}, +} + +@article{haugland_new_2019, + title = {A {New} {Motor}}, + url = {https://issuu.com/revolventnu/docs/spring_magazine_2019}, + number = {1}, + journal = {Revolve}, + author = {Haugland, Kristoffer}, + month = may, + year = {2019}, + pages = {20--21}, +} + +@misc{noauthor_mythen_nodate, + title = {Mythen}, + url = {https://electric.amzracing.ch/en/team/2019}, + urldate = {2021-05-14}, + journal = {AMZ Racing}, +} + +@misc{noauthor_amz_nodate, + title = {{AMZ} {Racing}}, + url = {https://electric.amzracing.ch/en/team/2019}, + urldate = {2021-05-14}, +} + +@incollection{woodson_review_1968, + address = {New York, NY}, + title = {Review of {Electromagnetic} {Theory}}, + volume = {1}, + url = {https://ocw.mit.edu/resources/res-6-003-electromechanical-dynamics-spring-2009/front-end-matter/app_b_emd.pdf}, + booktitle = {Electromechanical {Dynamics}}, + publisher = {John Wiley and Sons, Inc.}, + author = {Woodson, Herbert H. and Melcher, James R.}, + year = {1968}, + pages = {B19--B24}, +} + +@incollection{kassakian_introduction_2010, + series = {Addison-{Wesley} series in electrical engineering}, + title = {Introduction to {Rectifier} {Circuits}}, + isbn = {978-81-317-3320-2}, + booktitle = {Principles of {Power} {Electronics}}, + publisher = {Pearson Education}, + author = {Kassakian, John G. and Schlecht, Martin F. and Verghese, George C.}, + year = {2010}, + pages = {52}, +} + +@article{formula_student_germany_team_2019, + title = {Team {Profiles} {Electric}}, + url = {https://www.formulastudent.de/fileadmin/user_upload/all/2019/PR_Media/FSG2019%20magazine%20v20190724_LQ.pdf}, + journal = {Formula Student Germany}, + author = {{Formula Student Germany}}, + month = jul, + year = {2019}, + pages = {112--126}, +} + +@phdthesis{owen_benefits_2018, + address = {Cambridge, MA}, + type = {Thesis}, + title = {The benefits of {4WD} drive for a high-performance {FSAE} electric racecar}, + copyright = {MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.}, + url = {https://dspace.mit.edu/handle/1721.1/119907}, + abstract = {This thesis explores the performance of Rear-Wheel Drive (RWD) and Four-Wheel Drive (4WD) FSAE Electric racecars with regards to acceleration and regenerative braking. The benefits of a 4WD architecture are presented along with the tools for further optimization and understanding. The goal is to provide real, actionable information to teams deciding to pursue 4WD vehicles and quantify the results of difficult engineering trade-offs. Analytical bicycle models are used to discuss the effect of the Center of Gravity location on vehicle performance, and Acceleration-Velocity Phase Space (AVPS) is introduced as a useful tool for optimization. Lap-time Simulation is used to determine the regenerative braking energy available for recovery during a race for RWD and 4WD vehicles.}, + language = {eng}, + urldate = {2021-05-14}, + school = {Massachusetts Institute of Technology}, + author = {Owen, Elliot Douglas}, + year = {2018}, +} + +@article{wrobel_characterizing_2016, + title = {Characterizing the in situ {Thermal} {Behavior} of {Selected} {Electrical} {Machine} {Insulation} and {Impregnation} {Materials}}, + volume = {52}, + doi = {10.1109/TIA.2016.2589219}, + number = {6}, + journal = {IEEE Transactions on Industry Applications}, + author = {Wrobel, Rafal and Williamson, Samuel J. and Booker, Julian D. and Mellor, Phil H.}, + year = {2016}, + pages = {4678--4687}, +} + +@misc{sylvestre_120kw_nodate, + title = {{120kW} {Quad} {Inverter} for {All}-{Wheel} {Drive} {Electric} {Racecar}}, + url = {https://wisconsinracing.org/wp-content/uploads/2020/10/WR_Quad_Inverter.pdf}, + publisher = {Wisconsin Formula SAE Racing}, + author = {Sylvestre, Jason and Sixel, Will and Shozda, Alex}, +} + +@inproceedings{swaminathan_effect_2017, + title = {Effect of {Practical} {Losses} on {Optimal} {Design} of {Batch} {RO} {Systems}}, + booktitle = {Proceedings of {IDA} {World} {Congress} on {Desalination} and {Water} {Reuse}}, + publisher = {International Desalination Association}, + author = {Swaminathan, Jaichander and Stover, Richard L. and Tow, Emily W. and Warsinger, David M. and Lienhard, John H.}, + month = oct, + year = {2017}, +} diff --git a/pubs/applied-ocean-research-model/shared-pkg.tex b/pubs/applied-ocean-research-model/shared-pkg.tex new file mode 100644 index 000000000..92ef1ce77 --- /dev/null +++ b/pubs/applied-ocean-research-model/shared-pkg.tex @@ -0,0 +1,120 @@ +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{soul} % for highlighting text with \hl +\usepackage{multirow} % for multi row/col tables +\usepackage{tikz} +\usepackage{array} % required for text wrapping in tables +\usepackage{pdflscape} % for landscape table +\usepackage{longtable} % for table going multiple pages +\usepackage{rotating} % for rotated table headers +\usepackage{color} % also required for highlighting + +% save bibliography command before bibcop modifies it +\makeatletter +\let\bibcop@truebibliography\bibliography +\makeatother +\usepackage{bibcop} % warnings for incorrect citations + +\usepackage[title,titletoc]{appendix} % make it possible to do \ref of an appendix section without automatically getting the word "Appendix" +\usepackage{stmaryrd} % element wise division symbol used in hessian scaling +\usepackage{verbatim} % word counts +\usepackage{textcomp} % cent symbol + +\ifdefined\DISSERTATION + \usepackage[numbers,square]{natbib} % citep command +\else + \usepackage[numbers]{natbib} % citep command +\fi +\usepackage[unicode,hypertexnames=false]{hyperref} +\usepackage{cleveref} + +\newcommand*\rot{\rotatebox{90}} % for rotated table headers +\newcommand{\phant}{\vphantom{\frac{-1}{\rho_M/\rho_w - 1}}} % to make inequality stacks the right height + +\newcommand{\summarytexcount}[1]{\textbf{Word Count} + \immediate\write18{texcount -nosub -inc -sum=[1,1,1,0,0,0,0] -q -brief -template="{title}:\\n {sum} words, {float} figs/tables, {dsmath} full equations, {inline} inline equations.\\n" #1.tex > #1.wcsum }% + \verbatiminput{#1.wcsum}% +} + +\newcommand{\detailtexcount}[2]{\textbf{Section Breakdown #1} + \immediate\write18{texcount -sub=#2 -inc -sum=[1,1,1,0,0,0,0] -q -brief -template="{SUB?{title}:\\n {sum} words, {float} figs/tables, {dsmath} full equations, {inline} inline equations.\\n?SUB}\\n" #1.tex > #1.wcdetail }% + \verbatiminput{#1.wcdetail} +}% + +\def\fillandplacepagenumber{% for landscape page numbers + \par\thispagestyle{empty}% + \vbox to 0pt{\vss}\vfill + \vbox to 0pt{\baselineskip0pt + \hbox to\linewidth{\hss}% + \baselineskip\footskip + \hbox to\linewidth{% + \hfil\thepage\hfil}\vss}} + +% allows bibcop to be used when bibliography includes multiple arguments +\makeatletter +\AtBeginDocument{% +\ifdefined\bibliography + + \RequirePackage{etoolbox} + + \renewcommand{\bibliography}[1]{% + \def\bibcop@list{#1}% + \@for\bibcop@file:=\bibcop@list\do{% + \edef\bibcop@file{\bibcop@file}% + \ifx\bibcop@file\@empty\else + \expandafter\bibcop@processbib\expandafter{\bibcop@file}% + \fi + }% + \bibcop@truebibliography{#1}% + } + + \newcommand{\bibcop@processbib}[1]{% + % trim spaces + \edef\bibcop@file{\zap@space#1 \@empty}% + + % skip empty entries + \ifx\bibcop@file\@empty + \relax + \else + + % build .bib filename + \edef\bibcop@bibfile{\bibcop@file.bib}% + + % use kpsewhich to resolve path using BIBINPUTS + \immediate\write18{kpsewhich \bibcop@bibfile > aux/\jobname.bibcop.tmp}% + + % read result + \begingroup + \endlinechar=-1 + \newread\bibcop@in + \openin\bibcop@in=aux/\jobname.bibcop.tmp + \read\bibcop@in to \bibcop@resolved + \closein\bibcop@in + \xdef\bibcop@resolved{\bibcop@resolved}% + \endgroup + + % fallback if kpsewhich fails + \ifx\bibcop@resolved\@empty + \edef\bibcop@resolved{\bibcop@bibfile}% + \fi + + % call original bibcop + \begingroup + \edef\x{\endgroup + \noexpand\bibcop@exec{\bibcop@resolved}% + }% + \x + + \fi + } + +\fi +} + +\AddToHook{cmd/appendices/before}{% + \crefalias{section}{appendix}% + \crefalias{subsection}{appendix} + \crefalias{subsubsection}{appendix} + \crefalias{chapter}{appendix} +} +\makeatother \ No newline at end of file diff --git a/pubs/applied-ocean-research-model/zotero-meem-refs.bib b/pubs/applied-ocean-research-model/zotero-meem-refs.bib new file mode 100644 index 000000000..b772cff60 --- /dev/null +++ b/pubs/applied-ocean-research-model/zotero-meem-refs.bib @@ -0,0 +1,485 @@ + +@article{nguyen_theoretical_2024, + title = {Theoretical modeling of a bottom-raised oscillating surge wave energy converter structural loadings and power performances}, + volume = {149}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118724001536}, + doi = {10.1016/j.apor.2024.104031}, + abstract = {This study presents theoretical formulations to evaluate the fundamental parameters and performance characteristics of a bottom-raised oscillating surge wave energy converter (OSWEC) device. Employing a flat plate assumption and potential flow formulation in elliptical coordinates, closed-form equations for the added mass, radiation damping, and excitation forces/torques in the relevant pitch-pitch and surge-pitch directions of motion are developed and used to calculate the system's response amplitude operator and the forces and moments acting on the foundation. The model is benchmarked against numerical simulations using WAMIT and WEC-Sim, showcasing excellent agreement. The sensitivity of plate thickness on the analytical hydrodynamic solutions is investigated over several thickness-to-width ratios ranging from 1:80 to 1:10. The results show that as the thickness of the benchmark OSWEC increases, the deviation of the analytical hydrodynamic coefficients from the numerical solutions grows from 3 \% to 25 \%. Differences in the excitation forces and torques, however, are contained within 12 \%. While the flat plate assumption is a limitation of the proposed analytical model, the error is within a reasonable margin for use in the design space exploration phase before a higher-fidelity (and thus more computationally expensive) model is employed. A parametric study demonstrates the ability of the analytical model to quickly sweep over a domain of OSWEC dimensions, illustrating the analytical model's utility in the early phases of design.}, + urldate = {2026-05-19}, + journal = {Applied Ocean Research}, + author = {Nguyen, Nhu and Davis, Jacob and Tom, Nathan and Thiagarajan, Krish}, + month = aug, + year = {2024}, + keywords = {Analytical, And power production, Design optimization, Hydrodynamic coefficients, OSWEC, Structural loads, Theoretical model, WAMIT, WEC-Sim, Wave energy}, + pages = {104031}, +} + +@inproceedings{nguyen_theoretical_2024-1, + address = {Singapore, Singapore}, + series = {{OMAE}}, + title = {Theoretical {Modeling} {Toolbox} for {Diffraction} {Problems} of {Common} {Shaped} {Bodies}}, + volume = {7: ocean renewable energy}, + isbn = {978-0-7918-8785-1}, + url = {https://dx.doi.org/10.1115/OMAE2024-128018}, + doi = {10.1115/OMAE2024-128018}, + abstract = {Abstract. The present study aims to develop an open-source Python-based toolbox for the theoretical modeling of diffraction problems in commonly shaped bodies. The project has dual objectives: 1) to offer a quick and efficient means for design exploration during the initial project phase and 2) to serve as a tool for code comparison and benchmarking for numerical models. While numerical solvers are commonly employed due to the complexity of obtaining exact solutions, our prior work on OSWEC modeling has demonstrated the advantages of an analytical approach, characterized by a simple setup and significantly quick computational time (typically less than a second for a hundred cases). This analytical approach is well-suited for early stages of project development, encompassing design space exploration and device geometry optimization. The current phase of the toolbox includes diffraction solutions for three fundamental cylindrical bodies: bottom-seated surface-piercing cylinder, truncated cylinder, and bottom-seated surface-piercing elliptical cylinder. The outputs encompass domain velocity potentials, excitation forces, and moments, all validated using Capytaine (a Boundary Element Method modeling program). The project is ongoing and is planned for expansion to provide solutions for other shapes. Additionally, an extension of the program to include radiation problems is also scheduled.}, + language = {en}, + urldate = {2026-05-19}, + booktitle = {{ASME} 2024 43rd {International} {Conference} on {Ocean}, {Offshore} and {Arctic} {Engineering}}, + publisher = {ASME}, + author = {Nguyen, Nhu}, + month = jun, + year = {2024}, + pages = {8}, +} + +@inproceedings{chau_inertia_2010, + address = {Harbin, China}, + title = {Inertia and {Damping} of {Heaving} {Compound} {Cylinders}}, + url = {https://www.academia.edu/73219479/Inertia_and_Damping_of_Heaving_Compound_Cylinders_Fun}, + abstract = {for The 25th International Workshop on Water Waves and Floating Bodies, Harbin, China, May 9-13, 2010. Inertia and Damping of Heaving Compound Cylinders Fun Pang Chau∗ and Ronald W. Yeung† Department of Mechanical Engineering University of California}, + language = {en}, + urldate = {2023-09-28}, + booktitle = {25th {International} {Workshop} on {Water} {Waves} and {Floating} {Bodies}}, + author = {Chau, Fun Pang and Yeung, Ronald W.}, + month = jan, + year = {2010}, + pages = {4}, +} + +@techreport{fuchs_wave_1954, + type = {Technical {Memorandum}}, + title = {Wave forces on piles: a diffraction theory}, + shorttitle = {Wave forces on piles}, + url = {https://hdl.handle.net/11681/3444}, + language = {en}, + number = {69}, + urldate = {2026-05-11}, + institution = {United States Department of the Army Corps of Engineers}, + author = {Fuchs, R. A. and MacCamy, R. C.}, + month = dec, + year = {1954}, + pages = {22}, +} + +@inproceedings{mavrakos_hydrodynamic_2012, + address = {Rio de Janeiro, Brazil}, + series = {{OMAE}}, + title = {Hydrodynamic {Analysis} of a {Vertical} {Axisymmetric} {Oscillating} {Water} {Column} {Device} {Floating} in {Finite} {Depth} {Waters}}, + volume = {7: Ocean Space Utilization; Ocean Renewable Energy}, + isbn = {978-0-7918-4494-6}, + url = {https://dx.doi.org/10.1115/OMAE2012-83998}, + doi = {10.1115/OMAE2012-83998}, + abstract = {A floating oscillating water column device (OWC) consists of a vertical cylinder, with a finite wall thickness, partly submerged as an open-bottom chamber in which air is trapped above the inner water free surface. The chamber is connected with the outer atmosphere by a duct housing an air turbine. Forced by incident waves from any direction, the water surface inside pushes the dry air above through a Wells turbine system to generate power. In the present contribution the volume flows, the wave forces, the added mass and damping coefficients and the mean second-order loads for various configurations of OWC devices are being presented. Finally, it is tested how differentiations in the device’s geometry (wall thickness, draught, shape of the chamber, turbine characterises) affect the inner pressure and as a result the absorbed power by the device.}, + language = {en}, + number = {1}, + urldate = {2026-05-29}, + booktitle = {{ASME} 2012 31st {International} {Conference} on {Ocean}, {Offshore} and {Arctic} {Engineering}}, + publisher = {ASME}, + author = {Mavrakos, Spyros A. and Konispoliatis, Dimitrios N.}, + month = jul, + year = {2012}, + pages = {577--586}, +} + +@article{khanal_fully_2025, + title = {Fully differentiable boundary element solver for hydrodynamic sensitivity analysis of wave-structure interactions}, + volume = {163}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118725002937}, + doi = {10.1016/j.apor.2025.104707}, + abstract = {Accurately predicting wave-structure interactions is critical for the effective design and analysis of marine structures. This is typically achieved using solvers that employ the boundary element method (BEM), which relies on linear potential flow theory. Precise estimation of the sensitivity of these interactions is equally important for system-level applications such as design optimization. Current BEM solvers are unable to provide these sensitivities as they do not support automatic differentiation (AD). To address these challenges, we have developed a fully differentiable BEM solver, MarineHydro.jl, for marine hydrodynamics, capable of calculating diffraction and radiation coefficients, and their derivatives with high accuracy. MarineHydro.jl implements both direct and indirect BEM formulations and incorporates two Green’s function expressions, offering a trade-off between accuracy and computational speed. Gradients are computed using reverse-mode AD within the Julia programming language. As a first case study, we analyze two identical floating spheres, evaluating gradients with respect to physical dimensions, inter-sphere distance, and wave frequency. Verification studies demonstrate excellent agreement between AD-computed gradients and finite-difference results. In a second case study, we leverage AD-computed gradients to optimize the mechanical power production of a pair of wave energy converters (WECs). This represents the first application of exact gradients obtained from BEM solver in WEC power optimization. Both studies offer valuable insights into hydrodynamic interactions and advance the understanding of layout optimization. Beyond power optimization, the differentiable BEM solver highlights the potential of AD for offshore design studies. It paves the way for broader applications in machine learning integration, optimal control, and uncertainty quantification of hydrodynamic coefficients, offering new directions for advancing wave-structure interaction analysis and system-level optimization.}, + urldate = {2026-03-20}, + journal = {Applied Ocean Research}, + author = {Khanal, Kapil and Ströfer, Carlos A. Michelén and Ancellin, Matthieu and Haji, Maha N.}, + month = oct, + year = {2025}, + keywords = {Adjoint, Automatic differentiation, Boundary element method, Differentiable solver, Exact sensitivities}, + pages = {104707}, +} + +@misc{best_openflash-code_2026, + title = {{OpenFLASH}}, + copyright = {MIT}, + url = {https://doi.org/10.5281/zenodo.17453418}, + doi = {https://doi.org/10.5281/zenodo.17453418}, + abstract = {Open source flexible library for analytical and semi-analytical hydrodynamics}, + urldate = {2026-05-20}, + publisher = {Zenodo}, + author = {Best, Hope and McCabe, Rebecca and Khanal, Kapil and Bimali, Yinghui and Lo, En and Jiang, Ruiyang and Fernandez, John and Treacy, Collin}, + collaborator = {Haji, Maha N.}, + month = apr, + year = {2026}, + keywords = {hydrodynamics, linear-potential-theory, matched-eigenfunction-expansion, wave-energy}, +} + +@inproceedings{seah_symmetric_2006, + title = {Symmetric {Resonant} {Modes} {Between} {Twin} {Bodies}}, + url = {http://iwwwfb.org/Abstracts/iwwwfb21/iwwwfb21_44.pdf}, + booktitle = {21st {International} {Workshop} on {Water} {Waves} and {Floating} {Bodies}}, + author = {Seah, Robert K. M. and Yeung, Ronald W.}, + month = apr, + year = {2006}, + pages = {4}, +} + +@incollection{hiptmair_survey_2016, + series = {Lecture {Notes} in {Computational} {Science} and {Engineering}}, + title = {A survey of {Trefftz} methods for the {Helmholtz} equation}, + volume = {1}, + url = {https://centaur.reading.ac.uk/42403/}, + language = {en}, + number = {1}, + urldate = {2026-05-17}, + booktitle = {Building bridges: connections and challenges in modern approaches to numerical {PDEs}}, + publisher = {Springer}, + author = {Hiptmair, Ralf and Moiola, Andrea and Perugia, Ilaria}, + year = {2016}, +} + +@article{pavlidou_novel_2022, + title = {A novel two-objective optimization computational framework for a two-body heaving wave energy converter}, + volume = {191}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S0960148122004670}, + doi = {10.1016/j.renene.2022.04.006}, + abstract = {The present research introduces a novel two-objective optimization computational framework, named H∞ optimization criterion-constrained Two-Objective Optimization Genetic Algorithm (H∞ − cTOOGA). Within this optimization framework, the objectives considered are: (i) the sprung mass isolation, and (ii) the wave energy extraction of a heaving buoy coupled with a sprung (overlying) mass. In such a two-body heaving wave energy converter (WEC), the satisfaction of both objectives is pursued by proper selection of the buoy geometry (i.e., radius r and draft Dr) and the characteristics of the power take-off (PTO). The interrelation among potential buoy geometries and PTO characteristics is performed on the basis of a critical condition. The critical condition refers to the formation of equal double peaks in the sprung mass acceleration response curve and is imposed as the sprung mass acceleration limit that is not allowed to be exceeded throughout the entire frequency range of interest. The two-objective optimization is realized with r, Dr and the tuning ratio δOPT being the decision variables. The value of δOPT is constrained by the value of the critical tuning ratio δcrit, that is, δOPT {\textless} δcrit. This ensures the minimization of the maximum sprung mass acceleration response. Then, the Pareto-optimal solutions result to optimal wave energy extraction.}, + urldate = {2026-05-17}, + journal = {Renewable Energy}, + author = {Pavlidou, Lamprini and Angelides, Demos C.}, + month = may, + year = {2022}, + keywords = {Fixed-points theory, Genetic algorithms, Sprung mass isolation, Two-body heaving wave energy converter, optimization criterion}, + pages = {510--534}, +} + +@article{kita_trefftz_1995, + title = {Trefftz method: an overview}, + volume = {24}, + issn = {0965-9978}, + shorttitle = {Trefftz method}, + url = {https://www.sciencedirect.com/science/article/pii/0965997895000674}, + doi = {10.1016/0965-9978(95)00067-4}, + abstract = {The aim of this paper is to review the existing formulations of ‘Trefftz method’. The Trefftz formulations are classified into the direct and the indirect formulations and then, compared with other boundary-type solution procedures, such as boundary element, singularity, charge simulation and surface charge methods, in order to establish the identity of the method.}, + number = {1}, + urldate = {2026-05-14}, + journal = {Advances in Engineering Software}, + author = {Kita, Eisuke and Kamiya, Norio}, + month = jan, + year = {1995}, + keywords = {Trefftz method, boundary element method, direct formulation, indirect formulation, singularity method}, + pages = {3--12}, +} + +@book{quarteroni_numerical_2006, + title = {Numerical {Mathematics}}, + isbn = {978-3-540-34658-6}, + abstract = {Numerical mathematics is the branch of mathematics that proposes, develops, analyzes and applies methods from scientific computing to several fields including analysis, linear algebra, geometry, approximation theory, functional equations, optimization and differential equations. Other disciplines, such as physics, the natural and biological sciences, engineering, and economics and the financial sciences frequently give rise to problems that need scientific computing for their solutions. As such, numerical mathematics is the crossroad of several disciplines of great relevance in modern applied sciences, and can become a crucial tool for their qualitative and quantitative analysis. One of the purposes of this book is to provide the mathematical foundations of numerical methods, to analyze their basic theoretical properties (stability, accuracy, computational complexity) and demonstrate their performances on examples and counterexamples which outline their pros and cons. This is done using the MATLAB software environment which is user-friendly and widely adopted. Within any specific class of problems, the most appropriate scientific computing algorithms are reviewed, their theoretical analyses are carried out and the expected results are verified on a MATLAB computer implementation. Every chapter is supplied with examples, exercises and applications of the discussed theory to the solution of real-life problems. This book is addressed to senior undergraduate and graduate students with particular focus on degree courses in Engineering, Mathematics, Physics and Computer Sciences. The attention which is paid to the applications and the related development of software makes it valuable also for researchers and users of scientific computing in a large variety of professional fields. In this second edition, the readability of pictures, tables and program headings have been improved. Several changes in the chapters on iterative methods and on polynomial approximation have also been added.}, + language = {en}, + publisher = {Springer Science \& Business Media}, + author = {Quarteroni, Alfio and Sacco, Riccardo and Saleri, Fausto}, + month = oct, + year = {2006}, + note = {Google-Books-ID: 31m4ahn\_KfkC}, + keywords = {Mathematics / Applied, Mathematics / General, Mathematics / Number Systems, Mathematics / Numerical Analysis}, +} + +@article{havelock_forces_1936, + title = {The forces on a circular cylinder submerged in a uniform stream}, + volume = {157}, + issn = {0080-4630}, + url = {https://doi.org/10.1098/rspa.1936.0212}, + doi = {10.1098/rspa.1936.0212}, + abstract = {1—Although many investigations have been made on the wave resistance of submerged bodies, no case has been solved completely in the sense of taking fully into account the condition of zero normal velocity at the surface of the body. The simplest case is that of the two-dimensional motion produced by a long circular cylinder, with its axis horizontal and perpendicular to the stream, submerged at a certain depth below the upper free surface. This problem was propounded many years ago by Kelvin, and it was solved later, as regards a first approximation, by Lamb; in that solution the cylinder was replaced by a doublet, and the effect of the disturbance at the surface of the cylinder was neglected. Applying the method of images, I examined a second approximation, and also by the same method obtained a first approximation for the vertical force on the cylinder. Although the problem is not in itself of practical importance, it seems of sufficient interest to obtain a more complete analytical solution, and this is given in the present paper. The solution contains an infinite series, whose coefficients are given by an infinite set of linear equations; expansions are given for the coefficients in terms of a certain parameter, and corresponding expressions obtained for both the wave resistance and the vertical force. Numerical calculations have been made from these for various velocities and for different ratios of the radius of the cylinder to the depth of its axis. These confirm the general impression that the first approximation is a good one over a considerable range. The effect of the complete expressions appears in an increase in the wave resistance at lower velocities and a slight decrease at high velocities; this may be described as due largely to a shifting of the maximum of resistance towards the lower velocities, an effect which might have been anticipated.}, + number = {892}, + urldate = {2026-05-11}, + journal = {Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences}, + author = {Havelock, Thomas Henry}, + month = dec, + year = {1936}, + pages = {526--534}, +} + +@article{michele_theory_2016, + title = {Theory of the synchronous motion of an array of floating flap gates oscillating wave surge converter}, + volume = {472}, + url = {https://royalsocietypublishing.org/doi/10.1098/rspa.2016.0174}, + doi = {10.1098/rspa.2016.0174}, + abstract = {We consider a finite array of floating flap gates oscillating wave surge converter (OWSC) in water of constant depth. The diffraction and radiation potentials are solved in terms of elliptical coordinates and Mathieu functions. Generated power and capture width ratio of a single gate excited by incoming waves are given in terms of the radiated wave amplitude in the far field. Similar to the case of axially symmetric absorbers, the maximum power extracted is shown to be directly proportional to the incident wave characteristics: energy flux, angle of incidence and wavelength. Accordingly, the capture width ratio is directly proportional to the wavelength, thus giving a design estimate of the maximum efficiency of the system. We then compare the array and the single gate in terms of energy production. For regular waves, we show that excitation of the out-of-phase natural modes of the array increases the power output, while in the case of random seas we show that the array and the single gate achieve the same efficiency.}, + number = {2192}, + urldate = {2023-10-22}, + journal = {Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + publisher = {Royal Society}, + author = {Michele, Simone and Sammarco, Paolo and d’Errico, Michele}, + month = aug, + year = {2016}, + keywords = {floating flap gate energy, resonance, wave-body interaction}, + pages = {20160174}, +} + +@article{edwards_optimisation_2022, + title = {Optimisation of the geometry of axisymmetric point-absorber wave energy converters}, + volume = {933}, + issn = {0022-1120, 1469-7645}, + url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/optimisation-of-the-geometry-of-axisymmetric-pointabsorber-wave-energy-converters/EE6FAE12B0F2F9C4DC607C301406411F}, + doi = {10.1017/jfm.2021.993}, + abstract = {, +We propose a scientifically rigorous framework to find realistic optimal geometries of wave energy converters (WECs). For specificity, we assume WECs to be axisymmetric point absorbers in a monochromatic unidirectional incident wave, all within the context of linearised potential theory. We consider separately the problem of a WEC moving and extracting wave energy in heave only and then the more general case of motion and extraction in combined heave, surge and pitch. We describe the axisymmetric geometries using polynomial basis functions, allowing for discontinuities in slope. Our framework involves ensuring maximum power, specifying practical motion constraints and then minimising surface area (as a proxy for cost). The framework is robust and well-posed, and the optimisation produces feasible WEC geometries. Using the proposed framework, we develop a systematic computational and theoretical approach, and we obtain results and insights for the optimal WEC geometries. The optimisation process is sped up significantly by a new theoretical result to obtain roots of the heave resonance equation. For both the heave-only, and the heave-surge-pitch combined problems, we find that geometries which protrude outward below the waterline are generally optimal. These optimal geometries have up to 73 \% less surface area and 90 \% less volume than the optimal cylinders which extract the same power.}, + language = {en}, + urldate = {2023-10-07}, + journal = {Journal of Fluid Mechanics}, + publisher = {Cambridge University Press}, + author = {Edwards, Emma C. and Yue, Dick K.-P.}, + month = feb, + year = {2022}, + keywords = {surface gravity waves, wave–structure interactions}, + pages = {A1}, +} + +@article{garrett_bottomless_1970, + title = {Bottomless harbours}, + volume = {43}, + issn = {1469-7645, 0022-1120}, + url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/bottomless-harbours/37CE36DBABFD3726B04474AD6039E96F}, + doi = {10.1017/S0022112070002495}, + abstract = {Does the harbour of an artificial island need a bottom? The excitation of waves inside a partially immersed open circular cylinder is considered. An incident plane wave is expanded in Bessel functions and for each mode the problem is formulated in terms of the radial displacement on the cylindrical interface below the cylinder. The solution is obtainable either from an infinite set of simultaneous equations or from an integral equation. It is shown that the phase of the solution is independent of depth and resonances are found at wave-numbers close to those of free oscillations in a cylinder extending to the bottom. If the resonances of the cylinder are made sharper (by increasing the depth of immersion) the peak response of the harbour increases, but the response to a continuous spectrum remains approximately constant. Numerical results are obtained by minimizing the least squares error of a finite number N of simultaneous equations. Convergence is slow, but the error is roughly proportional to 1/N and this is exploited. The solution obtained from a variational formulation using the incoming wave as a trial function is found to give a very good approximation for small wave-numbers, but is increasingly inaccurate for large wave-numbers. Away from resonance the amplitude of the harbour oscillation is less than 10\% of the amplitude of the incoming wave provided the depth of the cylinder is greater than about ¼ wavelength, and it is argued that in practice at the resonant wave-number oscillations excited through the bottom of the harbour will leak out through the entrance before they can reach large amplitudes. In an appendix the excitation of harbour oscillations through the harbour entrance is discussed, and some results of Miles \& Munk (1961) on an alleged harbour paradox are re-interpreted.}, + language = {en}, + number = {3}, + urldate = {2023-10-06}, + journal = {Journal of Fluid Mechanics}, + publisher = {Cambridge University Press}, + author = {Garrett, C. J. R.}, + month = sep, + year = {1970}, + pages = {433--449}, +} + +@book{chatjigeorgiou_analytical_2018, + address = {Cambridge}, + title = {Analytical {Methods} in {Marine} {Hydrodynamics}}, + isbn = {978-1-107-17969-1}, + url = {https://www.cambridge.org/core/books/analytical-methods-in-marine-hydrodynamics/FA575866CF4838EE370460746C304B55}, + doi = {10.1017/9781316838983}, + abstract = {The value of analytical solutions relies on the rigorous formulation, and a strong mathematical background. This comprehensive volume unifies the most important geometries, which allow for the development of analytical solutions for hydrodynamic boundary value problems. It offers detailed explanations of the Laplance domain and numerical results associated with such problems, providing deep insight into the theory of hydrodynamics. Extended numerical calculations are provided and discussed, allowing the reader to use them as benchmarks for their own computations and making this an invaluable resource for specialists in in various disciplines, including hydrodynamics, acoustics, optics, electrostatics, and brain imaging.}, + urldate = {2023-09-28}, + publisher = {Cambridge University Press}, + author = {Chatjigeorgiou, Ioannis K.}, + year = {2018}, +} + +@article{garrett_wave_1971, + title = {Wave forces on a circular dock}, + volume = {46}, + issn = {1469-7645, 0022-1120}, + url = {https://www.cambridge.org/core/journals/journal-of-fluid-mechanics/article/wave-forces-on-a-circular-dock/467202A9E4D8385F6ECFABC253B6EC80}, + doi = {10.1017/S0022112071000430}, + abstract = {The scattering of surface gravity waves by a circular dock is considered in order to determine the horizontal and vertical forces and torque on the dock. An incident plane wave is expanded in Bessel functions, and for each mode the problem is formulated in terms of the potential on the cylindrical surface containing the dock and extending to the bottom. The solution is shown to have phase independent of depth and so may be obtained from an infinite set of real equations, which are solved numerically by Galerkin's method. The convergence of the solution is discussed, and some numerical results are presented.This problem has been investigated previously by Miles \& Gilbert (1968) by a different method, but their work contained errors.}, + language = {en}, + number = {1}, + urldate = {2023-09-28}, + journal = {Journal of Fluid Mechanics}, + publisher = {Cambridge University Press}, + author = {Garrett, C. J. R.}, + month = mar, + year = {1971}, + pages = {129--139}, +} + +@article{mavrakos_second-order_2009, + title = {Second-order hydrodynamic effects on an arrangement of two concentric truncated vertical cylinders}, + volume = {22}, + issn = {0951-8339}, + url = {https://www.sciencedirect.com/science/article/pii/S0951833908000580}, + doi = {10.1016/j.marstruc.2008.12.003}, + abstract = {The second-order diffraction problem by a piston-like arrangement that consists of two concentric surface piercing cylinders is considered. The developed matched axisymmetric eigenfunction expansion solution methodology in cylindrical co-ordinates is based on the semi-analytical formulation of the velocity potentials in the various fluid regions which are defined by the geometry of the two-body arrangement. The main difficulty associated with the specific configuration originates from the fact that the geometry defines two fluid regions that extend up to the free surface in which the inhomogeneous second-order free surface boundary condition has to be fulfilled. To this end the associated velocity potentials in these regions are decomposed into a number of components defining the so-called ‘free’ and ‘locked’ waves. The latter are calculated by solving the resulting Sturm–Liouville problems. The seek second-order velocity potential in the whole fluid domain is then derived by enforcing matching conditions for the radial velocities and the fluid pressures at the cylindrical boundaries of adjacent fluid domains. Numerical results concerning the second-order hydrodynamic loading and the wave run-up on the cylinders are given, whereas special attention is given at incident wave frequency regions where the first-order exciting wave forces attain maximum values due to the resonant fluid motions in the moonpool.}, + number = {3}, + urldate = {2025-02-03}, + journal = {Marine Structures}, + author = {Mavrakos, Spyros A. and Chatjigeorgiou, Ioannis K.}, + month = jul, + year = {2009}, + keywords = {Concentric cylinders, Exciting wave forces, Moonpool, Second-order theory}, + pages = {545--575}, +} + +@article{mavrakos_hydrodynamic_1997, + title = {Hydrodynamic characteristics of floating toroidal bodies}, + volume = {24}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801896000200}, + doi = {10.1016/S0029-8018(96)00020-0}, + abstract = {The paper deals with the linearized exciting wave forces and hydrodynamic coefficients of a toroidal body floating in water of finite depth. For the solution of the diffraction and the radiation problems the flow field around the body is subdivided into ring-shaped fluid regions, in each of which axisymmetric eigenfunction expansions for the velocity potential is made. By implementing Galerkin's method the various potential solutions are matched and numerical results concerning the exciting wave forces and the hydrodynamic coefficients in all modes of motion are obtained.}, + number = {4}, + urldate = {2023-10-04}, + journal = {Ocean Engineering}, + author = {Mavrakos, S. A.}, + month = apr, + year = {1997}, + pages = {381--399}, +} + +@article{zhang_hydrodynamic_2016, + title = {Hydrodynamic analysis and shape optimization for vertical axisymmetric wave energy converters}, + volume = {30}, + issn = {2191-8945}, + url = {https://doi.org/10.1007/s13344-016-0062-2}, + doi = {10.1007/s13344-016-0062-2}, + abstract = {The absorber is known to be vertical axisymmetric for a single-point wave energy converter (WEC). The shape of the wetted surface usually has a great influence on the absorber’s hydrodynamic characteristics which are closely linked with the wave power conversion ability. For complex wetted surface, the hydrodynamic coefficients have been predicted traditionally by hydrodynamic software based on the BEM. However, for a systematic study of various parameters and geometries, they are too multifarious to generate so many models and data grids. This paper examines a semi-analytical method of decomposing the complex axisymmetric boundary into several ring-shaped and stepped surfaces based on the boundary discretization method (BDM) which overcomes the previous difficulties. In such case, by using the linear wave theory based on eigenfunction expansion matching method, the expressions of velocity potential in each domain, the added mass, radiation damping and wave excitation forces of the oscillating absorbers are obtained. The good astringency of the hydrodynamic coefficients and wave forces are obtained for various geometries when the discrete number reaches a certain value. The captured wave power for a same given draught and displacement for various geometries are calculated and compared. Numerical results show that the geometrical shape has great effect on the wave conversion performance of the absorber. For absorbers with the same outer radius and draught or displacement, the cylindrical type shows fantastic wave energy conversion ability at some given frequencies, while in the random sea wave, the parabolic and conical ones have better stabilization and applicability in wave power conversion.}, + language = {en}, + number = {6}, + urldate = {2023-12-12}, + journal = {China Ocean Engineering}, + author = {Zhang, Wan-chao and Liu, Heng-xu and Zhang, Liang and Zhang, Xue-wei}, + month = dec, + year = {2016}, + keywords = {astringency, complex wetted surface, geometrical shape, semi-analytical method, vertical axisymmetric}, + pages = {954--966}, +} + +@article{kokkinowrachos_behaviour_1986, + title = {Behaviour of vertical bodies of revolution in waves}, + volume = {13}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/0029801886900375}, + doi = {10.1016/0029-8018(86)90037-5}, + abstract = {This paper presents the so-called macroelement method by means of which the complete linear hydromechanic analysis of arbitrarily shaped bodies of revolution with vertical axis can be carried out. The development of a special method for this wide class of structures which are common in offshore designs is of great advantage for the engineering work. The method described here is based on the discretization of the flow field around the structure by means of ring-shaped macroelements, the velocity potential in each element being approximated with Fourier series. For the matching of the solution between neighbouring elements Galerkin's method is applied. Both the diffraction and the radiation problems are solved.}, + number = {6}, + urldate = {2023-12-12}, + journal = {Ocean Engineering}, + author = {Kokkinowrachos, Konstantin and Mavrakos, Spyridon and Asorakos, Sampson}, + month = jan, + year = {1986}, + pages = {505--538}, +} + +@article{liu_analysis_2014, + title = {Analysis of orthogonal wave reflection by a caisson with open front chamber filled with sloping rubble mound}, + volume = {91}, + issn = {0378-3839}, + url = {https://www.sciencedirect.com/science/article/pii/S0378383914000994}, + doi = {10.1016/j.coastaleng.2014.05.002}, + abstract = {A new combined caisson, including an open window on the front wall and an internal rubble mound with a slope, has been proposed and used in Italy. This study presents a semi-analytical solution to estimate the wave absorbing performance of the new combined caisson with regard to orthogonal wave attack. The internal slope of the rubble mound is assumed to be a series of horizontal steps. Then the matched eigenfunction expansions are used to develop the semi-analytical solution. The square-root singularity of fluid velocity at the upper tip of the front submerged wall is incorporated into the solution to enhance the convergence of calculated results. The new semi-analytical solution is confirmed by an independently developed multi-domain boundary element method solution. Also the predictions of the semi-analytical solution agree reasonably well with experimental data. Based on both the calculations and the experimental data, some useful results are presented for practical engineering.}, + urldate = {2023-12-09}, + journal = {Coastal Engineering}, + author = {Liu, Yong and Faraci, Carla}, + month = sep, + year = {2014}, + keywords = {Combined caisson, Reflection coefficient, Rubble mound, Semi-analytical solution, Slope}, + pages = {151--163}, +} + +@article{yeung_added_1981, + title = {Added mass and damping of a vertical cylinder in finite-depth waters}, + volume = {3}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/0141118781901012}, + doi = {10.1016/0141-1187(81)90101-2}, + abstract = {A comprehensive set of theoretical added masses and wave damping data for a floating circular cylinder in finite-depth water is presented. The hydrodynamic problem is solved by matching eigen functions of the interior and exterior problems. The resulting infinite system is solved directly and found to have excellent truncation characteristics. Added mass and damping are given for heave, sway, and roll motion, as well as coupling coefficients for sway and roll. It is shown that the heave added mass is logarithmic singular and the damping approaches a constant in the low-frequency limit. Transition of the behaviour in finite-depth water to deep water is also discussed.}, + number = {3}, + urldate = {2023-09-28}, + journal = {Applied Ocean Research}, + author = {Yeung, Ronald W.}, + month = jul, + year = {1981}, + pages = {119--133}, +} + +@article{cong_novel_2020, + title = {A novel solution to the second-order wave radiation force on an oscillating truncated cylinder based on the application of control surfaces}, + volume = {204}, + issn = {0029-8018}, + url = {https://www.sciencedirect.com/science/article/pii/S0029801820303243}, + doi = {10.1016/j.oceaneng.2020.107278}, + abstract = {A truncated cylinder in harmonic oscillation with a small amplitude at a finite water depth is considered. A perturbation procedure is applied to analyse the wave radiation problem up to the second order in frequency domain. The technique of control surfaces is used to overcome the difficulty associated with the singularity of the fluid velocity at the corner, and a novel solution to the double-frequency wave radiation force on a surging/heaving truncated cylinder is developed. The proposed solution achieves an obvious advantage in that the calculation of the singular terms owing to the singularity of the fluid velocity at a sharp corner is avoided. After examining the convergence and validity of the proposed model, numerical studies are conducted. Numerical results reveal that the force component associated with the body-surface forcing term predominates among the various force components of the total double-frequency wave radiation force. In addition, the force component from the quadratic products of the first-order quantities is in general out-of-phase with the one associated with the body-surface forcing term.}, + urldate = {2025-02-03}, + journal = {Ocean Engineering}, + author = {Cong, Peiwen and Teng, Bin and Chen, Lifen and Gou, Ying}, + month = may, + year = {2020}, + keywords = {Heave motion, Second-order wave radiation, Surge motion, Truncated cylinder}, + pages = {107278}, +} + +@article{mciver_added_1991, + title = {The added mass of bodies heaving at low frequency in water of finite depth}, + volume = {13}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118705800367}, + doi = {10.1016/S0141-1187(05)80036-7}, + abstract = {Numerical results for the added mass of a heaving two-dimensional body in finite-depth water show that the zero-frequency limit is different for the cases of a surface-piercing body and a bottom-mounted body of the same wetted shape. At first sight, this may appear surprising as the limiting boundary-value problems for the potentials involved are identical. However the solutions are indeterminate to within an additive constant and it is the value of this constant that accounts for the difference. In the present work, the method of matched asymptotic expansions is used to show that the added mass limits for the two cases differ by an amount that depends very simply on the geometry of the bodies.}, + number = {1}, + urldate = {2025-04-27}, + journal = {Applied Ocean Research}, + author = {McIver, P. and Linton, C. M.}, + month = feb, + year = {1991}, + pages = {12--17}, +} + +@article{olaya_hydrodynamic_2015, + title = {Hydrodynamic {Coefficient} {Computation} for a {Partially} {Submerged} {Wave} {Energy} {Converter}}, + volume = {40}, + issn = {1558-1691}, + url = {https://ieeexplore.ieee.org/document/6895317}, + doi = {10.1109/JOE.2014.2344951}, + abstract = {This paper deals with the hydrodynamic parameter computation of a wave energy converter (WEC) that consists of a cylindrical buoy sliding along a partially submerged platform made up of a plate and a column. The computed parameters are especially needed for the development of a simple hydrodynamic time-dependant model, based on the Cummins' formulation. This model is intended for WEC control purposes. A semi-analytical approach is proposed for the computation of the hydrodynamic coefficients and the excitation forces. The boundary value problem is solved by using variable separation and matched eigenfunction expansion methods. Analytical expressions for the velocity potential are then obtained for each subdomain. The hydrodynamic coefficients and the excitation force can then be computed by using these expressions. Numerical results are given for different buoy, column, and plate radii and clearly the bearing surface of the plate has a significant influence on the wave excitation force applied to the submerged platform.}, + number = {3}, + urldate = {2025-01-10}, + journal = {IEEE Journal of Oceanic Engineering}, + author = {Olaya, Sébastien and Bourgeot, Jean-Matthieu and Benbouzid, Mohamed El Hachemi}, + month = jul, + year = {2015}, + note = {Conference Name: IEEE Journal of Oceanic Engineering}, + keywords = {Boundary conditions, Eigenfunction expansion, Eigenvalues and eigenfunctions, Hydrodynamics, Scattering, Sea surface, Surface waves, heaving mode, potential theory, scattering and radiation problem, wave energy converter (WEC), wave loads}, + pages = {522--535}, +} + +@article{zhang_performance_2024, + title = {Performance assessment of a {Triple} {Coaxial}-{Cylinder} {Wave}-{Energy} {Converter} ({TCWEC})}, + volume = {237}, + issn = {0960-1481}, + url = {https://www.sciencedirect.com/science/article/pii/S096014812401615X}, + doi = {10.1016/j.renene.2024.121547}, + abstract = {We propose a novel Triple Coaxial-cylinder Wave-Energy Converter (TCWEC) system, as an evolution of the commonly deployed dual-coaxial cylinder WEC (DCWEC). TCWEC consists of one inner cylinder and two concentric outer cylinders, characterized by two coupled resonant frequencies, improving wave power absorption. A semi-analytical model, based on potential flow theory and matched eigenfunction expansions, is developed to analyze the 3-Degrees of Freedom (DOF) system. The viscous drag coefficients are determined by Computational Fluid Dynamics (CFD) simulations and employed as equivalent linear damping. Analysis of impact of the viscous flow-separation factor fvis on the capture width indicates that the higher energy-absorption capability of TCWEC is not merely attributed to a smaller fvis value, but rather a planned split of the outer cylinder in DCWEC design into two cylinders in TCWEC, so as to produce an effectively broader resonance property. Under identical sea conditions, it is found that, compared to DCWEC, the optimal capture width of TCWEC is increased by as much as 77\% in regular waves. In irregular waves, the optimal capture width is increased up to 40\% across the entire frequency range. These findings suggest that the energy absorption efficiency of TCWEC is promising and its potential for real-world applications.}, + urldate = {2024-12-21}, + journal = {Renewable Energy}, + author = {Zhang, Xinshu and Guo, Xinhai and Zhi, Pengfei and Yeung, Ronald W.}, + month = dec, + year = {2024}, + keywords = {Coaxial-cylinder WEC, Eigenfunction solution, Optimal capture width, Permanent magnet linear generator, Wave-Energy Converter}, + pages = {121547}, +} + +@article{renzi_hydrodynamics_2013, + title = {Hydrodynamics of the oscillating wave surge converter in the open ocean}, + volume = {41}, + issn = {0997-7546}, + url = {https://www.sciencedirect.com/science/article/pii/S0997754613000174}, + doi = {10.1016/j.euromechflu.2013.01.007}, + abstract = {A potential flow model is derived for a large flap-type oscillating wave energy converter in the open ocean. Application of Green’s integral theorem in the fluid domain yields a hypersingular integral equation for the jump in potential across the flap. The solution is found via a series expansion in terms of the Chebyshev polynomials of the second kind and even order. Several relationships are then derived between the hydrodynamic parameters of the system. Comparison is made between the behaviour of the converter in the open ocean and in a channel. The degree of accuracy of wave tank experiments aiming at reproducing the performance of the device in the open ocean is quantified. A parametric analysis of the system is then undertaken. In particular, it is shown that increasing the flap width has the beneficial effect of broadening the bandwidth of the capture factor curve. This phenomenon can be exploited in random seas to achieve high levels of efficiency.}, + urldate = {2024-08-12}, + journal = {European Journal of Mechanics - B/Fluids}, + author = {Renzi, E. and Dias, F.}, + month = sep, + year = {2013}, + keywords = {Oscillating wave surge converters, Wave energy, Wave–structure interaction}, + pages = {1--10}, +} + +@article{mavrakos_hydrodynamic_2004, + title = {Hydrodynamic coefficients in heave of two concentric surface-piercing truncated circular cylinders}, + volume = {26}, + issn = {0141-1187}, + url = {https://www.sciencedirect.com/science/article/pii/S0141118705000076}, + doi = {10.1016/j.apor.2005.03.002}, + abstract = {The paper aims at presenting a solution of the linearized hydrodynamic radiation problem for two concentric, free surface-piercing truncated vertical cylinders that are forced to independently oscillate in heave in finite depth waters. For the solution of the problem, the flow field around the two bodies is subdivided into ring-shaped fluid regions, in each of which axisymmetric eigenfunction expansions for the velocity potential are made. By implementing Galerkin's method, the various potential solutions are matched and extensive numerical results concerning the hydrodynamic and interaction coefficients in heave for various geometrical configurations presented and discussed.}, + number = {3}, + urldate = {2023-12-13}, + journal = {Applied Ocean Research}, + author = {Mavrakos, Spyros A.}, + month = may, + year = {2004}, + keywords = {Concentric cylinders, Hydrodynamic parameters, Wave energy devices}, + pages = {84--97}, +} From 4f24cbabbf2248dc2ee65f1c465f6bb6a8445b73 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:18:38 -0400 Subject: [PATCH 09/95] Sync pubs/applied-ocean-research-model with Overleaf project --- .calkit/overleaf-sync.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.calkit/overleaf-sync.json b/.calkit/overleaf-sync.json index b308f0d11..a29411824 100644 --- a/.calkit/overleaf-sync.json +++ b/.calkit/overleaf-sync.json @@ -9,7 +9,7 @@ }, "pubs/applied-ocean-research-model": { "project_id": "69ecde8851d14790c59f03d5", - "last_sync_commit": "ba6bae77c2ea59b0cf8b78567f4bc9bf974e8dba" + "last_sync_commit": "e657738cce7c0a429898a2ec99c48702cc64d497" }, "pubs/defense": { "project_id": "69ef01941916c106f7f5c565", From 1fd844b5dd612cad24b1c250457850aee57d5bfa Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:23:41 -0400 Subject: [PATCH 10/95] Sync pubs/applied-ocean-research-model with Overleaf project --- calkit.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/calkit.yaml b/calkit.yaml index 440bfe762..89bb485d6 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -5963,6 +5963,7 @@ overleaf_sync: - commands-aor.tex - content.tex - shared-pkg.tex + - .latexmkrc push_paths: - figs/ - tables/ From 77ed8bdcbf41bf044583f5b17d5129daca97098d Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:27:01 -0400 Subject: [PATCH 11/95] remove map-paths latex files from gitignore so overleaf sync works --- .gitignore | 10 ++++------ pubs/applied-ocean-research-model/.latexmkrc | 2 +- pubs/shared/shared-pkg.tex | 2 +- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b333b654a..e174c06f6 100644 --- a/.gitignore +++ b/.gitignore @@ -88,11 +88,9 @@ pubs/renewable-energy-mdo/aux/ pubs/applied-ocean-research-model/aux/ -pubs/applied-ocean-research-model/references.bib +!pubs/applied-ocean-research-model/references.bib pubs/renewable-energy-mdo/aux -pubs/applied-ocean-research-model/aux - mdocean/plots/non_matlab_figs/img/taxonomy_tmp.svg !mdocean/plots/non_matlab_figs/xdsm.tikz @@ -162,11 +160,11 @@ mdocean/plots/non_matlab_figs/img/taxonomy_tmp.svg pubs/dissertation/aux -pubs/applied-ocean-research-model/elsarticle-num-names.bst +!pubs/applied-ocean-research-model/elsarticle-num-names.bst pubs/renewable-energy-mdo/elsarticle-num-names.bst -pubs/applied-ocean-research-model/shared-pkg.tex +!pubs/applied-ocean-research-model/shared-pkg.tex pubs/renewable-energy-mdo/shared-pkg.tex @@ -175,7 +173,7 @@ pubs/renewable-energy-mdo/references.bib pubs/applied-ocean-research-model/out/main.auxlock -pubs/applied-ocean-research-model/zotero-meem-refs.bib +!pubs/applied-ocean-research-model/zotero-meem-refs.bib pubs/renewable-energy-mdo/zotero-meem-refs.bib .calkit/notebooks/cleaned/pubs/renewable-energy-mdo/view_figs.ipynb diff --git a/pubs/applied-ocean-research-model/.latexmkrc b/pubs/applied-ocean-research-model/.latexmkrc index 7dd2ff123..f61a37264 100644 --- a/pubs/applied-ocean-research-model/.latexmkrc +++ b/pubs/applied-ocean-research-model/.latexmkrc @@ -20,4 +20,4 @@ $aux_dir = 'aux'; # Enable -shell-escape for pdflatex (required for TikZ externalization and bibcop override) set_tex_cmds( '--shell-escape %O %S' ); -$max_repeat = 10; +$max_repeat = 10; \ No newline at end of file diff --git a/pubs/shared/shared-pkg.tex b/pubs/shared/shared-pkg.tex index 92ef1ce77..df93f9049 100644 --- a/pubs/shared/shared-pkg.tex +++ b/pubs/shared/shared-pkg.tex @@ -117,4 +117,4 @@ \crefalias{subsubsection}{appendix} \crefalias{chapter}{appendix} } -\makeatother \ No newline at end of file +\makeatother From 0cb6d2262445b11b1ad9521fc9e3eda8e92ce77a Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:30:59 -0400 Subject: [PATCH 12/95] add package warrning to aor numeric results --- pubs/applied-ocean-research-model/numeric-results.tex | 1 + 1 file changed, 1 insertion(+) diff --git a/pubs/applied-ocean-research-model/numeric-results.tex b/pubs/applied-ocean-research-model/numeric-results.tex index 40c73805c..3a2503eff 100644 --- a/pubs/applied-ocean-research-model/numeric-results.tex +++ b/pubs/applied-ocean-research-model/numeric-results.tex @@ -681,6 +681,7 @@ \def\resultsAOR@XVI@out{% None}% \else% + \packagewarning{json2latex}{Undefined key `#1' for resultsAOR@XVI}% \def\resultsAOR@XVI@out{% ??}% \fi\fi\fi\fi From 8d44095607378a272937d315916b93e205b93534 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 10:31:11 -0400 Subject: [PATCH 13/95] Sync pubs/applied-ocean-research-model with Overleaf project --- .calkit/overleaf-sync.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.calkit/overleaf-sync.json b/.calkit/overleaf-sync.json index a29411824..4afa0dc5e 100644 --- a/.calkit/overleaf-sync.json +++ b/.calkit/overleaf-sync.json @@ -9,7 +9,7 @@ }, "pubs/applied-ocean-research-model": { "project_id": "69ecde8851d14790c59f03d5", - "last_sync_commit": "e657738cce7c0a429898a2ec99c48702cc64d497" + "last_sync_commit": "468b744b4a3146f1f55b9de63ebbd7386a58b9fd" }, "pubs/defense": { "project_id": "69ef01941916c106f7f5c565", From 8e351cb46108f1e4c1820221cbd29fb82a6b922c Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 18:14:22 -0400 Subject: [PATCH 14/95] use standalone instead of tikzexternal to avoid overleaf errors, and update fig_tab_pub_mapping accordingly --- .gitignore | 83 +--- calkit.yaml | 38 +- dvc.lock | 396 +++++++++++++++--- dvc.yaml | 50 ++- .../@ReadNonMatlabFigs/ReadNonMatlabFigs.m | 7 +- .../@ReadNonMatlabFigs/analysis_fcn.m | 5 + mdocean/plots/fig_tab_pub_mapping.m | 123 +++--- mdocean/plots/non_matlab_figs/.latexmkrc | 2 + .../non_matlab_figs/circuit_intrinsic.tex | 9 + .../non_matlab_figs/circuit_kinematics.tex | 9 + mdocean/plots/non_matlab_figs/circuit_pto.tex | 9 + .../control_method_venn_diagram.tex | 8 + mdocean/plots/non_matlab_figs/meem_dims.tex | 8 + pubs/applied-ocean-research-model/.latexmkrc | 4 +- .../commands-aor.tex | 14 - .../sections/meem-appendix.tex | 2 +- .../sections/module-details.tex | 4 +- .../sections/other-appendices.tex | 4 +- results/ReadNonMatlabFigs/end.json | 6 +- 19 files changed, 549 insertions(+), 232 deletions(-) create mode 100644 mdocean/plots/non_matlab_figs/.latexmkrc create mode 100644 mdocean/plots/non_matlab_figs/circuit_intrinsic.tex create mode 100644 mdocean/plots/non_matlab_figs/circuit_kinematics.tex create mode 100644 mdocean/plots/non_matlab_figs/circuit_pto.tex create mode 100644 mdocean/plots/non_matlab_figs/control_method_venn_diagram.tex create mode 100644 mdocean/plots/non_matlab_figs/meem_dims.tex diff --git a/.gitignore b/.gitignore index e174c06f6..33bb39528 100644 --- a/.gitignore +++ b/.gitignore @@ -1,179 +1,114 @@ *.orig - # Windows default autosave extension *.asv - # OSX / *nix default autosave extension *.m~ - # Compiled MEX binaries (all platforms) *.mex* - # Packaged app and toolbox files *.mlappinstall *.mltbx - # Generated helpsearch folders helpsearch*/ - # Simulink code generation folders slprj/ sccprj/ - # Simulink cache files *.slxc - # Matlab code generation folders codegen/ - # Simulink autosave extension *.autosave - # Octave session info octave-workspace - # auto-generated optimization functions mdocean/optimization/generated* - # html report files html/ - # unit test output folders code-coverage/ test-results/ - # publication figures and tables from matlab pubs/**/tables/from-matlab/ - # mat data files *.mat *.fig - # excel cache ~$*.xlsx - # WEC-Sim logs savedLog*.txt *.log DynamicValidation*.pdf - # token .github/github_token - # Mac cache *.DS_Store - # Overleaf git repos .calkit/overleaf - # Sphinx documentation build files docs/_build/ docs/generated/ - # python *.pyc __pycache__/ - # matlab package manager /mpm - # PDF *.pdf !*.pdf.dvc !*.pptx.dvc - pubs/renewable-energy-mdo/out/ - pubs/renewable-energy-mdo/aux/ - pubs/applied-ocean-research-model/aux/ - -!pubs/applied-ocean-research-model/references.bib pubs/renewable-energy-mdo/aux - mdocean/plots/non_matlab_figs/img/taxonomy_tmp.svg - !mdocean/plots/non_matlab_figs/xdsm.tikz !mdocean/plots/non_matlab_figs/xdsm.tex .calkit/notebooks/cleaned/pubs/applied-ocean-research-model/view_figs.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/AllFigCompare.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Comparison.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Constraints.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Cost.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/DampingPlateStructures.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/DescFcns.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/DesignSpaceExploration.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/DesignVars.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/DragIntegral.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/FitOlaya.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/ForceSaturationFigFunc.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/GradientOptimFigFunc.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/HydroCoeffFigFunc.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/LocationSensitivity.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Meem.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Multistart.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/ParamSensitivities.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Parameters.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/ParetoFigFunc.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/ParetoSweep.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/PtoSweep.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/ReadNonMatlabFigs.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/RunSingleFigFunc.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Runtime.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Slamming.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/SparHydro.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/SweepGeoms.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Validation.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/Wecsim.ipynb - .calkit/notebooks/cleaned/results/fig_notebooks/QPCircles.ipynb - pubs/dissertation/aux - - -!pubs/applied-ocean-research-model/elsarticle-num-names.bst - pubs/renewable-energy-mdo/elsarticle-num-names.bst - -!pubs/applied-ocean-research-model/shared-pkg.tex - pubs/renewable-energy-mdo/shared-pkg.tex - pubs/dissertation/references.bib pubs/renewable-energy-mdo/references.bib - pubs/applied-ocean-research-model/out/main.auxlock - -!pubs/applied-ocean-research-model/zotero-meem-refs.bib - pubs/renewable-energy-mdo/zotero-meem-refs.bib .calkit/notebooks/cleaned/pubs/renewable-energy-mdo/view_figs.ipynb +pubs/applied-ocean-research-model/aux +pubs/applied-ocean-research-model/references.bib +pubs/applied-ocean-research-model/elsarticle-num-names.bst +pubs/applied-ocean-research-model/shared-pkg.tex +pubs/applied-ocean-research-model/zotero-meem-refs.bib +mdocean/plots/non_matlab_figs/aux/*.log +mdocean/plots/non_matlab_figs/aux/*.aux +mdocean/plots/non_matlab_figs/aux/*.fdb_latexmk +mdocean/plots/non_matlab_figs/aux/*.fls diff --git a/calkit.yaml b/calkit.yaml index 89bb485d6..b3600cac8 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -46,8 +46,11 @@ parameters: - mod_freq_domain_ctrl_synthesis - mod_freq_domain_ctrl_evaluation latex_standalone_name: - - eigenfunctions - - A_matrix + - circuit_intrinsic + - circuit_pto + - circuit_kinematics + - control_method_venn_diagram + - meem_dims # subprojects: # - path: mdocean/simulation/modules/OpenFLASH pipeline: @@ -5869,18 +5872,41 @@ pipeline: storage: git make-standalone-tex-pdf: kind: latex - target_path: pubs/defense/latex-standalone/standalone_{name}.tex + target_path: mdocean/plots/non_matlab_figs/{name}.tex environment: tex + latexmkrc_path: mdocean/plots/non_matlab_figs/.latexmkrc + synctex: false iterate_over: - arg_name: name values: - parameter: latex_standalone_name inputs: - - pubs/shared/equations/ + - pubs/applied-ocean-research-model/figs/tikz/{name}.tikz outputs: - - pubs/defense/latex-standalone/standalone_{name}.pdf - - path: pubs/defense/latex-standalone/standalone_{name}.log + - mdocean/plots/non_matlab_figs/{name}.pdf + - path: mdocean/plots/non_matlab_figs/aux/{name}.log delete_before_run: false + storage: + - path: mdocean/plots/non_matlab_figs/aux/{name}.aux + delete_before_run: false + storage: + - path: mdocean/plots/non_matlab_figs/aux/{name}.fdb_latexmk + delete_before_run: false + storage: + - path: mdocean/plots/non_matlab_figs/aux/{name}.fls + delete_before_run: false + storage: + move-standalone-pdfs: + kind: map-paths + environment: _system + paths: + - src: mdocean/plots/non_matlab_figs/{name}.pdf + dest: mdocean/plots/non_matlab_figs/pdf/{name}.pdf + kind: file-to-file + iterate_over: + - arg_name: name + values: + - parameter: latex_standalone_name # make-standalone-tex-svg: # kind: shell-command # environment: pdf2svg diff --git a/dvc.lock b/dvc.lock index 8e1d665ef..5e3b004cb 100644 --- a/dvc.lock +++ b/dvc.lock @@ -6072,12 +6072,12 @@ stages: deps: - path: ./mdocean/analysis/@ReadNonMatlabFigs/ReadNonMatlabFigs.m hash: md5 - md5: 13a2d890d5175a2a99a093a1196af86d - size: 1852 + md5: fd7d645060e0729669a0c5caf832f2bf + size: 2074 - path: ./mdocean/analysis/@ReadNonMatlabFigs/analysis_fcn.m hash: md5 - md5: cff0d36359240ef83cc1c18666fdf53a - size: 1176 + md5: b6403ae94c558ed4aae07dd56c6b5bd3 + size: 1418 - path: ./mdocean/analysis/GenericAnalysis.m hash: md5 md5: 4926cc6082ca23736741c904afa0253a @@ -6291,8 +6291,8 @@ stages: outs: - path: results/ReadNonMatlabFigs/intermed.mat hash: md5 - md5: 918a7b0ce2206bdea5e45c1ceb80d6b2 - size: 613 + md5: c31c3f8b24cf6f22ea746ae98c206fa0 + size: 687 analysis-RunSingleFigFunc: cmd: matlab -noFigureWindows -batch "add_mdocean_path(); obj=RunSingleFigFunc; obj.run_analysis();" @@ -8210,21 +8210,21 @@ stages: nfiles: 1 - path: pubs/applied-ocean-research-model/.latexmkrc hash: md5 - md5: 24aec81b8fca42335d1bc08ebc1136a0 - size: 679 + md5: cfefb1620a6b21cca221f8b6d6c6f5ac + size: 654 - path: pubs/applied-ocean-research-model/commands-aor.tex hash: md5 - md5: 8ab55f405e355cdc301a16d38983e048 - size: 968 + md5: 5ccf35d71570878121a1f6d7ffe4956b + size: 602 - path: pubs/applied-ocean-research-model/elsarticle-num-names.bst hash: md5 md5: b24eb82d1afd0a3fa7d82c6efbe1f559 size: 28896 - path: pubs/applied-ocean-research-model/figs/from-matlab/ hash: md5 - md5: ce17ff68a235cae03b91c5fb1127b880.dir - size: 3939952 - nfiles: 55 + md5: 8f334fac6537226c0b1d41a40b5d3995.dir + size: 4243238 + nfiles: 60 - path: pubs/applied-ocean-research-model/figs/manual/ hash: md5 md5: ba89a562d6a85414080fb4e274fe68ba.dir @@ -8237,12 +8237,12 @@ stages: nfiles: 8 - path: pubs/applied-ocean-research-model/main.tex hash: md5 - md5: 0ec1d493fa9a402b019247381ee77516 - size: 11541 + md5: 5d8b320b562101973d5333ad91798be5 + size: 11492 - path: pubs/applied-ocean-research-model/main.tex hash: md5 - md5: 0ec1d493fa9a402b019247381ee77516 - size: 11541 + md5: 5d8b320b562101973d5333ad91798be5 + size: 11492 - path: pubs/applied-ocean-research-model/numbers.tex hash: md5 md5: b1dafa9c2df9d5977284010754a81f34 @@ -8257,13 +8257,13 @@ stages: size: 537913 - path: pubs/applied-ocean-research-model/sections/ hash: md5 - md5: af2de296041f5c6d615932b5d5d5ba3d.dir - size: 391845 + md5: 0cce25839a50593f93e101c4f4b15531.dir + size: 391925 nfiles: 8 - path: pubs/applied-ocean-research-model/shared-pkg.tex hash: md5 - md5: 6194f6d8afc6cc75f26533fad84dd554 - size: 3779 + md5: d30e205d949ba86fbac5f9fe253f42ae + size: 3780 - path: pubs/applied-ocean-research-model/tables/ hash: md5 md5: 2a0ede44175aafcf72ffb20183bb574e.dir @@ -8276,17 +8276,17 @@ stages: outs: - path: pubs/applied-ocean-research-model/aux/ hash: md5 - md5: 5c0c79d28d7720c5416b45c49ded74a2.dir - size: 1917814 - nfiles: 42 + md5: 3b45ec41759e26882f22a6a4e664398b.dir + size: 452426 + nfiles: 13 - path: pubs/applied-ocean-research-model/main.pdf hash: md5 - md5: 6aec9a916d982154c17d2dd21a36a3f0 - size: 4811513 + md5: 58fb8f70c1a147932e3c0c5b7cb4815b + size: 4826340 - path: pubs/applied-ocean-research-model/main.synctex.gz hash: md5 - md5: e790bf54354541c69966fb06ebb500cb - size: 957484 + md5: 915d816fe40e26e9a3f204ec045e4880 + size: 956755 build-RE-paper: cmd: calkit latex build -e tex --no-check -r pubs/renewable-energy-mdo/.latexmkrc pubs/renewable-energy-mdo/mdocean.tex @@ -8620,12 +8620,12 @@ stages: size: 537913 - path: pubs/shared/shared-pkg.tex hash: md5 - md5: 6194f6d8afc6cc75f26533fad84dd554 - size: 3779 + md5: d30e205d949ba86fbac5f9fe253f42ae + size: 3780 - path: pubs/shared/shared-pkg.tex hash: md5 - md5: 6194f6d8afc6cc75f26533fad84dd554 - size: 3779 + md5: d30e205d949ba86fbac5f9fe253f42ae + size: 3780 outs: - path: pubs/applied-ocean-research-model/elsarticle-num-names.bst hash: md5 @@ -8637,8 +8637,8 @@ stages: size: 537913 - path: pubs/applied-ocean-research-model/shared-pkg.tex hash: md5 - md5: 6194f6d8afc6cc75f26533fad84dd554 - size: 3779 + md5: d30e205d949ba86fbac5f9fe253f42ae + size: 3780 - path: pubs/applied-ocean-research-model/zotero-meem-refs.bib hash: md5 md5: 2b239e27c2b3fe0e1ff79c16314db608 @@ -8657,8 +8657,8 @@ stages: size: 537913 - path: pubs/renewable-energy-mdo/shared-pkg.tex hash: md5 - md5: 6194f6d8afc6cc75f26533fad84dd554 - size: 3779 + md5: d30e205d949ba86fbac5f9fe253f42ae + size: 3780 - path: pubs/renewable-energy-mdo/zotero-meem-refs.bib hash: md5 md5: 2b239e27c2b3fe0e1ff79c16314db608 @@ -9005,17 +9005,17 @@ stages: deps: - path: mdocean/plots/fig_tab_pub_mapping.m hash: md5 - md5: 67f3ae197351f212b83550520d77d8f8 - size: 8599 + md5: 84a2d8d5e34f2c1fbb52f57479431170 + size: 8743 - path: mdocean/plots/move_results_to_pubs.m hash: md5 md5: 5d1567056152391d8fe496a6ceacd6fd size: 2084 - path: mdocean/plots/non_matlab_figs/pdf/ hash: md5 - md5: 66f106b60ef61310633d557f4f9512cf.dir - size: 3358191 - nfiles: 31 + md5: b74e65e68f66db84929a2252cfa8efde.dir + size: 3725187 + nfiles: 41 - path: results/Cost/ hash: md5 md5: df065baef02592f01342ddfc90d0ec44.dir @@ -9073,9 +9073,9 @@ stages: nfiles: 6 - path: results/ReadNonMatlabFigs/ hash: md5 - md5: e302587f7ff97a10e411dc64339d03d9.dir - size: 3359489 - nfiles: 21 + md5: 7e47549a5783e43153ca8f683206d186.dir + size: 3662849 + nfiles: 26 - path: results/RunSingleFigFunc/ hash: md5 md5: 650fef0cc5d7f9b563d23b35c49738b3.dir @@ -9114,9 +9114,9 @@ stages: outs: - path: pubs/applied-ocean-research-model/figs/from-matlab/ hash: md5 - md5: ce17ff68a235cae03b91c5fb1127b880.dir - size: 3939952 - nfiles: 55 + md5: 8f334fac6537226c0b1d41a40b5d3995.dir + size: 4243238 + nfiles: 60 - path: pubs/applied-ocean-research-model/tables/from-matlab/ hash: md5 md5: 3d14c48a0d67e46c5bdb3723f654eb04.dir @@ -16205,8 +16205,8 @@ stages: deps: - path: ./mdocean/analysis/@ReadNonMatlabFigs/ReadNonMatlabFigs.m hash: md5 - md5: 13a2d890d5175a2a99a093a1196af86d - size: 1852 + md5: fd7d645060e0729669a0c5caf832f2bf + size: 2074 - path: ./mdocean/analysis/@ReadNonMatlabFigs/post_process_fcn.m hash: md5 md5: ea01fab4c545653761f5222b5293d4e6 @@ -16428,13 +16428,13 @@ stages: nfiles: 39 - path: mdocean/plots/non_matlab_figs/pdf/ hash: md5 - md5: 66f106b60ef61310633d557f4f9512cf.dir - size: 3358191 - nfiles: 31 + md5: b74e65e68f66db84929a2252cfa8efde.dir + size: 3725187 + nfiles: 41 - path: results/ReadNonMatlabFigs/intermed.mat hash: md5 - md5: 918a7b0ce2206bdea5e45c1ceb80d6b2 - size: 613 + md5: c31c3f8b24cf6f22ea746ae98c206fa0 + size: 687 outs: - path: results/ReadNonMatlabFigs/FBD.pdf hash: md5 @@ -16462,11 +16462,11 @@ stages: size: 208187 - path: results/ReadNonMatlabFigs/end.json hash: md5 - md5: df1563b54df00b4eabc4278b2e6b4744 + md5: d107e0bfed6252040fae92f70807495c size: 85 - path: results/ReadNonMatlabFigs/end.mat hash: md5 - md5: cbba52ad8f281cc162ecf0cd234d071e + md5: c32c73f9e2e564d94028a7fe6511e062 size: 311 - path: results/ReadNonMatlabFigs/equivalent_stiffness.pdf hash: md5 @@ -16478,7 +16478,7 @@ stages: size: 248293 - path: results/ReadNonMatlabFigs/graphical_abstract_optim.pdf hash: md5 - md5: d27aac8e92b2138b2d5cb385aaf8f07b + md5: 60ba97a886d69434aa62541a727c4fc2 size: 1920 - path: results/ReadNonMatlabFigs/methodology_flowchart.pdf hash: md5 @@ -26565,3 +26565,285 @@ stages: hash: md5 md5: 0558e5cbc77e4120a211c625aae7cf8d size: 16863616 + make-standalone-tex-pdf@circuit_intrinsic: + cmd: calkit latex build -e tex --no-check -r + mdocean/plots/non_matlab_figs/.latexmkrc --no-synctex + mdocean/plots/non_matlab_figs/circuit_intrinsic.tex + deps: + - path: .calkit/env-locks/tex + hash: md5 + md5: bce75e09f8a3deb731513d66d450bb87.dir + size: 1147 + nfiles: 1 + - path: mdocean/plots/non_matlab_figs/.latexmkrc + hash: md5 + md5: 9526fce397ef1bed506458f800b5fd0c + size: 36 + - path: mdocean/plots/non_matlab_figs/circuit_intrinsic.tex + hash: md5 + md5: 8271532402ede6a785a54bcaed65c6d1 + size: 272 + - path: pubs/applied-ocean-research-model/figs/tikz/circuit_intrinsic.tikz + hash: md5 + md5: 35d17fdda7eacf84b6762fdc54820a08 + size: 3032 + outs: + - path: mdocean/plots/non_matlab_figs/aux/circuit_intrinsic.aux + hash: md5 + md5: 3985256e7290058c681f74d7a3565a19 + size: 32 + - path: mdocean/plots/non_matlab_figs/aux/circuit_intrinsic.fdb_latexmk + hash: md5 + md5: f2d2bb54fc64ad56dc75169cb17edf00 + size: 18237 + - path: mdocean/plots/non_matlab_figs/aux/circuit_intrinsic.fls + hash: md5 + md5: 9e27b3d337bb6e5e446ad9dd79ae6c76 + size: 18246 + - path: mdocean/plots/non_matlab_figs/aux/circuit_intrinsic.log + hash: md5 + md5: e33c4f0d966c12398f76d18c09d22104 + size: 22084 + - path: mdocean/plots/non_matlab_figs/circuit_intrinsic.pdf + hash: md5 + md5: 73864b5eb7f32601039117058a4d8519 + size: 51823 + make-standalone-tex-pdf@circuit_pto: + cmd: calkit latex build -e tex --no-check -r + mdocean/plots/non_matlab_figs/.latexmkrc --no-synctex + mdocean/plots/non_matlab_figs/circuit_pto.tex + deps: + - path: .calkit/env-locks/tex + hash: md5 + md5: bce75e09f8a3deb731513d66d450bb87.dir + size: 1147 + nfiles: 1 + - path: mdocean/plots/non_matlab_figs/.latexmkrc + hash: md5 + md5: 9526fce397ef1bed506458f800b5fd0c + size: 36 + - path: mdocean/plots/non_matlab_figs/circuit_pto.tex + hash: md5 + md5: 75fb05913aa7ccdd2e8c5948702fff9a + size: 266 + - path: pubs/applied-ocean-research-model/figs/tikz/circuit_pto.tikz + hash: md5 + md5: 66a368b1906508c6ac6c0538ab424fa6 + size: 5845 + outs: + - path: mdocean/plots/non_matlab_figs/aux/circuit_pto.aux + hash: md5 + md5: 3985256e7290058c681f74d7a3565a19 + size: 32 + - path: mdocean/plots/non_matlab_figs/aux/circuit_pto.fdb_latexmk + hash: md5 + md5: b48ea628a27587f4cc232cf4a85e2236 + size: 18702 + - path: mdocean/plots/non_matlab_figs/aux/circuit_pto.fls + hash: md5 + md5: 27f420f5cb16a4f1c4a6e32272804165 + size: 18490 + - path: mdocean/plots/non_matlab_figs/aux/circuit_pto.log + hash: md5 + md5: 3052b2731a16a9a62e60c6fa4754c34f + size: 22622 + - path: mdocean/plots/non_matlab_figs/circuit_pto.pdf + hash: md5 + md5: 5a203cf542cf7877d2416ad6817dff88 + size: 84410 + make-standalone-tex-pdf@circuit_kinematics: + cmd: calkit latex build -e tex --no-check -r + mdocean/plots/non_matlab_figs/.latexmkrc --no-synctex + mdocean/plots/non_matlab_figs/circuit_kinematics.tex + deps: + - path: .calkit/env-locks/tex + hash: md5 + md5: bce75e09f8a3deb731513d66d450bb87.dir + size: 1147 + nfiles: 1 + - path: mdocean/plots/non_matlab_figs/.latexmkrc + hash: md5 + md5: 9526fce397ef1bed506458f800b5fd0c + size: 36 + - path: mdocean/plots/non_matlab_figs/circuit_kinematics.tex + hash: md5 + md5: 5aa5af813f0934c6e0be599e26f650f6 + size: 273 + - path: pubs/applied-ocean-research-model/figs/tikz/circuit_kinematics.tikz + hash: md5 + md5: b5ea627f9ae6a6352d03d8dcb438eaf1 + size: 5143 + outs: + - path: mdocean/plots/non_matlab_figs/aux/circuit_kinematics.aux + hash: md5 + md5: 3985256e7290058c681f74d7a3565a19 + size: 32 + - path: mdocean/plots/non_matlab_figs/aux/circuit_kinematics.fdb_latexmk + hash: md5 + md5: 28f0005b8554ec8a28888a9e60330c1c + size: 18866 + - path: mdocean/plots/non_matlab_figs/aux/circuit_kinematics.fls + hash: md5 + md5: dea80a4b50d6c05f5eec101bf20cd0d3 + size: 19201 + - path: mdocean/plots/non_matlab_figs/aux/circuit_kinematics.log + hash: md5 + md5: cdaf93a889cd7b255d275694b347561d + size: 22811 + - path: mdocean/plots/non_matlab_figs/circuit_kinematics.pdf + hash: md5 + md5: 632cfcb2ab3dcdba98a9d4a6eb0ecb7b + size: 64789 + make-standalone-tex-pdf@control_method_venn_diagram: + cmd: calkit latex build -e tex --no-check -r + mdocean/plots/non_matlab_figs/.latexmkrc --no-synctex + mdocean/plots/non_matlab_figs/control_method_venn_diagram.tex + deps: + - path: .calkit/env-locks/tex + hash: md5 + md5: bce75e09f8a3deb731513d66d450bb87.dir + size: 1147 + nfiles: 1 + - path: mdocean/plots/non_matlab_figs/.latexmkrc + hash: md5 + md5: 9526fce397ef1bed506458f800b5fd0c + size: 36 + - path: mdocean/plots/non_matlab_figs/control_method_venn_diagram.tex + hash: md5 + md5: 6adbb92ea55671f9c47e7f02e1c4061e + size: 240 + - path: + pubs/applied-ocean-research-model/figs/tikz/control_method_venn_diagram.tikz + hash: md5 + md5: d1e3dce7f1ba60853994c715d4ce487b + size: 1962 + outs: + - path: mdocean/plots/non_matlab_figs/aux/control_method_venn_diagram.aux + hash: md5 + md5: 3985256e7290058c681f74d7a3565a19 + size: 32 + - path: + mdocean/plots/non_matlab_figs/aux/control_method_venn_diagram.fdb_latexmk + hash: md5 + md5: 4e3b7291ffb18f556867b9c5f28751ed + size: 16124 + - path: mdocean/plots/non_matlab_figs/aux/control_method_venn_diagram.fls + hash: md5 + md5: 12fa7f3fd0c7313be461281fa269f52c + size: 16247 + - path: mdocean/plots/non_matlab_figs/aux/control_method_venn_diagram.log + hash: md5 + md5: 712b7476d52ade11f84667ded642c2ca + size: 19176 + - path: mdocean/plots/non_matlab_figs/control_method_venn_diagram.pdf + hash: md5 + md5: 41edcbcbf49465f7fefd7b52c53631cb + size: 71817 + make-standalone-tex-pdf@meem_dims: + cmd: calkit latex build -e tex --no-check -r + mdocean/plots/non_matlab_figs/.latexmkrc --no-synctex + mdocean/plots/non_matlab_figs/meem_dims.tex + deps: + - path: .calkit/env-locks/tex + hash: md5 + md5: bce75e09f8a3deb731513d66d450bb87.dir + size: 1147 + nfiles: 1 + - path: mdocean/plots/non_matlab_figs/.latexmkrc + hash: md5 + md5: 9526fce397ef1bed506458f800b5fd0c + size: 36 + - path: mdocean/plots/non_matlab_figs/meem_dims.tex + hash: md5 + md5: 0182cf6e038c7fb7badbda98b1944e72 + size: 222 + - path: pubs/applied-ocean-research-model/figs/tikz/meem_dims.tikz + hash: md5 + md5: 31b4577cfff85b9f870dd1b1a3c6cbe4 + size: 2548 + outs: + - path: mdocean/plots/non_matlab_figs/aux/meem_dims.aux + hash: md5 + md5: 3985256e7290058c681f74d7a3565a19 + size: 32 + - path: mdocean/plots/non_matlab_figs/aux/meem_dims.fdb_latexmk + hash: md5 + md5: 5ef879264410308e67482feb9037c50d + size: 14477 + - path: mdocean/plots/non_matlab_figs/aux/meem_dims.fls + hash: md5 + md5: f2cf7383aff09006f8ff78aba8fae55b + size: 15148 + - path: mdocean/plots/non_matlab_figs/aux/meem_dims.log + hash: md5 + md5: 84d4948c1f556f5f194cf83665a7dbb3 + size: 18716 + - path: mdocean/plots/non_matlab_figs/meem_dims.pdf + hash: md5 + md5: 484197511837c6ff91f0f19b19b14711 + size: 30447 + move-standalone-pdfs@control_method_venn_diagram: + cmd: calkit map-paths --file-to-file + 'mdocean/plots/non_matlab_figs/control_method_venn_diagram.pdf->mdocean/plots/non_matlab_figs/pdf/control_method_venn_diagram.pdf' + deps: + - path: mdocean/plots/non_matlab_figs/control_method_venn_diagram.pdf + hash: md5 + md5: 41edcbcbf49465f7fefd7b52c53631cb + size: 71817 + outs: + - path: mdocean/plots/non_matlab_figs/pdf/control_method_venn_diagram.pdf + hash: md5 + md5: 41edcbcbf49465f7fefd7b52c53631cb + size: 71817 + move-standalone-pdfs@circuit_pto: + cmd: calkit map-paths --file-to-file + 'mdocean/plots/non_matlab_figs/circuit_pto.pdf->mdocean/plots/non_matlab_figs/pdf/circuit_pto.pdf' + deps: + - path: mdocean/plots/non_matlab_figs/circuit_pto.pdf + hash: md5 + md5: 5a203cf542cf7877d2416ad6817dff88 + size: 84410 + outs: + - path: mdocean/plots/non_matlab_figs/pdf/circuit_pto.pdf + hash: md5 + md5: 5a203cf542cf7877d2416ad6817dff88 + size: 84410 + move-standalone-pdfs@circuit_intrinsic: + cmd: calkit map-paths --file-to-file + 'mdocean/plots/non_matlab_figs/circuit_intrinsic.pdf->mdocean/plots/non_matlab_figs/pdf/circuit_intrinsic.pdf' + deps: + - path: mdocean/plots/non_matlab_figs/circuit_intrinsic.pdf + hash: md5 + md5: 73864b5eb7f32601039117058a4d8519 + size: 51823 + outs: + - path: mdocean/plots/non_matlab_figs/pdf/circuit_intrinsic.pdf + hash: md5 + md5: 73864b5eb7f32601039117058a4d8519 + size: 51823 + move-standalone-pdfs@circuit_kinematics: + cmd: calkit map-paths --file-to-file + 'mdocean/plots/non_matlab_figs/circuit_kinematics.pdf->mdocean/plots/non_matlab_figs/pdf/circuit_kinematics.pdf' + deps: + - path: mdocean/plots/non_matlab_figs/circuit_kinematics.pdf + hash: md5 + md5: 632cfcb2ab3dcdba98a9d4a6eb0ecb7b + size: 64789 + outs: + - path: mdocean/plots/non_matlab_figs/pdf/circuit_kinematics.pdf + hash: md5 + md5: 632cfcb2ab3dcdba98a9d4a6eb0ecb7b + size: 64789 + move-standalone-pdfs@meem_dims: + cmd: calkit map-paths --file-to-file + 'mdocean/plots/non_matlab_figs/meem_dims.pdf->mdocean/plots/non_matlab_figs/pdf/meem_dims.pdf' + deps: + - path: mdocean/plots/non_matlab_figs/meem_dims.pdf + hash: md5 + md5: 484197511837c6ff91f0f19b19b14711 + size: 30447 + outs: + - path: mdocean/plots/non_matlab_figs/pdf/meem_dims.pdf + hash: md5 + md5: 484197511837c6ff91f0f19b19b14711 + size: 30447 diff --git a/dvc.yaml b/dvc.yaml index b635173cd..b6bacf3f9 100644 --- a/dvc.yaml +++ b/dvc.yaml @@ -7872,23 +7872,55 @@ stages: desc: Automatically generated from the 'make-quarto-yaml' stage in calkit.yaml. Changes made here will be overwritten. make-standalone-tex-pdf: - cmd: calkit latex build -e tex --no-check - pubs/defense/latex-standalone/standalone_${item.name}.tex + cmd: calkit latex build -e tex --no-check -r + mdocean/plots/non_matlab_figs/.latexmkrc --no-synctex + mdocean/plots/non_matlab_figs/${item.name}.tex deps: - - pubs/defense/latex-standalone/standalone_${item.name}.tex - - pubs/shared/equations/ + - mdocean/plots/non_matlab_figs/${item.name}.tex + - pubs/applied-ocean-research-model/figs/tikz/${item.name}.tikz - .calkit/env-locks/tex + - mdocean/plots/non_matlab_figs/.latexmkrc outs: - - pubs/defense/latex-standalone/standalone_${item.name}.pdf - - pubs/defense/latex-standalone/standalone_${item.name}.log: - cache: true + - mdocean/plots/non_matlab_figs/${item.name}.pdf + - mdocean/plots/non_matlab_figs/aux/${item.name}.log: + cache: false + persist: true + - mdocean/plots/non_matlab_figs/aux/${item.name}.aux: + cache: false + persist: true + - mdocean/plots/non_matlab_figs/aux/${item.name}.fdb_latexmk: + cache: false + persist: true + - mdocean/plots/non_matlab_figs/aux/${item.name}.fls: + cache: false persist: true matrix: name: - - eigenfunctions - - A_matrix + - circuit_intrinsic + - circuit_pto + - circuit_kinematics + - control_method_venn_diagram + - meem_dims desc: Automatically generated from the 'make-standalone-tex-pdf' stage in calkit.yaml. Changes made here will be overwritten. + move-standalone-pdfs: + cmd: calkit map-paths --file-to-file + 'mdocean/plots/non_matlab_figs/${item.name}.pdf->mdocean/plots/non_matlab_figs/pdf/${item.name}.pdf' + deps: + - mdocean/plots/non_matlab_figs/${item.name}.pdf + outs: + - mdocean/plots/non_matlab_figs/pdf/${item.name}.pdf: + cache: false + persist: true + matrix: + name: + - circuit_intrinsic + - circuit_pto + - circuit_kinematics + - control_method_venn_diagram + - meem_dims + desc: Automatically generated from the 'move-standalone-pdfs' + stage in calkit.yaml. Changes made here will be overwritten. render-quarto-html: cmd: quarto render pubs/defense/quarto/slides.qmd deps: diff --git a/mdocean/analysis/@ReadNonMatlabFigs/ReadNonMatlabFigs.m b/mdocean/analysis/@ReadNonMatlabFigs/ReadNonMatlabFigs.m index 3ba56439a..62a84518d 100644 --- a/mdocean/analysis/@ReadNonMatlabFigs/ReadNonMatlabFigs.m +++ b/mdocean/analysis/@ReadNonMatlabFigs/ReadNonMatlabFigs.m @@ -3,12 +3,17 @@ % Reads external image files and creates MATLAB figures properties - fig_names = {'control_analysis_flowcharts',... + fig_names = {'circuit_intrinsic', ... + 'circuit_pto', ... + 'circuit_kinematics', ... + 'control_method_venn_diagram', ... + 'control_analysis_flowcharts',... 'damping_plate_flowchart',... 'dimensions',... 'equivalent_stiffness',... 'FBD',... 'graphical_abstract_modeling',... + 'meem_dims', ... 'MEEM_geometry',... 'methodology_flowchart',... 'mod_freq_domain_ctrl_synthesis',... diff --git a/mdocean/analysis/@ReadNonMatlabFigs/analysis_fcn.m b/mdocean/analysis/@ReadNonMatlabFigs/analysis_fcn.m index 51d7958d9..85c994980 100644 --- a/mdocean/analysis/@ReadNonMatlabFigs/analysis_fcn.m +++ b/mdocean/analysis/@ReadNonMatlabFigs/analysis_fcn.m @@ -8,12 +8,17 @@ % Store file information for post-processing intermed_result_struct.file_names = {... + 'circuit_intrinsic.png', ... + 'circuit_pto.png', ... + 'circuit_kinematics.png', ... + 'control_method_venn_diagram.png', ... 'control_analysis_flowcharts.png',... 'damping_plate_flowchart.png',... 'dimensions.jpg',... 'equivalent_stiffness.png',... 'FBD.jpg',... 'graphical_abstract_modeling.png',... + 'meem_dims.png', ... 'MEEM_geometry.jpg',... 'methodology_flowchart.png',... 'mod_freq_domain_ctrl_synthesis.png',... diff --git a/mdocean/plots/fig_tab_pub_mapping.m b/mdocean/plots/fig_tab_pub_mapping.m index 116936b38..a83b54cdb 100644 --- a/mdocean/plots/fig_tab_pub_mapping.m +++ b/mdocean/plots/fig_tab_pub_mapping.m @@ -9,7 +9,7 @@ %% numbers num_figs_RE = 29; -num_figs_AOR = 60; +num_figs_AOR = 61; num_tabs_AOR = 2; num_tabs_RE = 6; @@ -59,73 +59,74 @@ figs_in_AOR{1} = 'ReadNonMatlabFigs.taxonomy'; % 2: model structure figs_in_AOR{2} = 'ReadNonMatlabFigs.xdsm'; -figs_in_AOR{3} = 'ReadNonMatlabFigs.control_analysis_flowcharts'; +figs_in_AOR{3} = 'ReadNonMatlabFigs.control_method_venn_diagram'; +figs_in_AOR{4} = 'ReadNonMatlabFigs.control_analysis_flowcharts'; % 3: module details -figs_in_AOR{4} = 'ReadNonMatlabFigs.dimensions'; -figs_in_AOR{5} = 'ReadNonMatlabFigs.MEEM_geometry'; -figs_in_AOR{6} = 'Tikz.circuit_intrinsic'; -figs_in_AOR{7} = 'ReadNonMatlabFigs.mod_freq_domain_ctrl_synthesis'; -figs_in_AOR{8} = 'ReadNonMatlabFigs.mod_freq_domain_ctrl_evaluation'; -figs_in_AOR{9} = 'DescFcns.saturation_desc_fcn'; % subfig (a), combined with {51} -figs_in_AOR{10} = 'RunSingleFigFunc.nominal_power_matrix'; -figs_in_AOR{11} = 'ReadNonMatlabFigs.FBD'; +figs_in_AOR{5} = 'ReadNonMatlabFigs.dimensions'; +figs_in_AOR{6} = 'ReadNonMatlabFigs.MEEM_geometry'; +figs_in_AOR{7} = 'ReadNonMatlabFigs.circuit_intrinsic'; +figs_in_AOR{8} = 'ReadNonMatlabFigs.mod_freq_domain_ctrl_synthesis'; +figs_in_AOR{9} = 'ReadNonMatlabFigs.mod_freq_domain_ctrl_evaluation'; +figs_in_AOR{10} = 'DescFcns.saturation_desc_fcn'; % subfig (a), combined with {52} +figs_in_AOR{11} = 'RunSingleFigFunc.nominal_power_matrix'; +figs_in_AOR{12} = 'ReadNonMatlabFigs.FBD'; % 4: validation and benchmarking -figs_in_AOR{12} = 'Wecsim.wecsim_wcsm_multi__histogram'; -figs_in_AOR{13} = 'Runtime.sim_runtime'; -figs_in_AOR{14} = 'Runtime.hydro_runtime_logscale'; -figs_in_AOR{15} = 'Runtime.dynamics_runtime'; +figs_in_AOR{13} = 'Wecsim.wecsim_wcsm_multi__histogram'; +figs_in_AOR{14} = 'Runtime.sim_runtime'; +figs_in_AOR{15} = 'Runtime.hydro_runtime_logscale'; +figs_in_AOR{16} = 'Runtime.dynamics_runtime'; % 5: insights and discussion -figs_in_AOR{16} = 'SweepGeoms.sweep_geoms_line'; -figs_in_AOR{17} = 'SweepGeoms.sweep_geoms_line_cwr_sa'; -figs_in_AOR{18} = 'SweepGeoms.sweep_geoms_pareto_nondim'; -figs_in_AOR{19} = 'DampingPlateStructures.damping_plate_aspect_ratio'; -figs_in_AOR{20} = 'ForceSaturationFigFunc.power_force_sensitivity'; -figs_in_AOR{21} = 'PtoSweep.pto_sweep'; -figs_in_AOR{22} = 'DesignSpaceExploration.experiments_ratios'; -figs_in_AOR{23} = 'RunSingleFigFunc.nominal_power_matrix'; +figs_in_AOR{17} = 'SweepGeoms.sweep_geoms_line'; +figs_in_AOR{18} = 'SweepGeoms.sweep_geoms_line_cwr_sa'; +figs_in_AOR{19} = 'SweepGeoms.sweep_geoms_pareto_nondim'; +figs_in_AOR{20} = 'DampingPlateStructures.damping_plate_aspect_ratio'; +figs_in_AOR{21} = 'ForceSaturationFigFunc.power_force_sensitivity'; +figs_in_AOR{22} = 'PtoSweep.pto_sweep'; +figs_in_AOR{23} = 'DesignSpaceExploration.experiments_ratios'; +figs_in_AOR{24} = 'RunSingleFigFunc.nominal_power_matrix'; % appendix A - hydro -figs_in_AOR{24} = 'Tikz.meem_regions'; -figs_in_AOR{25} = 'Meem.meem_sparsity'; -figs_in_AOR{26} = 'Meem.meem_validation'; -figs_in_AOR{27} = 'Meem.meem_matching'; -figs_in_AOR{28} = 'Meem.meem_convergence_vs_omega'; -figs_in_AOR{29} = 'Meem.asymptotic_b_vector'; -figs_in_AOR{30} = 'FitOlaya.case4_v1_auto_semilogx_khRxRpa4b_fv1'; +figs_in_AOR{25} = 'ReadNonMatlabFigs.meem_dims'; +figs_in_AOR{26} = 'Meem.meem_sparsity'; +figs_in_AOR{27} = 'Meem.meem_validation'; +figs_in_AOR{28} = 'Meem.meem_matching'; +figs_in_AOR{29} = 'Meem.meem_convergence_vs_omega'; +figs_in_AOR{30} = 'Meem.asymptotic_b_vector'; +figs_in_AOR{31} = 'FitOlaya.case4_v1_auto_semilogx_khRxRpa4b_fv1'; % appendix B - dynamics (PTO kinematics, PTO circuit, QP, drag, slamming, WECSim) -figs_in_AOR{31} = 'Tikz.circuit_kinematics'; -figs_in_AOR{32} = 'Tikz.circuit_pto'; -figs_in_AOR{33} = 'QPCircles.qp_circles'; -figs_in_AOR{34} = 'RunSingleFigFunc.qcqp_circles_nominal'; -figs_in_AOR{35} = 'RunSingleFigFunc.ctrl_polar_plot_mult'; -figs_in_AOR{36} = 'DragIntegral.drag_integral_B'; % subfig (a), combined with {52},{53} -figs_in_AOR{37} = 'Slamming.slamming_amplitude'; -figs_in_AOR{38} = 'RunSingleFigFunc.slamming_model_comparison_float'; -figs_in_AOR{39} = 'Wecsim.wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat'; % subfig, combined with {54},{55},{56} -figs_in_AOR{40} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund'; % subfig, combined with {57},{58},{59} -figs_in_AOR{41} = 'Wecsim.accel_fourier_harmonics'; -figs_in_AOR{42} = 'Wecsim.drag_force_desc_fcn'; -figs_in_AOR{43} = 'Wecsim.position_THD_contour'; -figs_in_AOR{44} = 'Wecsim.wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat'; +figs_in_AOR{32} = 'ReadNonMatlabFigs.circuit_kinematics'; +figs_in_AOR{33} = 'ReadNonMatlabFigs.circuit_pto'; +figs_in_AOR{34} = 'QPCircles.qp_circles'; +figs_in_AOR{35} = 'RunSingleFigFunc.qcqp_circles_nominal'; +figs_in_AOR{36} = 'RunSingleFigFunc.ctrl_polar_plot_mult'; +figs_in_AOR{37} = 'DragIntegral.drag_integral_B'; % subfig (a), combined with {53},{54} +figs_in_AOR{38} = 'Slamming.slamming_amplitude'; +figs_in_AOR{39} = 'RunSingleFigFunc.slamming_model_comparison_float'; +figs_in_AOR{40} = 'Wecsim.wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat'; % subfig, combined with {55},{56},{57} +figs_in_AOR{41} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund'; % subfig, combined with {58},{59},{60} +figs_in_AOR{42} = 'Wecsim.accel_fourier_harmonics'; +figs_in_AOR{43} = 'Wecsim.drag_force_desc_fcn'; +figs_in_AOR{44} = 'Wecsim.position_THD_contour'; +figs_in_AOR{45} = 'Wecsim.wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat'; % appendix C - economic validation -figs_in_AOR{45} = 'Validation.cost_vs_N_WEC'; +figs_in_AOR{46} = 'Validation.cost_vs_N_WEC'; % appendix D - structures -figs_in_AOR{46} = 'ReadNonMatlabFigs.equivalent_stiffness'; -figs_in_AOR{47} = 'ReadNonMatlabFigs.trapezoid'; -figs_in_AOR{48} = 'ReadNonMatlabFigs.damping_plate_flowchart'; -figs_in_AOR{49} = 'DampingPlateStructures.damping_plate_moment'; % subfig (a), combined with {60} +figs_in_AOR{47} = 'ReadNonMatlabFigs.equivalent_stiffness'; +figs_in_AOR{48} = 'ReadNonMatlabFigs.trapezoid'; +figs_in_AOR{49} = 'ReadNonMatlabFigs.damping_plate_flowchart'; +figs_in_AOR{50} = 'DampingPlateStructures.damping_plate_moment'; % subfig (a), combined with {61} % graphical abstract (unnumbered so at the end) -figs_in_AOR{50} = 'ReadNonMatlabFigs.graphical_abstract_modeling'; +figs_in_AOR{51} = 'ReadNonMatlabFigs.graphical_abstract_modeling'; % extra subplot entries (additional MATLAB outputs for multi-panel figures) -figs_in_AOR{51} = 'DescFcns.drag_desc_fcn'; % fig 9 subfig (b) -figs_in_AOR{52} = 'DragIntegral.drag_integral_G_m'; % fig 36 subfig (b) -figs_in_AOR{53} = 'DragIntegral.drag_integral_G_p'; % fig 36 subfig (c) -figs_in_AOR{54} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat'; % fig 39 subfig -figs_in_AOR{55} = 'Wecsim.wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat'; % fig 39 subfig -figs_in_AOR{56} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat'; % fig 39 subfig -figs_in_AOR{57} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund'; % fig 40 subfig -figs_in_AOR{58} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase'; % fig 40 subfig -figs_in_AOR{59} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase'; % fig 40 subfig -figs_in_AOR{60} = 'DampingPlateStructures.damping_plate_deflection'; % fig 49 subfig (b) +figs_in_AOR{52} = 'DescFcns.drag_desc_fcn'; % fig 10 subfig (b) +figs_in_AOR{53} = 'DragIntegral.drag_integral_G_m'; % fig 37 subfig (b) +figs_in_AOR{54} = 'DragIntegral.drag_integral_G_p'; % fig 37 subfig (c) +figs_in_AOR{55} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat'; % fig 40 subfig +figs_in_AOR{56} = 'Wecsim.wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat'; % fig 40 subfig +figs_in_AOR{57} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat'; % fig 40 subfig +figs_in_AOR{58} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund'; % fig 41 subfig +figs_in_AOR{59} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase'; % fig 41 subfig +figs_in_AOR{60} = 'Wecsim.wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase'; % fig 41 subfig +figs_in_AOR{61} = 'DampingPlateStructures.damping_plate_deflection'; % fig 50 subfig (b) %% TABLES @@ -152,7 +153,7 @@ tabs_classes = tabs_split(:,1); for i=1:length(figs_classes) class_name = figs_classes{i}; - if ~strcmp(class_name, 'Tikz') + if ~strcmp(class_name, 'ReadNonMatlabFigs') all_fig_names_this_class = feval(class_name,struct(),struct()).fig_names; this_fig_name = figs_split(i,2); valid = ismember(this_fig_name,all_fig_names_this_class); @@ -166,7 +167,7 @@ end for i=1:length(tabs_classes) class_name = tabs_classes{i}; - if ~strcmp(class_name, 'Tikz') + if ~strcmp(class_name, 'ReadNonMatlabFigs') all_tab_names_this_class = feval(class_name,struct(),struct()).tab_names; this_tab_name = tabs_split(i,2); valid = ismember(this_tab_name,all_tab_names_this_class); diff --git a/mdocean/plots/non_matlab_figs/.latexmkrc b/mdocean/plots/non_matlab_figs/.latexmkrc new file mode 100644 index 000000000..ef7c5c827 --- /dev/null +++ b/mdocean/plots/non_matlab_figs/.latexmkrc @@ -0,0 +1,2 @@ +#$out_dir = 'pdf'; +$aux_dir = 'aux'; \ No newline at end of file diff --git a/mdocean/plots/non_matlab_figs/circuit_intrinsic.tex b/mdocean/plots/non_matlab_figs/circuit_intrinsic.tex new file mode 100644 index 000000000..3195c5720 --- /dev/null +++ b/mdocean/plots/non_matlab_figs/circuit_intrinsic.tex @@ -0,0 +1,9 @@ +\documentclass{standalone} +\usepackage{tikz} +\usepackage{circuitikz} % circuit figures +\usepackage{import} + +\usetikzlibrary{external,positioning,calc} +\begin{document} +\subimport{../../../pubs/applied-ocean-research-model/figs/tikz/}{circuit_intrinsic.tikz} +\end{document} \ No newline at end of file diff --git a/mdocean/plots/non_matlab_figs/circuit_kinematics.tex b/mdocean/plots/non_matlab_figs/circuit_kinematics.tex new file mode 100644 index 000000000..89f5d3665 --- /dev/null +++ b/mdocean/plots/non_matlab_figs/circuit_kinematics.tex @@ -0,0 +1,9 @@ +\documentclass{standalone} +\usepackage{tikz} +\usepackage{circuitikz} % circuit figures +\usepackage{import} + +\usetikzlibrary{external,positioning,calc} +\begin{document} +\subimport{../../../pubs/applied-ocean-research-model/figs/tikz/}{circuit_kinematics.tikz} +\end{document} \ No newline at end of file diff --git a/mdocean/plots/non_matlab_figs/circuit_pto.tex b/mdocean/plots/non_matlab_figs/circuit_pto.tex new file mode 100644 index 000000000..74f1a580f --- /dev/null +++ b/mdocean/plots/non_matlab_figs/circuit_pto.tex @@ -0,0 +1,9 @@ +\documentclass{standalone} +\usepackage{tikz} +\usepackage{circuitikz} % circuit figures +\usepackage{import} + +\usetikzlibrary{external,positioning,calc} +\begin{document} +\subimport{../../../pubs/applied-ocean-research-model/figs/tikz/}{circuit_pto.tikz} +\end{document} \ No newline at end of file diff --git a/mdocean/plots/non_matlab_figs/control_method_venn_diagram.tex b/mdocean/plots/non_matlab_figs/control_method_venn_diagram.tex new file mode 100644 index 000000000..4342dfcf4 --- /dev/null +++ b/mdocean/plots/non_matlab_figs/control_method_venn_diagram.tex @@ -0,0 +1,8 @@ +\documentclass{standalone} +\usepackage{tikz} +\usepackage{import} + +\usetikzlibrary{external,positioning,calc} +\begin{document} +\subimport{../../../pubs/applied-ocean-research-model/figs/tikz/}{control_method_venn_diagram.tikz} +\end{document} \ No newline at end of file diff --git a/mdocean/plots/non_matlab_figs/meem_dims.tex b/mdocean/plots/non_matlab_figs/meem_dims.tex new file mode 100644 index 000000000..d694fd518 --- /dev/null +++ b/mdocean/plots/non_matlab_figs/meem_dims.tex @@ -0,0 +1,8 @@ +\documentclass{standalone} +\usepackage{tikz} +\usepackage{import} + +\usetikzlibrary{external,positioning,calc} +\begin{document} +\subimport{../../../pubs/applied-ocean-research-model/figs/tikz/}{meem_dims.tikz} +\end{document} \ No newline at end of file diff --git a/pubs/applied-ocean-research-model/.latexmkrc b/pubs/applied-ocean-research-model/.latexmkrc index f61a37264..a999b3ed8 100644 --- a/pubs/applied-ocean-research-model/.latexmkrc +++ b/pubs/applied-ocean-research-model/.latexmkrc @@ -17,7 +17,7 @@ print "TEXINPUTS after: @TEXINPUTS\n"; $out_dir = '.'; $aux_dir = 'aux'; -# Enable -shell-escape for pdflatex (required for TikZ externalization and bibcop override) +# Enable -shell-escape for pdflatex (required for bibcop override) set_tex_cmds( '--shell-escape %O %S' ); -$max_repeat = 10; \ No newline at end of file +$max_repeat = 10; diff --git a/pubs/applied-ocean-research-model/commands-aor.tex b/pubs/applied-ocean-research-model/commands-aor.tex index 999eacf7e..d5e639943 100644 --- a/pubs/applied-ocean-research-model/commands-aor.tex +++ b/pubs/applied-ocean-research-model/commands-aor.tex @@ -3,22 +3,8 @@ %% please give \usepackage{epsfig} \usepackage{microtype} -\usepackage{circuitikz} % circuit figures \usepackage{subcaption} % for subfigures -% set tikz to compile externally to work with latexmk -\usetikzlibrary{external,positioning,calc} -\tikzset{ - external/system call={ - pdflatex \tikzexternalcheckshellescape - -halt-on-error - -interaction=batchmode - -output-directory=aux/ - -jobname "\image" "\texsource" - } -} -\tikzexternalize - %\usepackage{graphicx} %\usepackage{float} %\usepackage{placeins} diff --git a/pubs/applied-ocean-research-model/sections/meem-appendix.tex b/pubs/applied-ocean-research-model/sections/meem-appendix.tex index c4577099c..102910b13 100644 --- a/pubs/applied-ocean-research-model/sections/meem-appendix.tex +++ b/pubs/applied-ocean-research-model/sections/meem-appendix.tex @@ -23,7 +23,7 @@ \subsection{Linear Hydrodynamics and Eigenfunctions} \begin{figure}[htbp] \centering -\input{figs/tikz/meem_dims.tikz} +\includegraphics{figs/from-matlab/meem_dims.pdf} \caption{Fluid regions and dimensions used in the dual concentric cylinder MEEM} \label{fig:meem-regions} \end{figure} diff --git a/pubs/applied-ocean-research-model/sections/module-details.tex b/pubs/applied-ocean-research-model/sections/module-details.tex index 733c2c2ca..92c409a41 100644 --- a/pubs/applied-ocean-research-model/sections/module-details.tex +++ b/pubs/applied-ocean-research-model/sections/module-details.tex @@ -230,7 +230,7 @@ \subsubsection{Modified Frequency Domain Techniques} \begin{figure}[htbp] \centering \resizebox{0.5\linewidth}{!}{% - \input{figs/tikz/control_method_venn_diagram.tikz} + \includegraphics{figs/from-matlab/control_method_venn_diagram.pdf} } \caption{Venn diagram comparing different methods for control synthesis, with MDOcean's modified frequency domain approach at the intersection of frequency domain, nonlinear, and constrained optimal control. See text for a description of each acronym.} @@ -474,7 +474,7 @@ \subsubsection{Equation of Motion}\label{sec:eom} \begin{figure}[htbp] \centering - \input{figs/tikz/circuit_intrinsic.tikz} + \includegraphics{figs/from-matlab/circuit_intrinsic.pdf} \caption{Multiport circuit for two hydrodynamic degrees of freedom with intrinsic and powertrain impedances $\mathbf{Z}_i$ and $\mathbf{Z}_p$} \label{fig:multiport-circuit-intrinsic} \end{figure} diff --git a/pubs/applied-ocean-research-model/sections/other-appendices.tex b/pubs/applied-ocean-research-model/sections/other-appendices.tex index 910576a5e..48c1403a4 100644 --- a/pubs/applied-ocean-research-model/sections/other-appendices.tex +++ b/pubs/applied-ocean-research-model/sections/other-appendices.tex @@ -164,7 +164,7 @@ \subsubsection{PTO Kinematics and Underactuation} In the circuit representation with two hydrodynamic and one PTO degree of freedom, the hybrid matrix \cref{eq:h-matrix-kinematics} can be represented as a three-port element, as shown in \cref{fig:multiport-circuit-kinematics}. \begin{figure}[htbp] \centering - \input{figs/tikz/circuit_kinematics.tikz} + \includegraphics{figs/from-matlab/circuit_kinematics.pdf} \caption{Multiport circuit with powertrain kinematics represented as a hybrid matrix, followed by the Th\'{e}venin equivalent of the intrinsic dynamics and kinematics} \label{fig:multiport-circuit-kinematics} \end{figure} @@ -302,7 +302,7 @@ \subsubsection{PTO Dynamics} The PTO dynamics can be represented as a multiport circuit, as shown in \cref{fig:multiport-circuit-pto}. \begin{figure}[htbp] \centering - \input{figs/tikz/circuit_pto.tikz} + \includegraphics{figs/from-matlab/circuit_pto.pdf} \caption{PTO dynamics represented as a multiport circuit and electrical Th\'{e}venin equivalent} \label{fig:multiport-circuit-pto} \end{figure} diff --git a/results/ReadNonMatlabFigs/end.json b/results/ReadNonMatlabFigs/end.json index 27fb6de35..78044d6bf 100644 --- a/results/ReadNonMatlabFigs/end.json +++ b/results/ReadNonMatlabFigs/end.json @@ -1,5 +1,5 @@ { - "num_figs_created": 18, - "postpro_time": 5.056827, - "analysis_time": 0.00219 + "num_figs_created": 23, + "postpro_time": 5.25552, + "analysis_time": 0.002159 } From 5032807aa6db040f1a8fd0b2b5e19c7daf50fdeb Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 18:36:32 -0400 Subject: [PATCH 15/95] rerun AOR build --- dvc.lock | 24 ++++++++++++------------ results/ReadNonMatlabFigs/end.json | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/dvc.lock b/dvc.lock index 5e3b004cb..7f91339a0 100644 --- a/dvc.lock +++ b/dvc.lock @@ -9013,9 +9013,9 @@ stages: size: 2084 - path: mdocean/plots/non_matlab_figs/pdf/ hash: md5 - md5: b74e65e68f66db84929a2252cfa8efde.dir - size: 3725187 - nfiles: 41 + md5: f6927ce6c0e731fd3e5b29d02bb106e2.dir + size: 3661477 + nfiles: 36 - path: results/Cost/ hash: md5 md5: df065baef02592f01342ddfc90d0ec44.dir @@ -9073,8 +9073,8 @@ stages: nfiles: 6 - path: results/ReadNonMatlabFigs/ hash: md5 - md5: 7e47549a5783e43153ca8f683206d186.dir - size: 3662849 + md5: b202d1faa4a2103c520857cd8db77da0.dir + size: 3662850 nfiles: 26 - path: results/RunSingleFigFunc/ hash: md5 @@ -16428,9 +16428,9 @@ stages: nfiles: 39 - path: mdocean/plots/non_matlab_figs/pdf/ hash: md5 - md5: b74e65e68f66db84929a2252cfa8efde.dir - size: 3725187 - nfiles: 41 + md5: f6927ce6c0e731fd3e5b29d02bb106e2.dir + size: 3661477 + nfiles: 36 - path: results/ReadNonMatlabFigs/intermed.mat hash: md5 md5: c31c3f8b24cf6f22ea746ae98c206fa0 @@ -16462,11 +16462,11 @@ stages: size: 208187 - path: results/ReadNonMatlabFigs/end.json hash: md5 - md5: d107e0bfed6252040fae92f70807495c - size: 85 + md5: 440cbb98fb6686f5e53004d420ea4743 + size: 86 - path: results/ReadNonMatlabFigs/end.mat hash: md5 - md5: c32c73f9e2e564d94028a7fe6511e062 + md5: 47f6618e779ce4b7c74b23ab69d44ce8 size: 311 - path: results/ReadNonMatlabFigs/equivalent_stiffness.pdf hash: md5 @@ -16478,7 +16478,7 @@ stages: size: 248293 - path: results/ReadNonMatlabFigs/graphical_abstract_optim.pdf hash: md5 - md5: 60ba97a886d69434aa62541a727c4fc2 + md5: 32ce47c720a38ff0366afa6ba6487c9c size: 1920 - path: results/ReadNonMatlabFigs/methodology_flowchart.pdf hash: md5 diff --git a/results/ReadNonMatlabFigs/end.json b/results/ReadNonMatlabFigs/end.json index 78044d6bf..54e36747e 100644 --- a/results/ReadNonMatlabFigs/end.json +++ b/results/ReadNonMatlabFigs/end.json @@ -1,5 +1,5 @@ { "num_figs_created": 23, - "postpro_time": 5.25552, + "postpro_time": 5.259157, "analysis_time": 0.002159 } From 608fd085e226f63a07791c47d97b9897bb9de810 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 19:08:01 -0400 Subject: [PATCH 16/95] run aor paper again and adjust overleaf pull script --- ...4-04-6858fcf6e8bf484abe1ecff90fb1e522.json | 5169 +++++++++++++++++ ...75abfd2750ded2a26c7cdaa45b52bde180a0e.json | 28 + dev/latex/calkit_instructions_interactive.sh | 9 +- .../numeric-results.tex | 1 - .../shared-pkg.tex | 2 +- 5 files changed, 5204 insertions(+), 5 deletions(-) create mode 100644 .calkit/runs/2026-06-19T23-04-04-6858fcf6e8bf484abe1ecff90fb1e522.json create mode 100644 .calkit/systems/69d75abfd2750ded2a26c7cdaa45b52bde180a0e.json diff --git a/.calkit/runs/2026-06-19T23-04-04-6858fcf6e8bf484abe1ecff90fb1e522.json b/.calkit/runs/2026-06-19T23-04-04-6858fcf6e8bf484abe1ecff90fb1e522.json new file mode 100644 index 000000000..b6fcb834d --- /dev/null +++ b/.calkit/runs/2026-06-19T23-04-04-6858fcf6e8bf484abe1ecff90fb1e522.json @@ -0,0 +1,5169 @@ +{ + "id": "6858fcf6e8bf484abe1ecff90fb1e522", + "system_id": "69d75abfd2750ded2a26c7cdaa45b52bde180a0e", + "start_time": "2026-06-19T23:04:04.535066+00:00", + "end_time": "2026-06-19T23:04:45.888937+00:00", + "targets": [ + "build-AOR-paper" + ], + "force": false, + "dvc_args": [ + "build-AOR-paper" + ], + "status": "completed", + "stages": { + "make-drag-integral": { + "start_time": "2026-06-19T23:04:11.187000", + "end_time": "2026-06-19T23:04:11.187000", + "status": "skipped" + }, + "make-var-bounds": { + "start_time": "2026-06-19T23:04:11.214000", + "end_time": "2026-06-19T23:04:11.214000", + "status": "skipped" + }, + "analysis-Runtime": { + "start_time": "2026-06-19T23:04:11.265000", + "end_time": "2026-06-19T23:04:11.265000", + "status": "skipped" + }, + "make-standalone-tex-pdf@circuit_intrinsic": { + "start_time": "2026-06-19T23:04:11.322000", + "end_time": "2026-06-19T23:04:11.322000", + "status": "skipped" + }, + "analysis-SparHydro": { + "start_time": "2026-06-19T23:04:11.397000", + "end_time": "2026-06-19T23:04:11.397000", + "status": "skipped" + }, + "make-standalone-tex-pdf@circuit_pto": { + "start_time": "2026-06-19T23:04:11.430000", + "end_time": "2026-06-19T23:04:11.430000", + "status": "skipped" + }, + "pyxdsm": { + "start_time": "2026-06-19T23:04:11.458000", + "end_time": "2026-06-19T23:04:11.458000", + "status": "skipped" + }, + "analysis-Wecsim": { + "start_time": "2026-06-19T23:04:11.533000", + "end_time": "2026-06-19T23:04:11.533000", + "status": "skipped" + }, + "analysis-DesignSpaceExploration": { + "start_time": "2026-06-19T23:04:11.584000", + "end_time": "2026-06-19T23:04:11.584000", + "status": "skipped" + }, + "make-standalone-tex-pdf@circuit_kinematics": { + "start_time": "2026-06-19T23:04:11.740000", + "end_time": "2026-06-19T23:04:11.740000", + "status": "skipped" + }, + "move-standalone-pdfs@circuit_kinematics": { + "start_time": "2026-06-19T23:04:11.765000", + "end_time": "2026-06-19T23:04:11.765000", + "status": "skipped" + }, + "mermaid-make-pngs@mod_freq_domain_ctrl_evaluation": { + "start_time": "2026-06-19T23:04:11.791000", + "end_time": "2026-06-19T23:04:11.791000", + "status": "skipped" + }, + "analysis-Parameters": { + "start_time": "2026-06-19T23:04:11.840000", + "end_time": "2026-06-19T23:04:11.840000", + "status": "skipped" + }, + "postpro-Parameters": { + "start_time": "2026-06-19T23:04:11.893000", + "end_time": "2026-06-19T23:04:11.893000", + "status": "skipped" + }, + "analysis-RunSingleFigFunc": { + "start_time": "2026-06-19T23:04:11.965000", + "end_time": "2026-06-19T23:04:11.965000", + "status": "skipped" + }, + "postpro-RunSingleFigFunc": { + "start_time": "2026-06-19T23:04:12.063000", + "end_time": "2026-06-19T23:04:12.063000", + "status": "skipped" + }, + "postpro-Runtime": { + "start_time": "2026-06-19T23:04:12.131000", + "end_time": "2026-06-19T23:04:12.131000", + "status": "skipped" + }, + "analysis-PtoSweep": { + "start_time": "2026-06-19T23:04:12.180000", + "end_time": "2026-06-19T23:04:12.180000", + "status": "skipped" + }, + "postpro-PtoSweep": { + "start_time": "2026-06-19T23:04:12.240000", + "end_time": "2026-06-19T23:04:12.240000", + "status": "skipped" + }, + "postpro-Wecsim": { + "start_time": "2026-06-19T23:04:14.038000", + "end_time": "2026-06-19T23:04:14.038000", + "status": "skipped" + }, + "aor-results-to-latex": { + "start_time": "2026-06-19T23:04:14.108000", + "end_time": "2026-06-19T23:04:19.245000", + "status": "completed" + }, + "analysis-SweepGeoms": { + "start_time": "2026-06-19T23:04:19.245000", + "end_time": "2026-06-19T23:04:19.245000", + "status": "skipped" + }, + "make-standalone-tex-pdf@control_method_venn_diagram": { + "start_time": "2026-06-19T23:04:19.303000", + "end_time": "2026-06-19T23:04:19.303000", + "status": "skipped" + }, + "analysis-Slamming": { + "start_time": "2026-06-19T23:04:19.355000", + "end_time": "2026-06-19T23:04:19.355000", + "status": "skipped" + }, + "postpro-Slamming": { + "start_time": "2026-06-19T23:04:19.410000", + "end_time": "2026-06-19T23:04:19.410000", + "status": "skipped" + }, + "analysis-DampingPlateStructures": { + "start_time": "2026-06-19T23:04:19.466000", + "end_time": "2026-06-19T23:04:19.466000", + "status": "skipped" + }, + "postpro-DampingPlateStructures": { + "start_time": "2026-06-19T23:04:19.531000", + "end_time": "2026-06-19T23:04:19.531000", + "status": "skipped" + }, + "analysis-HydroCoeffFigFunc": { + "start_time": "2026-06-19T23:04:19.608000", + "end_time": "2026-06-19T23:04:19.608000", + "status": "skipped" + }, + "postpro-HydroCoeffFigFunc": { + "start_time": "2026-06-19T23:04:19.664000", + "end_time": "2026-06-19T23:04:19.664000", + "status": "skipped" + }, + "mermaid-make-pdfs@mod_freq_domain_ctrl_evaluation": { + "start_time": "2026-06-19T23:04:19.690000", + "end_time": "2026-06-19T23:04:19.690000", + "status": "skipped" + }, + "move-standalone-pdfs@circuit_intrinsic": { + "start_time": "2026-06-19T23:04:19.741000", + "end_time": "2026-06-19T23:04:19.741000", + "status": "skipped" + }, + "copy-shared-latex": { + "start_time": "2026-06-19T23:04:19.899000", + "end_time": "2026-06-19T23:04:25.181000", + "status": "completed" + }, + "analysis-DragIntegral": { + "start_time": "2026-06-19T23:04:25.181000", + "end_time": "2026-06-19T23:04:25.181000", + "status": "skipped" + }, + "postpro-DragIntegral": { + "start_time": "2026-06-19T23:04:25.252000", + "end_time": "2026-06-19T23:04:25.252000", + "status": "skipped" + }, + "analysis-FitOlaya": { + "start_time": "2026-06-19T23:04:25.310000", + "end_time": "2026-06-19T23:04:25.310000", + "status": "skipped" + }, + "postpro-FitOlaya": { + "start_time": "2026-06-19T23:04:25.623000", + "end_time": "2026-06-19T23:04:25.623000", + "status": "skipped" + }, + "analysis-ReadNonMatlabFigs": { + "start_time": "2026-06-19T23:04:25.673000", + "end_time": "2026-06-19T23:04:25.673000", + "status": "skipped" + }, + "mermaid-make-pngs@taxonomy": { + "start_time": "2026-06-19T23:04:25.700000", + "end_time": "2026-06-19T23:04:25.700000", + "status": "skipped" + }, + "mermaid-make-pngs@mod_freq_domain_ctrl_synthesis": { + "start_time": "2026-06-19T23:04:25.726000", + "end_time": "2026-06-19T23:04:25.726000", + "status": "skipped" + }, + "mermaid-make-pdfs@taxonomy": { + "start_time": "2026-06-19T23:04:25.979000", + "end_time": "2026-06-19T23:04:25.979000", + "status": "skipped" + }, + "mermaid-make-pdfs@mod_freq_domain_ctrl_synthesis": { + "start_time": "2026-06-19T23:04:26.005000", + "end_time": "2026-06-19T23:04:26.005000", + "status": "skipped" + }, + "move-standalone-pdfs@circuit_pto": { + "start_time": "2026-06-19T23:04:26.031000", + "end_time": "2026-06-19T23:04:26.031000", + "status": "skipped" + }, + "move-standalone-pdfs@control_method_venn_diagram": { + "start_time": "2026-06-19T23:04:26.057000", + "end_time": "2026-06-19T23:04:26.057000", + "status": "skipped" + }, + "make-standalone-tex-pdf@meem_dims": { + "start_time": "2026-06-19T23:04:26.089000", + "end_time": "2026-06-19T23:04:26.089000", + "status": "skipped" + }, + "move-standalone-pdfs@meem_dims": { + "start_time": "2026-06-19T23:04:26.115000", + "end_time": "2026-06-19T23:04:26.115000", + "status": "skipped" + }, + "postpro-ReadNonMatlabFigs": { + "start_time": "2026-06-19T23:04:26.432000", + "end_time": "2026-06-19T23:04:26.432000", + "status": "skipped" + }, + "postpro-SparHydro": { + "start_time": "2026-06-19T23:04:26.488000", + "end_time": "2026-06-19T23:04:26.488000", + "status": "skipped" + }, + "analysis-DescFcns": { + "start_time": "2026-06-19T23:04:26.544000", + "end_time": "2026-06-19T23:04:26.544000", + "status": "skipped" + }, + "postpro-DescFcns": { + "start_time": "2026-06-19T23:04:26.609000", + "end_time": "2026-06-19T23:04:26.609000", + "status": "skipped" + }, + "analysis-Validation": { + "start_time": "2026-06-19T23:04:26.663000", + "end_time": "2026-06-19T23:04:26.663000", + "status": "skipped" + }, + "postpro-Validation": { + "start_time": "2026-06-19T23:04:26.722000", + "end_time": "2026-06-19T23:04:26.722000", + "status": "skipped" + }, + "analysis-ForceSaturationFigFunc": { + "start_time": "2026-06-19T23:04:26.780000", + "end_time": "2026-06-19T23:04:26.780000", + "status": "skipped" + }, + "postpro-ForceSaturationFigFunc": { + "start_time": "2026-06-19T23:04:26.841000", + "end_time": "2026-06-19T23:04:26.841000", + "status": "skipped" + }, + "postpro-DesignSpaceExploration": { + "start_time": "2026-06-19T23:04:26.902000", + "end_time": "2026-06-19T23:04:26.902000", + "status": "skipped" + }, + "analysis-Meem": { + "start_time": "2026-06-19T23:04:26.968000", + "end_time": "2026-06-19T23:04:26.968000", + "status": "skipped" + }, + "postpro-Meem": { + "start_time": "2026-06-19T23:04:27.047000", + "end_time": "2026-06-19T23:04:27.047000", + "status": "skipped" + }, + "analysis-QPCircles": { + "start_time": "2026-06-19T23:04:27.099000", + "end_time": "2026-06-19T23:04:27.099000", + "status": "skipped" + }, + "postpro-QPCircles": { + "start_time": "2026-06-19T23:04:27.155000", + "end_time": "2026-06-19T23:04:27.155000", + "status": "skipped" + }, + "postpro-SweepGeoms": { + "start_time": "2026-06-19T23:04:27.264000", + "end_time": "2026-06-19T23:04:27.264000", + "status": "skipped" + }, + "analysis-Cost": { + "start_time": "2026-06-19T23:04:27.314000", + "end_time": "2026-06-19T23:04:27.314000", + "status": "skipped" + }, + "postpro-Cost": { + "start_time": "2026-06-19T23:04:27.368000", + "end_time": "2026-06-19T23:04:27.368000", + "status": "skipped" + }, + "move-aor-results": { + "start_time": "2026-06-19T23:04:27.426000", + "end_time": "2026-06-19T23:04:27.426000", + "status": "skipped" + }, + "build-AOR-paper": { + "start_time": "2026-06-19T23:04:27.491000", + "end_time": "2026-06-19T23:04:27.491000", + "status": "skipped" + } + }, + "git_rev": "5032807aa6db040f1a8fd0b2b5e19c7daf50fdeb", + "git_branch": "overleaf-sync", + "git_changed_files_before": [ + "dev/latex/calkit_instructions_interactive.sh" + ], + "git_staged_files_before": [], + "git_untracked_files_before": [ + ".calkit/systems/69d75abfd2750ded2a26c7cdaa45b52bde180a0e.json" + ], + "git_changed_files_after": [ + "dev/latex/calkit_instructions_interactive.sh", + "pubs/applied-ocean-research-model/numeric-results.tex", + "pubs/applied-ocean-research-model/shared-pkg.tex" + ], + "git_staged_files_after": [], + "git_untracked_files_after": [ + ".calkit/systems/69d75abfd2750ded2a26c7cdaa45b52bde180a0e.json" + ], + "dvc_status_before": { + "make-calkit-stages": [ + { + "changed deps": { + "mdocean/analysis": "modified", + "mdocean/optimization": "modified", + "mdocean/plots/fig_tab_pub_mapping.m": "modified" + } + } + ], + "postpro-WithTables": [ + { + "changed deps": { + "results/Comparison/overlaid_geometry.pdf": "modified", + "results/Comparison/overlaid_hydro_coeffs.pdf": "modified", + "results/Comparison/probability_CDF.pdf": "modified", + "results/Comparison/comparison_power_matrix.pdf": "modified", + "results/Comparison/overlaid_geometry.fig": "modified", + "results/Comparison/overlaid_hydro_coeffs.fig": "modified", + "results/Comparison/probability_CDF.fig": "modified", + "results/Comparison/comparison_power_matrix.fig": "modified", + "results/Comparison/optimal_design_vars.tex": "modified", + "results/Comparison/optimal_outputs.tex": "modified", + "results/Comparison/end.mat": "modified", + "results/Comparison/end.json": "modified", + "results/Constraints/constraints.tex": "modified", + "results/Constraints/end.mat": "modified", + "results/Constraints/end.json": "modified", + "results/Cost/cost_parameters.tex": "modified", + "results/Cost/end.mat": "modified", + "results/Cost/end.json": "modified", + "results/DesignSpaceExploration/experiments_ratios.pdf": "modified", + "results/DesignSpaceExploration/experiments_ratios.fig": "modified", + "results/DesignSpaceExploration/experiments_results.tex": "modified", + "results/DesignSpaceExploration/end.mat": "modified", + "results/DesignSpaceExploration/end.json": "modified", + "results/DesignVars/design_vars.tex": "modified", + "results/DesignVars/end.mat": "modified", + "results/DesignVars/end.json": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.pdf": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.pdf": "modified", + "results/GradientOptimFigFunc/delta_x.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.fig": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.fig": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.fig": "modified", + "results/GradientOptimFigFunc/delta_x.fig": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.fig": "modified", + "results/GradientOptimFigFunc/single_obj_optim_results.tex": "modified", + "results/GradientOptimFigFunc/end.mat": "modified", + "results/GradientOptimFigFunc/end.json": "modified", + "results/LocationSensitivity/location_1_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_2_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_3_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_4_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_probability_PDF.pdf": "modified", + "results/LocationSensitivity/location_1_power_matrix.fig": "modified", + "results/LocationSensitivity/location_2_power_matrix.fig": "modified", + "results/LocationSensitivity/location_3_power_matrix.fig": "modified", + "results/LocationSensitivity/location_4_power_matrix.fig": "modified", + "results/LocationSensitivity/location_probability_PDF.fig": "modified", + "results/LocationSensitivity/location_sensitivity.tex": "modified", + "results/LocationSensitivity/end.mat": "modified", + "results/LocationSensitivity/end.json": "modified", + "results/Multistart/multistart_convergence_tree.pdf": "modified", + "results/Multistart/multistart_parallel_coordinates.pdf": "modified", + "results/Multistart/multistart_bar_chart.pdf": "modified", + "results/Multistart/multistart_convergence_tree.fig": "modified", + "results/Multistart/multistart_parallel_coordinates.fig": "modified", + "results/Multistart/multistart_bar_chart.fig": "modified", + "results/Multistart/multistart_results.tex": "modified", + "results/Multistart/end.mat": "modified", + "results/Multistart/end.json": "modified", + "results/Parameters/parameters.tex": "modified", + "results/Parameters/end.mat": "modified", + "results/Parameters/end.json": "modified", + "results/Validation/cost_vs_N_WEC.pdf": "modified", + "results/Validation/cost_vs_N_WEC.fig": "modified", + "results/Validation/validation.tex": "modified", + "results/Validation/end.mat": "modified", + "results/Validation/end.json": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.pdf": "modified", + "results/Wecsim/accel_fourier_harmonics.pdf": "modified", + "results/Wecsim/drag_force_desc_fcn.pdf": "modified", + "results/Wecsim/position_THD_contour.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.fig": "modified", + "results/Wecsim/accel_fourier_harmonics.fig": "modified", + "results/Wecsim/drag_force_desc_fcn.fig": "modified", + "results/Wecsim/position_THD_contour.fig": "modified", + "results/Wecsim/WECSim_errors.tex": "modified", + "results/Wecsim/end.mat": "modified", + "results/Wecsim/end.json": "modified" + } + } + ], + "all-postpro": [ + { + "changed deps": { + "results/AllFigCompare/runtime_bar_chart.pdf": "modified", + "results/AllFigCompare/runtime_bar_chart.fig": "modified", + "results/AllFigCompare/end.mat": "modified", + "results/AllFigCompare/end.json": "modified", + "results/Comparison/overlaid_geometry.pdf": "modified", + "results/Comparison/overlaid_hydro_coeffs.pdf": "modified", + "results/Comparison/probability_CDF.pdf": "modified", + "results/Comparison/comparison_power_matrix.pdf": "modified", + "results/Comparison/overlaid_geometry.fig": "modified", + "results/Comparison/overlaid_hydro_coeffs.fig": "modified", + "results/Comparison/probability_CDF.fig": "modified", + "results/Comparison/comparison_power_matrix.fig": "modified", + "results/Comparison/optimal_design_vars.tex": "modified", + "results/Comparison/optimal_outputs.tex": "modified", + "results/Comparison/end.mat": "modified", + "results/Comparison/end.json": "modified", + "results/Constraints/constraints.tex": "modified", + "results/Constraints/end.mat": "modified", + "results/Constraints/end.json": "modified", + "results/Cost/cost_parameters.tex": "modified", + "results/Cost/end.mat": "modified", + "results/Cost/end.json": "modified", + "results/DampingPlateStructures/damping_plate_aspect_ratio.pdf": "modified", + "results/DampingPlateStructures/damping_plate_deflection.pdf": "modified", + "results/DampingPlateStructures/damping_plate_moment.pdf": "modified", + "results/DampingPlateStructures/damping_plate_aspect_ratio.fig": "modified", + "results/DampingPlateStructures/damping_plate_deflection.fig": "modified", + "results/DampingPlateStructures/damping_plate_moment.fig": "modified", + "results/DampingPlateStructures/end.mat": "modified", + "results/DampingPlateStructures/end.json": "modified", + "results/DescFcns/saturation_desc_fcn.pdf": "modified", + "results/DescFcns/saturation_desc_fcn_alpha.pdf": "modified", + "results/DescFcns/drag_desc_fcn.pdf": "modified", + "results/DescFcns/saturation_desc_fcn.fig": "modified", + "results/DescFcns/saturation_desc_fcn_alpha.fig": "modified", + "results/DescFcns/drag_desc_fcn.fig": "modified", + "results/DescFcns/end.mat": "modified", + "results/DescFcns/end.json": "modified", + "results/DesignSpaceExploration/experiments_ratios.pdf": "modified", + "results/DesignSpaceExploration/experiments_ratios.fig": "modified", + "results/DesignSpaceExploration/experiments_results.tex": "modified", + "results/DesignSpaceExploration/end.mat": "modified", + "results/DesignSpaceExploration/end.json": "modified", + "results/DesignVars/design_vars.tex": "modified", + "results/DesignVars/end.mat": "modified", + "results/DesignVars/end.json": "modified", + "results/DragIntegral/drag_integral_B.pdf": "modified", + "results/DragIntegral/drag_integral_G_r.pdf": "modified", + "results/DragIntegral/drag_integral_G_i.pdf": "modified", + "results/DragIntegral/drag_integral_G_m.pdf": "modified", + "results/DragIntegral/drag_integral_G_p.pdf": "modified", + "results/DragIntegral/drag_integral_B.fig": "modified", + "results/DragIntegral/drag_integral_G_r.fig": "modified", + "results/DragIntegral/drag_integral_G_i.fig": "modified", + "results/DragIntegral/drag_integral_G_m.fig": "modified", + "results/DragIntegral/drag_integral_G_p.fig": "modified", + "results/DragIntegral/end.mat": "modified", + "results/DragIntegral/end.json": "modified", + "results/FitOlaya/orig_3b_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_4b_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12a_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12b_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12c_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12d_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/case24_compare_line_kRb_fnorm.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_fnorm.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.pdf": "modified", + "results/FitOlaya/case4_sub_line_kRb_fnorm.pdf": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.pdf": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.pdf": "modified", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.pdf": "modified", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.pdf": "modified", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.pdf": "modified", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.pdf": "modified", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.pdf": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.pdf": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.pdf": "modified", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.pdf": "modified", + "results/FitOlaya/orig_3b_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_4b_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12a_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12b_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12c_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12d_line_kRb_fbar.fig": "modified", + "results/FitOlaya/case24_compare_line_kRb_fnorm.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_fnorm.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.fig": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.fig": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.fig": "modified", + "results/FitOlaya/case4_sub_line_kRb_fnorm.fig": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.fig": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.fig": "modified", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.fig": "modified", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.fig": "modified", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.fig": "modified", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.fig": "modified", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.fig": "modified", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.fig": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.fig": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.fig": "modified", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.fig": "modified", + "results/FitOlaya/end.mat": "modified", + "results/FitOlaya/end.json": "modified", + "results/ForceSaturationFigFunc/power_force_sensitivity.pdf": "modified", + "results/ForceSaturationFigFunc/runtime_sensitivity.pdf": "modified", + "results/ForceSaturationFigFunc/power_force_sensitivity.fig": "modified", + "results/ForceSaturationFigFunc/runtime_sensitivity.fig": "modified", + "results/ForceSaturationFigFunc/end.mat": "modified", + "results/ForceSaturationFigFunc/end.json": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.pdf": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.pdf": "modified", + "results/GradientOptimFigFunc/delta_x.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.fig": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.fig": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.fig": "modified", + "results/GradientOptimFigFunc/delta_x.fig": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.fig": "modified", + "results/GradientOptimFigFunc/single_obj_optim_results.tex": "modified", + "results/GradientOptimFigFunc/end.mat": "modified", + "results/GradientOptimFigFunc/end.json": "modified", + "results/HydroCoeffFigFunc/hydro_coeff_err.pdf": "modified", + "results/HydroCoeffFigFunc/hydro_coeff_err.fig": "modified", + "results/HydroCoeffFigFunc/end.mat": "modified", + "results/HydroCoeffFigFunc/end.json": "modified", + "results/LocationSensitivity/location_1_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_2_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_3_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_4_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_probability_PDF.pdf": "modified", + "results/LocationSensitivity/location_1_power_matrix.fig": "modified", + "results/LocationSensitivity/location_2_power_matrix.fig": "modified", + "results/LocationSensitivity/location_3_power_matrix.fig": "modified", + "results/LocationSensitivity/location_4_power_matrix.fig": "modified", + "results/LocationSensitivity/location_probability_PDF.fig": "modified", + "results/LocationSensitivity/location_sensitivity.tex": "modified", + "results/LocationSensitivity/end.mat": "modified", + "results/LocationSensitivity/end.json": "modified", + "results/Meem/meem_sparsity.pdf": "modified", + "results/Meem/meem_validation.pdf": "modified", + "results/Meem/meem_matching.pdf": "modified", + "results/Meem/meem_convergence_vs_omega.pdf": "modified", + "results/Meem/meem_convergence_vs_NMK.pdf": "modified", + "results/Meem/asymptotic_b_vector.pdf": "modified", + "results/Meem/meem_sparsity.fig": "modified", + "results/Meem/meem_validation.fig": "modified", + "results/Meem/meem_matching.fig": "modified", + "results/Meem/meem_convergence_vs_omega.fig": "modified", + "results/Meem/meem_convergence_vs_NMK.fig": "modified", + "results/Meem/asymptotic_b_vector.fig": "modified", + "results/Meem/end.mat": "modified", + "results/Meem/end.json": "modified", + "results/Multistart/multistart_convergence_tree.pdf": "modified", + "results/Multistart/multistart_parallel_coordinates.pdf": "modified", + "results/Multistart/multistart_bar_chart.pdf": "modified", + "results/Multistart/multistart_convergence_tree.fig": "modified", + "results/Multistart/multistart_parallel_coordinates.fig": "modified", + "results/Multistart/multistart_bar_chart.fig": "modified", + "results/Multistart/multistart_results.tex": "modified", + "results/Multistart/end.mat": "modified", + "results/Multistart/end.json": "modified", + "results/ParamSensitivities/re_optim_constraint_grid.pdf": "modified", + "results/ParamSensitivities/post_optim_constraint_grid.pdf": "modified", + "results/ParamSensitivities/re_optim_design_grid.pdf": "modified", + "results/ParamSensitivities/post_optim_design_grid.pdf": "modified", + "results/ParamSensitivities/re_optim_objective_grid.pdf": "modified", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.pdf": "modified", + "results/ParamSensitivities/nonlinear_objectives.pdf": "modified", + "results/ParamSensitivities/nonlinear_design_J1.pdf": "modified", + "results/ParamSensitivities/nonlinear_design_J2.pdf": "modified", + "results/ParamSensitivities/re_optim_objective_tornado.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x1.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x2.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x3.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x4.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x5.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x6.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x7.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x8.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x9.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x10.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x11.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x12.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J1.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J2.pdf": "modified", + "results/ParamSensitivities/re_optim_constraint_grid.fig": "modified", + "results/ParamSensitivities/post_optim_constraint_grid.fig": "modified", + "results/ParamSensitivities/re_optim_design_grid.fig": "modified", + "results/ParamSensitivities/post_optim_design_grid.fig": "modified", + "results/ParamSensitivities/re_optim_objective_grid.fig": "modified", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.fig": "modified", + "results/ParamSensitivities/nonlinear_objectives.fig": "modified", + "results/ParamSensitivities/nonlinear_design_J1.fig": "modified", + "results/ParamSensitivities/nonlinear_design_J2.fig": "modified", + "results/ParamSensitivities/re_optim_objective_tornado.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x1.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x2.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x3.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x4.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x5.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x6.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x7.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x8.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x9.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x10.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x11.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x12.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J1.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J2.fig": "modified", + "results/ParamSensitivities/end.mat": "modified", + "results/ParamSensitivities/end.json": "modified", + "results/Parameters/parameters.tex": "modified", + "results/Parameters/end.mat": "modified", + "results/Parameters/end.json": "modified", + "results/ParetoFigFunc/pareto_front_with_design_images.pdf": "modified", + "results/ParetoFigFunc/pareto_front_LCOE_contours.pdf": "modified", + "results/ParetoFigFunc/pareto_heuristics.pdf": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_damping.pdf": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.pdf": "modified", + "results/ParetoFigFunc/pareto_front_with_design_images.fig": "modified", + "results/ParetoFigFunc/pareto_front_LCOE_contours.fig": "modified", + "results/ParetoFigFunc/pareto_heuristics.fig": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_damping.fig": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.fig": "modified", + "results/ParetoFigFunc/end.mat": "modified", + "results/ParetoFigFunc/end.json": "modified", + "results/ParetoSweep/sweep_num_seeds.pdf": "modified", + "results/ParetoSweep/sweep_num_seeds.fig": "modified", + "results/ParetoSweep/end.mat": "modified", + "results/ParetoSweep/end.json": "modified", + "results/PtoSweep/pto_sweep.pdf": "modified", + "results/PtoSweep/pto_sweep_constraint_activity.pdf": "modified", + "results/PtoSweep/pto_sweep.fig": "modified", + "results/PtoSweep/pto_sweep_constraint_activity.fig": "modified", + "results/PtoSweep/end.mat": "modified", + "results/PtoSweep/end.json": "modified", + "results/QPCircles/qp_circles.pdf": "modified", + "results/QPCircles/qp_circles.fig": "modified", + "results/QPCircles/end.mat": "modified", + "results/QPCircles/end.json": "modified", + "results/ReadNonMatlabFigs/control_analysis_flowcharts.pdf": "modified", + "results/ReadNonMatlabFigs/damping_plate_flowchart.pdf": "modified", + "results/ReadNonMatlabFigs/dimensions.pdf": "modified", + "results/ReadNonMatlabFigs/equivalent_stiffness.pdf": "modified", + "results/ReadNonMatlabFigs/FBD.pdf": "modified", + "results/ReadNonMatlabFigs/graphical_abstract_modeling.pdf": "modified", + "results/ReadNonMatlabFigs/MEEM_geometry.pdf": "modified", + "results/ReadNonMatlabFigs/methodology_flowchart.pdf": "modified", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_synthesis.pdf": "modified", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_evaluation.pdf": "modified", + "results/ReadNonMatlabFigs/graphical_abstract_optim.pdf": "modified", + "results/ReadNonMatlabFigs/optimization_flowchart.pdf": "modified", + "results/ReadNonMatlabFigs/RM3_image.pdf": "modified", + "results/ReadNonMatlabFigs/section_flow.pdf": "modified", + "results/ReadNonMatlabFigs/sim_runtime.pdf": "modified", + "results/ReadNonMatlabFigs/taxonomy.pdf": "modified", + "results/ReadNonMatlabFigs/trapezoid.pdf": "modified", + "results/ReadNonMatlabFigs/xdsm.pdf": "modified", + "results/ReadNonMatlabFigs/end.mat": "modified", + "results/ReadNonMatlabFigs/end.json": "modified", + "results/RunSingleFigFunc/nominal_geometry_viz.pdf": "modified", + "results/RunSingleFigFunc/nominal_power_pdf.pdf": "modified", + "results/RunSingleFigFunc/nominal_power_matrix.pdf": "modified", + "results/RunSingleFigFunc/drag_convergence.pdf": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.pdf": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.pdf": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_float.pdf": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_spar.pdf": "modified", + "results/RunSingleFigFunc/qcqp_circles_nominal.pdf": "modified", + "results/RunSingleFigFunc/qcqp_circles_overlay.pdf": "modified", + "results/RunSingleFigFunc/nominal_geometry_viz.fig": "modified", + "results/RunSingleFigFunc/nominal_power_pdf.fig": "modified", + "results/RunSingleFigFunc/nominal_power_matrix.fig": "modified", + "results/RunSingleFigFunc/drag_convergence.fig": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.fig": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.fig": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_float.fig": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_spar.fig": "modified", + "results/RunSingleFigFunc/qcqp_circles_nominal.fig": "modified", + "results/RunSingleFigFunc/qcqp_circles_overlay.fig": "modified", + "results/RunSingleFigFunc/end.mat": "modified", + "results/RunSingleFigFunc/end.json": "modified", + "results/Runtime/dynamics_runtime.pdf": "modified", + "results/Runtime/hydro_runtime_logscale.pdf": "modified", + "results/Runtime/hydro_runtime_breakdown.pdf": "modified", + "results/Runtime/sim_runtime.pdf": "modified", + "results/Runtime/dynamics_runtime.fig": "modified", + "results/Runtime/hydro_runtime_logscale.fig": "modified", + "results/Runtime/hydro_runtime_breakdown.fig": "modified", + "results/Runtime/sim_runtime.fig": "modified", + "results/Runtime/end.mat": "modified", + "results/Runtime/end.json": "modified", + "results/Slamming/slamming_amplitude.pdf": "modified", + "results/Slamming/slamming_amplitude.fig": "modified", + "results/Slamming/end.mat": "modified", + "results/Slamming/end.json": "modified", + "results/SparHydro/spar_added_mass.pdf": "modified", + "results/SparHydro/spar_added_mass.fig": "modified", + "results/SparHydro/end.mat": "modified", + "results/SparHydro/end.json": "modified", + "results/SweepGeoms/sweep_geoms_parallel.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.pdf": "modified", + "results/SweepGeoms/sweep_geoms_pareto.pdf": "modified", + "results/SweepGeoms/sweep_geoms_pareto_nondim.pdf": "modified", + "results/SweepGeoms/sweep_geoms_grid_scatter.pdf": "modified", + "results/SweepGeoms/factor_grid.pdf": "modified", + "results/SweepGeoms/sweep_geoms_parallel.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter.fig": "modified", + "results/SweepGeoms/sweep_geoms_line.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.fig": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.fig": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.fig": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.fig": "modified", + "results/SweepGeoms/sweep_geoms_pareto.fig": "modified", + "results/SweepGeoms/sweep_geoms_pareto_nondim.fig": "modified", + "results/SweepGeoms/sweep_geoms_grid_scatter.fig": "modified", + "results/SweepGeoms/factor_grid.fig": "modified", + "results/SweepGeoms/end.mat": "modified", + "results/SweepGeoms/end.json": "modified", + "results/Validation/cost_vs_N_WEC.pdf": "modified", + "results/Validation/cost_vs_N_WEC.fig": "modified", + "results/Validation/validation.tex": "modified", + "results/Validation/end.mat": "modified", + "results/Validation/end.json": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.pdf": "modified", + "results/Wecsim/accel_fourier_harmonics.pdf": "modified", + "results/Wecsim/drag_force_desc_fcn.pdf": "modified", + "results/Wecsim/position_THD_contour.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.fig": "modified", + "results/Wecsim/accel_fourier_harmonics.fig": "modified", + "results/Wecsim/drag_force_desc_fcn.fig": "modified", + "results/Wecsim/position_THD_contour.fig": "modified", + "results/Wecsim/WECSim_errors.tex": "modified", + "results/Wecsim/end.mat": "modified", + "results/Wecsim/end.json": "modified" + } + } + ], + "test-aor": [ + { + "changed deps": { + "tests": "modified", + "mdocean": "modified", + "results/Comparison/intermed.mat": "modified", + "results/Cost/intermed.mat": "modified", + "results/DampingPlateStructures/intermed.mat": "modified", + "results/DampingPlateStructures/intermed_figs_1.fig": "modified", + "results/DampingPlateStructures/intermed_figs_2.fig": "modified", + "results/DampingPlateStructures/intermed_figs_3.fig": "modified", + "results/DescFcns/intermed.mat": "modified", + "results/DescFcns/intermed_created_figs_1.fig": "modified", + "results/DescFcns/intermed_created_figs_3.fig": "modified", + "results/DescFcns/intermed_created_figs_2.fig": "modified", + "results/DesignSpaceExploration/intermed.mat": "modified", + "results/DragIntegral/intermed.mat": "modified", + "results/ForceSaturationFigFunc/intermed.mat": "modified", + "results/ForceSaturationFigFunc/intermed_fig2_1.fig": "modified", + "results/ForceSaturationFigFunc/intermed_fig1_1.fig": "modified", + "results/HydroCoeffFigFunc/intermed.mat": "modified", + "results/HydroCoeffFigFunc/intermed_created_figs_1.fig": "modified", + "results/Meem/intermed.mat": "modified", + "results/Meem/intermed_b_vector_fig_1.fig": "modified", + "results/Meem/intermed_figHydroCoeff_1.fig": "modified", + "results/Meem/intermed_figSparsity_1.fig": "modified", + "results/Meem/intermed_figVelMatch_1.fig": "modified", + "results/Meem/intermed_figPotMatch_1.fig": "modified", + "results/Meem/intermed_fig_convergence_vs_omega_1.fig": "modified", + "results/Meem/intermed_fig_convergence_vs_NMK_1.fig": "modified", + "results/ReadNonMatlabFigs/intermed.mat": "modified", + "results/RunSingleFigFunc/intermed.mat": "modified", + "results/RunSingleFigFunc/intermed_created_figs_1.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_2.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_3.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_4.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_5.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_6.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_7.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_8.fig": "modified", + "results/Runtime/intermed.mat": "modified", + "results/Slamming/intermed.mat": "modified", + "results/Slamming/intermed_figure_handle_1.fig": "modified", + "results/SparHydro/intermed.mat": "modified", + "results/SparHydro/intermed_figure_handle_1.fig": "modified", + "results/Validation/intermed.mat": "modified", + "results/Validation/intermed_fig_cost_vs_N_WEC_1.fig": "modified", + "results/Wecsim/intermed.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_report.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_report.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_report.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_report.mat": "modified" + } + }, + { + "changed outs": { + "test-results/aor": "deleted", + "code-coverage/aor": "deleted" + } + } + ], + "test-re": [ + { + "changed deps": { + "tests": "modified", + "mdocean": "modified", + "results/AllFigCompare/intermed.mat": "modified", + "results/Comparison/intermed.mat": "modified", + "results/Constraints/intermed.mat": "modified", + "results/DesignSpaceExploration/intermed.mat": "modified", + "results/DesignVars/intermed.mat": "modified", + "results/GradientOptimFigFunc/intermed.mat": "modified", + "results/GradientOptimFigFunc/intermed_convergence_plot_1.fig": "modified", + "results/LocationSensitivity/intermed.mat": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_1.fig": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_2.fig": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_3.fig": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_4.fig": "modified", + "results/LocationSensitivity/intermed_h_probability_PDF_1.fig": "modified", + "results/Multistart/intermed.mat": "modified", + "results/ParamSensitivities/intermed.mat": "modified", + "results/Parameters/intermed.mat": "modified", + "results/ParetoFigFunc/intermed.mat": "modified", + "results/ParetoSweep/intermed.mat": "modified", + "results/ReadNonMatlabFigs/intermed.mat": "modified" + } + }, + { + "changed outs": { + "test-results/re": "deleted", + "code-coverage/re": "deleted" + } + } + ], + "viz-ReadNonMatlabFigs": [ + { + "changed deps": { + "results/ReadNonMatlabFigs/graphical_abstract_optim.pdf": "modified", + "results/ReadNonMatlabFigs/end.mat": "modified", + "results/ReadNonMatlabFigs/end.json": "modified" + } + } + ], + "move-re-results": [ + { + "changed deps": { + "results/ReadNonMatlabFigs": "modified", + "results/GradientOptimFigFunc": "modified", + "mdocean/plots/fig_tab_pub_mapping.m": "modified", + "mdocean/plots/non_matlab_figs/pdf": "modified" + } + } + ], + "aor-results-to-latex": [ + { + "changed outs": { + "pubs/applied-ocean-research-model/numeric-results.tex": "modified" + } + } + ], + "check-dup-json-keys": [ + { + "changed deps": { + "results": "modified" + } + } + ], + "copy-shared-latex": [ + { + "changed outs": { + "pubs/applied-ocean-research-model/shared-pkg.tex": "modified" + } + } + ], + "paperlint-aor": [ + { + "changed deps": { + "dev/latex/Paper-Linter/paperlint.py": "modified", + "pubs/applied-ocean-research-model": "modified" + } + } + ], + "paperlint-re": [ + { + "changed deps": { + "dev/latex/Paper-Linter/paperlint.py": "modified", + "pubs/renewable-energy-mdo": "modified" + } + } + ], + "build-RE-paper": [ + { + "changed deps": { + "pubs/renewable-energy-mdo/sections": "modified", + "pubs/renewable-energy-mdo/shared-pkg.tex": "modified" + } + }, + { + "changed outs": { + "pubs/renewable-energy-mdo/aux": "modified" + } + } + ], + "build-AOR-paper": [ + { + "changed deps": { + "pubs/applied-ocean-research-model/numeric-results.tex": "modified", + "pubs/applied-ocean-research-model/shared-pkg.tex": "modified" + } + } + ], + "build-dissertation": [ + { + "changed deps": { + "pubs/dissertation/intro-contrib.tex": "modified", + "pubs/applied-ocean-research-model/numeric-results.tex": "modified", + "pubs/applied-ocean-research-model/content.tex": "modified", + "pubs/applied-ocean-research-model/sections": "modified", + "pubs/applied-ocean-research-model/figs": "modified", + "pubs/applied-ocean-research-model/commands-aor.tex": "modified", + "pubs/renewable-energy-mdo/numeric-results.tex": "modified", + "pubs/renewable-energy-mdo/sections": "modified", + "pubs/renewable-energy-mdo/figs": "modified", + "pubs/renewable-energy-mdo/tables": "modified", + "pubs/renewable-energy-mdo/commands-re.tex": "modified", + "pubs/renewable-energy-mdo/content-re.tex": "modified", + "pubs/UMERC-2025-grid-value": "modified", + "pubs/dissertation/references.bib": "modified", + "pubs/shared/shared-pkg.tex": "modified", + "mdocean/simulation/modules/OpenFLASH/pubs/JFM/figs": "modified", + "mdocean/simulation/modules/OpenFLASH/pubs/JFM/FLMguide.tex": "modified", + "mdocean/simulation/modules/OpenFLASH/pubs/JFM/zotero-meem-refs.bib": "modified" + } + }, + { + "changed outs": { + "pubs/dissertation/sampleThesis.synctex.gz": "modified", + "pubs/dissertation/aux": "modified" + } + } + ], + "view-aor-figs": [ + { + "changed deps": { + "pubs/applied-ocean-research-model/figs": "modified" + } + } + ], + "view-re-figs": [ + { + "changed deps": { + "pubs/renewable-energy-mdo/figs": "modified" + } + } + ], + "make-quarto-yaml": [ + { + "changed deps": { + "results/DesignSpaceExploration/end.json": "modified", + "results/ForceSaturationFigFunc/end.json": "modified", + "results/GradientOptimFigFunc/end.json": "modified", + "results/Parameters/end.json": "modified", + "results/Runtime/end.json": "modified", + "results/Validation/end.json": "modified", + "results/Wecsim/end.json": "modified", + ".calkit/env-locks/pubs": "modified" + } + } + ], + "render-quarto-html": [ + { + "changed deps": { + "pubs/defense/figs": "modified", + "pubs/defense/quarto/slides.qmd": "modified" + } + } + ], + "render-quarto-pdf": [ + { + "changed deps": { + "pubs/defense/quarto/slides.html": "modified" + } + } + ] + }, + "dvc_data_status_before": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "deleted": [ + "pubs/defense/ppt/McCabe_Dissertation_Defense.pdf", + "pubs/defense/ppt/McCabe_Dissertation_Defense.pptx" + ] + }, + "uncommitted": {}, + "untracked": [], + "unchanged": [ + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.pdf", + "results/SweepGeoms/sweep_geoms_pareto_nondim.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.pdf", + "results/DragIntegral/drag_integral_G_i.fig", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.pdf", + "results/RunSingleFigFunc/qcqp_circles_overlay.pdf", + "results/Meem/meem_convergence_vs_NMK.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.fig", + "results/DragIntegral/drag_integral_B.fig", + "pubs/defense/figs/img0066.png", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x3.pdf", + "pubs/defense/figs/img0067.png", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.fig", + "pubs/defense/figs/img0011.png", + "results/Wecsim/position_THD_contour.pdf", + "results/Multistart/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.pdf", + "results/LocationSensitivity/location_probability_PDF.fig", + "results/ParetoSweep/intermed.mat", + "results/QPCircles/intermed.mat", + "results/FitOlaya/orig_4b_line_kRb_fbar.pdf", + "results/ParetoFigFunc/pareto_front_LCOE_contours.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.pdf", + "mdocean/plots/non_matlab_figs/pdf/MEEM_geometry.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.fig", + "results/DescFcns/saturation_desc_fcn.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.fig", + "results/Meem/asymptotic_b_vector.pdf", + "results/ParamSensitivities/nonlinear_design_J2.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.pdf", + "results/LocationSensitivity/end.mat", + "results/Wecsim/accel_fourier_harmonics.pdf", + "results/FitOlaya/case4_sub_line_kRb_fnorm.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.pdf", + "results/SweepGeoms/sweep_geoms_scatter.pdf", + "results/Constraints/intermed.mat", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.pdf", + "pubs/defense/figs/img0038.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.fig", + "mdocean/plots/non_matlab_figs/img/mod_freq_domain_ctrl_evaluation.png", + "results/ParamSensitivities/re_optim_design_tornado_J2.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.fig", + "results/Wecsim/position_THD_contour.fig", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_report.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.fig", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.fig", + "results/GradientOptimFigFunc/single_obj_opt_geometry.fig", + "results/ParamSensitivities/re_optim_design_tornado_x4.pdf", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.fig", + "results/Runtime/dynamics_runtime.pdf", + "results/Comparison/comparison_power_matrix.fig", + "results/Multistart/multistart_convergence_tree.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.pdf", + "results/DragIntegral/drag_integral_G_p.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.fig", + "results/PtoSweep/pto_sweep_constraint_activity.fig", + "results/Multistart/multistart_parallel_coordinates.fig", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.fig", + "results/LocationSensitivity/intermed_h_power_matrix_3.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.pdf", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x7.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_report.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.fig", + "results/Slamming/slamming_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.pdf", + "results/RunSingleFigFunc/slamming_model_comparison_spar.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.fig", + "results/ParamSensitivities/re_optim_design_tornado_x8.pdf", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.pdf", + "results/DampingPlateStructures/damping_plate_moment.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.pdf", + "results/SweepGeoms/sweep_geoms_scatter.fig", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.pdf", + "results/RunSingleFigFunc/intermed_created_figs_3.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.fig", + "results/SweepGeoms/sweep_geoms_grid_scatter.fig", + "results/Wecsim/drag_force_desc_fcn.fig", + "results/ReadNonMatlabFigs/damping_plate_flowchart.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.pdf", + "mdocean/plots/non_matlab_figs/pdf/sim_runtime.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.pdf", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.pdf", + "results/GradientOptimFigFunc/end.mat", + "results/ParetoSweep/sweep_num_seeds.fig", + "results/ParetoFigFunc/pareto_front_LCOE_contours.pdf", + "results/GradientOptimFigFunc/intermed.mat", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.pdf", + "results/RunSingleFigFunc/slamming_model_comparison_spar.fig", + "mdocean/plots/non_matlab_figs/pdf/trapezoid.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.pdf", + "results/FitOlaya/case4_sub_line_kRb_fnorm.pdf", + "results/ParamSensitivities/post_optim_constraint_grid.pdf", + "pubs/defense/figs/img0071.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.pdf", + "results/GradientOptimFigFunc/lagrange_multipliers.fig", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_wecsim.mat", + "results/Comparison/end.mat", + "results/FitOlaya/orig_12d_line_kRb_fbar.pdf", + "results/Runtime/sim_runtime.pdf", + "results/SparHydro/spar_added_mass.fig", + "results/SparHydro/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.pdf", + "pubs/defense/figs/img0021.png", + "mdocean/plots/non_matlab_figs/pdf/dimensions.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.fig", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.pdf", + "results/Meem/end.mat", + "pubs/defense/figs/img0070.png", + "results/Meem/intermed_fig_convergence_vs_NMK_1.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.pdf", + "pubs/defense/figs/img0029.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.pdf", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.fig", + "results/ParamSensitivities/re_optim_design_tornado_x9.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.pdf", + "results/RunSingleFigFunc/intermed_created_figs_4.fig", + "results/HydroCoeffFigFunc/intermed.mat", + "pubs/defense/figs/img0047.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.fig", + "results/ReadNonMatlabFigs/MEEM_geometry.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.fig", + "results/ParamSensitivities/re_optim_objective_tornado.fig", + "pubs/UMERC-2025-grid-value/UMERC_2025_grid_value.pdf", + "pubs/defense/figs/img0050.png", + "pubs/applied-ocean-research-model/main.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.fig", + "results/ForceSaturationFigFunc/power_force_sensitivity.pdf", + "results/SweepGeoms/intermed.mat", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_wecsim.mat", + "results/ParamSensitivities/re_optim_design_tornado_x1.pdf", + "results/Runtime/sim_runtime.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.fig", + "results/HydroCoeffFigFunc/end.mat", + "results/Meem/meem_validation.pdf", + "results/Runtime/hydro_runtime_breakdown.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.fig", + "results/ParetoSweep/sweep_num_seeds.pdf", + "results/ReadNonMatlabFigs/intermed.mat", + "results/Wecsim/wecsim_rpt_multi__histogram.pdf", + "pubs/defense/figs/img0057.png", + "results/FitOlaya/orig_12d_line_kRb_fbar.fig", + "results/ReadNonMatlabFigs/taxonomy.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.fig", + "results/RunSingleFigFunc/intermed_created_figs_7.fig", + "results/Validation/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.pdf", + "results/Parameters/end.mat", + "results/ParamSensitivities/re_optim_design_tornado_x5.fig", + "results/Comparison/overlaid_geometry.pdf", + "results/ParetoFigFunc/pareto_heuristics.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.pdf", + "results/DampingPlateStructures/intermed_figs_2.fig", + "results/RunSingleFigFunc/nominal_power_matrix.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.fig", + "results/Constraints/end.mat", + "results/DampingPlateStructures/damping_plate_deflection.fig", + "results/FitOlaya/orig_12c_line_kRb_fbar.fig", + "results/Comparison/overlaid_hydro_coeffs.fig", + "pubs/defense/figs/img0041.png", + "mdocean/plots/non_matlab_figs/img/sim_runtime.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.fig", + "results/Meem/intermed_figHydroCoeff_1.fig", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.fig", + "mdocean/plots/non_matlab_figs/circuit_kinematics.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.pdf", + "results/Meem/meem_convergence_vs_NMK.fig", + "pubs/defense/figs/img0065.png", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.pdf", + "mdocean/plots/non_matlab_figs/pdf/damping_plate_flowchart.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.pdf", + "results/ParamSensitivities/re_optim_design_tornado_J1.fig", + "mdocean/plots/non_matlab_figs/pdf/FBD.pdf", + "results/SweepGeoms/factor_grid.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.pdf", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.pdf", + "pubs/defense/figs/img0039.png", + "pubs/defense/figs/img0016.png", + "mdocean/plots/non_matlab_figs/img/taxonomy.png", + "mdocean/plots/non_matlab_figs/img/damping_plate_flowchart.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.fig", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.fig", + "results/Wecsim/accel_fourier_harmonics.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.pdf", + "results/RunSingleFigFunc/intermed_created_figs_2.fig", + "mdocean/plots/non_matlab_figs/pdf/control_analysis_flowcharts.pdf", + "results/DragIntegral/drag_integral_G_r.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.pdf", + "results/ReadNonMatlabFigs/FBD.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.pdf", + "results/PtoSweep/pto_sweep.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.pdf", + "mdocean/plots/non_matlab_figs/pdf/methodology_flowchart.pdf", + "results/RunSingleFigFunc/intermed_created_figs_5.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_single__histogram.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.fig", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.pdf", + "results/PtoSweep/pto_sweep.fig", + "results/ReadNonMatlabFigs/dimensions.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x5.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.pdf", + "mdocean/plots/non_matlab_figs/img/dimensions.jpg", + "results/Comparison/overlaid_geometry.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.pdf", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.fig", + "results/DesignSpaceExploration/experiments_ratios.pdf", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.fig", + "results/GradientOptimFigFunc/single_obj_convergence.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.pdf", + "results/ParamSensitivities/end.mat", + "mdocean/plots/non_matlab_figs/img/xdsm.png", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.fig", + "results/ForceSaturationFigFunc/power_force_sensitivity.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.pdf", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.pdf", + "results/ReadNonMatlabFigs/graphical_abstract_optim.pdf", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.pdf", + "results/Multistart/multistart_bar_chart.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.fig", + "pubs/defense/figs/icon-planet.png", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.pdf", + "results/DragIntegral/drag_integral_G_m.pdf", + "mdocean/plots/non_matlab_figs/pdf/taxonomy.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.fig", + "results/ParamSensitivities/re_optim_design_tornado_x4.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.fig", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.pdf", + "mdocean/plots/non_matlab_figs/pdf/mod_freq_domain_ctrl_evaluation.pdf", + "results/LocationSensitivity/location_2_power_matrix.pdf", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.fig", + "results/Meem/intermed_figPotMatch_1.fig", + "results/Multistart/multistart_convergence_tree.pdf", + "results/RunSingleFigFunc/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.pdf", + "results/Wecsim/drag_force_desc_fcn.pdf", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.pdf", + "pubs/defense/figs/img0048.png", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_10_geom_wecsim.mat", + "pubs/defense/figs/img0062.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.fig", + "results/ParamSensitivities/nonlinear_design_J2.fig", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.pdf", + "mdocean/plots/non_matlab_figs/img/control_analysis_flowcharts.png", + "results/Wecsim/wecsim_wcsm_single__histogram.fig", + "results/Comparison/probability_CDF.fig", + "results/FitOlaya/end.mat", + "results/SweepGeoms/sweep_geoms_line.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.pdf", + "results/RunSingleFigFunc/intermed_created_figs_1.fig", + "results/Cost/intermed.mat", + "mdocean/plots/non_matlab_figs/img/methodology_flowchart.png", + "results/DescFcns/drag_desc_fcn.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.pdf", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.pdf", + "results/ParetoFigFunc/pareto_heuristics.fig", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.fig", + "results/Meem/intermed_fig_convergence_vs_omega_1.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.fig", + "pubs/defense/figs/img0054.png", + "results/FitOlaya/case4_v1_coeffs_vs_beta.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.pdf", + "results/SweepGeoms/factor_grid.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.pdf", + "results/DesignSpaceExploration/end.mat", + "results/ParetoFigFunc/intermed.mat", + "pubs/defense/figs/img0000.png", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.pdf", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.fig", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.pdf", + "results/LocationSensitivity/location_4_power_matrix.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.fig", + "results/ParamSensitivities/post_optim_constraint_grid.fig", + "mdocean/plots/non_matlab_figs/img/graphical_abstract_modeling.png", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.fig", + "pubs/defense/figs/img0069.png", + "pubs/defense/figs/img0056.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.fig", + "results/Multistart/multistart_bar_chart.fig", + "results/DampingPlateStructures/intermed_figs_1.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.pdf", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.pdf", + "results/ParamSensitivities/re_optim_objective_tornado.pdf", + "results/Meem/intermed_figSparsity_1.fig", + "results/DescFcns/saturation_desc_fcn_alpha.pdf", + "results/Meem/meem_sparsity.fig", + "results/LocationSensitivity/location_probability_PDF.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.fig", + "mdocean/plots/non_matlab_figs/circuit_pto.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.pdf", + "mdocean/plots/non_matlab_figs/meem_dims.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.pdf", + "results/DesignSpaceExploration/experiments_ratios.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.fig", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.pdf", + "results/ReadNonMatlabFigs/control_analysis_flowcharts.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.fig", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.fig", + "results/ParamSensitivities/re_optim_design_tornado_x12.pdf", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.pdf", + "results/RunSingleFigFunc/nominal_power_matrix.pdf", + "results/RunSingleFigFunc/nominal_geometry_viz.fig", + "results/AllFigCompare/runtime_bar_chart.fig", + "pubs/defense/figs/img0064.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.fig", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.fig", + "mdocean/plots/non_matlab_figs/pdf/RM3_image.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.pdf", + "results/RunSingleFigFunc/intermed_created_figs_8.fig", + "results/FitOlaya/orig_3b_line_kRb_fbar.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.fig", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_wecsim.mat", + "results/Meem/asymptotic_b_vector.fig", + "results/Comparison/overlaid_hydro_coeffs.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.fig", + "results/DragIntegral/drag_integral_G_p.pdf", + "results/Slamming/intermed_figure_handle_1.fig", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.pdf", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.fig", + "results/Slamming/intermed.mat", + "pubs/defense/figs/img0033.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.pdf", + "results/SparHydro/spar_added_mass.pdf", + "pubs/defense/figs/img0055.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.pdf", + "results/SweepGeoms/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.fig", + "results/FitOlaya/orig_12a_line_kRb_fbar.fig", + "results/RunSingleFigFunc/qcqp_circles_nominal.pdf", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_evaluation.pdf", + "mdocean/plots/non_matlab_figs/pdf/section_flow.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.pdf", + "results/DescFcns/intermed.mat", + "pubs/defense/figs/img0028.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.pdf", + "results/FitOlaya/case4_v4_coeffs_vs_beta.pdf", + "results/DescFcns/saturation_desc_fcn.fig", + "results/ParetoSweep/end.mat", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.pdf", + "results/DampingPlateStructures/damping_plate_aspect_ratio.pdf", + "results/GradientOptimFigFunc/lagrange_multipliers.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.fig", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.fig", + "results/RunSingleFigFunc/intermed_created_figs_6.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.fig", + "results/ReadNonMatlabFigs/sim_runtime.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.fig", + "results/ParamSensitivities/re_optim_design_tornado_x1.fig", + "results/Meem/intermed_b_vector_fig_1.fig", + "pubs/defense/figs/img0058.png", + "mdocean/inputs/var_bounds.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.fig", + "results/ReadNonMatlabFigs/graphical_abstract_modeling.pdf", + "mdocean/plots/non_matlab_figs/img/drag_exc_phase_integral.svg", + "results/Multistart/intermed.mat", + "pubs/dissertation/sampleThesis.pdf", + "results/ReadNonMatlabFigs/methodology_flowchart.pdf", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.fig", + "results/SweepGeoms/sweep_geoms_parallel.pdf", + "results/Parameters/intermed.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.fig", + "results/ParamSensitivities/re_optim_design_tornado_x10.fig", + "mdocean/plots/non_matlab_figs/img/MEEM_geometry.jpg", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.fig", + "pubs/defense/figs/pto.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.pdf", + "results/Runtime/hydro_runtime_breakdown.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.fig", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.fig", + "pubs/defense/figs/img0063.png", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.pdf", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.pdf", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.fig", + "results/DescFcns/intermed_created_figs_2.fig", + "results/Runtime/hydro_runtime_logscale.pdf", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.fig", + "mdocean/plots/non_matlab_figs/pdf/graphical_abstract_modeling.pdf", + "results/GradientOptimFigFunc/intermed_convergence_plot_1.fig", + "results/Comparison/probability_CDF.pdf", + "results/DesignVars/intermed.mat", + "pubs/defense/figs/img0008.png", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.pdf", + "results/FitOlaya/case4_v2_coeffs_vs_beta.fig", + "results/Runtime/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.fig", + "results/ParamSensitivities/re_optim_design_tornado_x9.pdf", + "pubs/defense/figs/img0043.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.fig", + "results/RunSingleFigFunc/qcqp_circles_overlay.fig", + "results/Wecsim/wecsim_rpt_multi__histogram.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.pdf", + "pubs/defense/figs/img0013.png", + "mdocean/plots/non_matlab_figs/img/FBD.jpg", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.fig", + "results/RunSingleFigFunc/nominal_power_pdf.pdf", + "pubs/defense/figs/img0010.png", + "results/ParamSensitivities/nonlinear_design_J1.fig", + "results/Meem/meem_validation.fig", + "results/Runtime/dynamics_runtime.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.pdf", + "pubs/defense/figs/img0015.png", + "results/Validation/cost_vs_N_WEC.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.pdf", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.fig", + "results/ParamSensitivities/post_optim_design_grid.pdf", + "results/FitOlaya/case4_sep_coeffs_vs_beta.fig", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.fig", + "pubs/defense/figs/img0059.png", + "results/QPCircles/intermed_figure_handle_1.fig", + "results/Wecsim/wecsim_wcsm_multi__histogram.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.fig", + "results/DragIntegral/drag_integral_G_r.pdf", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.pdf", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.fig", + "mdocean/plots/non_matlab_figs/pdf/mod_freq_domain_ctrl_synthesis.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.pdf", + "pubs/defense/figs/img0068.png", + "results/ForceSaturationFigFunc/intermed_fig1_1.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.fig", + "results/ParamSensitivities/re_optim_design_tornado_x2.pdf", + "pubs/defense/figs/img0014.png", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.pdf", + "results/PtoSweep/pto_sweep_constraint_activity.pdf", + "mdocean/plots/non_matlab_figs/img/section_flow.png", + "results/LocationSensitivity/location_2_power_matrix.fig", + "results/QPCircles/qp_circles.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.fig", + "results/Wecsim/intermed.mat", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.pdf", + "results/FitOlaya/orig_12b_line_kRb_fbar.pdf", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.fig", + "results/FitOlaya/case2_line_khRxRp_fnorm.pdf", + "results/DampingPlateStructures/damping_plate_aspect_ratio.fig", + "results/SweepGeoms/sweep_geoms_pareto.fig", + "results/FitOlaya/orig_12c_line_kRb_fbar.pdf", + "pubs/renewable-energy-mdo/mdocean.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.fig", + "results/Meem/meem_convergence_vs_omega.pdf", + "results/Wecsim/wecsim_wcsm_multi__histogram.pdf", + "pubs/defense/figs/img0060.png", + "results/ReadNonMatlabFigs/trapezoid.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.pdf", + "results/FitOlaya/orig_4b_line_kRb_fbar.fig", + "results/ParetoFigFunc/pareto_constraint_activity_damping.fig", + "pubs/defense/figs/img0040.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.pdf", + "results/Runtime/intermed.mat", + "results/DampingPlateStructures/end.mat", + "results/FitOlaya/orig_3b_line_kRb_fbar.fig", + "results/FitOlaya/orig_12b_line_kRb_fbar.fig", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.fig", + "results/ForceSaturationFigFunc/intermed.mat", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_10_geom_wecsim.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.fig", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.pdf", + "results/ParamSensitivities/re_optim_objective_grid.pdf", + "mdocean/plots/non_matlab_figs/pdf/xdsm.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.pdf", + "results/SweepGeoms/sweep_geoms_pareto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.pdf", + "results/LocationSensitivity/location_3_power_matrix.fig", + "results/PtoSweep/intermed.mat", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.fig", + "pubs/applied-ocean-research-model/tables/from-matlab/", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.fig", + "pubs/defense/figs/img0007.png", + "results/ParamSensitivities/intermed.mat", + "mdocean/plots/non_matlab_figs/circuit_intrinsic.pdf", + "results/GradientOptimFigFunc/single_obj_opt_geometry.pdf", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.fig", + "pubs/defense/figs/img0053.png", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.pdf", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.fig", + "results/Multistart/multistart_parallel_coordinates.pdf", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.fig", + "results/ReadNonMatlabFigs/RM3_image.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.fig", + "pubs/defense/quarto/slides_files/", + "results/RunSingleFigFunc/drag_convergence.pdf", + "pubs/defense/figs/img0074.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.fig", + "mdocean/plots/non_matlab_figs/control_method_venn_diagram.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.fig", + "results/ForceSaturationFigFunc/runtime_sensitivity.pdf", + "results/DampingPlateStructures/damping_plate_moment.pdf", + "pubs/defense/figs/img0045.png", + "pubs/defense/figs/img0051.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.pdf", + "mdocean/plots/non_matlab_figs/img/optimization_flowchart.jpg", + "results/DescFcns/end.mat", + "pubs/defense/figs/img0042.png", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.pdf", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.pdf", + "results/DescFcns/intermed_created_figs_3.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.pdf", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.pdf", + "results/Comparison/comparison_power_matrix.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.fig", + "results/LocationSensitivity/location_1_power_matrix.pdf", + "pubs/defense/figs/img0049.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_report.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.pdf", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.fig", + "results/RunSingleFigFunc/drag_convergence.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x6.pdf", + "results/HydroCoeffFigFunc/hydro_coeff_err.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.pdf", + "results/LocationSensitivity/intermed_h_power_matrix_1.fig", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.pdf", + "results/LocationSensitivity/intermed.mat", + "results/ReadNonMatlabFigs/optimization_flowchart.pdf", + "results/Meem/meem_sparsity.pdf", + "results/LocationSensitivity/intermed_h_power_matrix_4.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.pdf", + "results/FitOlaya/intermed.mat", + "results/HydroCoeffFigFunc/hydro_coeff_err.pdf", + "pubs/defense/quarto/slides.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.fig", + "results/Cost/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.pdf", + "results/ReadNonMatlabFigs/end.mat", + "results/ParamSensitivities/re_optim_design_grid.fig", + "results/ParamSensitivities/re_optim_design_tornado_x3.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x11.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.pdf", + "mdocean/plots/non_matlab_figs/img/mod_freq_domain_ctrl_synthesis.png", + "results/RunSingleFigFunc/nominal_geometry_viz.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.fig", + "pubs/defense/figs/img0044.png", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.pdf", + "results/ParamSensitivities/re_optim_design_grid.pdf", + "results/RunSingleFigFunc/nominal_power_pdf.fig", + "results/ParamSensitivities/re_optim_design_tornado_x2.fig", + "results/LocationSensitivity/intermed_h_probability_PDF_1.fig", + "results/ParamSensitivities/re_optim_design_tornado_x10.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.fig", + "pubs/defense/figs/icon-profit.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.pdf", + "results/LocationSensitivity/location_4_power_matrix.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.fig", + "results/DragIntegral/intermed.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.pdf", + "results/SparHydro/intermed.mat", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_off_geom_wecsim.mat", + "results/Meem/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.pdf", + "results/ParamSensitivities/re_optim_design_tornado_J2.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.pdf", + "results/ReadNonMatlabFigs/section_flow.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.pdf", + "results/LocationSensitivity/location_3_power_matrix.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.fig", + "results/GradientOptimFigFunc/delta_x.fig", + "pubs/defense/figs/img0052.png", + "mdocean/plots/non_matlab_figs/pdf/equivalent_stiffness.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.pdf", + "pubs/applied-ocean-research-model/figs/from-matlab/", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.pdf", + "mdocean/plots/non_matlab_figs/pdf/optimization_flowchart.pdf", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_wecsim.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.fig", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.fig", + "results/ParetoFigFunc/pareto_constraint_activity_damping.pdf", + "results/ParamSensitivities/nonlinear_objectives.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.fig", + "results/Wecsim/end.mat", + "pubs/applied-ocean-research-model/figs/manual/", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.pdf", + "results/FitOlaya/case24_compare_line_kRb_fnorm.pdf", + "results/DescFcns/intermed_created_figs_1.fig", + "results/QPCircles/qp_circles.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.fig", + "results/LocationSensitivity/intermed_h_power_matrix_2.fig", + "results/ParamSensitivities/re_optim_design_tornado_J1.pdf", + "results/RunSingleFigFunc/qcqp_circles_nominal.fig", + "pubs/defense/figs/img0001.png", + "pubs/defense/figs/icon-people.png", + "results/ParamSensitivities/nonlinear_design_J1.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.fig", + "results/DescFcns/drag_desc_fcn.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.fig", + "pubs/defense/figs/img0073.png", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.fig", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.pdf", + "results/RunSingleFigFunc/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.fig", + "results/ParamSensitivities/re_optim_design_tornado_x12.fig", + "results/ParetoFigFunc/end.mat", + "results/DescFcns/saturation_desc_fcn_alpha.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.fig", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.fig", + "pubs/defense/figs/img0061.png", + "results/Validation/end.mat", + "pubs/defense/figs/sealab.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.fig", + "results/FitOlaya/case4_v2_coeffs_vs_beta.pdf", + "pubs/renewable-energy-mdo/figs/from-matlab/", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.pdf", + "results/SweepGeoms/sweep_geoms_parallel.fig", + "results/ParamSensitivities/post_optim_design_grid.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.fig", + "results/Slamming/slamming_amplitude.fig", + "results/ForceSaturationFigFunc/intermed_fig2_1.fig", + "results/LocationSensitivity/location_1_power_matrix.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.fig", + "mdocean/plots/non_matlab_figs/img/drag_damping_integral.svg", + "results/RunSingleFigFunc/slamming_model_comparison_float.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.fig", + "results/DampingPlateStructures/damping_plate_deflection.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.fig", + "results/ParamSensitivities/nonlinear_objectives.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.fig", + "results/FitOlaya/case4_sep_coeffs_vs_beta.pdf", + "results/Meem/intermed_figVelMatch_1.fig", + "results/ParetoFigFunc/pareto_front_with_design_images.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.fig", + "results/FitOlaya/case4_v1_coeffs_vs_beta.fig", + "results/Meem/meem_convergence_vs_omega.fig", + "results/DesignVars/end.mat", + "results/ParamSensitivities/re_optim_objective_grid.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.pdf", + "results/Slamming/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.fig", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.fig", + "results/Validation/cost_vs_N_WEC.fig", + "results/AllFigCompare/runtime_bar_chart.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.fig", + "results/ParamSensitivities/re_optim_design_tornado_x8.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.fig", + "mdocean/inputs/drag_integral.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.pdf", + "results/SweepGeoms/sweep_geoms_line.fig", + "results/ParetoFigFunc/pareto_front_with_design_images.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.pdf", + "results/DampingPlateStructures/intermed.mat", + "results/SweepGeoms/sweep_geoms_pareto_nondim.pdf", + "results/PtoSweep/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.fig", + "results/ReadNonMatlabFigs/equivalent_stiffness.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.pdf", + "results/DampingPlateStructures/intermed_figs_3.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.pdf", + "results/SweepGeoms/sweep_geoms_grid_scatter.pdf", + "mdocean/plots/non_matlab_figs/img/RM3_image.png", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.fig", + "results/Meem/meem_matching.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.pdf", + "results/HydroCoeffFigFunc/intermed_created_figs_1.fig", + "results/FitOlaya/orig_12a_line_kRb_fbar.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.fig", + "results/GradientOptimFigFunc/single_obj_convergence.pdf", + "results/AllFigCompare/end.mat", + "results/ReadNonMatlabFigs/xdsm.pdf", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.fig", + "pubs/defense/figs/img0072.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x11.fig", + "pubs/defense/figs/img0030.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.fig", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.pdf", + "results/DragIntegral/drag_integral_G_m.fig", + "results/ParamSensitivities/re_optim_constraint_grid.pdf", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.fig", + "results/ParamSensitivities/re_optim_design_tornado_x7.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.fig", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_synthesis.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.fig", + "results/Meem/meem_matching.fig", + "results/AllFigCompare/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.pdf", + "results/DragIntegral/drag_integral_B.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.fig", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.fig", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.pdf", + "results/Runtime/hydro_runtime_logscale.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.fig", + "results/RunSingleFigFunc/slamming_model_comparison_float.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.fig", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.pdf", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.pdf", + "pubs/defense/figs/img0034.png", + "results/ForceSaturationFigFunc/end.mat", + "results/GradientOptimFigFunc/delta_x.pdf", + "mdocean/plots/non_matlab_figs/img/equivalent_stiffness.png", + "results/Comparison/intermed.mat", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_off_geom_wecsim.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.pdf", + "pubs/defense/figs/img0036.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.fig", + "results/ParamSensitivities/re_optim_constraint_grid.fig", + "pubs/renewable-energy-mdo/tables/from-matlab/", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.fig", + "results/SparHydro/intermed_figure_handle_1.fig", + "results/FitOlaya/case2_line_khRxRp_fnorm.fig", + "mdocean/plots/non_matlab_figs/img/trapezoid.png", + "mdocean/plots/non_matlab_figs/img/drag_exc_mag_integral.svg", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.fig", + "results/DesignSpaceExploration/intermed.mat", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_report.mat", + "pubs/defense/figs/lin-ps-flow.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.pdf", + "results/DragIntegral/end.mat", + "results/ParamSensitivities/re_optim_design_tornado_x6.fig", + "results/ForceSaturationFigFunc/runtime_sensitivity.fig", + "results/FitOlaya/case24_compare_line_kRb_fnorm.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.fig", + "results/QPCircles/end.mat", + "results/Validation/intermed_fig_cost_vs_N_WEC_1.fig", + "results/FitOlaya/case4_v4_coeffs_vs_beta.fig", + "results/DragIntegral/drag_integral_G_i.pdf" + ] + }, + "dvc_status_after": { + "make-calkit-stages": [ + { + "changed deps": { + "mdocean/analysis": "modified", + "mdocean/optimization": "modified", + "mdocean/plots/fig_tab_pub_mapping.m": "modified" + } + } + ], + "postpro-WithTables": [ + { + "changed deps": { + "results/Comparison/overlaid_geometry.pdf": "modified", + "results/Comparison/overlaid_hydro_coeffs.pdf": "modified", + "results/Comparison/probability_CDF.pdf": "modified", + "results/Comparison/comparison_power_matrix.pdf": "modified", + "results/Comparison/overlaid_geometry.fig": "modified", + "results/Comparison/overlaid_hydro_coeffs.fig": "modified", + "results/Comparison/probability_CDF.fig": "modified", + "results/Comparison/comparison_power_matrix.fig": "modified", + "results/Comparison/optimal_design_vars.tex": "modified", + "results/Comparison/optimal_outputs.tex": "modified", + "results/Comparison/end.mat": "modified", + "results/Comparison/end.json": "modified", + "results/Constraints/constraints.tex": "modified", + "results/Constraints/end.mat": "modified", + "results/Constraints/end.json": "modified", + "results/Cost/cost_parameters.tex": "modified", + "results/Cost/end.mat": "modified", + "results/Cost/end.json": "modified", + "results/DesignSpaceExploration/experiments_ratios.pdf": "modified", + "results/DesignSpaceExploration/experiments_ratios.fig": "modified", + "results/DesignSpaceExploration/experiments_results.tex": "modified", + "results/DesignSpaceExploration/end.mat": "modified", + "results/DesignSpaceExploration/end.json": "modified", + "results/DesignVars/design_vars.tex": "modified", + "results/DesignVars/end.mat": "modified", + "results/DesignVars/end.json": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.pdf": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.pdf": "modified", + "results/GradientOptimFigFunc/delta_x.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.fig": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.fig": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.fig": "modified", + "results/GradientOptimFigFunc/delta_x.fig": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.fig": "modified", + "results/GradientOptimFigFunc/single_obj_optim_results.tex": "modified", + "results/GradientOptimFigFunc/end.mat": "modified", + "results/GradientOptimFigFunc/end.json": "modified", + "results/LocationSensitivity/location_1_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_2_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_3_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_4_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_probability_PDF.pdf": "modified", + "results/LocationSensitivity/location_1_power_matrix.fig": "modified", + "results/LocationSensitivity/location_2_power_matrix.fig": "modified", + "results/LocationSensitivity/location_3_power_matrix.fig": "modified", + "results/LocationSensitivity/location_4_power_matrix.fig": "modified", + "results/LocationSensitivity/location_probability_PDF.fig": "modified", + "results/LocationSensitivity/location_sensitivity.tex": "modified", + "results/LocationSensitivity/end.mat": "modified", + "results/LocationSensitivity/end.json": "modified", + "results/Multistart/multistart_convergence_tree.pdf": "modified", + "results/Multistart/multistart_parallel_coordinates.pdf": "modified", + "results/Multistart/multistart_bar_chart.pdf": "modified", + "results/Multistart/multistart_convergence_tree.fig": "modified", + "results/Multistart/multistart_parallel_coordinates.fig": "modified", + "results/Multistart/multistart_bar_chart.fig": "modified", + "results/Multistart/multistart_results.tex": "modified", + "results/Multistart/end.mat": "modified", + "results/Multistart/end.json": "modified", + "results/Parameters/parameters.tex": "modified", + "results/Parameters/end.mat": "modified", + "results/Parameters/end.json": "modified", + "results/Validation/cost_vs_N_WEC.pdf": "modified", + "results/Validation/cost_vs_N_WEC.fig": "modified", + "results/Validation/validation.tex": "modified", + "results/Validation/end.mat": "modified", + "results/Validation/end.json": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.pdf": "modified", + "results/Wecsim/accel_fourier_harmonics.pdf": "modified", + "results/Wecsim/drag_force_desc_fcn.pdf": "modified", + "results/Wecsim/position_THD_contour.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.fig": "modified", + "results/Wecsim/accel_fourier_harmonics.fig": "modified", + "results/Wecsim/drag_force_desc_fcn.fig": "modified", + "results/Wecsim/position_THD_contour.fig": "modified", + "results/Wecsim/WECSim_errors.tex": "modified", + "results/Wecsim/end.mat": "modified", + "results/Wecsim/end.json": "modified" + } + } + ], + "all-postpro": [ + { + "changed deps": { + "results/AllFigCompare/runtime_bar_chart.pdf": "modified", + "results/AllFigCompare/runtime_bar_chart.fig": "modified", + "results/AllFigCompare/end.mat": "modified", + "results/AllFigCompare/end.json": "modified", + "results/Comparison/overlaid_geometry.pdf": "modified", + "results/Comparison/overlaid_hydro_coeffs.pdf": "modified", + "results/Comparison/probability_CDF.pdf": "modified", + "results/Comparison/comparison_power_matrix.pdf": "modified", + "results/Comparison/overlaid_geometry.fig": "modified", + "results/Comparison/overlaid_hydro_coeffs.fig": "modified", + "results/Comparison/probability_CDF.fig": "modified", + "results/Comparison/comparison_power_matrix.fig": "modified", + "results/Comparison/optimal_design_vars.tex": "modified", + "results/Comparison/optimal_outputs.tex": "modified", + "results/Comparison/end.mat": "modified", + "results/Comparison/end.json": "modified", + "results/Constraints/constraints.tex": "modified", + "results/Constraints/end.mat": "modified", + "results/Constraints/end.json": "modified", + "results/Cost/cost_parameters.tex": "modified", + "results/Cost/end.mat": "modified", + "results/Cost/end.json": "modified", + "results/DampingPlateStructures/damping_plate_aspect_ratio.pdf": "modified", + "results/DampingPlateStructures/damping_plate_deflection.pdf": "modified", + "results/DampingPlateStructures/damping_plate_moment.pdf": "modified", + "results/DampingPlateStructures/damping_plate_aspect_ratio.fig": "modified", + "results/DampingPlateStructures/damping_plate_deflection.fig": "modified", + "results/DampingPlateStructures/damping_plate_moment.fig": "modified", + "results/DampingPlateStructures/end.mat": "modified", + "results/DampingPlateStructures/end.json": "modified", + "results/DescFcns/saturation_desc_fcn.pdf": "modified", + "results/DescFcns/saturation_desc_fcn_alpha.pdf": "modified", + "results/DescFcns/drag_desc_fcn.pdf": "modified", + "results/DescFcns/saturation_desc_fcn.fig": "modified", + "results/DescFcns/saturation_desc_fcn_alpha.fig": "modified", + "results/DescFcns/drag_desc_fcn.fig": "modified", + "results/DescFcns/end.mat": "modified", + "results/DescFcns/end.json": "modified", + "results/DesignSpaceExploration/experiments_ratios.pdf": "modified", + "results/DesignSpaceExploration/experiments_ratios.fig": "modified", + "results/DesignSpaceExploration/experiments_results.tex": "modified", + "results/DesignSpaceExploration/end.mat": "modified", + "results/DesignSpaceExploration/end.json": "modified", + "results/DesignVars/design_vars.tex": "modified", + "results/DesignVars/end.mat": "modified", + "results/DesignVars/end.json": "modified", + "results/DragIntegral/drag_integral_B.pdf": "modified", + "results/DragIntegral/drag_integral_G_r.pdf": "modified", + "results/DragIntegral/drag_integral_G_i.pdf": "modified", + "results/DragIntegral/drag_integral_G_m.pdf": "modified", + "results/DragIntegral/drag_integral_G_p.pdf": "modified", + "results/DragIntegral/drag_integral_B.fig": "modified", + "results/DragIntegral/drag_integral_G_r.fig": "modified", + "results/DragIntegral/drag_integral_G_i.fig": "modified", + "results/DragIntegral/drag_integral_G_m.fig": "modified", + "results/DragIntegral/drag_integral_G_p.fig": "modified", + "results/DragIntegral/end.mat": "modified", + "results/DragIntegral/end.json": "modified", + "results/FitOlaya/orig_3b_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_4b_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12a_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12b_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12c_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/orig_12d_line_kRb_fbar.pdf": "modified", + "results/FitOlaya/case24_compare_line_kRb_fnorm.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_fnorm.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.pdf": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.pdf": "modified", + "results/FitOlaya/case4_sub_line_kRb_fnorm.pdf": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.pdf": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.pdf": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.pdf": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.pdf": "modified", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.pdf": "modified", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.pdf": "modified", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.pdf": "modified", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.pdf": "modified", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.pdf": "modified", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.pdf": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.pdf": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.pdf": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_beta.pdf": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.pdf": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.pdf": "modified", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.pdf": "modified", + "results/FitOlaya/orig_3b_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_4b_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12a_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12b_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12c_line_kRb_fbar.fig": "modified", + "results/FitOlaya/orig_12d_line_kRb_fbar.fig": "modified", + "results/FitOlaya/case24_compare_line_kRb_fnorm.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_fnorm.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.fig": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.fig": "modified", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.fig": "modified", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.fig": "modified", + "results/FitOlaya/case4_sub_line_kRb_fnorm.fig": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.fig": "modified", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.fig": "modified", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.fig": "modified", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.fig": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.fig": "modified", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.fig": "modified", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.fig": "modified", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.fig": "modified", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.fig": "modified", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.fig": "modified", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.fig": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.fig": "modified", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.fig": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_beta.fig": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.fig": "modified", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.fig": "modified", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.fig": "modified", + "results/FitOlaya/end.mat": "modified", + "results/FitOlaya/end.json": "modified", + "results/ForceSaturationFigFunc/power_force_sensitivity.pdf": "modified", + "results/ForceSaturationFigFunc/runtime_sensitivity.pdf": "modified", + "results/ForceSaturationFigFunc/power_force_sensitivity.fig": "modified", + "results/ForceSaturationFigFunc/runtime_sensitivity.fig": "modified", + "results/ForceSaturationFigFunc/end.mat": "modified", + "results/ForceSaturationFigFunc/end.json": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.pdf": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.pdf": "modified", + "results/GradientOptimFigFunc/delta_x.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.pdf": "modified", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.fig": "modified", + "results/GradientOptimFigFunc/single_obj_opt_geometry.fig": "modified", + "results/GradientOptimFigFunc/lagrange_multipliers.fig": "modified", + "results/GradientOptimFigFunc/delta_x.fig": "modified", + "results/GradientOptimFigFunc/single_obj_convergence.fig": "modified", + "results/GradientOptimFigFunc/single_obj_optim_results.tex": "modified", + "results/GradientOptimFigFunc/end.mat": "modified", + "results/GradientOptimFigFunc/end.json": "modified", + "results/HydroCoeffFigFunc/hydro_coeff_err.pdf": "modified", + "results/HydroCoeffFigFunc/hydro_coeff_err.fig": "modified", + "results/HydroCoeffFigFunc/end.mat": "modified", + "results/HydroCoeffFigFunc/end.json": "modified", + "results/LocationSensitivity/location_1_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_2_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_3_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_4_power_matrix.pdf": "modified", + "results/LocationSensitivity/location_probability_PDF.pdf": "modified", + "results/LocationSensitivity/location_1_power_matrix.fig": "modified", + "results/LocationSensitivity/location_2_power_matrix.fig": "modified", + "results/LocationSensitivity/location_3_power_matrix.fig": "modified", + "results/LocationSensitivity/location_4_power_matrix.fig": "modified", + "results/LocationSensitivity/location_probability_PDF.fig": "modified", + "results/LocationSensitivity/location_sensitivity.tex": "modified", + "results/LocationSensitivity/end.mat": "modified", + "results/LocationSensitivity/end.json": "modified", + "results/Meem/meem_sparsity.pdf": "modified", + "results/Meem/meem_validation.pdf": "modified", + "results/Meem/meem_matching.pdf": "modified", + "results/Meem/meem_convergence_vs_omega.pdf": "modified", + "results/Meem/meem_convergence_vs_NMK.pdf": "modified", + "results/Meem/asymptotic_b_vector.pdf": "modified", + "results/Meem/meem_sparsity.fig": "modified", + "results/Meem/meem_validation.fig": "modified", + "results/Meem/meem_matching.fig": "modified", + "results/Meem/meem_convergence_vs_omega.fig": "modified", + "results/Meem/meem_convergence_vs_NMK.fig": "modified", + "results/Meem/asymptotic_b_vector.fig": "modified", + "results/Meem/end.mat": "modified", + "results/Meem/end.json": "modified", + "results/Multistart/multistart_convergence_tree.pdf": "modified", + "results/Multistart/multistart_parallel_coordinates.pdf": "modified", + "results/Multistart/multistart_bar_chart.pdf": "modified", + "results/Multistart/multistart_convergence_tree.fig": "modified", + "results/Multistart/multistart_parallel_coordinates.fig": "modified", + "results/Multistart/multistart_bar_chart.fig": "modified", + "results/Multistart/multistart_results.tex": "modified", + "results/Multistart/end.mat": "modified", + "results/Multistart/end.json": "modified", + "results/ParamSensitivities/re_optim_constraint_grid.pdf": "modified", + "results/ParamSensitivities/post_optim_constraint_grid.pdf": "modified", + "results/ParamSensitivities/re_optim_design_grid.pdf": "modified", + "results/ParamSensitivities/post_optim_design_grid.pdf": "modified", + "results/ParamSensitivities/re_optim_objective_grid.pdf": "modified", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.pdf": "modified", + "results/ParamSensitivities/nonlinear_objectives.pdf": "modified", + "results/ParamSensitivities/nonlinear_design_J1.pdf": "modified", + "results/ParamSensitivities/nonlinear_design_J2.pdf": "modified", + "results/ParamSensitivities/re_optim_objective_tornado.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x1.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x2.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x3.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x4.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x5.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x6.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x7.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x8.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x9.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x10.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x11.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x12.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J1.pdf": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J2.pdf": "modified", + "results/ParamSensitivities/re_optim_constraint_grid.fig": "modified", + "results/ParamSensitivities/post_optim_constraint_grid.fig": "modified", + "results/ParamSensitivities/re_optim_design_grid.fig": "modified", + "results/ParamSensitivities/post_optim_design_grid.fig": "modified", + "results/ParamSensitivities/re_optim_objective_grid.fig": "modified", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.fig": "modified", + "results/ParamSensitivities/nonlinear_objectives.fig": "modified", + "results/ParamSensitivities/nonlinear_design_J1.fig": "modified", + "results/ParamSensitivities/nonlinear_design_J2.fig": "modified", + "results/ParamSensitivities/re_optim_objective_tornado.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x1.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x2.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x3.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x4.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x5.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x6.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x7.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x8.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x9.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x10.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x11.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_x12.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J1.fig": "modified", + "results/ParamSensitivities/re_optim_design_tornado_J2.fig": "modified", + "results/ParamSensitivities/end.mat": "modified", + "results/ParamSensitivities/end.json": "modified", + "results/Parameters/parameters.tex": "modified", + "results/Parameters/end.mat": "modified", + "results/Parameters/end.json": "modified", + "results/ParetoFigFunc/pareto_front_with_design_images.pdf": "modified", + "results/ParetoFigFunc/pareto_front_LCOE_contours.pdf": "modified", + "results/ParetoFigFunc/pareto_heuristics.pdf": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_damping.pdf": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.pdf": "modified", + "results/ParetoFigFunc/pareto_front_with_design_images.fig": "modified", + "results/ParetoFigFunc/pareto_front_LCOE_contours.fig": "modified", + "results/ParetoFigFunc/pareto_heuristics.fig": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_damping.fig": "modified", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.fig": "modified", + "results/ParetoFigFunc/end.mat": "modified", + "results/ParetoFigFunc/end.json": "modified", + "results/ParetoSweep/sweep_num_seeds.pdf": "modified", + "results/ParetoSweep/sweep_num_seeds.fig": "modified", + "results/ParetoSweep/end.mat": "modified", + "results/ParetoSweep/end.json": "modified", + "results/PtoSweep/pto_sweep.pdf": "modified", + "results/PtoSweep/pto_sweep_constraint_activity.pdf": "modified", + "results/PtoSweep/pto_sweep.fig": "modified", + "results/PtoSweep/pto_sweep_constraint_activity.fig": "modified", + "results/PtoSweep/end.mat": "modified", + "results/PtoSweep/end.json": "modified", + "results/QPCircles/qp_circles.pdf": "modified", + "results/QPCircles/qp_circles.fig": "modified", + "results/QPCircles/end.mat": "modified", + "results/QPCircles/end.json": "modified", + "results/ReadNonMatlabFigs/control_analysis_flowcharts.pdf": "modified", + "results/ReadNonMatlabFigs/damping_plate_flowchart.pdf": "modified", + "results/ReadNonMatlabFigs/dimensions.pdf": "modified", + "results/ReadNonMatlabFigs/equivalent_stiffness.pdf": "modified", + "results/ReadNonMatlabFigs/FBD.pdf": "modified", + "results/ReadNonMatlabFigs/graphical_abstract_modeling.pdf": "modified", + "results/ReadNonMatlabFigs/MEEM_geometry.pdf": "modified", + "results/ReadNonMatlabFigs/methodology_flowchart.pdf": "modified", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_synthesis.pdf": "modified", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_evaluation.pdf": "modified", + "results/ReadNonMatlabFigs/graphical_abstract_optim.pdf": "modified", + "results/ReadNonMatlabFigs/optimization_flowchart.pdf": "modified", + "results/ReadNonMatlabFigs/RM3_image.pdf": "modified", + "results/ReadNonMatlabFigs/section_flow.pdf": "modified", + "results/ReadNonMatlabFigs/sim_runtime.pdf": "modified", + "results/ReadNonMatlabFigs/taxonomy.pdf": "modified", + "results/ReadNonMatlabFigs/trapezoid.pdf": "modified", + "results/ReadNonMatlabFigs/xdsm.pdf": "modified", + "results/ReadNonMatlabFigs/end.mat": "modified", + "results/ReadNonMatlabFigs/end.json": "modified", + "results/RunSingleFigFunc/nominal_geometry_viz.pdf": "modified", + "results/RunSingleFigFunc/nominal_power_pdf.pdf": "modified", + "results/RunSingleFigFunc/nominal_power_matrix.pdf": "modified", + "results/RunSingleFigFunc/drag_convergence.pdf": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.pdf": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.pdf": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_float.pdf": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_spar.pdf": "modified", + "results/RunSingleFigFunc/qcqp_circles_nominal.pdf": "modified", + "results/RunSingleFigFunc/qcqp_circles_overlay.pdf": "modified", + "results/RunSingleFigFunc/nominal_geometry_viz.fig": "modified", + "results/RunSingleFigFunc/nominal_power_pdf.fig": "modified", + "results/RunSingleFigFunc/nominal_power_matrix.fig": "modified", + "results/RunSingleFigFunc/drag_convergence.fig": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.fig": "modified", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.fig": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_float.fig": "modified", + "results/RunSingleFigFunc/slamming_model_comparison_spar.fig": "modified", + "results/RunSingleFigFunc/qcqp_circles_nominal.fig": "modified", + "results/RunSingleFigFunc/qcqp_circles_overlay.fig": "modified", + "results/RunSingleFigFunc/end.mat": "modified", + "results/RunSingleFigFunc/end.json": "modified", + "results/Runtime/dynamics_runtime.pdf": "modified", + "results/Runtime/hydro_runtime_logscale.pdf": "modified", + "results/Runtime/hydro_runtime_breakdown.pdf": "modified", + "results/Runtime/sim_runtime.pdf": "modified", + "results/Runtime/dynamics_runtime.fig": "modified", + "results/Runtime/hydro_runtime_logscale.fig": "modified", + "results/Runtime/hydro_runtime_breakdown.fig": "modified", + "results/Runtime/sim_runtime.fig": "modified", + "results/Runtime/end.mat": "modified", + "results/Runtime/end.json": "modified", + "results/Slamming/slamming_amplitude.pdf": "modified", + "results/Slamming/slamming_amplitude.fig": "modified", + "results/Slamming/end.mat": "modified", + "results/Slamming/end.json": "modified", + "results/SparHydro/spar_added_mass.pdf": "modified", + "results/SparHydro/spar_added_mass.fig": "modified", + "results/SparHydro/end.mat": "modified", + "results/SparHydro/end.json": "modified", + "results/SweepGeoms/sweep_geoms_parallel.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.pdf": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.pdf": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.pdf": "modified", + "results/SweepGeoms/sweep_geoms_pareto.pdf": "modified", + "results/SweepGeoms/sweep_geoms_pareto_nondim.pdf": "modified", + "results/SweepGeoms/sweep_geoms_grid_scatter.pdf": "modified", + "results/SweepGeoms/factor_grid.pdf": "modified", + "results/SweepGeoms/sweep_geoms_parallel.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter.fig": "modified", + "results/SweepGeoms/sweep_geoms_line.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.fig": "modified", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.fig": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.fig": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.fig": "modified", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.fig": "modified", + "results/SweepGeoms/sweep_geoms_pareto.fig": "modified", + "results/SweepGeoms/sweep_geoms_pareto_nondim.fig": "modified", + "results/SweepGeoms/sweep_geoms_grid_scatter.fig": "modified", + "results/SweepGeoms/factor_grid.fig": "modified", + "results/SweepGeoms/end.mat": "modified", + "results/SweepGeoms/end.json": "modified", + "results/Validation/cost_vs_N_WEC.pdf": "modified", + "results/Validation/cost_vs_N_WEC.fig": "modified", + "results/Validation/validation.tex": "modified", + "results/Validation/end.mat": "modified", + "results/Validation/end.json": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.pdf": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.pdf": "modified", + "results/Wecsim/accel_fourier_harmonics.pdf": "modified", + "results/Wecsim/drag_force_desc_fcn.pdf": "modified", + "results/Wecsim/position_THD_contour.pdf": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_multi__histogram.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_wcsm_single__histogram.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.fig": "modified", + "results/Wecsim/wecsim_rpt_multi__histogram.fig": "modified", + "results/Wecsim/accel_fourier_harmonics.fig": "modified", + "results/Wecsim/drag_force_desc_fcn.fig": "modified", + "results/Wecsim/position_THD_contour.fig": "modified", + "results/Wecsim/WECSim_errors.tex": "modified", + "results/Wecsim/end.mat": "modified", + "results/Wecsim/end.json": "modified" + } + } + ], + "test-aor": [ + { + "changed deps": { + "tests": "modified", + "mdocean": "modified", + "results/Comparison/intermed.mat": "modified", + "results/Cost/intermed.mat": "modified", + "results/DampingPlateStructures/intermed.mat": "modified", + "results/DampingPlateStructures/intermed_figs_1.fig": "modified", + "results/DampingPlateStructures/intermed_figs_2.fig": "modified", + "results/DampingPlateStructures/intermed_figs_3.fig": "modified", + "results/DescFcns/intermed.mat": "modified", + "results/DescFcns/intermed_created_figs_1.fig": "modified", + "results/DescFcns/intermed_created_figs_3.fig": "modified", + "results/DescFcns/intermed_created_figs_2.fig": "modified", + "results/DesignSpaceExploration/intermed.mat": "modified", + "results/DragIntegral/intermed.mat": "modified", + "results/ForceSaturationFigFunc/intermed.mat": "modified", + "results/ForceSaturationFigFunc/intermed_fig2_1.fig": "modified", + "results/ForceSaturationFigFunc/intermed_fig1_1.fig": "modified", + "results/HydroCoeffFigFunc/intermed.mat": "modified", + "results/HydroCoeffFigFunc/intermed_created_figs_1.fig": "modified", + "results/Meem/intermed.mat": "modified", + "results/Meem/intermed_b_vector_fig_1.fig": "modified", + "results/Meem/intermed_figHydroCoeff_1.fig": "modified", + "results/Meem/intermed_figSparsity_1.fig": "modified", + "results/Meem/intermed_figVelMatch_1.fig": "modified", + "results/Meem/intermed_figPotMatch_1.fig": "modified", + "results/Meem/intermed_fig_convergence_vs_omega_1.fig": "modified", + "results/Meem/intermed_fig_convergence_vs_NMK_1.fig": "modified", + "results/ReadNonMatlabFigs/intermed.mat": "modified", + "results/RunSingleFigFunc/intermed.mat": "modified", + "results/RunSingleFigFunc/intermed_created_figs_1.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_2.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_3.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_4.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_5.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_6.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_7.fig": "modified", + "results/RunSingleFigFunc/intermed_created_figs_8.fig": "modified", + "results/Runtime/intermed.mat": "modified", + "results/Slamming/intermed.mat": "modified", + "results/Slamming/intermed_figure_handle_1.fig": "modified", + "results/SparHydro/intermed.mat": "modified", + "results/SparHydro/intermed_figure_handle_1.fig": "modified", + "results/Validation/intermed.mat": "modified", + "results/Validation/intermed_fig_cost_vs_N_WEC_1.fig": "modified", + "results/Wecsim/intermed.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_off_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_10_geom_wecsim.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_report.mat": "modified", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_report.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_report.mat": "modified", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_report.mat": "modified" + } + }, + { + "changed outs": { + "test-results/aor": "deleted", + "code-coverage/aor": "deleted" + } + } + ], + "test-re": [ + { + "changed deps": { + "tests": "modified", + "mdocean": "modified", + "results/AllFigCompare/intermed.mat": "modified", + "results/Comparison/intermed.mat": "modified", + "results/Constraints/intermed.mat": "modified", + "results/DesignSpaceExploration/intermed.mat": "modified", + "results/DesignVars/intermed.mat": "modified", + "results/GradientOptimFigFunc/intermed.mat": "modified", + "results/GradientOptimFigFunc/intermed_convergence_plot_1.fig": "modified", + "results/LocationSensitivity/intermed.mat": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_1.fig": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_2.fig": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_3.fig": "modified", + "results/LocationSensitivity/intermed_h_power_matrix_4.fig": "modified", + "results/LocationSensitivity/intermed_h_probability_PDF_1.fig": "modified", + "results/Multistart/intermed.mat": "modified", + "results/ParamSensitivities/intermed.mat": "modified", + "results/Parameters/intermed.mat": "modified", + "results/ParetoFigFunc/intermed.mat": "modified", + "results/ParetoSweep/intermed.mat": "modified", + "results/ReadNonMatlabFigs/intermed.mat": "modified" + } + }, + { + "changed outs": { + "test-results/re": "deleted", + "code-coverage/re": "deleted" + } + } + ], + "viz-ReadNonMatlabFigs": [ + { + "changed deps": { + "results/ReadNonMatlabFigs/graphical_abstract_optim.pdf": "modified", + "results/ReadNonMatlabFigs/end.mat": "modified", + "results/ReadNonMatlabFigs/end.json": "modified" + } + } + ], + "move-re-results": [ + { + "changed deps": { + "results/ReadNonMatlabFigs": "modified", + "results/GradientOptimFigFunc": "modified", + "mdocean/plots/fig_tab_pub_mapping.m": "modified", + "mdocean/plots/non_matlab_figs/pdf": "modified" + } + } + ], + "check-dup-json-keys": [ + { + "changed deps": { + "results": "modified" + } + } + ], + "paperlint-aor": [ + { + "changed deps": { + "dev/latex/Paper-Linter/paperlint.py": "modified", + "pubs/applied-ocean-research-model": "modified" + } + } + ], + "paperlint-re": [ + { + "changed deps": { + "dev/latex/Paper-Linter/paperlint.py": "modified", + "pubs/renewable-energy-mdo": "modified" + } + } + ], + "build-RE-paper": [ + { + "changed deps": { + "pubs/renewable-energy-mdo/sections": "modified", + "pubs/renewable-energy-mdo/shared-pkg.tex": "modified" + } + }, + { + "changed outs": { + "pubs/renewable-energy-mdo/aux": "modified" + } + } + ], + "build-dissertation": [ + { + "changed deps": { + "pubs/dissertation/intro-contrib.tex": "modified", + "pubs/applied-ocean-research-model/numeric-results.tex": "modified", + "pubs/applied-ocean-research-model/content.tex": "modified", + "pubs/applied-ocean-research-model/sections": "modified", + "pubs/applied-ocean-research-model/figs": "modified", + "pubs/applied-ocean-research-model/commands-aor.tex": "modified", + "pubs/renewable-energy-mdo/numeric-results.tex": "modified", + "pubs/renewable-energy-mdo/sections": "modified", + "pubs/renewable-energy-mdo/figs": "modified", + "pubs/renewable-energy-mdo/tables": "modified", + "pubs/renewable-energy-mdo/commands-re.tex": "modified", + "pubs/renewable-energy-mdo/content-re.tex": "modified", + "pubs/UMERC-2025-grid-value": "modified", + "pubs/dissertation/references.bib": "modified", + "pubs/shared/shared-pkg.tex": "modified", + "mdocean/simulation/modules/OpenFLASH/pubs/JFM/figs": "modified", + "mdocean/simulation/modules/OpenFLASH/pubs/JFM/FLMguide.tex": "modified", + "mdocean/simulation/modules/OpenFLASH/pubs/JFM/zotero-meem-refs.bib": "modified" + } + }, + { + "changed outs": { + "pubs/dissertation/sampleThesis.synctex.gz": "modified", + "pubs/dissertation/aux": "modified" + } + } + ], + "view-aor-figs": [ + { + "changed deps": { + "pubs/applied-ocean-research-model/figs": "modified" + } + } + ], + "view-re-figs": [ + { + "changed deps": { + "pubs/renewable-energy-mdo/figs": "modified" + } + } + ], + "make-quarto-yaml": [ + { + "changed deps": { + "results/DesignSpaceExploration/end.json": "modified", + "results/ForceSaturationFigFunc/end.json": "modified", + "results/GradientOptimFigFunc/end.json": "modified", + "results/Parameters/end.json": "modified", + "results/Runtime/end.json": "modified", + "results/Validation/end.json": "modified", + "results/Wecsim/end.json": "modified", + ".calkit/env-locks/pubs": "modified" + } + } + ], + "render-quarto-html": [ + { + "changed deps": { + "pubs/defense/figs": "modified", + "pubs/defense/quarto/slides.qmd": "modified" + } + } + ], + "render-quarto-pdf": [ + { + "changed deps": { + "pubs/defense/quarto/slides.html": "modified" + } + } + ] + }, + "dvc_data_status_after": { + "not_in_cache": [], + "not_in_remote": [], + "committed": { + "deleted": [ + "pubs/defense/ppt/McCabe_Dissertation_Defense.pdf", + "pubs/defense/ppt/McCabe_Dissertation_Defense.pptx" + ] + }, + "uncommitted": {}, + "untracked": [], + "unchanged": [ + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.pdf", + "results/SweepGeoms/sweep_geoms_pareto_nondim.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.pdf", + "results/DragIntegral/drag_integral_G_i.fig", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.pdf", + "results/RunSingleFigFunc/qcqp_circles_overlay.pdf", + "results/Meem/meem_convergence_vs_NMK.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.fig", + "results/DragIntegral/drag_integral_B.fig", + "pubs/defense/figs/img0066.png", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x3.pdf", + "pubs/defense/figs/img0067.png", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.fig", + "pubs/defense/figs/img0011.png", + "results/Wecsim/position_THD_contour.pdf", + "results/Multistart/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.pdf", + "results/LocationSensitivity/location_probability_PDF.fig", + "results/ParetoSweep/intermed.mat", + "results/QPCircles/intermed.mat", + "results/FitOlaya/orig_4b_line_kRb_fbar.pdf", + "results/ParetoFigFunc/pareto_front_LCOE_contours.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.pdf", + "mdocean/plots/non_matlab_figs/pdf/MEEM_geometry.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.fig", + "results/DescFcns/saturation_desc_fcn.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.fig", + "results/Meem/asymptotic_b_vector.pdf", + "results/ParamSensitivities/nonlinear_design_J2.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.pdf", + "results/LocationSensitivity/end.mat", + "results/Wecsim/accel_fourier_harmonics.pdf", + "results/FitOlaya/case4_sub_line_kRb_fnorm.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.pdf", + "results/SweepGeoms/sweep_geoms_scatter.pdf", + "results/Constraints/intermed.mat", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.pdf", + "pubs/defense/figs/img0038.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.fig", + "mdocean/plots/non_matlab_figs/img/mod_freq_domain_ctrl_evaluation.png", + "results/ParamSensitivities/re_optim_design_tornado_J2.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_amplitude.fig", + "results/Wecsim/position_THD_contour.fig", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_report.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.fig", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe2_sqrtkh.fig", + "results/GradientOptimFigFunc/single_obj_opt_geometry.fig", + "results/ParamSensitivities/re_optim_design_tornado_x4.pdf", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.fig", + "results/Runtime/dynamics_runtime.pdf", + "results/Comparison/comparison_power_matrix.fig", + "results/Multistart/multistart_convergence_tree.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.pdf", + "results/DragIntegral/drag_integral_G_p.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.fig", + "results/PtoSweep/pto_sweep_constraint_activity.fig", + "results/Multistart/multistart_parallel_coordinates.fig", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.fig", + "results/LocationSensitivity/intermed_h_power_matrix_3.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.pdf", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x7.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_report.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.fig", + "results/Slamming/slamming_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_elec_sat.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.pdf", + "results/RunSingleFigFunc/slamming_model_comparison_spar.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.fig", + "results/ParamSensitivities/re_optim_design_tornado_x8.pdf", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.pdf", + "results/DampingPlateStructures/damping_plate_moment.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.pdf", + "results/SweepGeoms/sweep_geoms_scatter.fig", + "results/FitOlaya/case4_v4_coeffs_vs_alpha.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.pdf", + "results/RunSingleFigFunc/intermed_created_figs_3.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.fig", + "results/SweepGeoms/sweep_geoms_grid_scatter.fig", + "results/Wecsim/drag_force_desc_fcn.fig", + "results/ReadNonMatlabFigs/damping_plate_flowchart.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_phase.pdf", + "mdocean/plots/non_matlab_figs/pdf/sim_runtime.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.pdf", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.pdf", + "results/GradientOptimFigFunc/end.mat", + "results/ParetoSweep/sweep_num_seeds.fig", + "results/ParetoFigFunc/pareto_front_LCOE_contours.pdf", + "results/GradientOptimFigFunc/intermed.mat", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.pdf", + "results/RunSingleFigFunc/slamming_model_comparison_spar.fig", + "mdocean/plots/non_matlab_figs/pdf/trapezoid.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.pdf", + "results/FitOlaya/case4_sub_line_kRb_fnorm.pdf", + "results/ParamSensitivities/post_optim_constraint_grid.pdf", + "pubs/defense/figs/img0071.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.pdf", + "results/GradientOptimFigFunc/lagrange_multipliers.fig", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_10_geom_wecsim.mat", + "results/Comparison/end.mat", + "results/FitOlaya/orig_12d_line_kRb_fbar.pdf", + "results/Runtime/sim_runtime.pdf", + "results/SparHydro/spar_added_mass.fig", + "results/SparHydro/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.pdf", + "pubs/defense/figs/img0021.png", + "mdocean/plots/non_matlab_figs/pdf/dimensions.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_phase.fig", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.pdf", + "results/Meem/end.mat", + "pubs/defense/figs/img0070.png", + "results/Meem/intermed_fig_convergence_vs_NMK_1.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.pdf", + "pubs/defense/figs/img0029.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.pdf", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.fig", + "results/ParamSensitivities/re_optim_design_tornado_x9.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.pdf", + "results/RunSingleFigFunc/intermed_created_figs_4.fig", + "results/HydroCoeffFigFunc/intermed.mat", + "pubs/defense/figs/img0047.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.fig", + "results/ReadNonMatlabFigs/MEEM_geometry.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1.fig", + "results/ParamSensitivities/re_optim_objective_tornado.fig", + "pubs/UMERC-2025-grid-value/UMERC_2025_grid_value.pdf", + "pubs/defense/figs/img0050.png", + "pubs/applied-ocean-research-model/main.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.fig", + "results/ForceSaturationFigFunc/power_force_sensitivity.pdf", + "results/SweepGeoms/intermed.mat", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_wecsim.mat", + "results/ParamSensitivities/re_optim_design_tornado_x1.pdf", + "results/Runtime/sim_runtime.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.fig", + "results/HydroCoeffFigFunc/end.mat", + "results/Meem/meem_validation.pdf", + "results/Runtime/hydro_runtime_breakdown.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_amplitude.fig", + "results/ParetoSweep/sweep_num_seeds.pdf", + "results/ReadNonMatlabFigs/intermed.mat", + "results/Wecsim/wecsim_rpt_multi__histogram.pdf", + "pubs/defense/figs/img0057.png", + "results/FitOlaya/orig_12d_line_kRb_fbar.fig", + "results/ReadNonMatlabFigs/taxonomy.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_phase.fig", + "results/RunSingleFigFunc/intermed_created_figs_7.fig", + "results/Validation/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.pdf", + "results/Parameters/end.mat", + "results/ParamSensitivities/re_optim_design_tornado_x5.fig", + "results/Comparison/overlaid_geometry.pdf", + "results/ParetoFigFunc/pareto_heuristics.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_amplitude.pdf", + "results/DampingPlateStructures/intermed_figs_2.fig", + "results/RunSingleFigFunc/nominal_power_matrix.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.fig", + "results/Constraints/end.mat", + "results/DampingPlateStructures/damping_plate_deflection.fig", + "results/FitOlaya/orig_12c_line_kRb_fbar.fig", + "results/Comparison/overlaid_hydro_coeffs.fig", + "pubs/defense/figs/img0041.png", + "mdocean/plots/non_matlab_figs/img/sim_runtime.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__PTO_damping.fig", + "results/Meem/intermed_figHydroCoeff_1.fig", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.fig", + "mdocean/plots/non_matlab_figs/circuit_kinematics.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.pdf", + "results/Meem/meem_convergence_vs_NMK.fig", + "pubs/defense/figs/img0065.png", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.pdf", + "mdocean/plots/non_matlab_figs/pdf/damping_plate_flowchart.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__force_pto.pdf", + "results/ParamSensitivities/re_optim_design_tornado_J1.fig", + "mdocean/plots/non_matlab_figs/pdf/FBD.pdf", + "results/SweepGeoms/factor_grid.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.pdf", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.pdf", + "pubs/defense/figs/img0039.png", + "pubs/defense/figs/img0016.png", + "mdocean/plots/non_matlab_figs/img/taxonomy.png", + "mdocean/plots/non_matlab_figs/img/damping_plate_flowchart.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.fig", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.fig", + "results/Wecsim/accel_fourier_harmonics.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_elec_sat.pdf", + "results/RunSingleFigFunc/intermed_created_figs_2.fig", + "mdocean/plots/non_matlab_figs/pdf/control_analysis_flowcharts.pdf", + "results/DragIntegral/drag_integral_G_r.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.pdf", + "results/ReadNonMatlabFigs/FBD.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.pdf", + "results/PtoSweep/pto_sweep.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.pdf", + "mdocean/plots/non_matlab_figs/pdf/methodology_flowchart.pdf", + "results/RunSingleFigFunc/intermed_created_figs_5.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__power_mech_unsat.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_single__histogram.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__CW_to_CW_max.fig", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.pdf", + "results/PtoSweep/pto_sweep.fig", + "results/ReadNonMatlabFigs/dimensions.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__rel_phase.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x5.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.pdf", + "mdocean/plots/non_matlab_figs/img/dimensions.jpg", + "results/Comparison/overlaid_geometry.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.pdf", + "results/RunSingleFigFunc/ctrl_polar_plot_gamma.fig", + "results/DesignSpaceExploration/experiments_ratios.pdf", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.fig", + "results/GradientOptimFigFunc/single_obj_convergence.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.pdf", + "results/ParamSensitivities/end.mat", + "mdocean/plots/non_matlab_figs/img/xdsm.png", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__PTO_damping.fig", + "results/ForceSaturationFigFunc/power_force_sensitivity.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.pdf", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.pdf", + "results/ReadNonMatlabFigs/graphical_abstract_optim.pdf", + "results/FitOlaya/case4_sub_line_khRxRp_f_H0_cosh_N0.pdf", + "results/Multistart/multistart_bar_chart.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.fig", + "pubs/defense/figs/icon-planet.png", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__rel_phase.pdf", + "results/DragIntegral/drag_integral_G_m.pdf", + "mdocean/plots/non_matlab_figs/pdf/taxonomy.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__CW_to_CW_max.fig", + "results/ParamSensitivities/re_optim_design_tornado_x4.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.fig", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.pdf", + "mdocean/plots/non_matlab_figs/pdf/mod_freq_domain_ctrl_evaluation.pdf", + "results/LocationSensitivity/location_2_power_matrix.pdf", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.fig", + "results/Meem/intermed_figPotMatch_1.fig", + "results/Multistart/multistart_convergence_tree.pdf", + "results/RunSingleFigFunc/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.pdf", + "results/Wecsim/drag_force_desc_fcn.pdf", + "results/SweepGeoms/sweep_geoms_scatter_cwr_a2.pdf", + "pubs/defense/figs/img0048.png", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_10_geom_wecsim.mat", + "pubs/defense/figs/img0062.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.fig", + "results/ParamSensitivities/nonlinear_design_J2.fig", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_fund.pdf", + "mdocean/plots/non_matlab_figs/img/control_analysis_flowcharts.png", + "results/Wecsim/wecsim_wcsm_single__histogram.fig", + "results/Comparison/probability_CDF.fig", + "results/FitOlaya/end.mat", + "results/SweepGeoms/sweep_geoms_line.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.pdf", + "results/RunSingleFigFunc/intermed_created_figs_1.fig", + "results/Cost/intermed.mat", + "mdocean/plots/non_matlab_figs/img/methodology_flowchart.png", + "results/DescFcns/drag_desc_fcn.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.pdf", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.pdf", + "results/ParetoFigFunc/pareto_heuristics.fig", + "results/FitOlaya/case4_v3_loglog_khRxRpa3b_fv2_x15.fig", + "results/Meem/intermed_fig_convergence_vs_omega_1.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_phase.fig", + "pubs/defense/figs/img0054.png", + "results/FitOlaya/case4_v1_coeffs_vs_beta.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.pdf", + "results/SweepGeoms/factor_grid.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.pdf", + "results/DesignSpaceExploration/end.mat", + "results/ParetoFigFunc/intermed.mat", + "pubs/defense/figs/img0000.png", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_amplitude.pdf", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.fig", + "results/FitOlaya/case4_v3_scatter_actual_vs_pred.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_fund.pdf", + "results/LocationSensitivity/location_4_power_matrix.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.fig", + "results/ParamSensitivities/post_optim_constraint_grid.fig", + "mdocean/plots/non_matlab_figs/img/graphical_abstract_modeling.png", + "results/FitOlaya/case4_v1_manual_semilogx_khRxRpa4b_fv1.fig", + "pubs/defense/figs/img0069.png", + "pubs/defense/figs/img0056.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__rel_phase.fig", + "results/Multistart/multistart_bar_chart.fig", + "results/DampingPlateStructures/intermed_figs_1.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.pdf", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.pdf", + "results/ParamSensitivities/re_optim_objective_tornado.pdf", + "results/Meem/intermed_figSparsity_1.fig", + "results/DescFcns/saturation_desc_fcn_alpha.pdf", + "results/Meem/meem_sparsity.fig", + "results/LocationSensitivity/location_probability_PDF.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__PTO_damping.fig", + "mdocean/plots/non_matlab_figs/circuit_pto.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_amplitude.pdf", + "mdocean/plots/non_matlab_figs/meem_dims.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1e2.pdf", + "results/DesignSpaceExploration/experiments_ratios.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.fig", + "results/FitOlaya/case4_v2_manual_scatter_actual_vs_pred.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.pdf", + "results/ReadNonMatlabFigs/control_analysis_flowcharts.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__PTO_damping.fig", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.fig", + "results/ParamSensitivities/re_optim_design_tornado_x12.pdf", + "results/FitOlaya/case4_v1_auto_scatter_khRxRpa2b_frac_err.pdf", + "results/RunSingleFigFunc/nominal_power_matrix.pdf", + "results/RunSingleFigFunc/nominal_geometry_viz.fig", + "results/AllFigCompare/runtime_bar_chart.fig", + "pubs/defense/figs/img0064.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.fig", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.fig", + "mdocean/plots/non_matlab_figs/pdf/RM3_image.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.pdf", + "results/RunSingleFigFunc/intermed_created_figs_8.fig", + "results/FitOlaya/orig_3b_line_kRb_fbar.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__rel_phase.fig", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_wecsim.mat", + "results/Meem/asymptotic_b_vector.fig", + "results/Comparison/overlaid_hydro_coeffs.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.fig", + "results/DragIntegral/drag_integral_G_p.pdf", + "results/Slamming/intermed_figure_handle_1.fig", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform_fit_curves.pdf", + "results/FitOlaya/case4_v1_manual_scatter_actual_vs_pred.fig", + "results/Slamming/intermed.mat", + "pubs/defense/figs/img0033.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_amplitude.pdf", + "results/SparHydro/spar_added_mass.pdf", + "pubs/defense/figs/img0055.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.pdf", + "results/SweepGeoms/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.fig", + "results/FitOlaya/orig_12a_line_kRb_fbar.fig", + "results/RunSingleFigFunc/qcqp_circles_nominal.pdf", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_evaluation.pdf", + "mdocean/plots/non_matlab_figs/pdf/section_flow.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe2.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.pdf", + "results/DescFcns/intermed.mat", + "pubs/defense/figs/img0028.png", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.pdf", + "results/FitOlaya/case4_v4_coeffs_vs_beta.pdf", + "results/DescFcns/saturation_desc_fcn.fig", + "results/ParetoSweep/end.mat", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.pdf", + "results/DampingPlateStructures/damping_plate_aspect_ratio.pdf", + "results/GradientOptimFigFunc/lagrange_multipliers.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.fig", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.fig", + "results/RunSingleFigFunc/intermed_created_figs_6.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.fig", + "results/ReadNonMatlabFigs/sim_runtime.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_mech_unsat.fig", + "results/ParamSensitivities/re_optim_design_tornado_x1.fig", + "results/Meem/intermed_b_vector_fig_1.fig", + "pubs/defense/figs/img0058.png", + "mdocean/inputs/var_bounds.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__rel_phase.fig", + "results/ReadNonMatlabFigs/graphical_abstract_modeling.pdf", + "mdocean/plots/non_matlab_figs/img/drag_exc_phase_integral.svg", + "results/Multistart/intermed.mat", + "pubs/dissertation/sampleThesis.pdf", + "results/ReadNonMatlabFigs/methodology_flowchart.pdf", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__PTO_damping.fig", + "results/SweepGeoms/sweep_geoms_parallel.pdf", + "results/Parameters/intermed.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__CW_to_CW_max.fig", + "results/ParamSensitivities/re_optim_design_tornado_x10.fig", + "mdocean/plots/non_matlab_figs/img/MEEM_geometry.jpg", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__CW_to_CW_max.fig", + "pubs/defense/figs/pto.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.pdf", + "results/Runtime/hydro_runtime_breakdown.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__rel_phase.fig", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.fig", + "pubs/defense/figs/img0063.png", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_sqrtkh.pdf", + "results/FitOlaya/case4_v1_auto_semilogx_khRxRpa4b_fv1.pdf", + "results/FitOlaya/case4_v2_manual_scatter_khRxRpa2b_frac_err.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.fig", + "results/DescFcns/intermed_created_figs_2.fig", + "results/Runtime/hydro_runtime_logscale.pdf", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.fig", + "mdocean/plots/non_matlab_figs/pdf/graphical_abstract_modeling.pdf", + "results/GradientOptimFigFunc/intermed_convergence_plot_1.fig", + "results/Comparison/probability_CDF.pdf", + "results/DesignVars/intermed.mat", + "pubs/defense/figs/img0008.png", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_fund.pdf", + "results/FitOlaya/case4_v2_coeffs_vs_beta.fig", + "results/Runtime/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.fig", + "results/ParamSensitivities/re_optim_design_tornado_x9.pdf", + "pubs/defense/figs/img0043.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__force_pto.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_mech_unsat.fig", + "results/RunSingleFigFunc/qcqp_circles_overlay.fig", + "results/Wecsim/wecsim_rpt_multi__histogram.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__relative_amplitude.pdf", + "pubs/defense/figs/img0013.png", + "mdocean/plots/non_matlab_figs/img/FBD.jpg", + "results/FitOlaya/case4_sep_manual_khRxRpa2b_f_H0_expe1_sqrtkh.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_phase.fig", + "results/RunSingleFigFunc/nominal_power_pdf.pdf", + "pubs/defense/figs/img0010.png", + "results/ParamSensitivities/nonlinear_design_J1.fig", + "results/Meem/meem_validation.fig", + "results/Runtime/dynamics_runtime.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.pdf", + "pubs/defense/figs/img0015.png", + "results/Validation/cost_vs_N_WEC.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_fund.pdf", + "results/FitOlaya/case4_v1_manual_scatter_khRxRpa2b_frac_err.fig", + "results/ParamSensitivities/post_optim_design_grid.pdf", + "results/FitOlaya/case4_sep_coeffs_vs_beta.fig", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_drag_force_phase.fig", + "pubs/defense/figs/img0059.png", + "results/QPCircles/intermed_figure_handle_1.fig", + "results/Wecsim/wecsim_wcsm_multi__histogram.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__PTO_damping.fig", + "results/DragIntegral/drag_integral_G_r.pdf", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__CW_to_CW_max.pdf", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.fig", + "mdocean/plots/non_matlab_figs/pdf/mod_freq_domain_ctrl_synthesis.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_amplitude.pdf", + "pubs/defense/figs/img0068.png", + "results/ForceSaturationFigFunc/intermed_fig1_1.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.fig", + "results/ParamSensitivities/re_optim_design_tornado_x2.pdf", + "pubs/defense/figs/img0014.png", + "results/FitOlaya/case4_v1_auto_case2_overlay_loglog_khRxRpa2b_fv1.pdf", + "results/PtoSweep/pto_sweep_constraint_activity.pdf", + "mdocean/plots/non_matlab_figs/img/section_flow.png", + "results/LocationSensitivity/location_2_power_matrix.fig", + "results/QPCircles/qp_circles.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__spar_drag_force_phase.fig", + "results/Wecsim/intermed.mat", + "results/FitOlaya/case4_v2_auto_scatter_khRxRpa2b_frac_err.pdf", + "results/FitOlaya/orig_12b_line_kRb_fbar.pdf", + "results/FitOlaya/case4_v1_auto_scatter_actual_vs_pred.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_fund.fig", + "results/FitOlaya/case2_line_khRxRp_fnorm.pdf", + "results/DampingPlateStructures/damping_plate_aspect_ratio.fig", + "results/SweepGeoms/sweep_geoms_pareto.fig", + "results/FitOlaya/orig_12c_line_kRb_fbar.pdf", + "pubs/renewable-energy-mdo/mdocean.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_phase.fig", + "results/Meem/meem_convergence_vs_omega.pdf", + "results/Wecsim/wecsim_wcsm_multi__histogram.pdf", + "pubs/defense/figs/img0060.png", + "results/ReadNonMatlabFigs/trapezoid.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__rel_phase.pdf", + "results/FitOlaya/orig_4b_line_kRb_fbar.fig", + "results/ParetoFigFunc/pareto_constraint_activity_damping.fig", + "pubs/defense/figs/img0040.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_mech_unsat.pdf", + "results/Runtime/intermed.mat", + "results/DampingPlateStructures/end.mat", + "results/FitOlaya/orig_3b_line_kRb_fbar.fig", + "results/FitOlaya/orig_12b_line_kRb_fbar.fig", + "results/SweepGeoms/sweep_geoms_scatter_cwr_vol.fig", + "results/ForceSaturationFigFunc/intermed.mat", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_10_geom_wecsim.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_drag_force_phase.fig", + "results/SweepGeoms/sweep_geoms_scatter_cwr_sa.pdf", + "results/ParamSensitivities/re_optim_objective_grid.pdf", + "mdocean/plots/non_matlab_figs/pdf/xdsm.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__force_pto.pdf", + "results/SweepGeoms/sweep_geoms_pareto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__PTO_damping.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__power_mech_unsat.pdf", + "results/LocationSensitivity/location_3_power_matrix.fig", + "results/PtoSweep/intermed.mat", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.fig", + "pubs/applied-ocean-research-model/tables/from-matlab/", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_amplitude.fig", + "pubs/defense/figs/img0007.png", + "results/ParamSensitivities/intermed.mat", + "mdocean/plots/non_matlab_figs/circuit_intrinsic.pdf", + "results/GradientOptimFigFunc/single_obj_opt_geometry.pdf", + "results/FitOlaya/case4_v1_coeffs_vs_alpha.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__PTO_damping.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__rel_phase.fig", + "pubs/defense/figs/img0053.png", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_phase.pdf", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.fig", + "results/Multistart/multistart_parallel_coordinates.pdf", + "results/FitOlaya/case4_v3_scatter_khRxRpa2b_frac_err.fig", + "results/ReadNonMatlabFigs/RM3_image.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_fund.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.fig", + "pubs/defense/quarto/slides_files/", + "results/RunSingleFigFunc/drag_convergence.pdf", + "pubs/defense/figs/img0074.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.fig", + "mdocean/plots/non_matlab_figs/control_method_venn_diagram.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.fig", + "results/ForceSaturationFigFunc/runtime_sensitivity.pdf", + "results/DampingPlateStructures/damping_plate_moment.pdf", + "pubs/defense/figs/img0045.png", + "pubs/defense/figs/img0051.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.pdf", + "mdocean/plots/non_matlab_figs/img/optimization_flowchart.jpg", + "results/DescFcns/end.mat", + "pubs/defense/figs/img0042.png", + "results/FitOlaya/case2_line_khRxRp_f_over_a2H0.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__power_elec_sat.pdf", + "results/FitOlaya/case4_v4_loglog_khRxRpa2b_newform.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_elec_sat.pdf", + "results/DescFcns/intermed_created_figs_3.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_drag_force_fund.pdf", + "results/RunSingleFigFunc/ctrl_polar_plot_mult.pdf", + "results/Comparison/comparison_power_matrix.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_drag_force_phase.fig", + "results/LocationSensitivity/location_1_power_matrix.pdf", + "pubs/defense/figs/img0049.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_off_geom_report.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_mech_unsat.pdf", + "results/GradientOptimFigFunc/single_obj_opt_power_matrix.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_drag_force_phase.fig", + "results/RunSingleFigFunc/drag_convergence.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x6.pdf", + "results/HydroCoeffFigFunc/hydro_coeff_err.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__spar_phase.pdf", + "results/LocationSensitivity/intermed_h_power_matrix_1.fig", + "results/FitOlaya/case4_v4_coeffs_vs_alpha_and_beta.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_amplitude.pdf", + "results/LocationSensitivity/intermed.mat", + "results/ReadNonMatlabFigs/optimization_flowchart.pdf", + "results/Meem/meem_sparsity.pdf", + "results/LocationSensitivity/intermed_h_power_matrix_4.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_phase.fig", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0.pdf", + "results/FitOlaya/intermed.mat", + "results/HydroCoeffFigFunc/hydro_coeff_err.pdf", + "pubs/defense/quarto/slides.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_phase.fig", + "results/Cost/end.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__relative_amplitude.pdf", + "results/ReadNonMatlabFigs/end.mat", + "results/ParamSensitivities/re_optim_design_grid.fig", + "results/ParamSensitivities/re_optim_design_tornado_x3.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x11.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.pdf", + "mdocean/plots/non_matlab_figs/img/mod_freq_domain_ctrl_synthesis.png", + "results/RunSingleFigFunc/nominal_geometry_viz.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.fig", + "pubs/defense/figs/img0044.png", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__force_pto.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__force_pto.pdf", + "results/ParamSensitivities/re_optim_design_grid.pdf", + "results/RunSingleFigFunc/nominal_power_pdf.fig", + "results/ParamSensitivities/re_optim_design_tornado_x2.fig", + "results/LocationSensitivity/intermed_h_probability_PDF_1.fig", + "results/ParamSensitivities/re_optim_design_tornado_x10.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_elec_sat.fig", + "pubs/defense/figs/icon-profit.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__power_elec_sat.pdf", + "results/LocationSensitivity/location_4_power_matrix.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__rel_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.fig", + "results/DragIntegral/intermed.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__force_pto.pdf", + "results/SparHydro/intermed.mat", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_0_meem_off_geom_wecsim.mat", + "results/Meem/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__force_pto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_drag_force_fund.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__relative_amplitude.pdf", + "results/ParamSensitivities/re_optim_design_tornado_J2.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__PTO_damping.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__CW_to_CW_max.pdf", + "results/ReadNonMatlabFigs/section_flow.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.pdf", + "results/LocationSensitivity/location_3_power_matrix.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_amplitude.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.fig", + "results/GradientOptimFigFunc/delta_x.fig", + "pubs/defense/figs/img0052.png", + "mdocean/plots/non_matlab_figs/pdf/equivalent_stiffness.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_amplitude.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_a2.pdf", + "pubs/applied-ocean-research-model/figs/from-matlab/", + "results/FitOlaya/case4_sep_coeffs_vs_alpha.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__CW_to_CW_max.pdf", + "mdocean/plots/non_matlab_figs/pdf/optimization_flowchart.pdf", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_1_meem_10_geom_wecsim.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_drag_force_fund.fig", + "results/FitOlaya/case4_sub_line_khRxRp_fnorm.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__relative_amplitude.fig", + "results/ParetoFigFunc/pareto_constraint_activity_damping.pdf", + "results/ParamSensitivities/nonlinear_objectives.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_drag_force_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__float_amplitude.fig", + "results/Wecsim/end.mat", + "pubs/applied-ocean-research-model/figs/manual/", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.pdf", + "results/FitOlaya/case24_compare_line_kRb_fnorm.pdf", + "results/DescFcns/intermed_created_figs_1.fig", + "results/QPCircles/qp_circles.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__spar_drag_force_phase.fig", + "results/LocationSensitivity/intermed_h_power_matrix_2.fig", + "results/ParamSensitivities/re_optim_design_tornado_J1.pdf", + "results/RunSingleFigFunc/qcqp_circles_nominal.fig", + "pubs/defense/figs/img0001.png", + "pubs/defense/figs/icon-people.png", + "results/ParamSensitivities/nonlinear_design_J1.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_RxRb_aH0_expe1.fig", + "results/DescFcns/drag_desc_fcn.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_drag_force_fund.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.fig", + "pubs/defense/figs/img0073.png", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__spar_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__relative_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_phase.fig", + "results/ParetoFigFunc/pareto_constraint_activity_reactive.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__float_phase.pdf", + "results/RunSingleFigFunc/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__CW_to_CW_max.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_drag_force_phase.fig", + "results/ParamSensitivities/re_optim_design_tornado_x12.fig", + "results/ParetoFigFunc/end.mat", + "results/DescFcns/saturation_desc_fcn_alpha.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__CW_to_CW_max.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_phase.fig", + "results/SweepGeoms/sweep_geoms_line_cwr_vol.pdf", + "results/FitOlaya/case4_sub_loglog_khRxRpb_f_H0_expe1_b2sqrtkh.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__power_mech_unsat.fig", + "pubs/defense/figs/img0061.png", + "results/Validation/end.mat", + "pubs/defense/figs/sealab.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__spar_phase.fig", + "results/FitOlaya/case4_v2_coeffs_vs_beta.pdf", + "pubs/renewable-energy-mdo/figs/from-matlab/", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__CW_to_CW_max.pdf", + "results/SweepGeoms/sweep_geoms_parallel.fig", + "results/ParamSensitivities/post_optim_design_grid.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__force_pto.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__float_drag_force_fund.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_phase.fig", + "results/Slamming/slamming_amplitude.fig", + "results/ForceSaturationFigFunc/intermed_fig2_1.fig", + "results/LocationSensitivity/location_1_power_matrix.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_phase.fig", + "mdocean/plots/non_matlab_figs/img/drag_damping_integral.svg", + "results/RunSingleFigFunc/slamming_model_comparison_float.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.fig", + "results/DampingPlateStructures/damping_plate_deflection.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_fund.fig", + "results/ParamSensitivities/nonlinear_objectives.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_phase.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__power_elec_sat.fig", + "results/FitOlaya/case4_sep_coeffs_vs_beta.pdf", + "results/Meem/intermed_figVelMatch_1.fig", + "results/ParetoFigFunc/pareto_front_with_design_images.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.fig", + "results/FitOlaya/case4_v1_coeffs_vs_beta.fig", + "results/Meem/meem_convergence_vs_omega.fig", + "results/DesignVars/end.mat", + "results/ParamSensitivities/re_optim_objective_grid.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_fund.pdf", + "results/Slamming/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.fig", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.fig", + "results/Validation/cost_vs_N_WEC.fig", + "results/AllFigCompare/runtime_bar_chart.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__spar_amplitude.fig", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__spar_drag_force_phase.fig", + "results/ParamSensitivities/re_optim_design_tornado_x8.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__float_drag_force_phase.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_off__float_drag_force_fund.fig", + "mdocean/inputs/drag_integral.mat", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__spar_phase.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__force_pto.pdf", + "results/SweepGeoms/sweep_geoms_line.fig", + "results/ParetoFigFunc/pareto_front_with_design_images.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__float_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__float_drag_force_phase.pdf", + "results/DampingPlateStructures/intermed.mat", + "results/SweepGeoms/sweep_geoms_pareto_nondim.pdf", + "results/PtoSweep/end.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__PTO_damping.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__spar_amplitude.fig", + "results/ReadNonMatlabFigs/equivalent_stiffness.pdf", + "results/FitOlaya/case2_line_khRxRp_f_over_RxRb_aH0_expe1.pdf", + "results/DampingPlateStructures/intermed_figs_3.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__power_elec_sat.pdf", + "results/SweepGeoms/sweep_geoms_grid_scatter.pdf", + "mdocean/plots/non_matlab_figs/img/RM3_image.png", + "results/SweepGeoms/sweep_geoms_line_cwr_a2.fig", + "results/Meem/meem_matching.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_mech_unsat.pdf", + "results/HydroCoeffFigFunc/intermed_created_figs_1.fig", + "results/FitOlaya/orig_12a_line_kRb_fbar.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__force_pto.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__force_pto.fig", + "results/GradientOptimFigFunc/single_obj_convergence.pdf", + "results/AllFigCompare/end.mat", + "results/ReadNonMatlabFigs/xdsm.pdf", + "results/FitOlaya/case4_v2_auto_loglog_khRxRpa3b_fv2.fig", + "pubs/defense/figs/img0072.png", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_phase.pdf", + "results/ParamSensitivities/re_optim_design_tornado_x11.fig", + "pubs/defense/figs/img0030.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_phase.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_on__force_pto.fig", + "results/FitOlaya/case4_sep_auto_lnkhRxRpa2b_lnf_H0_expe1_sqrtkh.pdf", + "results/DragIntegral/drag_integral_G_m.fig", + "results/ParamSensitivities/re_optim_constraint_grid.pdf", + "results/SweepGeoms/sweep_geoms_line_cwr_sa.fig", + "results/ParamSensitivities/re_optim_design_tornado_x7.pdf", + "results/FitOlaya/case2_line_khRxRpa2_f_over_a2.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_fund.fig", + "results/ReadNonMatlabFigs/mod_freq_domain_ctrl_synthesis.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_amplitude.fig", + "results/Meem/meem_matching.fig", + "results/AllFigCompare/intermed.mat", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_on__power_mech_unsat.pdf", + "results/Wecsim/wecsim_rpt_multi_drag_off_meem_off__relative_amplitude.fig", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_off__float_phase.pdf", + "results/DragIntegral/drag_integral_B.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__relative_amplitude.fig", + "results/FitOlaya/case4_v2_coeffs_vs_alpha.fig", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__spar_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_drag_force_fund.fig", + "results/FitOlaya/case4_v2_auto_scatter_actual_vs_pred.pdf", + "results/Runtime/hydro_runtime_logscale.fig", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.fig", + "results/RunSingleFigFunc/slamming_model_comparison_float.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__float_amplitude.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_off__spar_amplitude.fig", + "results/FitOlaya/case4_v2_manual_loglog_khRxRpa3b_fv2.pdf", + "results/ParamSensitivities/post_optim_re_optim_objective_grid.pdf", + "pubs/defense/figs/img0034.png", + "results/ForceSaturationFigFunc/end.mat", + "results/GradientOptimFigFunc/delta_x.pdf", + "mdocean/plots/non_matlab_figs/img/equivalent_stiffness.png", + "results/Comparison/intermed.mat", + "results/Wecsim/wecsim_sparcd1_floatcd1_multibody_0_meem_off_geom_wecsim.mat", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_off__power_elec_sat.pdf", + "pubs/defense/figs/img0036.png", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__power_elec_sat.fig", + "results/ParamSensitivities/re_optim_constraint_grid.fig", + "pubs/renewable-energy-mdo/tables/from-matlab/", + "results/Wecsim/wecsim_rpt_multi_drag_on_meem_off__PTO_damping.pdf", + "results/Wecsim/wecsim_wcsm_multi_drag_off_meem_on__power_mech_unsat.fig", + "results/SparHydro/intermed_figure_handle_1.fig", + "results/FitOlaya/case2_line_khRxRp_fnorm.fig", + "mdocean/plots/non_matlab_figs/img/trapezoid.png", + "mdocean/plots/non_matlab_figs/img/drag_exc_mag_integral.svg", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__PTO_damping.fig", + "results/DesignSpaceExploration/intermed.mat", + "results/Wecsim/wecsim_sparcd0_floatcd0_multibody_1_meem_off_geom_report.mat", + "pubs/defense/figs/lin-ps-flow.png", + "results/Wecsim/wecsim_wcsm_multi_drag_on_meem_on__relative_amplitude.pdf", + "results/DragIntegral/end.mat", + "results/ParamSensitivities/re_optim_design_tornado_x6.fig", + "results/ForceSaturationFigFunc/runtime_sensitivity.fig", + "results/FitOlaya/case24_compare_line_kRb_fnorm.fig", + "results/Wecsim/wecsim_wcsm_single_drag_off_meem_on__float_drag_force_phase.pdf", + "results/Wecsim/wecsim_wcsm_single_drag_on_meem_on__CW_to_CW_max.fig", + "results/QPCircles/end.mat", + "results/Validation/intermed_fig_cost_vs_N_WEC_1.fig", + "results/FitOlaya/case4_v4_coeffs_vs_beta.fig", + "results/DragIntegral/drag_integral_G_i.pdf" + ] + } +} \ No newline at end of file diff --git a/.calkit/systems/69d75abfd2750ded2a26c7cdaa45b52bde180a0e.json b/.calkit/systems/69d75abfd2750ded2a26c7cdaa45b52bde180a0e.json new file mode 100644 index 000000000..0f7e29de1 --- /dev/null +++ b/.calkit/systems/69d75abfd2750ded2a26c7cdaa45b52bde180a0e.json @@ -0,0 +1,28 @@ +{ + "os": "Linux", + "os_version": "5.15.0-139-generic", + "python_version": "3.11.5", + "calkit_version": "0.41.18", + "calkit_git_rev": null, + "hostname": "cornell-MS-7B94", + "processor": "x86_64", + "platform": "Linux-5.15.0-139-generic-x86_64-with-glibc2.31", + "machine": "x86_64", + "python_implementation": "CPython", + "python_compiler": "GCC 11.2.0", + "memory_gb": 251.38132095336914, + "cpu_count": 28, + "node_id": 238300915394174, + "git_version": "git version 2.25.1", + "docker_version": "Docker version 27.1.1, build 6312585", + "conda_version": "conda 24.11.3", + "mamba_version": null, + "uv_version": "uv 0.9.3", + "pixi_version": null, + "Rscript_version": "", + "juliaup_version": "Juliaup 1.20.2", + "julia_version": null, + "apt_version": "apt 2.0.10 (amd64)", + "yum_version": null, + "id": "69d75abfd2750ded2a26c7cdaa45b52bde180a0e" +} \ No newline at end of file diff --git a/dev/latex/calkit_instructions_interactive.sh b/dev/latex/calkit_instructions_interactive.sh index 44127c90f..62ff1333a 100755 --- a/dev/latex/calkit_instructions_interactive.sh +++ b/dev/latex/calkit_instructions_interactive.sh @@ -188,11 +188,9 @@ run_up_to_date_check() { rm -f "$output_file" return 0 fi + else echo "Status command failed." - if prompt_yes_no "Retry status check?"; then - continue - fi if prompt_yes_no "Skip this status check?"; then rm -f "$output_file" return 0 @@ -201,6 +199,9 @@ run_up_to_date_check() { rm -f "$output_file" exit 1 fi + if prompt_yes_no "Run stage?"; then + calkit run --log "$stage" + fi read -r -p "Enter to retry, 's' to skip, or 'q' to quit: " answer case "$answer" in @@ -288,6 +289,7 @@ workflow_github_to_overleaf() { run_step "Pull latest main" git pull run_step "Create new branch" git checkout -b "$branch_name" run_step "Push branch and set upstream" git push --set-upstream origin "$branch_name" + run_step "Push dvc data to avoid overwriting upon pull" calkit push run_calkit_pull_with_retry calkit pull -f run_step "Check pipeline" calkit check pipeline -c run_up_to_date_check "$PAPER_STAGE" @@ -303,6 +305,7 @@ workflow_overleaf_to_github() { choose_stage_and_folder + run_step "Push dvc data to avoid overwriting upon pull" calkit push run_step "Checkout main" git checkout main run_calkit_pull_with_retry calkit pull -f run_step "Check pipeline" calkit check pipeline -c diff --git a/pubs/applied-ocean-research-model/numeric-results.tex b/pubs/applied-ocean-research-model/numeric-results.tex index 3a2503eff..40c73805c 100644 --- a/pubs/applied-ocean-research-model/numeric-results.tex +++ b/pubs/applied-ocean-research-model/numeric-results.tex @@ -681,7 +681,6 @@ \def\resultsAOR@XVI@out{% None}% \else% - \packagewarning{json2latex}{Undefined key `#1' for resultsAOR@XVI}% \def\resultsAOR@XVI@out{% ??}% \fi\fi\fi\fi diff --git a/pubs/applied-ocean-research-model/shared-pkg.tex b/pubs/applied-ocean-research-model/shared-pkg.tex index 92ef1ce77..df93f9049 100644 --- a/pubs/applied-ocean-research-model/shared-pkg.tex +++ b/pubs/applied-ocean-research-model/shared-pkg.tex @@ -117,4 +117,4 @@ \crefalias{subsubsection}{appendix} \crefalias{chapter}{appendix} } -\makeatother \ No newline at end of file +\makeatother From 11c9a98f61f0e2c79122c75db60c93c3b3e606d9 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Fri, 19 Jun 2026 19:56:36 -0400 Subject: [PATCH 17/95] Update paper from Overleaf sync --- .calkit/overleaf-sync.json | 2 +- pubs/applied-ocean-research-model/main.tex | 6 +++--- .../sections/benchmarking.tex | 2 +- pubs/applied-ocean-research-model/sections/discussion.tex | 4 ++-- .../sections/meem-appendix.tex | 8 ++++---- .../applied-ocean-research-model/sections/model-intro.tex | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.calkit/overleaf-sync.json b/.calkit/overleaf-sync.json index 4afa0dc5e..4104b69c4 100644 --- a/.calkit/overleaf-sync.json +++ b/.calkit/overleaf-sync.json @@ -9,7 +9,7 @@ }, "pubs/applied-ocean-research-model": { "project_id": "69ecde8851d14790c59f03d5", - "last_sync_commit": "468b744b4a3146f1f55b9de63ebbd7386a58b9fd" + "last_sync_commit": "1c9e184a0690817a39f634620d176afdcc583171" }, "pubs/defense": { "project_id": "69ef01941916c106f7f5c565", diff --git a/pubs/applied-ocean-research-model/main.tex b/pubs/applied-ocean-research-model/main.tex index a987a5086..4add34e9e 100644 --- a/pubs/applied-ocean-research-model/main.tex +++ b/pubs/applied-ocean-research-model/main.tex @@ -117,7 +117,7 @@ MDOcean integrates hydrodynamics, dynamics, structures, and economics within a computationally efficient architecture based on analytical and semi-analytical methods that substantially reduce runtime while maintaining near-numerical accuracy. The framework includes a mesh-free eigenfunction-based linear hydrodynamic solver, a quasi-linearized frequency-domain dynamics engine capable of modeling drag and saturation nonlinearities, a structural sizing module incorporating realistic yield, ultimate, buckling, storm, and fatigue design criteria, and a simplified cost model for techno-economic assessment. -Particular emphasis is placed on the modified frequency-domain dynamics formulation, which extends prior frequency-domain constraint-handling approaches through a unified describing-function and analytical QCQP framework. +Particular emphasis is placed on the modified frequency-domain dynamics formulation, which extends prior frequency-domain constraint-handling approaches through a unified describing-function and analytical quadratically-constrained quadratic program (QCQP) framework. This formulation enables efficient treatment of nonlinear constraints while preserving compatibility with optimization workflows and frequency-domain analysis techniques commonly used in WEC design. Validation and benchmarking demonstrate that MDOcean's \resultsAOR[simRuntime] runtime is orders of magnitude faster than leading WEC simulation tools while maintaining agreement with higher-fidelity baselines to within a few percent in most cases. @@ -207,9 +207,9 @@ \section*{Acknowledgements} R.M. acknowledges funding from the National Science Foundation Graduate Research Fellowship. M.D. acknowledges funding from the Fund for Undergraduate Research on Solutions to Climate Change and the Bill Nye ’77 Award in Undergraduate Research. -This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. +This material is based on work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE–2139899. -Any opinion, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. +Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. The graphical abstract uses icons from \url{www.flaticon.com} in accordance with the Flaticon license. diff --git a/pubs/applied-ocean-research-model/sections/benchmarking.tex b/pubs/applied-ocean-research-model/sections/benchmarking.tex index 46057dcf1..202538ee8 100644 --- a/pubs/applied-ocean-research-model/sections/benchmarking.tex +++ b/pubs/applied-ocean-research-model/sections/benchmarking.tex @@ -123,7 +123,7 @@ \subsection{Static Validation} \subsection{Runtime Benchmarking} \label{sec:sim-runtime} Benchmarking the runtime of the MDOcean simulation is important to verify it achieves the desired speed to facilitate rapid design optimization. -An initial speed requirement order of magnitude of 100~ms for all modules was set to enable a 100-iteration finite difference optimization with 12 design variables to complete in around two minutes. +An initial speed requirement order of magnitude of 100~ms for all modules was set to enable a 100-iteration finite difference optimization with 12 design variables to complete in approximately two minutes. Ultimately, each simulation run takes around \resultsAOR[simRuntime], solidly meeting the goal. The timings in this section are performed on an Ubuntu 20.04 LTS server with a 14-core Intel Core i9-10940X CPU (3.3~GHz base clock) and 256~GB of DDR4 RAM at 3200~MHz, running MATLAB R2024b. diff --git a/pubs/applied-ocean-research-model/sections/discussion.tex b/pubs/applied-ocean-research-model/sections/discussion.tex index 5e2ca81ba..b114fd1cb 100644 --- a/pubs/applied-ocean-research-model/sections/discussion.tex +++ b/pubs/applied-ocean-research-model/sections/discussion.tex @@ -106,7 +106,7 @@ \subsubsection{Effect of PTO Force and Power Limits} Reference \cite{mccabe_force-limited_2024} shows analytically that for a given sea state, power decreases quadratically with decreasing force limit for the worst-case scenario of zero intrinsic reactance, and that highly reactive devices are even less sensitive to force limits. Intuitively, the sensitivity of annual average power to force limit should be even lower when considering a range of realistic sea states, because large sea states that require higher forces are comparatively rare. \else - Prior work has consistently shown that capping the PTO force can substantially reduce PTO size and cost with minimal decrease in power \cite{devin_high-dimensional_2024,coe_maybe_2021,mcgilton_optimal_2024,gaebele_tpl_2025,mccabe_force-limited_2024}. + Prior work consistently shows that capping the PTO force can substantially reduce PTO size and cost with minimal decrease in power \cite{devin_high-dimensional_2024,coe_maybe_2021,mcgilton_optimal_2024,gaebele_tpl_2025,mccabe_force-limited_2024}. \fi Using MDOcean, we investigate the effect of PTO force limit on average power and structural load in \cref{fig:force-limit}. @@ -117,7 +117,7 @@ \subsubsection{Effect of PTO Force and Power Limits} \label{fig:force-limit} \end{figure} -Decreasing the force limit has nearly no effect on power until the force limit is around 50\% of the nominal value, after which power falls off steeply. +Decreasing the force limit has almost no effect on power until the force limit is around 50\% of the nominal value, after which power falls off steeply. \ifdefined\DISSERTATION From theory (see \cref{sec:appendix-constraint-sensitivity}), we expect a smooth nonlinear relationship between power and force limit when considering a single sea state, and a piecewise continuous nonlinear relationship when considering multiple sea states as in \cref{fig:force-limit}. \fi diff --git a/pubs/applied-ocean-research-model/sections/meem-appendix.tex b/pubs/applied-ocean-research-model/sections/meem-appendix.tex index 102910b13..ca4dd7acd 100644 --- a/pubs/applied-ocean-research-model/sections/meem-appendix.tex +++ b/pubs/applied-ocean-research-model/sections/meem-appendix.tex @@ -9,7 +9,7 @@ \section{Matched Eigenfunction Expansion Method} \subsection{Linear Hydrodynamics and Eigenfunctions} The dynamics of a floating body in water waves are well-described by linear potential flow theory, a simplification of the Navier-Stokes equation. -This theory states that the fluid velocity field is the gradient of some complex potential $\phi$, $\vec{v}=\nabla\phi$, and $\phi$ satisfies the Laplace equation, $\nabla^2\phi=0$. +This theory states that the fluid velocity field is the gradient of some complex potential $\phi$, $\vec{v}=\nabla\phi$, and $\phi$ satisfies the Laplace equation, $\nabla^2\phi=0$. Adding the free surface condition, far-field or incident waves, and body surface and sea-bed conditions detailed in reference \cite{chatjigeorgiou_analytical_2018} yields a boundary value problem. When boundary conditions correspond to the heave radiation problem (body moving vertically, no incident waves), solving for the potential $\phi(r,\theta,z)$ determines the heave added mass and damping $A_h$ and $B_h$, hereafter ``hydro coefficients.” @@ -526,7 +526,7 @@ \subsection{Convergence} \subsection{Numerical Notes}\label{sec:appendix-meem-numerics} -Note that radial eigenfunctions $R_{1n}^{i1}(r)$ and $R_{1m}^{i2}(r)$ contain the modified bessel function of the first kind $\mathrm{I}_0(\chi)$, which diverges for $\chi\rightarrow \infty$, resulting in numeric overflow +Note that radial eigenfunctions $R_{1n}^{i1}(r)$ and $R_{1m}^{i2}(r)$ contain the modified Bessel function of the first kind $\mathrm{I}_0(\chi)$, which diverges for $\chi\rightarrow \infty$, resulting in numeric overflow. To prevent overflow, each fluid region must exceed a minimum height $ \Delta z_{\text{min}}$ that is proportional to the region diameter $D$ for both the spar ($\Delta z_s, D_s$) and the float ($\Delta z_f, D_f$), with variables shown in \cref{fig:meem-geom}. The constant of proportionality between $\Delta z_{\text{min}}$ and $D$ is a function of the number of harmonics $N_{\text{harmonics}}$ used in that region ($N$ for spar, $M$ for float), as well as the maximum argument to the \texttt{besseli} function in MATLAB before overflow, $\chi_{\text{max}}$: \begin{equation}\label{eq:delta-z-min} @@ -534,7 +534,7 @@ \subsection{Numerical Notes}\label{sec:appendix-meem-numerics} \end{equation} By trial, $\chi_{\text{max}}$ is found to be $\approx 700.5$, close to the theoretical value of \texttt{log(realmax)} $\approx 709.8$ for exponential scaling. Since $N_{\text{harmonics}}=10$ gives adequate convergence for most geometries, this condition is trivially satisfied for nearly all floating bodies of practical relevance, but must still be added as a constraint to prevent the optimizer from exploiting the numerical divergence. -In future work, if high-accuracy solutions are desired for large bodies close to the sea floor, exponentially scaled bessel functions could be used instead, with symbolic cancellation of the exponential scaler from the eigenfunction numerator and denominator. +In future work, if high-accuracy solutions are desired for large bodies close to the sea floor, exponentially scaled Bessel functions could be used instead, with symbolic cancellation of the exponential scaler from the eigenfunction numerator and denominator. Likewise, the vertical eigenfunction $Z_k^e$ for $k=0$ contains the $\cosh$ and $\sinh$ functions, which diverge for large values of $m_0h$ (high frequencies or deep water). Since the largest relevant value of $m_0h$ depends on the site rather than on the WEC design, it is not possible to add geometric constraints to prevent overflow as it was above. @@ -595,5 +595,5 @@ \subsection{Runtime and Computational Cost Scaling} Most of the time is spent evaluating Bessel functions, so future code optimization should focus on speeding up Bessel evaluations, such as with lookup tables. Reference \cite{chau_inertia_2012} proposes using the sparsity pattern to reduce matrix size from N+2M+K to 2M, but this seems low impact since the linear solve only takes a few percent of compute time and the reduced matrix would require an equal number of Bessel evaluations. On the other hand, matrix size in a boundary element method solver is much larger (meshes may have 1000s of panels) and the linear solve can drive computation cost. -On the same machine, Capytaine boundary element method for the same geometry takes an average of 323 ms for a 710 panel mesh (1\% convergence). %\hl{the 323 ms capy number came from my laptop not from the lab computer} +On the same machine, Capytaine boundary element method for the same geometry takes an average of 323 ms for a 710 panel mesh (1\% convergence). %\hl{the 323 ms capy number came from my laptop not from the lab computer} Thus, MEEM achieves a 10x time reduction over Capytaine. diff --git a/pubs/applied-ocean-research-model/sections/model-intro.tex b/pubs/applied-ocean-research-model/sections/model-intro.tex index b5d5d5c29..4698247e9 100644 --- a/pubs/applied-ocean-research-model/sections/model-intro.tex +++ b/pubs/applied-ocean-research-model/sections/model-intro.tex @@ -321,7 +321,7 @@ \subsection{Paper Contributions and Roadmap} Finally, \cref{sec:discussion} showcases results from model sweeps and insights from the model structure. \else \Cref{sec:model-structure} introduces MDOcean's modular structure and the rationale behind its analysis architecture. - \Cref{sec:modules} develops each module --- geometry, hydrodynamics, dynamics and control, structures, and economics --- documenting the assumptions, analysis methods, and implementation choices. + \Cref{sec:modules} develops each module -- geometry, hydrodynamics, dynamics and control, structures, and economics -- documenting the assumptions, analysis methods, and implementation choices. \Cref{sec:validation-benchmarking} compares MDOcean against WEC-Sim and the RM3 reference design, demonstrates the runtime gain over established tools, and discusses where the model is reliable. \Cref{sec:discussion} presents results from variable sweeps and model-derived insights, along with limitations and future work. Extended derivations, validation studies, and implementation details are provided in the appendices to preserve readability of the primary narrative while maintaining reproducibility. From b2a80f015ea3522622ff0d1b957772088a194c9d Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sat, 20 Jun 2026 00:48:18 -0400 Subject: [PATCH 18/95] remove numbers.tex (old unused file) --- calkit.yaml | 2 - dvc.lock | 48 +++++++++---------- pubs/applied-ocean-research-model/numbers.tex | 5 -- 3 files changed, 22 insertions(+), 33 deletions(-) delete mode 100644 pubs/applied-ocean-research-model/numbers.tex diff --git a/calkit.yaml b/calkit.yaml index b3600cac8..efa89eca4 100644 --- a/calkit.yaml +++ b/calkit.yaml @@ -5733,7 +5733,6 @@ pipeline: - pubs/applied-ocean-research-model/figs/tikz/ - pubs/applied-ocean-research-model/tables/ - pubs/applied-ocean-research-model/main.tex - - pubs/applied-ocean-research-model/numbers.tex - pubs/applied-ocean-research-model/numeric-results.tex - pubs/applied-ocean-research-model/elsarticle-num-names.bst - pubs/applied-ocean-research-model/references.bib @@ -5983,7 +5982,6 @@ overleaf_sync: - sections/ - references.bib - zotero-meem-refs.bib - - numbers.tex - elsarticle-num-names.bst - appendices.tex - commands-aor.tex diff --git a/dvc.lock b/dvc.lock index 7f91339a0..43a93d1cd 100644 --- a/dvc.lock +++ b/dvc.lock @@ -8237,16 +8237,12 @@ stages: nfiles: 8 - path: pubs/applied-ocean-research-model/main.tex hash: md5 - md5: 5d8b320b562101973d5333ad91798be5 - size: 11492 + md5: 0b2e56fcbae0f2d9d3287d584eea34e1 + size: 11534 - path: pubs/applied-ocean-research-model/main.tex hash: md5 - md5: 5d8b320b562101973d5333ad91798be5 - size: 11492 - - path: pubs/applied-ocean-research-model/numbers.tex - hash: md5 - md5: b1dafa9c2df9d5977284010754a81f34 - size: 234 + md5: 0b2e56fcbae0f2d9d3287d584eea34e1 + size: 11534 - path: pubs/applied-ocean-research-model/numeric-results.tex hash: md5 md5: cf58a142a4ba03f51b465e4fa75e1591 @@ -8257,13 +8253,13 @@ stages: size: 537913 - path: pubs/applied-ocean-research-model/sections/ hash: md5 - md5: 0cce25839a50593f93e101c4f4b15531.dir - size: 391925 + md5: 44ea26c4bd3846ad1bec1a0485dac0b7.dir + size: 392291 nfiles: 8 - path: pubs/applied-ocean-research-model/shared-pkg.tex hash: md5 - md5: d30e205d949ba86fbac5f9fe253f42ae - size: 3780 + md5: f442aa57f4e26e5a855bf856ac83a05e + size: 4021 - path: pubs/applied-ocean-research-model/tables/ hash: md5 md5: 2a0ede44175aafcf72ffb20183bb574e.dir @@ -8276,17 +8272,17 @@ stages: outs: - path: pubs/applied-ocean-research-model/aux/ hash: md5 - md5: 3b45ec41759e26882f22a6a4e664398b.dir - size: 452426 + md5: 79714ddcc2f867e36be0e07bfeb5c3e5.dir + size: 454098 nfiles: 13 - path: pubs/applied-ocean-research-model/main.pdf hash: md5 - md5: 58fb8f70c1a147932e3c0c5b7cb4815b - size: 4826340 + md5: 45eb446f40546942c1e77d7fde174a2c + size: 4888993 - path: pubs/applied-ocean-research-model/main.synctex.gz hash: md5 - md5: 915d816fe40e26e9a3f204ec045e4880 - size: 956755 + md5: 6c62fc1f490d3068d6e1e719f842218c + size: 957709 build-RE-paper: cmd: calkit latex build -e tex --no-check -r pubs/renewable-energy-mdo/.latexmkrc pubs/renewable-energy-mdo/mdocean.tex @@ -8620,12 +8616,12 @@ stages: size: 537913 - path: pubs/shared/shared-pkg.tex hash: md5 - md5: d30e205d949ba86fbac5f9fe253f42ae - size: 3780 + md5: f442aa57f4e26e5a855bf856ac83a05e + size: 4021 - path: pubs/shared/shared-pkg.tex hash: md5 - md5: d30e205d949ba86fbac5f9fe253f42ae - size: 3780 + md5: f442aa57f4e26e5a855bf856ac83a05e + size: 4021 outs: - path: pubs/applied-ocean-research-model/elsarticle-num-names.bst hash: md5 @@ -8637,8 +8633,8 @@ stages: size: 537913 - path: pubs/applied-ocean-research-model/shared-pkg.tex hash: md5 - md5: d30e205d949ba86fbac5f9fe253f42ae - size: 3780 + md5: f442aa57f4e26e5a855bf856ac83a05e + size: 4021 - path: pubs/applied-ocean-research-model/zotero-meem-refs.bib hash: md5 md5: 2b239e27c2b3fe0e1ff79c16314db608 @@ -8657,8 +8653,8 @@ stages: size: 537913 - path: pubs/renewable-energy-mdo/shared-pkg.tex hash: md5 - md5: d30e205d949ba86fbac5f9fe253f42ae - size: 3780 + md5: f442aa57f4e26e5a855bf856ac83a05e + size: 4021 - path: pubs/renewable-energy-mdo/zotero-meem-refs.bib hash: md5 md5: 2b239e27c2b3fe0e1ff79c16314db608 diff --git a/pubs/applied-ocean-research-model/numbers.tex b/pubs/applied-ocean-research-model/numbers.tex deleted file mode 100644 index 85a8f537a..000000000 --- a/pubs/applied-ocean-research-model/numbers.tex +++ /dev/null @@ -1,5 +0,0 @@ -% sensitivity to model: not optimized -\newcommand{\powerLossForceSatMinLCOE}{2.6} % W -\newcommand{\pctPowerLossForceSatMinLCOE}{0.002\%} -\newcommand{\pctPTOSavingsForceSatMinLCOE}{19\%} -\newcommand{\pctImproveLCOEForceSatMinLCOE}{2\%} \ No newline at end of file From 42a1d014dbe99258dc26ce95abf932730f33f6b7 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sat, 20 Jun 2026 00:49:00 -0400 Subject: [PATCH 19/95] clarify overleaf sync script prompt --- dev/latex/calkit_instructions_interactive.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/latex/calkit_instructions_interactive.sh b/dev/latex/calkit_instructions_interactive.sh index 62ff1333a..7d450679a 100755 --- a/dev/latex/calkit_instructions_interactive.sh +++ b/dev/latex/calkit_instructions_interactive.sh @@ -394,7 +394,7 @@ main() { echo echo "Choose workflow:" echo " 1) Getting GitHub changes into Overleaf" - echo " 2) Making changes on Overleaf and getting them onto GitHub" + echo " 2) Making changes on Overleaf and getting them onto GitHub - this will also push GitHub changes to Overleaf" echo " q) Quit" local workflow From abe66857ac326d5f9902c23c00974972e3e921f0 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sat, 20 Jun 2026 00:51:56 -0400 Subject: [PATCH 20/95] use from-matlab version of two manual figs and make dimension fig larger --- .../applied-ocean-research-model/sections/discussion.tex | 2 +- .../sections/module-details.tex | 4 ++-- .../sections/other-appendices.tex | 9 ++++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pubs/applied-ocean-research-model/sections/discussion.tex b/pubs/applied-ocean-research-model/sections/discussion.tex index b114fd1cb..a924e1e90 100644 --- a/pubs/applied-ocean-research-model/sections/discussion.tex +++ b/pubs/applied-ocean-research-model/sections/discussion.tex @@ -245,7 +245,7 @@ \subsection{Multidisciplinary Insights} \begin{figure}[htbp] \centering -\includegraphics[width=\linewidth]{figs/manual/power_matrix_multiply.pdf} +\includegraphics[width=\linewidth]{figs/from-matlab/nominal_power_matrix.pdf} \caption{Power matrix decomposition} \label{fig:power-matrix-decomposition} \end{figure} diff --git a/pubs/applied-ocean-research-model/sections/module-details.tex b/pubs/applied-ocean-research-model/sections/module-details.tex index 92c409a41..cd27b0aab 100644 --- a/pubs/applied-ocean-research-model/sections/module-details.tex +++ b/pubs/applied-ocean-research-model/sections/module-details.tex @@ -27,7 +27,7 @@ \subsection{Geometry}\label{sec:geom} \begin{figure}[htbp] \centering - \includegraphics[width=0.5\linewidth]{figs/from-matlab/dimensions.pdf} + \includegraphics[width=0.75\linewidth]{figs/from-matlab/dimensions.pdf} \caption{Dimension labeling of system}\label{fig:dims} \end{figure} @@ -136,7 +136,7 @@ \subsubsection{Other Coefficients: Approximations}\label{sec:hydro-other} \begin{tabular}{cc} Coefficient& Method\\ \hline $A_f$, $B_f$, $\gamma_f$ & MEEM\\ - $A_s$& Approximate $\omega\rightarrow\infty$ solution (\eqref{eq:As})\\ + $A_s$& Approximate $\omega\rightarrow\infty$ solution (\cref{eq:As})\\ $A_c$, $B_s$, $B_c$, $\gamma_s$& Nominal BEM solution, scaled with $D_d$ and $T_s$\\ \end{tabular} \end{table} diff --git a/pubs/applied-ocean-research-model/sections/other-appendices.tex b/pubs/applied-ocean-research-model/sections/other-appendices.tex index 48c1403a4..94812bc56 100644 --- a/pubs/applied-ocean-research-model/sections/other-appendices.tex +++ b/pubs/applied-ocean-research-model/sections/other-appendices.tex @@ -10,6 +10,13 @@ \section{Additional Hydrodynamics Details} \sqrt{\frac{f(\frac{kh R_x \alpha^3}{\beta R_p})} {\beta(1+\frac{\beta}{\alpha})}} \end{equation} +\Cref{fig:olaya-hydro-data} shows the nondimensionalized data used for interpolation. +\begin{figure}[htbp] +\centering + \includegraphics{figs/from-matlab/case4_v1_auto_semilogx_khRxRpa4b_fv1.pdf} +\caption{Nondimensionalized hydrodynamic data used to interpolate spar coefficients, showing the rebound effect.} +\label{fig:olaya-hydro-data} +\end{figure} Computing the float coefficients in a different way than the spar and coupling coefficients introduces the possibility of violating physical requirements of the solution. In particular, the damping matrix must be positive definite because it represents a dissipative force where outgoing waves remove energy from the system, and the added mass matrix must be positive definite because it represents the kinetic energy of the fluid which must be non-negative. @@ -586,7 +593,7 @@ \subsubsection{Solution} \Cref{fig:qp-solution-geometry} illustrates the various cases for feasibility and optimality for a toy problem with $r_{\mu}=4$, $S_{\mu}=1$, and various $\Gamma_{c,\mu}$. \begin{figure}[htbp] \centering - \includegraphics[width=\textwidth]{figs/manual/qp_circles.pdf} + \includegraphics[width=\textwidth]{figs/from-matlab/qp_circles.pdf} \caption{Visualization of the optimization problem \cref{eq:opt-problem-gamma} in the complex plane of $\Gamma$. Toy problems with various constraint circle centers $\Gamma_{c,\mu}$, all with radius $r_{\mu}=4$ and $S_{\mu}=1$, demonstrate the various solution cases in \cref{eq:gamma-opt-quadratic}.} \label{fig:qp-solution-geometry} From 30e1e69cd34e253da3a7a7a347f7b3fdfd90a857 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sat, 20 Jun 2026 00:53:55 -0400 Subject: [PATCH 21/95] put bibcop in conditional to prevent arxiv shell escape error --- pubs/applied-ocean-research-model/shared-pkg.tex | 12 ++++++++++-- pubs/shared/shared-pkg.tex | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/pubs/applied-ocean-research-model/shared-pkg.tex b/pubs/applied-ocean-research-model/shared-pkg.tex index df93f9049..bb310771b 100644 --- a/pubs/applied-ocean-research-model/shared-pkg.tex +++ b/pubs/applied-ocean-research-model/shared-pkg.tex @@ -8,12 +8,17 @@ \usepackage{longtable} % for table going multiple pages \usepackage{rotating} % for rotated table headers \usepackage{color} % also required for highlighting +\usepackage{pdftexcmds} % for detecting if shell escape is enabled % save bibliography command before bibcop modifies it \makeatletter \let\bibcop@truebibliography\bibliography +\ifnum\pdf@shellescape=0 + % shell escape is disabled, so don't load bibcop +\else + \usepackage{bibcop} % warnings for incorrect citations +\fi \makeatother -\usepackage{bibcop} % warnings for incorrect citations \usepackage[title,titletoc]{appendix} % make it possible to do \ref of an appendix section without automatically getting the word "Appendix" \usepackage{stmaryrd} % element wise division symbol used in hessian scaling @@ -53,6 +58,9 @@ % allows bibcop to be used when bibliography includes multiple arguments \makeatletter \AtBeginDocument{% +\ifnum\pdf@shellescape=0 + % shell escape is disabled, so don't patch bibcop +\else \ifdefined\bibliography \RequirePackage{etoolbox} @@ -107,7 +115,7 @@ \fi } - +\fi \fi } diff --git a/pubs/shared/shared-pkg.tex b/pubs/shared/shared-pkg.tex index df93f9049..bb310771b 100644 --- a/pubs/shared/shared-pkg.tex +++ b/pubs/shared/shared-pkg.tex @@ -8,12 +8,17 @@ \usepackage{longtable} % for table going multiple pages \usepackage{rotating} % for rotated table headers \usepackage{color} % also required for highlighting +\usepackage{pdftexcmds} % for detecting if shell escape is enabled % save bibliography command before bibcop modifies it \makeatletter \let\bibcop@truebibliography\bibliography +\ifnum\pdf@shellescape=0 + % shell escape is disabled, so don't load bibcop +\else + \usepackage{bibcop} % warnings for incorrect citations +\fi \makeatother -\usepackage{bibcop} % warnings for incorrect citations \usepackage[title,titletoc]{appendix} % make it possible to do \ref of an appendix section without automatically getting the word "Appendix" \usepackage{stmaryrd} % element wise division symbol used in hessian scaling @@ -53,6 +58,9 @@ % allows bibcop to be used when bibliography includes multiple arguments \makeatletter \AtBeginDocument{% +\ifnum\pdf@shellescape=0 + % shell escape is disabled, so don't patch bibcop +\else \ifdefined\bibliography \RequirePackage{etoolbox} @@ -107,7 +115,7 @@ \fi } - +\fi \fi } From d53d98a29508592061650956767fa60555e72957 Mon Sep 17 00:00:00 2001 From: Rebecca McCabe Date: Sat, 20 Jun 2026 01:29:55 -0400 Subject: [PATCH 22/95] upload new cas template and use citation style corresponding to journal --- README.md | 1 + .../elsarticle-harv.bst | 1598 ++++++++++ pubs/applied-ocean-research-model/main.tex | 2 +- .../renewable-energy-mdo/cas-model2-names.bst | 1644 ++++++++++ pubs/renewable-energy-mdo/mdocean.tex | 2 +- pubs/shared/els-cas/LICENSE | 415 +++ pubs/shared/els-cas/cas-common.sty | 2641 +++++++++++++++++ pubs/shared/els-cas/cas-dc-sample.tex | 463 +++ pubs/shared/els-cas/cas-dc-template.tex | 251 ++ pubs/shared/els-cas/cas-dc.cls | 187 ++ pubs/shared/thumbnails/cas-email.jpeg | Bin 0 -> 8764 bytes pubs/shared/thumbnails/cas-facebook.jpeg | Bin 0 -> 3676 bytes pubs/shared/thumbnails/cas-gplus.jpeg | Bin 0 -> 7946 bytes pubs/shared/thumbnails/cas-linkedin.jpeg | Bin 0 -> 6124 bytes pubs/shared/thumbnails/cas-twitter.jpeg | Bin 0 -> 4655 bytes pubs/shared/thumbnails/cas-url.jpeg | Bin 0 -> 7736 bytes 16 files changed, 7202 insertions(+), 2 deletions(-) create mode 100644 pubs/applied-ocean-research-model/elsarticle-harv.bst create mode 100644 pubs/renewable-energy-mdo/cas-model2-names.bst create mode 100644 pubs/shared/els-cas/LICENSE create mode 100644 pubs/shared/els-cas/cas-common.sty create mode 100644 pubs/shared/els-cas/cas-dc-sample.tex create mode 100644 pubs/shared/els-cas/cas-dc-template.tex create mode 100644 pubs/shared/els-cas/cas-dc.cls create mode 100644 pubs/shared/thumbnails/cas-email.jpeg create mode 100644 pubs/shared/thumbnails/cas-facebook.jpeg create mode 100644 pubs/shared/thumbnails/cas-gplus.jpeg create mode 100644 pubs/shared/thumbnails/cas-linkedin.jpeg create mode 100644 pubs/shared/thumbnails/cas-twitter.jpeg create mode 100644 pubs/shared/thumbnails/cas-url.jpeg diff --git a/README.md b/README.md index 17b8f6eb4..7141cb500 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ As exceptions, the following files have been adapted from other code and have di - `mdocean/plots/util/hatchfill2.m` and `hatchfill2_demo.m`: BSD-2-Clause - `mdocean/plots/util/table2latex.m`: BSD-2-Clause - `dev/latex/Paper-Linter/`: MIT License, different copyright holder +- `pubs/shared/els-cas/`: LaTeX Project Public License v1.3c ## Dependencies diff --git a/pubs/applied-ocean-research-model/elsarticle-harv.bst b/pubs/applied-ocean-research-model/elsarticle-harv.bst new file mode 100644 index 000000000..2228e3d42 --- /dev/null +++ b/pubs/applied-ocean-research-model/elsarticle-harv.bst @@ -0,0 +1,1598 @@ +%% +%% This is file `elsarticle-harv.bst' (Version 2.1), +%% +%% Copyright 2009-2024 Elsevier Ltd +%% +%% This file is part of the 'Elsarticle Bundle'. +%% --------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.3 of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% $Id: elsarticle-harv.bst 255 2024-04-06 10:58:47Z rishi $ +%% +%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-harv.bst $ +%% + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + url + doi + eprint + pubmed + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +STRINGS { urlprefix doiprefix eprintprefix pubmedprefix } + +FUNCTION {init.web.variables} +{ + "\URLprefix " 'urlprefix := + "\DOIprefix" 'doiprefix := + "\ArXivprefix " 'eprintprefix := + "\Pubmedprefix " 'pubmedprefix := +} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.comma} +{ ", " * write$} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ". " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { ", " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output.commanull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {output.book.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\textit{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "Eds." } + +FUNCTION {bbl.editor} +{ "Ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +STRINGS { bibinfo} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, jj}{, f{.}.}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in %capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + ", " swap$ * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +%FUNCTION {format.pages} +%{ pages duplicate$ empty$ 'skip$ +% { duplicate$ multi.page.check +% { +% n.dashify +% } +% { +% } +% if$ +% "pages" bibinfo.check +% } +% if$ +%} + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * "), " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.check format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {print.url} + {url duplicate$ empty$ + { pop$ "" } + { new.sentence + urlprefix "\url{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.doi} + {doi duplicate$ empty$ + { pop$ "" } + { new.sentence + doiprefix "\doi{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.eprint} + {eprint duplicate$ empty$ + { pop$ "" } + { new.sentence + duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{{\tt arXiv:" * swap$ * "}}" * } + if$ + } + +FUNCTION {print.pubmed} + {pubmed duplicate$ empty$ + { pop$ "" } + { new.sentence + pubmedprefix "\Pubmed{" * swap$ * "}" * + } + if$ + } + +FUNCTION {webpage} +{ "%Type = Webpage" write$ + output.bibitem + format.authors "author" output.check + author format.key output + author empty$ + { + format.title "title" output.check + new.block + format.date "year" output.check + date.block + } + { + format.date "year" output.check + date.block + format.title "title" output.check + new.block +} + if$ + print.url output + fin.entry +} + + +FUNCTION {article} +{ "%Type = Article" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + format.journal.pages + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {book} +{ "%Type = Book" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + format.edition output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {booklet} +{ "%Type = Booklet" write$ + output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ "%Type = Inbook" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ "%Type = Incollection" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.book.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.book.check + format.edition output + format.publisher.address output + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inproceedings} +{ "%Type = Inproceedings" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.book.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ +% format.bvolume output +% format.number.series output +% format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ "%Type = Manual" write$ + output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ "%Type = Masterthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {misc} +{ "%Type = Misc" write$ + output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.block + howpublished "howpublished" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {phdthesis} +{ "%Type = Phdthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ "%Type = Proceedings" write$ + output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ "%Type = Techreport" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ "%Type = Unpublished" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ +% { "{\natexlab{" swap$ * "}}" * } + { "" swap$ * "" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\href}[2]{#2}" + write$ newline$ + "\providecommand{\path}[1]{#1}" + write$ newline$ + "\providecommand{\DOIprefix}{doi:}" + write$ newline$ + "\providecommand{\ArXivprefix}{arXiv:}" + write$ newline$ + "\providecommand{\URLprefix}{URL: }" + write$ newline$ + "\providecommand{\Pubmedprefix}{pmid:}" + write$ newline$ + "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +EXECUTE {init.web.variables} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `elsarticle-harv.bst'. +%% +%% Change log: +%% ----------- +%% 22.04.2011 +%% +%% 10.08.2012 +%% a. doi, url, eprint, pmid added +%% b. Bibtype `webpage' defined +%% +%% 30.08.2012 +%% a. collaboration added. +%% + + diff --git a/pubs/applied-ocean-research-model/main.tex b/pubs/applied-ocean-research-model/main.tex index 4add34e9e..b779d3bc5 100644 --- a/pubs/applied-ocean-research-model/main.tex +++ b/pubs/applied-ocean-research-model/main.tex @@ -264,7 +264,7 @@ \section*{Data availability statement} \clearpage % Bibliography: point to files one level up in pubs/ so BibTeX can find them -\bibliographystyle{elsarticle-num-names} +\bibliographystyle{elsarticle-harv} \bibliography{references,zotero-meem-refs} \end{document} diff --git a/pubs/renewable-energy-mdo/cas-model2-names.bst b/pubs/renewable-energy-mdo/cas-model2-names.bst new file mode 100644 index 000000000..726b5f6ac --- /dev/null +++ b/pubs/renewable-energy-mdo/cas-model2-names.bst @@ -0,0 +1,1644 @@ +%% +%% This is file `cas-model2-names.bst' (Version 2.4), +%% +%% Copyright 2009-2024 Elsevier Ltd +%% +%% This file is part of the 'Elsarticle Bundle'. +%% --------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.3c of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% $Id: cas-model2-names.bst$ +%% +%% $URL: https://lenova.river-valley.com/svn/elscastemplates/trunk/cas-model2-names.bst $ +%% + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + volume + year + url + doi + eprint + pubmed + } + {} + { label extra.label sort.label short.list } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +STRINGS { urlprefix doiprefix eprintprefix pubmedprefix } + +FUNCTION {init.web.variables} +{ + "\URLprefix " 'urlprefix := + "\DOIprefix" 'doiprefix := + "\ArXivprefix " 'eprintprefix := + "\Pubmedprefix " 'pubmedprefix := +} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.comma} +{ ", " * write$} + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ". " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { ", " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output.commanull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { ", " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {output.book.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\textit{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "Eds." } + +FUNCTION {bbl.editor} +{ "Ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chapter" } + +FUNCTION {bbl.techrep} +{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +%% Begin - Added on March 13, 2013 + +MACRO {aj} {"Astron. J."} +MACRO {actaa} {"Acta Astron."} +MACRO {araa} {"Annu. Rev. Astron. Astrophys."} +MACRO {apj} {"Astrophys. J."} +MACRO {apjl} {"Astrophys. J. Lett."} +MACRO {apjs} {"Astrophys. J. Suppl. S"} +MACRO {ao} {"Appl. Optics"} +MACRO {apss} {"Astrophys. Space Sci."} +MACRO {aap} {"Astronom. Astrophys."} +MACRO {aapr} {"Astron. Astrophys Rev"} +MACRO {aaps} {"Astron. Astrophys. Sup."} +MACRO {azh} {"Astron. Zh+"} +MACRO {caa} {"Chinese Astron. Astr."} +MACRO {icarus} {"Icarus"} +MACRO {jcap} {"J. Cosmol. Astropart. Phys."} +MACRO {jrasc} {"J. Roy. Astron. Soc. Can."} +MACRO {memras} {"Memoirs of the RAS"} +MACRO {mnras} {"Mon. Not. R. Astron. Soc."} +MACRO {na} {"New Astron."} +MACRO {nar} {"New Astron. Rev."} +MACRO {pra} {"Phys. Rev. A"} +MACRO {prb} {"Phys. Rev. B"} +MACRO {prc} {"Phys. Rev. C"} +MACRO {prd} {"Phys. Rev. D"} +MACRO {pre} {"Phys. Rev. E"} +MACRO {prl} {"Phys. Rev. Lett"} +MACRO {pasa} {"Publ. Astron. Soc. Aust."} +MACRO {pasp} {"Publ. Astron. Soc. Pac."} +MACRO {pasj} {"Publ. Astron. Soc. Jpn."} +MACRO {rmxaa} {"Rev. Mex. Astron. Astr."} +MACRO {rjras} {"Q. J. Roy. Astron. Soc."} +MACRO {skytel} {"Sky Telescope"} +MACRO {solphys} {"Sol. Phys."} +MACRO {sovast} {"Sov. Astron."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {zap} {"Zeitschrift fuer Astrophysik"} +MACRO {nat} {"Nature"} +MACRO {iaucirc} {"IAU Cirulars"} +MACRO {gca} {"Geochim. Cosmochim. Ac."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {jcp} {"J. Chem. Phys."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jqsrt} {"J. Quant. Spectrosc. RA"} +MACRO {nphysa} {"Nucl. Phys. A"} +MACRO {physrep} {"Phys. Rep."} +MACRO {physscr} {"Phys. Scrip."} +MACRO {planss} {"Planet. Space Sci."} +MACRO {baas} {"Bull. Aust. Acoust. Soc"} +MACRO {aplett} {"Astrophys. Lett."} +MACRO {procspie} {"Proc. SPIE"} +MACRO {cjaa} {"Chinese J. Astron. Ast."} +MACRO {fcp} {"Fundam. Cosm. Phys."} +MACRO {memsai} {"Mem. Soc. Astron. Ital."} +MACRO {bain} {"Bull. Astron. Inst. Neth., Suppl. Ser."} + +%% End - Added on March 13, 2013 + + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + pop$ + } + if$ + } + if$ +} + +STRINGS { bibinfo} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}{, jj}{, f{.}.}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + "," * + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { " " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + format.names +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} + +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * ")" * + * + } + if$ +} +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in %capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * + before.all 'output.state := + ", " swap$ * +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +%FUNCTION {format.pages} +%{ pages duplicate$ empty$ 'skip$ +% { duplicate$ multi.page.check +% { +% n.dashify +% } +% { +% } +% if$ +% "pages" bibinfo.check +% } +% if$ +%} + +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + " " * + get.bbl.editor + capitalize + "(" swap$ * "), " * + * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.check format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {print.url} + {url duplicate$ empty$ + { pop$ "" } + { new.sentence + urlprefix "\url{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.doi} + {doi duplicate$ empty$ + { pop$ "" } + { new.sentence + doiprefix "\doi{" * swap$ * "}" * + } + if$ + } + +FUNCTION {print.eprint} + {eprint duplicate$ empty$ + { pop$ "" } + { new.sentence + duplicate$ "\href{http://arxiv.org/abs/" swap$ * "}{\tt arXiv:" * swap$ * "}" * } + if$ + } + +FUNCTION {print.pubmed} + {pubmed duplicate$ empty$ + { pop$ "" } + { new.sentence + pubmedprefix "\Pubmed{" * swap$ * "}" * + } + if$ + } + +FUNCTION {webpage} +{ "%Type = Webpage" write$ + output.bibitem + format.authors "author" output.check + author format.key output + author empty$ + { + format.title "title" output.check + new.block + format.date "year" output.check + date.block + } + { + format.date "year" output.check + date.block + format.title "title" output.check + new.block +} + if$ + print.url output + fin.entry +} + + +FUNCTION {article} +{ "%Type = Article" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + "journal" output.check + add.blank + format.vol.num.pages output + } + { format.article.crossref output.nonnull + } + if$ + format.journal.pages + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {book} +{ "%Type = Book" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + format.edition output + new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {booklet} +{ "%Type = Booklet" write$ + output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inbook} +{ "%Type = Inbook" write$ + output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {incollection} +{ "%Type = Incollection" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.book.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.book.check + format.edition output + format.publisher.address output + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {inproceedings} +{ "%Type = Inproceedings" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.book.check + new.sentence + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ +% format.bvolume output +% format.number.series output +% format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.pages "pages" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ "%Type = Manual" write$ + output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.edition output + organization address new.block.checkb + organization "organization" bibinfo.check output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {mastersthesis} +{ "%Type = Masterthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {misc} +{ "%Type = Misc" write$ + output.bibitem + format.authors output + author format.key output + format.date "year" output.check + date.block + format.title output + new.block + howpublished "howpublished" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {phdthesis} +{ "%Type = Phdthesis" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {proceedings} +{ "%Type = Proceedings" write$ + output.bibitem + format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {techreport} +{ "%Type = Techreport" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle + "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note output + fin.entry +} + +FUNCTION {unpublished} +{ "%Type = Unpublished" write$ + output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + print.url output + print.doi output + print.eprint output + print.pubmed output + format.note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ + " " * bbl.etal * + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { + " " * bbl.etal * + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ +% { "{\natexlab{" swap$ * "}}" * } + { "" swap$ * "" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\href}[2]{#2}" + write$ newline$ + "\providecommand{\path}[1]{#1}" + write$ newline$ + "\providecommand{\DOIprefix}{doi:}" + write$ newline$ + "\providecommand{\ArXivprefix}{arXiv:}" + write$ newline$ + "\providecommand{\URLprefix}{URL: }" + write$ newline$ + "\providecommand{\Pubmedprefix}{pmid:}" + write$ newline$ + "\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\Pubmed}[1]{\href{pmid:#1}{\path{#1}}}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\ifx\xfnm\relax \def\xfnm[#1]{\unskip,\space#1}\fi" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +EXECUTE {init.web.variables} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% End of customized bst file +%% +%% End of file `cas-model2-names.bst'. diff --git a/pubs/renewable-energy-mdo/mdocean.tex b/pubs/renewable-energy-mdo/mdocean.tex index 25a1404cb..d330c34a2 100644 --- a/pubs/renewable-energy-mdo/mdocean.tex +++ b/pubs/renewable-energy-mdo/mdocean.tex @@ -223,7 +223,7 @@ \section{Data Availability Statement} \clearpage -\bibliographystyle{elsarticle-num-names} +\bibliographystyle{cas-model2-names} \bibliography{references,zotero-meem-refs} \end{document} diff --git a/pubs/shared/els-cas/LICENSE b/pubs/shared/els-cas/LICENSE new file mode 100644 index 000000000..842cf85e3 --- /dev/null +++ b/pubs/shared/els-cas/LICENSE @@ -0,0 +1,415 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2008 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % https://www.latex-project.org/lppl.txt + % and version 1.3c or later is part of all distributions of LaTeX + % version 2008 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. diff --git a/pubs/shared/els-cas/cas-common.sty b/pubs/shared/els-cas/cas-common.sty new file mode 100644 index 000000000..e3e4154b7 --- /dev/null +++ b/pubs/shared/els-cas/cas-common.sty @@ -0,0 +1,2641 @@ +%% +%% This is file `cas-common.sty', +%% +%% This file is part of the 'CAS Bundle'. +%% ...................................... +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.3c of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% The list of all files belonging to the 'CAS Bundle' is +%% given in the file `manifest.txt'. +%% + +% $Id: cas-common.sty 94 2024-05-04 09:27:09Z rishi $ + + \def\RCSfile{cas-common}% + \def\RCSversion{2.4}% + \def\RCSdate{2024/05/04}% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] + +\pretolerance=-1 +\tolerance=1000 +\hyphenpenalty=1000 +\exhyphenpenalty=100 +\brokenpenalty=10000 +\vfuzz=\z@ +\hfuzz=.2pt +\doublehyphendemerits=100 +\emergencystretch=2pt +\frenchspacing +\clubpenalty=10000 +\widowpenalty=10000 + +\ExplSyntaxOn +\makeatletter +% +% Front matter macros +% +% The front matter macros are derived/adopted from stm-prelims.sty +% written by CV Radhakrishnan and copyrighted by him. +% Usage of those macros and methods are gratefully acknowledged. +% + +\tl_set:Nn \l_stm_title_color_tl { black } + +\keys_define:nn { stm / title } + { + mode .choice: , + mode / title .meta:n = + { + type = title , + size = \LARGE , + shape = \upshape , + weight = \mdseries , + color = black , + before = 0pt , + after = 0pt , + align = \raggedright , + } , + mode / alt .meta:n = + { + type = alt , + size = \large , + shape = \upshape , + weight = \mdseries , + color = black , + before = 6pt , + after = 0pt , + align = \raggedright , + } , + mode / sub .meta:n = + { + type = sub , + size = \large , + shape = \upshape , + weight = \mdseries , + color = black!80 , + before = 6pt , + after = 0pt , + align = \raggedright , + } , + mode / trans .meta:n = + { + type = trans , + size = \normalsize , + shape = \upshape , + weight = \mdseries , + color = black!60 , + before = 6pt , + after = 0pt , + align = \raggedright , + } , + mode / transsub .meta:n = + { + type = transsub , + size = \small , + shape = \upshape , + weight = \mdseries , + color = black!50 , + before = 6pt , + after = 0pt , + align = \raggedright , + } , + mode / ascii .meta:n = + { + type = ascii , + size = \small\ttfamily , + shape = \upshape , + weight = \mdseries , + color = black , + before = 12pt , + after = 0pt , + align = \raggedright , + } , + type .tl_set:N = \l_stm_title_type_tl , + size .tl_set:N = \l_stm_title_size_tl , + shape .tl_set:N = \l_stm_title_shape_tl , + weight .tl_set:N = \l_stm_title_weight_tl , + before .dim_set:N = \l_stm_title_before_dim , + after .dim_set:N = \l_stm_title_after_dim , + align .tl_set:N = \l_stm_title_align_tl , + color .tl_set:N = \l_stm_title_color_tl , + } + +\NewDocumentCommand \processTmarks { } + { + \cs_if_free:cTF { mark@title } + { \ignorespaces } + { \tl_set:Nx \l_tmpa_tl { \cs:w mark@title\cs_end: } + \clist_map_inline:cn { mark@title } + { + \str_case:nn { ##1 } + { + { 1 } { $^\star$ } + { 2 } { $^{,\star\star}$ } + { 3 } { $^{,\star\star\star}$ } + } + } + } + } + +\RenewDocumentCommand \title { O{} m } + { + \pdfstringdef \@pdftitle { #2 } + \csgdef { casprelimstitle } { #2 } + \keys_set:nn { stm / title } { #1 } + \seq_gput_right:Nn \g_stm_title_seq + { + \keys_set:nn { stm / title } { #1 } +% \msg_term:n { MODE:~\l_stm_title_mode_tl ~ ~ [#2]} + \par \vskip \l_stm_title_before_dim + \l_stm_title_align_tl + \l_stm_title_size_tl + \l_stm_title_shape_tl + \l_stm_title_weight_tl + \color { \l_stm_title_color_tl } + \noindent \unskip \ignorespaces #2 + \tl_set:Nn \l_tmpa_tl { title } + \tl_if_eq:NNTF \l_stm_title_type_tl \l_tmpa_tl + { \processTmarks } { } + \par \vskip \l_stm_title_after_dim + \normalcolor \normalsize \normalfont + } + } + +% \gappto\usestmtitle{#1}% + +\renewcommand \@title { \seq_use:Nn \g_stm_title_seq { } } + +\NewDocumentCommand \wrAun { m } % unexpanded write to aux + { \iow_now:Nn \@auxout { #1 } } +\NewDocumentCommand \wrAux { m } % expanded write to aux + { \iow_now:Nx \@auxout { #1 } } + +\NewDocumentCommand \wrShipAux { m } % expanded write at shipout + { \iow_shipout:Nx \@auxout { #1 } } +\NewDocumentCommand \wrShipAun { m } % unexpanded write at shipout + { \iow_shipout:Nn \@auxout { #1 } } + +\NewDocumentCommand \stmLabel { m } + { + \@bsphack \wrAux + { \token_to_str:N \NewLabel { #1 } + { \@currentlabel } + } \@esphack + } +\NewDocumentCommand \NewLabel { m m } + { + \cs_if_free:cTF { X@#1: } + { \cs_new:cx { X@#1: } { #2 } } + { \cs_set:cx { X@#1: } { #2 } } + } +\NewDocumentCommand \stmRef { m } + { + \cs_if_free:cTF { X@#1: } + { 0 } {\use:c {X@#1:} } + } + +\seq_clear_new:N \l_fnmk_seq +\NewDocumentCommand \processFnRef { m } + { + \seq_clear:N \l_fnmk_seq + \clist_map_inline:nn { #1 } + { \seq_put_right:Nx \l_fnmk_seq + {\cs_if_free:cTF { X@##1: } {0} { \use:c {X@##1:} }} + } + } + +\NewDocumentCommand \fnmark { O{} } + { \writemarks { fnau\theau@ } { #1 } } + + +\NewDocumentCommand \fnref { m } + { + \processFnRef { #1 } + \wrAux { \token_to_str:N \csxdef {mark@fnau\theau@} + { \seq_use:Nn \l_fnmk_seq { , } } } + } + +\NewDocumentCommand \corref { m } + { + \str_set:Nx \l_tmpa_str { \stmRef { #1 } } + \wrAux { \token_to_str:N \csxdef { mark@corau\theau@ } + { + \cs_if_free:cTF { X@#1: } {0} { \use:c {X@#1:} } + } + } + } + +\NewDocumentCommand \cormark { O{} } + { + \@cormarktrue + \writemarks {corau\theau@} { #1 } + } + +\seq_new:N \l_stm_au_seq +\seq_new:N \l_stm_au_sn_seq +\seq_new:N \l_stm_au_fn_seq +\seq_new:N \l_stm_au_ead_seq +\seq_new:N \l_stm_au_orcid_seq +\seq_new:N \l_stm_au_contrib_role_seq + +\NewDocumentCommand \parsename { m } + { \seq_set_split:Nnn \l_stm_au_seq { ~ } {#1} + \seq_pop_right:NN \l_stm_au_seq \l_stm_au_sn_seq + \seq_map_inline:Nn \l_stm_au_seq + { \seq_put_right:Nx \l_stm_au_ead_seq + { \tl_head:n { #1 }. } } + } + +\NewDocumentCommand \invparsename { m } + { \seq_set_split:Nnn \l_stm_au_seq { ~ } {#1} + \seq_pop_left:NN \l_stm_au_seq \l_stm_au_sn_seq + \seq_map_inline:Nn \l_stm_au_seq + { \seq_put_right:Nx \l_stm_au_ead_seq + { \tl_head:n { #1 }. } } + } + + +\NewDocumentCommand \surname {} { \l_stm_au_sn_seq } +\NewDocumentCommand \firstname {} + { \seq_use:Nn \l_stm_au_seq { ~ } } +\NewDocumentCommand \eadauthor {} + { \seq_map_inline:Nn \l_stm_au_seq + { \regex_match:nnTF { \. } { ##1 } + { ##1 } + { \tl_head:n {##1}. } + } + {~} \l_stm_au_sn_seq + } +\cs_set_eq:NN \shortauthor \eadauthor + +\seq_clear_new:N \l_affmk_seq +\NewDocumentCommand \processAffRef { m } + { + \seq_clear:N \l_affmk_seq + \clist_map_inline:nn { #1 } + { + \seq_put_right:Nx \l_affmk_seq + {\stmRef{##1}} + } + } + +\NewDocumentCommand \processAffNum { m } + { + \seq_clear:N \l_affmk_seq + \clist_map_inline:nn { #1 } + { + \seq_put_right:Nn \l_affmk_seq + { \int_to_alph:n {##1} } + } + } + +\NewDocumentCommand \listAff { } + { + \tl_if_blank:nTF { \l_affmk_seq } + { \tl_gset:Nn \g_stm_comma_tl { 0 } } + { + \seq_use:Nn \l_affmk_seq { , } + \tex_def:D \sep{\unskip,} + } + } + +\NewDocumentCommand \ead { O{} m } + { + \tl_if_empty:nTF { #1 } { \@ead {#2} } { \@uad[#1]{#2} } + } + +\NewDocumentCommand \eadsep { } { } + +\int_new:N \g_ead_int +\seq_new:N \g_stm_ead_seq +\int_new:N \g_uad_int +\seq_new:N \g_stm_uad_seq +\seq_new:N \g_stm_orcid_seq +\seq_new:N \g_stm_contrib_role_seq + +\newcommand\theead { \int_use:N \g_ead_int } + +\NewDocumentCommand \@uad { O{} m } + { + \group_begin: + \wrAux { \token_to_str:N \urlauthor + { \exp_not:n {#2}}{\the\@eadauthor}}% + \group_end: + } + +\NewDocumentCommand \urlauthor { m m } + { + \int_gincr:N \g_uad_int + \seq_gput_right:Nn \g_stm_uad_seq + { + { %\ttfamily \tl_to_str:n + \url{ #1 } } + \parsename { #2 } + \space(\eadauthor) + } + } +\NewDocumentCommand \@stmuads { } + { \seq_use:Nn \g_stm_uad_seq { ;~ } } + +\NewDocumentCommand \@ead { m } + { + \group_begin: + \wrAux { \token_to_str:N \emailauthor + { \exp_not:n { #1 }}{ \the\@eadauthor }} + \group_end: + } + +\newtoks \@eadauthor +\newbool{@cormark} + +\NewDocumentCommand \emailauthor { m m } + { + \int_gincr:N \g_ead_int + \seq_gput_right:Nn \g_stm_ead_seq + { + { \ttfamily \tl_to_str:n { #1 } } + \parsename { #2 } + \space(\eadauthor)% + } + } + +\NewDocumentCommand \@elseads { } + { \seq_use:Nn \g_stm_ead_seq { ;~ } } + + +\NewDocumentCommand \printemails { } +{ + \group_begin: + \int_compare:nNnTF { \int_use:N \g_ead_int } > { 0 } + { + \tex_let:D \thefootnote \relax \footnotetext + { + \raggedright + \bool_if:NTF \g_stm_nologo_bool + { + \int_compare:nTF { \g_ead_int = 1 } + { \textit{Email~address:\c_space_token} } + { \textit{Email~addresses:\c_space_token} } + } + { \includegraphics[height=8pt]{thumbnails/cas-email.jpeg}\c_space_token } + \seq_use:Nn \g_stm_ead_seq { ;~ } + } + } + { } + \group_end: +} + +\NewDocumentCommand \printurls { } +{ + \group_begin: + \int_compare:nTF { \g_uad_int > 0 } + { + \tex_let:D \thefootnote \relax \footnotetext + { + \raggedright + \bool_if:NTF \g_stm_nologo_bool + { \textit{URL:\c_space_token} } + { \includegraphics[height=8pt]{thumbnails/cas-url.jpeg}\c_space_token } + \seq_use:Nn \g_stm_uad_seq { ;~ } + } + } + { } + \group_end: +} + +% +% orcid +% +\NewDocumentCommand \orcidauthor { m m } + { + \seq_gput_right:Nn \g_stm_orcid_seq + { + { \ttfamily \tl_to_str:n { #1 } } + \parsename{#2} + \space(\eadauthor) + } + } + +\NewDocumentCommand \printorcid { } +{ + \group_begin: + \tex_let:D \thefootnote \relax \footnotetext + { + \raggedright + \textsc{orcid}(s):\c_space_token + \seq_use:Nn \g_stm_orcid_seq { ;~ } + } + \group_end: +} + +% +% Contrib Role +% + +\seq_gclear_new:N \g_stm_credits_seq + +\NewDocumentCommand \ContribRole { m } +{ + \wrAux { \token_to_str:N \creditauthor + { #1 } { \the\@eadauthor } } +} + +\NewDocumentCommand \creditauthor { m m } +{ + \seq_gput_right:Nx \g_stm_credits_seq + { { \exp_not:N\bfseries #2 :}\space #1 } +} + +\cs_set_eq:NN \credit \ContribRole + +\NewDocumentCommand \printcredits { } +{ + \seq_if_empty:NF \g_stm_credits_seq + { + \section*{CRediT ~authorship ~contribution ~statement} + \ifnum\theblind>0\relax + \vspace*{10mm} + \else + \seq_use:Nn \g_stm_credits_seq { .~ }. + \fi + } +} + +\NewDocumentCommand \writemarks { m m } + { \wrAux { \token_to_str:N \csgdef{mark@#1}{#2} } } + +\seq_new:N \g_stm_title_seq + +\NewDocumentCommand \tnotemark { O{} } + { \writemarks { title } { #1 } } + +\NewDocumentCommand \@tnoteref { m } + { \int_set:Nn \l_tmpa_int { 0 } + \clist_map_inline:nn { #1 } + { +% \iow_term:n { ##1 .. [\cs:w X@##1:\cs_end:] } + \cs_if_free:cTF { X@##1: } + { \csdef{X@##1:}{0} } + { + \tl_set:Nx \l_tmpa_tl { \cs:w X@##1:\cs_end: } + \int_case:nn { \l_tmpa_tl } + { + { 1 } { $^\star$ } + { 2 } { $^{,\star\star}$ } + { 3 } { $^{,\star\star\star}$ } + } + } + } + } + +\seq_new:N \g_stm_tnote_seq +\int_new:N \g_stm_tnote_int + +\NewDocumentCommand \tnotetext { O{} m } + { + \tl_if_head_eq_catcode:nNTF { #1 } a + { +% \iow_term:n { [TNOTE:~alpha] }% + \seq_gput_right:Nn \g_stm_tnote_seq + { \int_incr:N \g_stm_tnote_int + \str_set:Nx \@currentlabel { \int_use:N \g_stm_tnote_int } + \stmLabel { #1 } + \renewcommand\thefootnote + { \int_case:nn { \g_stm_tnote_int } + { + { 1 } { $^\star$ } + { 2 } { $^{\star\star}$ } + { 3 } { $^{\star\star\star}$ } + } + } + \footnotetext { #2 } + } + } + { +% \iow_term:n { [TNOTE:~Number] } + \seq_gput_right:Nn \g_stm_tnote_seq + { + \int_set:Nn \l_tmpa_int { #1 } + \renewcommand\thefootnote + { \int_case:nn { \l_tmpa_int } + { + { 1 } { $^\star$ } + { 2 } { $^{\star\star}$ } + { 3 } { $^{\star\star\star}$ } + } + } + \footnotetext { #2 } + } + } + } + +\newcommand \printtnotes { \seq_use:Nn \g_stm_tnote_seq { \par } } + +\seq_new:N \g_stm_nonumnote_seq + +\NewDocumentCommand \nonumnote { m } +{ + \group_begin: + \seq_gput_right:Nn \g_stm_nonumnote_seq + { + \tex_def:D \thefootnote { } + \footnotetext{#1} + } + \group_end: +} + +\newcommand \printnonumnotes { \seq_use:Nn \g_stm_nonumnote_seq { \par } } + +\seq_new:N \g_stm_fnote_seq +\int_new:N \g_stm_fnote_int + +\NewDocumentCommand \fntext { O{} m } +{ + \tl_if_head_eq_catcode:nNTF { #1 } a + { +% \iow_term:n { [FN:~alpha] }% + \seq_gput_right:Nn \g_stm_fnote_seq + { \int_incr:N \g_stm_fnote_int + \str_set:Nx \@currentlabel { \int_use:N \g_stm_fnote_int } + \stmLabel { #1 } + \tex_def:D \thefootnote { \int_use:N \g_stm_fnote_int } + \footnotetext { #2 } + } + } + { +% \iow_term:n { [FN:~Number] } + \seq_gput_right:Nn \g_stm_fnote_seq + { + \int_set:Nn \l_tmpa_int { #1 } + \tex_def:D \thefootnote { \int_use:N \l_tmpa_int } + \footnotetext { #2 } + } + } +} + +\newcommand \printfnotes { \seq_use:Nn \g_stm_fnote_seq { \par } } + +\seq_new:N \g_stm_cor_seq +\int_new:N \g_stm_cor_int + +\NewDocumentCommand \cortext { O{} m } +{ + \tl_if_head_eq_catcode:nNTF { #1 } a + { +% \iow_term:n { [COR:~alpha] }% + \seq_gput_right:Nn \g_stm_cor_seq + { \int_incr:N \g_stm_cor_int + \str_set:Nx \@currentlabel { \int_use:N \g_stm_cor_int } + \stmLabel { #1 } + \tex_def:D \thefootnote + { \int_case:nn { \g_stm_cor_int } + { + { 1 } { $\ast$ } + { 2 } { $\ast\!\ast$ } + { 3 } { $\ast\!\ast\!\ast$ } + } + } + \footnotetext { #2 } + } + } + { +% \iow_term:n { [COR:~Number] } + \seq_gput_right:Nn \g_stm_cor_seq + { + \int_set:Nn \l_tmpa_int { #1 } + \tex_def:D \thefootnote + { \int_case:nn { \l_tmpa_int } + { + { 1 } { $\ast$ } + { 2 } { $\ast\!\ast$ } + { 3 } { $\ast\!\ast\!\ast$ } + } + } + \footnotetext { #2 } + } + } +} + +\newcommand \printcornotes { \seq_use:Nn \g_stm_cor_seq { \par } } + +\NewDocumentCommand \process@marks { } + { + \cs_if_free:cTF { mark@corau\theauthor } + { \ignorespaces } + { \str_set:Nx \l_tmpa_str { \use:c{ mark@corau\theauthor } } + \int_case:nn { \l_tmpa_str } + { + { 1 } { \sep$\ast$ } + { 2 } { \sep$\ast\ast$ } + { 3 } { \sep$\ast\!\ast\!\ast$ } + } + \tex_def:D \sep{\unskip,} + } + \cs_if_free:cTF { mark@fnau\theauthor } + { \ignorespaces } + { \sep\use:c { mark@fnau\theauthor } + \tex_def:D \sep{\unskip,} + } + } + + +% +% Author macros +% +\seq_new:c { g_stm_au0_seq } +\seq_new:c { g_stm_clau0_seq } +\int_new:N \g_stm_au_int +\int_new:N \g_stm_aau_int + +\NewDocumentCommand \ResetMarks { } + { + \keys_set:nn { stm / author } + { + auid = {} , + bioid = {} , + alt = {} , + style = { normal } , + prefix = {} , + suffix = {} , + degree = {} , + role = {} , + orcid = {} , + collab = { false } , + type = { author } , + anon = { false } , + deceased = { false } , + twitter = {} , + facebook = {} , + linkedin = {} , + plus = {} , + gplus = {} , + } + \tex_gdef:D \sep{} + \tex_gdef:D \stm@corref{} + \tex_gdef:D \@fnmark {} + } + + +\int_new:N \l_autype_int +\keys_define:nn { stm / author } + { + auid .tl_set:N = \l_stm_au_id_tl , + bioid .tl_set:N = \l_stm_au_bioid_tl , + alt .tl_set:N = \l_stm_au_alt_tl , + style .tl_set:N = \l_stm_au_style_tl , + prefix .tl_set:N = \l_stm_au_prefix_tl , + suffix .tl_set:N = \l_stm_au_suffix_tl , + degree .tl_set:N = \l_stm_au_degree_tl , + role .tl_set:N = \l_stm_au_role_tl , + orcid .tl_set:N = \l_stm_au_orcid_tl , + collab .bool_set:N = \l_stm_au_collab_bool , + type .multichoice:, + type/author .code:n = { \int_set:Nn \l_autype_int { 0 } }, + type/editor .code:n = { \int_set:Nn \l_autype_int { 1 } }, + type/collab .code:n = { \int_set:Nn \l_autype_int { 2 } }, + type/anon .code:n = { \int_set:Nn \l_autype_int { 3 } }, +% type/collab .bool_set:N = \l_stm_au_collab_bool , +% type/anon .bool_set:N = \l_stm_au_anon_bool , + anon .bool_set:N = \l_stm_au_anon_bool , + deceased .bool_set:N = \l_stm_au_deceased_bool , + twitter .tl_set:N = \l_stm_au_twitter_tl , + facebook .tl_set:N = \l_stm_au_facebook_tl , + linkedin .tl_set:N = \l_stm_au_linkedin_tl , + plus .tl_set:N = \l_stm_au_gplus_tl , + gplus .tl_set:N = \l_stm_au_gplus_tl , + } + +\keys_set:nn { stm / author } + { + auid = {} , + bioid = {} , + alt = {} , + style = { normal } , + prefix = {} , + suffix = {} , + degree = {} , + role = {} , + orcid = {} , + collab = { false } , + type = { author } , + anon = { false } , + deceased = { false } , + twitter = {} , + facebook = {} , + linkedin = {} , + plus = {} , + gplus = {} , + } + +\keys_define:nn { stm / ausetup } + { + type .choice: , + type / authors .meta:n = + { + size = \large , + shape = \upshape , + weight = \mdseries , + before = \bigskipamount , + after = 0pt , + align = \raggedright , + color = black , + lskip = 0pt , + rskip = 0pt , + } , + type / collaboration .meta:n = + { + size = \Large , + shape = \upshape , + weight = \mdseries , + before = \bigskipamount , + after = 0pt , + align = \raggedright , + color = black , + lskip = 0pt , + rskip = 0pt , + } , + size .tl_set:N = \l_stm_augroup_size_tl , + shape .tl_set:N = \l_stm_augroup_shape_tl , + weight .tl_set:N = \l_stm_augroup_weight_tl , + before .dim_set:N = \l_stm_augroup_before_dim , + after .dim_set:N = \l_stm_augroup_after_dim , + align .tl_set:N = \l_stm_augroup_align_tl , + color .tl_set:N = \l_stm_augroup_color_tl , + lskip .dim_set:N = \l_stm_augroup_lskip_tl , + rskip .dim_set:N = \l_stm_augroup_rskip_tl , + } + +\DeclareDocumentCommand \stmAuthorSetup { m } + { \keys_set:nn { stm / ausetup } { #1 } } +\DeclareDocumentCommand \stmausetup { m } + { \tl_set:Nn \l_stm_au_setup_tl + { \keys_set:nn { stm / ausetup } { #1 } } + } +\DeclareDocumentCommand \stmclbsetup { m } + { \tl_set:Nn \l_stm_clb_setup_tl + { \keys_set:nn { stm / ausetup } { #1 } } + } + +\stmausetup { } +\stmclbsetup { } + +\seq_new:N \g_stm_maltese_seq +\seq_new:N \g_stm_facebook_seq +\seq_new:N \g_stm_twitter_seq +\seq_new:N \g_stm_gplus_seq +\seq_new:N \g_stm_linkedin_seq +\bool_new:N \g_stm_nologo_bool +\bool_gset_false:N \g_stm_nologo_bool + +\NewDocumentCommand \twitterauthor { m m } + { + \seq_gput_right:Nn \g_stm_twitter_seq + { + \parsename { #2 } + \url{https://twitter.com/\tl_to_str:n{#1}}\space(\eadauthor) + } + } +\NewDocumentCommand \facebookauthor { m m } + { + \seq_gput_right:Nn \g_stm_facebook_seq + { + \parsename { #2 } + \url{https://www.facebook.com/\tl_to_str:n{#1}}\space(\eadauthor) % + } + } +\NewDocumentCommand \gplusauthor { m m } + { + \seq_gput_right:Nn \g_stm_gplus_seq + { + \parsename { #2 } + \url{https://plus.google.com/\tl_to_str:n{#1}}\space(\eadauthor)% + } + } +\NewDocumentCommand \linkedinauthor { m m } + { + \seq_gput_right:Nn \g_stm_linkedin_seq + { + \parsename { #2 } + \url{https://www.linkedin.com/profile/view?id=\tl_to_str:n{#1}}% + \space(\eadauthor) + } + } + +\NewDocumentCommand \printmaltese { } + { + \seq_use:Nn { \g_stm_maltese_seq } { } + } +\NewDocumentCommand \printfacebook { } + { + \seq_if_empty:NTF \g_stm_facebook_seq { } + { + \tex_def:D \thefootnote{} + \footnotetext + { + \bool_if:NTF \g_stm_nologo_bool + { Facebook:\c_space_token } + { \includegraphics[height=8pt]{thumbnails/cas-facebook.jpeg}\c_space_token } + \seq_use:Nn \g_stm_facebook_seq {,\c_space_token } + } + } + } +\NewDocumentCommand \printtwitter { } + { + \seq_if_empty:NTF \g_stm_twitter_seq { } + { + \tex_def:D \thefootnote{} + \footnotetext + { + \bool_if:NTF \g_stm_nologo_bool + { Twitter:\c_space_token } + { \includegraphics[height=8pt]{thumbnails/cas-twitter.jpeg}\c_space_token } + \seq_use:Nn \g_stm_twitter_seq {,\c_space_token } + } + } + } +\NewDocumentCommand \printgplus { } + { + \seq_if_empty:NTF \g_stm_gplus_seq { } + { + \tex_def:D \thefootnote{} + \footnotetext + { + \bool_if:NTF \g_stm_nologo_bool + { Google+:\c_space_token } + { \includegraphics[height=8pt]{thumbnails/cas-gplus.jpeg}\c_space_token } + \seq_use:Nn \g_stm_gplus_seq {,\c_space_token } + } + } + } +\NewDocumentCommand \printlinkedin { } + { + \seq_if_empty:NTF \g_stm_linkedin_seq { } + { + \tex_def:D \thefootnote{} + \footnotetext + { + \bool_if:NTF \g_stm_nologo_bool + { LinkedIn:\c_space_token } + { \includegraphics[height=8pt]{thumbnails/cas-linkedin.jpeg}\c_space_token } + \seq_use:Nn \g_stm_linkedin_seq {,\c_space_token } + } + } + } + +\seq_new:N \g_stm_prelimsau_seq + +\csxdef{infoauthors}{} +\cs_new:Nn \no_break_space: { \nobreak{~} \penalty 10000 } +\RenewDocumentCommand \author { O{} m O{} } + { + \ResetMarks + \tl_if_blank:nTF { #3 } { } + { \keys_set:nn { stm / author } { #3 } } +% + \int_gincr:N \g_stm_au_int + \tex_gdef:D \theau@ { \int_use:N \g_stm_au_int } +% + \seq_gput_right:Nn \g_stm_prelimsau_seq { #2 } + \bool_if:NTF \l_stm_au_collab_bool + { \seq_gput_right:cn { g_stm_clau\int_use:N \g_stm_augr_int _seq } } + { \seq_gput_right:cn { g_stm_au\int_use:N \g_stm_augr_int _seq } } + { + \int_gincr:N \g_stm_aau_int + \tex_gdef:D \theauthor {\int_use:N \g_stm_aau_int } + \keys_set:nn { stm /author } { #3 } + \tl_if_head_eq_catcode:nNTF { #1 } a + { \processAffRef { #1 } } + { \processAffNum { #1 } } + \tl_if_empty:NF \l_stm_au_prefix + { \l_stm_au_prefix_tl \c_space_token } + \str_if_eq:VnTF \l_stm_au_style_tl { chinese } + { %\iow_term:n {STYLE~T=\l_stm_au_style_tl........} + \invparsename { #2 } + \textcolor{\l_stm_augroup_color_tl}{\surname} + \no_break_space: + \textcolor{\l_stm_augroup_color_tl !50}{\firstname} + } + { %\iow_term:n {STYLE~F=\l_stm_au_style_tl........} + \parsename { #2 } + \textcolor{\l_stm_augroup_color_tl !50}{\firstname} + \no_break_space: + \textcolor{\l_stm_augroup_color_tl}{\surname} + } + \tl_if_empty:NF \l_stm_au_suffix_tl + { \c_space_token \l_stm_au_suffix_tl } + \unskip + \textsuperscript + { + \tl_if_blank:nTF { #1 } + { \tex_def:D \sep{} } + { {\itshape\listAff} \tex_def:D \sep{\unskip,} } + \process@marks + \bool_if:NT \l_stm_au_deceased_bool + { \sep \maltese + \tex_def:D \sep { \unksip, } + } + } + \tl_if_empty:NF \l_stm_au_degree_tl + { ,\c_space_token \l_stm_au_degree_tl } + \tl_if_empty:NF \l_stm_au_role_tl + { \c_space_token (\l_stm_au_role_tl) } +% + \ResetMarks + } +% + \bool_if:NT \l_stm_au_deceased_bool + { + \seq_gput_right:Nn \g_stm_maltese_seq + { + \tex_def:D \thefootnote { \maltese } + \footnotetext{Deceased~author.} + } + } +% various social media + \tl_if_empty:NTF \l_stm_au_facebook_tl { } + { + \wrAux { \token_to_str:N \facebookauthor + { \l_stm_au_facebook_tl } { \exp_not:n {#2} } } + } + \tl_if_empty:NF \l_stm_au_twitter_tl + { + \wrAux { \token_to_str:N \twitterauthor + { \l_stm_au_twitter_tl } { \exp_not:n {#2} } } + } + \tl_if_empty:NF \l_stm_au_gplus_tl + { + \wrAux { \token_to_str:N \gplusauthor + { \l_stm_au_gplus_tl } { \exp_not:n {#2} } } + } + \tl_if_empty:NF \l_stm_au_linkedin_tl + { + \wrAux { \token_to_str:N \linkedinauthor + { \l_stm_au_linkedin_tl } { \exp_not:n {#2} } } + } + \tl_if_empty:NF \l_stm_au_orcid_tl + { + \wrAux { \token_to_str:N \orcidauthor + { \l_stm_au_orcid_tl } { \exp_not:n {#2} } } + } +% + \@eadauthor={#2} + \pdfstringdef\__info_au: { #2 } + \int_compare:nNnTF { \theau@ } < { 4 } + { \xappto \infoauthors { \__info_au: , ~ } } + { + \int_compare:nNnTF { \theau@ } = { 4 } + { \xappto \infoauthors { et~al. } } + { } + } + } + +\NewDocumentCommand \stmauthors { } + { + \group_begin: + \stmAuthorSetup { type = authors } + \l_stm_au_setup_tl + \par \vskip\l_stm_augroup_before_dim + \l_stm_augroup_align_tl + \l_stm_augroup_size_tl + \l_stm_augroup_shape_tl + \l_stm_augroup_weight_tl + \color{ \l_stm_augroup_color_tl } + \bool_if:NTF \g_stm_augr_bool + { \seq_use:Nn \g_stm_augr_seq { \par } } + { + \seq_use:cnnn { g_stm_au\int_use:N\g_stm_augr_int _seq } + { ,~ } { ,~ } { ~and~ } + } + \par\vskip\l_stm_augroup_after_dim + \group_end: + } + +\seq_new:c { g_stm_collab0_seq } +\bool_new:N \g_stm_in_clau_bool + +\NewDocumentCommand \stmcollab { } + { + \bool_if:NTF \g_stm_augr_bool + { } + { + \group_begin: + \stmAuthorSetup { type = collaboration } + \l_stm_clb_setup_tl + \par \vskip \l_stm_augroup_before_dim + \l_stm_augroup_align_tl + \l_stm_augroup_size_tl + \l_stm_augroup_shape_tl + \l_stm_augroup_weight_tl + \color{ \l_stm_augroup_color_tl } + \seq_use:cn {g_stm_collab\int_use:N \g_stm_aaugr_int _seq} { } + \seq_use:cnnn {g_stm_clau\int_use:N \g_stm_aaugr_int _seq} + { ~and~ } { ,~ } { ~and~ } + \par \vskip \l_stm_augroup_after_dim + \group_end: + } + } + +\newenvironment{collaboration}[1][] + { + \seq_gput_right:cn {g_stm_collab\int_use:N \g_stm_augr_int _seq} + { \textit{Collaboration:~} #1 \par \smallskip } + } + { } + +\NewDocumentCommand \dept { m } { #1 } +\NewDocumentCommand \divn { m } { #1 } +\NewDocumentCommand \aline { m } { #1 } +\NewDocumentCommand \city { m } { #1 } +\NewDocumentCommand \cnty { m } { #1 } +\NewDocumentCommand \phone { m } { #1 } +\NewDocumentCommand \fax { m } { #1 } +\NewDocumentCommand \aurl { m } { #1 } + +\def\ca_affitem_postskip{\mbox{~}\unskip\ignorespaces} +%%Author Address +\DeclareDocumentCommand \ca_organization { O{,} m } + { +% #2 #1\mbox{~}\unskip\ignorespaces + \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip } + } +\DeclareDocumentCommand \ca_postal_code { O{,} m } + { +% #2 #1\mbox{~}\unskip\ignorespaces + \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip } + } +\DeclareDocumentCommand \ca_aff_city { O{,} m } + { +% #2 #1\mbox{~}\unskip\ignorespaces + \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip } + } +\DeclareDocumentCommand \ca_address_line { O{,}m } + { +% #2 #1\mbox{~}\unskip\ignorespaces + \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip } + } +\DeclareDocumentCommand \ca_state { O{,} m } + { +% #2 #1\mbox{~}\unskip\ignorespaces + \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip } + } +\DeclareDocumentCommand \ca_country { O{ } m } + { +% #2 #1 + \csgappto { ca_affiliation_values } { #2 #1 } + } + +\DeclareDocumentCommand \ca_stm_organization { O{,} m } + { + #2 #1\ca_affitem_postskip + } +\DeclareDocumentCommand \ca_stm_postal_code { O{,} m } + { + #2 #1\ca_affitem_postskip + } +\DeclareDocumentCommand \ca_stm_aff_city { O{,} m } + { + #2 #1\ca_affitem_postskip + } +\DeclareDocumentCommand \ca_stm_aff_address_line { O{,}m } + { + #2 #1\ca_affitem_postskip + } +\DeclareDocumentCommand \ca_stm_state { O{,} m } + { + #2 #1\ca_affitem_postskip + } +\DeclareDocumentCommand \ca_stm_country { O{ } m } + { + #2 #1 + } + +\keys_define:nn { stm / affiliation } + { + op .tl_set_x:N = \l_organization_punc_tl, + oraganizationsep .tl_set_x:N = \l_organization_punc_tl, + ap .tl_set_x:N = \l_address_line_punc_tl, + addresslinesep .tl_set_x:N = \l_address_line_punc_tl, + cp .tl_set_x:N = \l_city_punc_tl, + citysep .tl_set_x:N = \l_city_punc_tl, + pp .tl_set_x:N = \l_postal_code_punc_tl, + postcodesep .tl_set_x:N = \l_postal_code_punc_tl, + sp .tl_set_x:N = \l_state_punc_tl, + statesep .tl_set_x:N = \l_state_punc_tl, + o .code:n = { \ca_organization[\l_organization_punc_tl]{#1} }, + organization .code:n = { \ca_organization[\l_organization_punc_tl]{#1} }, + a .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} }, + addressline .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} }, + c .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} }, + city .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} }, + p .code:n = { \ca_postal_code[\l_postal_code_punc_tl]{#1} }, + postcode .code:n = { \ca_postal_code[\l_postal_code_punc_tl]{#1} }, + s .code:n = { \ca_state[\l_state_punc_tl]{#1} }, + state .code:n = { \ca_state[\l_state_punc_tl]{#1} }, + orp .tl_set_x:N = \l_organization_punc_tl, + adp .tl_set_x:N = \l_address_line_punc_tl, + cip .tl_set_x:N = \l_city_punc_tl, + pcp .tl_set_x:N = \l_postal_code_punc_tl, + stp .tl_set_x:N = \l_state_punc_tl, + cyp .tl_set_x:N = \l_country_punc_tl, + or .code:n = { \ca_organization[\l_organization_punc_tl]{#1} }, + ad .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} }, + ci .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} }, + pc .code:n = { \ca_postal_code[\l_postal_code_punc_tl]{#1} }, + st .code:n = { \ca_state[\l_state_punc_tl]{#1} }, + cy .code:n = { \ca_country[\l_country_punc_tl]{#1} }, + country .code:n = { \ca_country[\l_country_punc_tl]{#1} }, + unknown .code:n = { + \ifstrempty { #1 } { + \csxappto { ca_affiliation_values } + { {\l_keys_key_tl}~ } + } { + \csxappto { ca_affiliation_values } + { {#1}~ } + } + } + } + +\cs_set:Npn \__reset_affiliation: +{ + \tl_gset:Nn \l_organization_punc_tl { , } + \tl_gset:Nn \l_address_line_punc_tl { , } + \tl_gset:Nn \l_city_punc_tl { , } + \tl_gset:Nn \l_postal_code_punc_tl { , } + \tl_gset:Nn \l_state_punc_tl { , } + \tl_gset:Nn \l_country_punc_tl { } +} + +\seq_new:c { g_stm_aff0_seq } +\int_new:N \g_stm_aff_int +\tl_new:N \l_addrtype_tl + +\keys_define:nn { stm / address } + { + foot .bool_gset:N = \g_stm_addr_foot_bool , + name .tl_set:N = \l_stm_addr_name_tl , + type .multichoice: , + type/alt .code:n = { \tl_set:Nn \l_stm_addr_type_tl + { Alternate~address } } , + type/addl .code:n = { \tl_set:Nn \l_stm_addr_type_tl + { Additional~address } } , + type/regular .code:n = { \tl_set:Nn \l_stm_addr_type_tl + { } } , + type/custom .code:n = { \tl_set:Nn \l_stm_addr_type_tl + { \l_stm_addr_name_tl } } , + } +\DeclareDocumentCommand \stmAddrSetup { m } + { \keys_set:nn { stm / address } { #1 } } + +\keys_set:nn { stm / address } +{ + foot = { false } , + type = { regular } , + name = { Alternate~address } , +} + +\cs_new:Nn \__reset_addr: +{ + \bool_gset_false:N \g_stm_addr_foot_bool + \tl_set:Nn \l_stm_addr_type_tl { } + \tl_set:Nn \l_stm_addr_name_tl { Alternate~address } +} + +\seq_new:N \g_stm_aff_foot_seq + +\NewDocumentCommand \printaddrinfoot { } + { + { \seq_use:Nn \g_stm_aff_foot_seq { \par } } + } + +\NewDocumentCommand \address { O{} m O{} } + { + \__reset_addr: + \keys_set:nn { stm / address } { #3 } + \bool_if:NTF \g_stm_addr_foot_bool + { \__foot_address:nnn [#1]{#2}[#3] } + { + \seq_gput_right:cn { g_stm_aff\int_use:N \g_stm_augr_int _seq } + { \tl_if_blank:nTF { #1 } + { + \tex_xdef:D \thefootnote{} + { #2 } + } + { + \tl_if_head_eq_catcode:nNTF { #1 } a + { + \int_gincr:N \g_stm_aff_int + \tex_xdef:D \@currentlabel + { \int_to_alph:n { \int_use:N \g_stm_aff_int } } + \stmLabel {#1} + \textsuperscript{\itshape\@currentlabel} #2 + } + { + \int_gset:Nn \g_stm_aff_int { #1 } + \tex_xdef:D \@currentlabel + { \int_to_alph:n { \int_use:N \g_stm_aff_int } } + \textsuperscript{\itshape\@currentlabel} #2 + } + } + } + } + } + +\int_new:N \g_stm_aff_ext_int +\int_new:N \g_stm_aff_int_int + +\NewDocumentCommand \affiliation { O{} m O{} } + { + \__reset_affiliation: + \csgdef { ca_affiliation_values } { } + \IfNoValueTF { #2 } + { } + { + \keys_set:nn { stm / affiliation } { #2 } + } + \int_gincr:N \g_stm_aff_ext_int + \csxdef{ca_affiliation_\int_use:N \g_stm_aff_ext_int}{\csuse { ca_affiliation_values }} + \__reset_addr: + \keys_set:nn { stm / address } { #3 } + \bool_if:NTF \g_stm_addr_foot_bool + { \__foot_affiliation:nnn [#1]{#2}[#3] } + { + \seq_gput_right:cn { g_stm_aff\int_use:N \g_stm_augr_int _seq } + { \int_gincr:N \g_stm_aff_int_int + \tl_if_blank:nTF { #1 } + { + \tex_xdef:D \thefootnote{} + { \csuse { ca_affiliation_\int_use:N \g_stm_aff_int_int } } + } + { + \tl_if_head_eq_catcode:nNTF { #1 } a + { + \int_gincr:N \g_stm_aff_int + \tex_xdef:D \@currentlabel + { \int_to_alph:n { \int_use:N \g_stm_aff_int } } + \stmLabel {#1} + \textsuperscript{\itshape\@currentlabel} { \csuse { ca_affiliation_\int_use:N \g_stm_aff_int_int } } + } + { + \int_gset:Nn \g_stm_aff_int { #1 } + \tex_xdef:D \@currentlabel + { \int_to_alph:n { \int_use:N \g_stm_aff_int } } + \textsuperscript{\itshape\@currentlabel} { \csuse { ca_affiliation_\int_use:N \g_stm_aff_int_int } } + } + } + } + } +} + +\cs_new:Npn \__foot_address:nnn [#1]#2[#3] +{ + \keys_set:nn { stm / address } { #3 } + \seq_gput_right:cn { g_stm_aff_foot_seq } + { + \tl_if_empty:nTF { #1 } + { + \tl_if_empty:NTF \l_stm_addr_type_tl + { \footnotetext{#2} } + { + \footnotetext{\textit{\l_stm_addr_type_tl}: + \c_space_token #2 } + } + } + { + \tl_if_head_eq_catcode:nNTF { #1 } a + % + { + \tex_def:D \thefootnote{\itshape\@currentlabel} + \tl_if_empty:NTF \l_stm_addr_type_tl + { \footnotetext{#2} } + { \footnotetext{\textit{\l_stm_addr_type_tl}: \c_space_token #2} } + } + { + \tex_def:D \thefootnote { \itshape\int_to_alph:n { #1 } } + \tl_if_empty:NTF \l_stm_addr_type_tl + { \footnotetext{#2} } + { \footnotetext{\textit{\l_stm_addr_type_tl}: + \c_space_token #2 } } + } + } + } +} + +\int_new:N \g_stm_fn_aff_ext_int +\int_new:N \g_stm_fn_aff_int_int +\cs_new:Npn \__foot_affiliation:nnn [#1]#2[#3] +{ + \__reset_affiliation: + \csgdef { ca_affiliation_values } { } + \IfNoValueTF { #2 } + { } + { + \keys_set:nn { stm / affiliation } { #2 } + } + \int_gincr:N \g_stm_aff_ext_int + \csxdef{ca_affiliation_\int_use:N \g_stm_fn_aff_ext_int}{\csuse { ca_affiliation_values }} + \keys_set:nn { stm / address } { #3 } + \seq_gput_right:cn { g_stm_aff_foot_seq } + { + \int_gincr:N \g_stm_aff_int_int + \tl_if_empty:nTF { #1 } + { + \tl_if_empty:NTF \l_stm_addr_type_tl + { \footnotetext{\csuse { ca_affiliation_\int_use:N \g_stm_fn_aff_int_int }} } + { + \footnotetext{\textit{\l_stm_addr_type_tl}: + \c_space_token \csuse { ca_affiliation_\int_use:N \g_stm_fn_aff_int_int } } + } + } + { + \tl_if_head_eq_catcode:nNTF { #1 } a + % + { + \tex_def:D \thefootnote{\itshape\@currentlabel} + \tl_if_empty:NTF \l_stm_addr_type_tl + { \footnotetext{\csuse { ca_affiliation_\int_use:N \g_stm_fn_aff_int_int }} } + { \footnotetext{\textit{\l_stm_addr_type_tl}: \c_space_token + \csuse { ca_affiliation_\int_use:N \g_stm_fn_aff_int_int }} } + } + { + \tex_def:D \thefootnote { \itshape\int_to_alph:n { #1 } } + \tl_if_empty:NTF \l_stm_addr_type_tl + { \footnotetext{\csuse { ca_affiliation_\int_use:N \g_stm_fn_aff_int_int }} } + { \footnotetext{\textit{\l_stm_addr_type_tl}: + \c_space_token \csuse { ca_affiliation_\int_use:N \g_stm_fn_aff_int_int } } } + } + } + } +} + + +\keys_define:nn { stm / affsetup } + { + type .choice: , + type / normal .code:n = + { \tl_set:Nn \l_stm_aff_type_tl { 0 } } , + type / nonum .code:n = + { \tl_set:Nn \l_stm_aff_type_tl { 1 } } , + + size .tl_set:N = \l_stm_aff_size_tl , + shape .tl_set:N = \l_stm_aff_shape_tl , + weight .tl_set:N = \l_stm_aff_weight_tl , + before .dim_set:N = \l_stm_aff_before_dim , + after .dim_set:N = \l_stm_aff_after_dim , + align .tl_set:N = \l_stm_aff_align_tl , + color .tl_set:N = \l_stm_aff_color_tl , + lskip .dim_set:N = \l_stm_aff_lskip_dim , + rskip .dim_set:N = \l_stm_aff_rskip_dim , + } + +\DeclareDocumentCommand \stmAffSetup { m } + { \keys_set:nn { stm / affsetup } { #1 } } +\DeclareDocumentCommand \stmaffsetup { m } + { \tl_set:Nn \l_stm_aff_setup_tl + { \keys_set:nn { stm / affsetup } { #1 } } + } +\stmaffsetup { + size = \footnotesize, + shape = \itshape, + color = black, + before = 0pt, + weight = \mdseries, + align = \raggedright, + } + +\NewDocumentCommand \stmaddress { } + { + \bool_if:NTF \g_stm_augr_bool + { } + { + \group_begin: + \stmAffSetup { type = normal } + \l_stm_aff_setup_tl + \par \vskip\l_stm_aff_before_dim + \l_stm_aff_align_tl + \l_stm_aff_size_tl + \l_stm_aff_shape_tl + \l_stm_aff_weight_tl + \color{ \l_stm_aff_color_tl } + \seq_use:cn { g_stm_aff\int_use:N \g_stm_aaugr_int _seq } + { \par\vskip2pt } + \par\vskip\l_stm_aff_after_dim + \group_end: + } + } + +\int_new:N \g_stm_augr_int +\seq_new:N \g_stm_augr_seq +\int_new:N \g_stm_aaugr_int +\bool_new:N \g_stm_augr_bool + +\NewDocumentEnvironment { augroup } { } + { + \bool_gset_true:N \g_stm_augr_bool + \int_gincr:N \g_stm_augr_int + \seq_new:c {g_stm_au\int_use:N \g_stm_augr_int _seq} + \seq_new:c {g_stm_aff\int_use:N \g_stm_augr_int _seq} + \seq_new:c {g_stm_collab\int_use:N \g_stm_augr_int _seq} + \seq_new:c {g_stm_clau\int_use:N \g_stm_augr_int _seq} +% \iow_term:n { AUGR:~\int_use:N \g_stm_augr_int ... } + } + { + \seq_gput_right:Nn \g_stm_augr_seq + { + \int_gincr:N \g_stm_aaugr_int + \group_begin: + \stmAuthorSetup { type = collaboration } + \l_stm_clb_setup_tl + \par \vskip \l_stm_augroup_before_dim + \l_stm_augroup_align_tl + \l_stm_augroup_size_tl + \l_stm_augroup_shape_tl + \l_stm_augroup_weight_tl + \color{ \l_stm_augroup_color_tl } + \seq_use:cnnn { g_stm_au\int_use:N \g_stm_aaugr_int _seq } + { ~and~ } { ,~ } { ~and~ } + \par \vskip \l_stm_augroup_after_dim + \group_end: +% + \group_begin: + \stmAffSetup { type = normal } + \l_stm_aff_setup_tl + \par \vskip\l_stm_aff_before_dim + \l_stm_aff_align_tl + \l_stm_aff_size_tl + \l_stm_aff_shape_tl + \l_stm_aff_weight_tl + \color{ \l_stm_aff_color_tl } + \seq_use:cn { g_stm_aff\int_use:N \g_stm_aaugr_int _seq } + { \par \smallskip } + \par\vskip\l_stm_aff_after_dim +% \iow_term:n { AAUGR:~\int_use:N \g_stm_aaugr_int ... } + \group_end: +% + \group_begin: + \stmAuthorSetup { type = collaboration } + \l_stm_clb_setup_tl + \par \vskip \l_stm_augroup_before_dim + \l_stm_augroup_align_tl + \l_stm_augroup_size_tl + \l_stm_augroup_shape_tl + \l_stm_augroup_weight_tl + \color{ \l_stm_augroup_color_tl } + \seq_use:cn {g_stm_collab\int_use:N \g_stm_aaugr_int _seq} { } + \seq_use:cnnn {g_stm_clau\int_use:N \g_stm_aaugr_int _seq} + { ~and~ } { ,~ } { ~and~ } + \par\vskip \l_stm_augroup_after_dim + \group_end: + } + } + +% +% Abstract +% +\RequirePackage{moreverb} + +\tex_gdef:D \abstractname { A\,B\,S\,T\,R\,A\,C\,T } +\tl_new:N \l_stm_abs_title_tl +\box_new:N \g_stm_abs_box + +\NewDocumentEnvironment { Abstract } { o } +{ +% \global\setbox \g_stm_abs_box = \vtop \bgroup +% \hsize = .65 \textwidth \parindent \z@ + \group_begin: + \IfNoValueTF { #1 } { } + { \tex_gdef:D \abstractname { #1 } } + \parindent \z@ + \box_if_empty:NTF \g_stm_key_box + { \leftskip = .35 \textwidth } + { + \dim_gset:Nn \l_tmpa_dim { \box_ht:N \g_stm_key_box } + \dim_gadd:Nn \l_tmpa_dim { \box_dp:N \g_stm_key_box } + \leftskip .35\textwidth + \hspace*{-.35 \textwidth } + \noindent\hbox_to_wd:nn { \z@ } { \box \g_stm_key_box } + \skip_vertical:n { - \l_tmpa_dim } + } + \noindent \abstractname \par + \skip_vertical:n { -4pt} + \noindent \rule{.65\textwidth}{.2pt}\par \footnotesize + \ignorespaces \everypar { \parindent=1.5em } +} +{ \par \group_end: } + +\NewDocumentEnvironment { PrelimsAbstract } { O{} } + {\parindent=0pt + { \fontsize{14pt}{16pt}\selectfont #1 }\par + \vskip12pt + { \fontsize{12pt}{14pt}\bfseries\selectfont\casprelimstitle } \par + \vskip6pt + \ifnum\theblind>0\relax + \vspace*{\the\baselineskip} + \else + \seq_use:Nn \g_stm_prelimsau_seq { ,~ } + \fi + \vskip12pt + \par + } + {} + +\RenewDocumentEnvironment { abstract } { o } +{ + \IfNoValueTF { #1 } { } + { \tex_gdef:D \abstracttitle { #1 } } + \verbatimwrite{\jobname.abs} +} +{ \endverbatimwrite } + +\newbox\casgrabsbox +\newbox\casauhlbox +\newbool { usecasgrabsbox } +\newbool { usecashlsbox } + +\DeclareDocumentEnvironment { graphicalabstract } { O{Graphical~Abstract} } +{ + \global \booltrue { usecasgrabsbox } + \global\setbox\casgrabsbox=\vbox\bgroup + \begin{PrelimsAbstract}[#1] + \noindent \ignorespaces +} +{ + \end{PrelimsAbstract} + \egroup +} + +\DeclareDocumentEnvironment { highlights } { O{Highlights} } +{ + \global \booltrue { usecashlsbox } + \global\setbox\casauhlbox=\vbox\bgroup + \begin{PrelimsAbstract}[#1] + \noindent \ignorespaces + \begin{itemize} +} +{ + \end{itemize} + \end{PrelimsAbstract} + \egroup +} + + +\NewDocumentCommand \dashrule { O{.4pt} m m } + { + \color{black!50} + \skip_vertical:n { #2 } + \noindent \rule { \linewidth } { #1} + \normalcolor \skip_vertical:n { #3 } + } + +\NewDocumentCommand \keywordtitle { } { Keywords } +\NewDocumentCommand \keywordtitlesep { } {:\c_space_token } +\box_new:N \g_stm_key_box + +\NewDocumentCommand \MSC { O{} m } + { + \par\noindent \textit { #1\c_space_token MSC:\c_space_token } #2 + } +\NewDocumentCommand \JEL { m } + { + \par\noindent \textit { JEL:\c_space_token } #1 + } +\NewDocumentCommand \PACS { m } + { + \par\noindent \textit { PACS:\c_space_token } #1 + } + +\NewDocumentEnvironment { keywords } { O{ Keywords } } + { + \tex_global:D \tex_setbox:D \g_stm_key_box = \vtop \bgroup + \hsize=.25 \textwidth + \cs_new:Nn \sep: { \par } + \cs_set_eq:NN \sep \sep: + \parindent \z@ + A\,R\,T\,I\,C\,L\,E\ \ I\,N\,F\,O \par \skip_vertical:n { -3pt } + \rule{.25 \textwidth}{.2pt}\par\footnotesize + \noindent \textit { #1 }: \par + } + { \egroup } + + +% +% Print all footnotes in the title page +% + +\bool_new:N \g_stm_longmktitle_bool +\int_new:N \g_stm_jtype_int +\int_new:N \g_stm_blind_int + +\NewDocumentCommand \printFirstPageNotes { } + { + \bool_if:NTF \g_stm_longmktitle_bool + { \tex_let:D \columnwidth = \textwidth } + { } + \int_compare:nTF { \g_stm_jtype_int > 5 } + { \stmaddress } + { } + \printtnotes + \printnonumnotes + \bool_if:NTF \g_stm_blind_bool + { } + { + \printcornotes + \printmaltese + \printaddrinfoot + \printemails + \printurls + \printorcid + \printfacebook + \printtwitter + \printgplus + \printlinkedin + \printfnotes + } + \bool_if:NTF \g_stm_longmktitle_bool + { + \if@twocolumn + \tex_let:D \columnwidth = \Columnwidth \fi + } + { } + \normalcolor + } + +% +% Date History +% +\tl_new:N \g_stm_recd_tl +\tl_new:N \g_stm_accd_tl +\tl_new:N \g_stm_revd_tl +\tl_new:N \g_stm_pub_online_tl +\tl_new:N \g_stm_pub_print_tl + +\cs_new:Npn \date_parse:n #1 { \date_parse_aux:w #1 \q_stop } +\cs_new:Npn \date_parse_aux:w #1 / #2 / #3 \q_stop +{ } + +\NewDocumentCommand \received { m } + { \tl_gput_right:Nn \g_stm_recd_tl { #1 } } +\NewDocumentCommand \accepted { m } + { \tl_gput_right:Nn \g_stm_accd_tl { #1 } } +\NewDocumentCommand \revised { m } + { \tl_gput_right:Nn \g_stm_revd_tl { #1 } } +\NewDocumentCommand \published { O{} m } +{ + \tl_if_eq:nnTF { #1 } { online } + { \tl_if_gput_right:Nn \g_stm_pub_online_tl { #2 } } + { \tl_if_gput_right:Nn \g_stm_pub_print_tl { #2 } } +} + +% +% Verse/Recto +% +\tl_new:N \l_stm_verso_tl +\tl_new:N \l_stm_recto_tl + +\NewDocumentCommand \verso { m } +{ \tl_set:Nn \l_stm_verso_tl { #1 } } +\NewDocumentCommand \recto { m } +{ \tl_set:Nn \l_stm_recto_tl { #1 } } + +% +% Maketitle +% + +\newcounter{au} +\newcounter{cnote} +\newcounter{tnote} +\newcounter{fnote} +\newcounter{aff} + +\cs_new:Nn \__reset_title_counters: +{ + \setcounter{cnote}{0} + \setcounter{fnote}{0} + \setcounter{tnote}{0} + \setcounter{footnote}{0} +} + +\keys_define:nn { stm / mktitle } +{ + blind .bool_gset:N = \g_stm_blind_bool , + footer .multichoice:, + footer/default .tl_gset:N = \g_stm_footer_default_tl , + footer/custom .tl_gset:N = \g_stm_footer_custom_tl , + longtitle .bool_gset:N = \g_stm_longtitle_bool , + longabstract .bool_gset:N = \g_stm_longtitle_bool , + breakafter .clist_gset:N = \g_stm_breakafter_clist , + nologo .bool_gset:N = \g_stm_nologo_bool , +} + +\bool_new:N \g_stm_breakafter_title_bool +\bool_new:N \g_stm_breakafter_auaff_bool +\bool_new:N \g_stm_breakafter_abstract_bool + +\NewDocumentCommand \processbreakafter { } +{ + \clist_if_empty:NTF \g_stm_breakafter_clist { } + { + \clist_map_inline:Nn \g_stm_breakafter_clist + { \bool_gset_true:c { g_stm_breakafter_##1_bool } } + } +} + +\NewDocumentCommand \pprintMaketitle { O{} } +{ + \tl_if_blank:nTF { #1 } { } + { \keys_set:nn { stm / mktitle } { #1 } } + \processbreakafter + \clearpage + \__reset_title_counters: + \tex_def:D \baselinestretch { 1 } + \printFirstPageNotes + \thispagestyle{pprintTitle}% + \group_begin: + \@title + \group_end: + \bool_if:NTF \g_stm_breakafter_title_bool + { \newpage } { } + % + \bool_if:NTF \g_stm_blind_bool + { \vspace* { 10 mm } } + { + \group_begin: + \normalsize \stmauthors \par + \stmcollab \par + \footnotesize \itshape \stmaddress \par \vskip36pt + \group_end: + \bool_if:NTF \g_stm_breakafter_auaff_bool + { \newpage } { } + } + % + \printabsbox + \printkeybox + \bool_if:NTF \g_stm_breakafter_abstract_bool + { \newpage } { } + % + \setcounter{footnote}{\c@fnote} + \tex_gdef:D \thefootnote { \arabic{footnote} } + \tex_def:D \baselinestretch { \@blstr } + \normalfont \normalsize +} + +\NewDocumentCommand \MaketitleBox { O{} } +{ + \tl_if_blank:nTF { #1 } { } + { \keys_set:nn { stm / mktitle } { #1 } } + \processbreakafter + \tex_def:D \baselinestretch{1} + \group_begin: + \@title + \group_end: + % + \bool_if:NTF \g_stm_blind_bool + { \vspace* { 10 mm } } + { + \group_begin: + \normalsize \stmauthors \par + \stmcollab \par + \footnotesize \itshape \stmaddress \par + \group_end: + \bool_if:NTF \g_stm_breakafter_auaff_bool + { \newpage } { } + } + % \printFirstPageNotes + % + \dashrule{0pt}{3pt} + \begin{Abstract} + \noindent \ignorespaces + \file_if_exist:nT { \jobname.abs } { \file_input:n { \jobname.abs } } + \end{Abstract} + \dashrule{6pt}{3pt} + \bool_if:NTF \g_stm_breakafter_abstract_bool + { \newpage } { } +} + +\box_new:N \g_stm_notes_box +\box_new:N \g_stm_front_box +\cs_set:Npn \__fn_text:n #1 +{ \group_begin:\vbox_top:n { \footnotesize #1 } \group_end:\par} + +\NewDocumentCommand \LongMaketitleBox { O{} } +{ + \tl_if_blank:nTF { #1 } { } + { \keys_set:nn { stm / mktitle } { #1 } } + \vbox_gset:Nn \g_stm_front_box + { + \tex_def:D \baselinestretch{1} + \group_begin: + \@title + \group_end: + % + \bool_if:NTF \g_stm_blind_bool + { \vspace* { 10 mm } } + { \group_begin: + \normalsize \stmauthors \par + \stmcollab \par + \footnotesize \itshape \stmaddress \par + \group_end: + } + % + \dashrule{0pt}{3pt} + \begin{Abstract} + \noindent \ignorespaces + \file_if_exist:nT { \jobname.abs } { \file_input:n { \jobname.abs } } + \end{Abstract} + \dashrule{3pt}{3pt} + } + \vbox_gset:Nn \g_stm_notes_box + { \cs_set_eq:NN \footnotetext \__fn_text:n \printFirstPageNotes } + \dim_gset:Nn \g_tmpb_dim { \box_ht:N \g_stm_notes_box } + % \iow_term:x { ...~[ht: \dim_use:N \g_tmpb_dim ] } + \dim_gadd:Nn \g_tmpb_dim { \box_dp:N \g_stm_notes_box } + % \iow_term:x { ...~[ht+dp: \dim_use:N \g_tmpb_dim ] } + \ifbool{sc}{\dim_gadd:Nn \g_tmpb_dim { 12pt } } { } + +} + +\NewDocumentCommand \ProcessLongTitleBox { } +{ + % \vbox_gset:Nn \g_stm_notes_box + % { \cs_set_eq:NN \footnotetext \__fn_text:n \printFirstPageNotes } + % \dim_gset:Nn \g_tmpb_dim { \box_ht:N \g_stm_notes_box } + % % \iow_term:x { ...~[ht: \dim_use:N \g_tmpb_dim ] } + % \dim_gadd:Nn \g_tmpb_dim { \box_dp:N \g_stm_notes_box } + % % \iow_term:x { ...~[ht+dp: \dim_use:N \g_tmpb_dim ] } + % + \dim_gset:Nn \g_tmpa_dim { \textheight } +% \vbox_unpack:N \g_stm_notes_box + % \iow_term:x { ...~[tmpa:~ \dim_use:N \g_tmpa_dim ] } + % \dim_gsub:Nn \g_tmpa_dim { \box_ht:N \g_stm_notes_box } + % \iow_term:x { ...~[tmpa-noteht:~ \dim_use:N \g_tmpa_dim ] } + % \dim_gsub:Nn \g_tmpa_dim { \box_dp:N \g_stm_notes_box } + % \iow_term:x { ...~[tmpa-notedp:~ \dim_use:N \g_tmpa_dim ] } + \dim_gsub:Nn \g_tmpa_dim { \g_tmpb_dim } + \vbox_set_split_to_ht:NNn \g_tmpb_box \g_stm_front_box { \g_tmpa_dim } + \noindent \vbox_unpack_clear:N \g_tmpb_box + \printFirstPageNotes + \dim_gzero:N \g_tmpa_dim + \dim_gset:Nn \g_tmpa_dim { \box_ht:N \g_stm_front_box } + % \iow_term:x { ...~[tmpa-ht:~ \dim_use:N \g_tmpa_dim ] } + \dim_gadd:Nn \g_tmpa_dim { \box_dp:N \g_stm_front_box } + % \iow_term:x { ...~[tmpa-ht+dp:~ \dim_use:N \g_tmpa_dim ~+~\the\textheight] } + \dim_compare:nNnTF { \dim_use:N \g_tmpa_dim } > { \the\textheight } + { + \vbox_set_split_to_ht:NNn \g_tmpb_box \g_stm_front_box { \textheight } + \vbox_unpack_clear:N \g_tmpb_box + \ifbool{dc} + { \twocolumn[{\vbox_unpack_clear:N \g_stm_front_box}] } + { \vbox_unpack_clear:N \g_stm_front_box } + } + { + \ifbool{dc} + { \twocolumn[{\vbox_unpack_clear:N \g_stm_front_box}] } + { \vbox_unpack_clear:N \g_stm_front_box } + } + \normalcolor \normalfont +} +\ExplSyntaxOff + +% +% Headings +% +\def\@seccntDot{.} +\def\@seccntformat#1{\csname the#1\endcsname\@seccntDot\hskip 0.5em} + +\newdimen\paraindent \paraindent=\parindent +\newdimen\subparaindent \subparaindent=\parindent +\def\ssssparaindent{} +\def\sectionfont{\rmfamily\fontsize{12pt}{14pt}% + \bfseries} +\def\ssectionfont{\rmfamily\fontsize{11pt}{13pt}% + \bfseries\selectfont} +\def\sssectionfont{\rmfamily\fontsize{10.5pt}{12pt}% + \fontseries{b}\fontshape{it}\selectfont} +\def\ssssectionfont{\rmfamily\fontsize{11pt}{10pt}\itshape\selectfont} +\def\sssssectionfont{\rmfamily\fontsize{11pt}{10pt}\selectfont}% + +\AtBeginDocument{\global\@afterindentfalse} + +\renewcommand\section{\@startsection{section}{1}{\z@}% + {15pt \@plus 3\p@ \@minus 3\p@}% + {4\p@}% + {%\let\@hangfrom\relax + \sectionfont\raggedright\hst[13pt]}} + +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {10pt \@plus 3\p@ \@minus 2\p@}% + {.1\p@}% + {%\let\@hangfrom\relax + \ssectionfont\raggedright }} + +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {10pt \@plus 1\p@ \@minus .3\p@}% + {.1\p@}% + {%\let\@hangfrom\relax + \sssectionfont\raggedright}} + +\renewcommand\paragraph{\@startsection{paragraph}{4}{\parindent}% + {10pt \@plus0.01pt \@minus0.01pt}% + {-6pt}% + {\ssssparaindent% + \ssssectionfont\itshape\raggedright}} + +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% + {0pt \@plus0.1pt \@minus0.1pt}% + {-6pt}% + {\hspace*{\subparaindent} + \sssssectionfont\raggedright}} + +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} + +% +% Sundry lengths +% +\def\xstrut#1#2{\vrule height#1 depth #2 width\z@} +\def\hstrut#1{\vrule height#1 depth \z@ width 0pt} +\def\dstrut#1{\vrule height0pt depth#1 width 0pt} +\def\hst[#1]{\vrule height#1 depth \z@ width \z@} +\def\dst[#1]{\vrule height0pt depth#1 width 0pt} +\def\xst[#1][#2]{\vrule height#1 depth #2 width\z@} + +\def\lastpage{100} + +\AtEndDocument{% +% \clearpage + \immediate\write\@auxout{\string\csxdef{lastpage}{\thepage}} +} + +\ExplSyntaxOn + +% +% pagestyle +% + +\cs_new:Npn \__first_footerline: +{ + \group_begin: + \small + \sffamily + \ifnum\theblind>0\relax + \else + \__short_authors: :~ + \fi + { \rmfamily \itshape Preprint~ submitted ~to ~Elsevier } + \group_end: +} + +\cs_new:Npn \__first_head: +{ + \parbox[t]{\textwidth} + { + \color{black!20} + \rule{\textwidth}{0pt} + } +} + + +\cs_new:Npn \__first_foot: +{ + \parbox[t]{\textwidth} + { + \rule{\textwidth}{.2pt}\\ + \__first_footerline: \hfill Page~ \thepage {} ~of~ \lastpage } +} + + +\cs_new:Npn \__cas_head: +{ + \parbox{\textwidth} + { + \sffamily\small\centering + \__short_title: + } + } + + +\cs_new:Npn \__cas_foot: +{ + \parbox[t]{\textwidth} + { + \rule{\textwidth}{.2pt}\\ + \sffamily\small + \__first_footerline: + \hfill Page~\thepage {}~of~ \lastpage + } +} + +\newcommand \ps@first + { + \cs_set_eq:NN \@oddhead \__first_head: + \cs_set_eq:NN \@evenhead \__first_head: + \cs_set_eq:NN \@evenfoot \__first_foot: + \cs_set_eq:NN \@oddfoot \__first_foot: + } + + +\newcommand \ps@cas +{ + \cs_set_eq:NN \@oddhead \__cas_head: + \cs_set_eq:NN \@evenhead \__cas_head: + \cs_set_eq:NN \@evenfoot \__cas_foot: + \cs_set_eq:NN \@oddfoot \__cas_foot: +} + +\ps@cas + + +% +% Floats +% + +\def\topfraction{.9} +\def\bottomfraction{.9} +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{3} +\setcounter{totalnumber}{5} +\renewcommand\textfraction{.1} +\renewcommand\floatpagefraction{.9} +\setcounter{dbltopnumber}{2} +\renewcommand\dbltopfraction{.9} +\renewcommand\dblfloatpagefraction{.95} +\newdimen \FullWidth +\ABD{\FullWidth=\textwidth} + +\newcolumntype{L}{@{\extracolsep{\fill}}l} +\newcolumntype{R}{@{\extracolsep{\fill}}r} +\newcolumntype{C}{@{\extracolsep{\fill}}c} + +\cs_gset_eq:NN \thead \toprule +\cs_gset_eq:NN \endthead \midrule +\cs_gset_eq:NN \tabref \ref + +\dim_new:N \l_tbl_width_dim +\dim_set:Nn \l_tbl_width_dim { \linewidth } + +\cs_new:Npn \__make_tbl_caption:nn #1#2 +{ + \l_tbl_align_tl + \skip_vertical:N \l_tbl_abovecap_skip + % \bool_if:NTF \g_tbl_full_bool + % { + % \color{scolor!70}\rule{\FullWidth}{2pt}\normalcolor\\ + % } + % { \color{scolor!70}\rule{\tblwidth}{2pt}\normalcolor\\ } + % \fboxsep=4pt + % \colorbox{white} + {\parbox{ \dimexpr(\l_tbl_width_dim)} + {\rightskip=0pt\sffamily\small\textbf{\color{scolor}#1}\par#2\par\vskip4pt }} + \skip_vertical:N \l_tbl_belowcap_skip +} + +\keys_define:nn { cas / tbl } +{ + width .dim_set:N = \l_tbl_width_dim , + pos .tl_set:N = \l_tbl_pos_tl , + cols .tl_set:N = \l_tbl_cols_tl , + align .tl_set:N = \l_tbl_align_tl, + abovecap .skip_set:N = \l_tbl_abovecap_skip , + belowcap .skip_set:N = \l_tbl_belowcap_skip , + abovetbl .skip_set:N = \l_tbl_abovetbl_skip , + belowtbl .skip_set:N = \l_tbl_belowtbl_skip , + full .bool_gset:N = \g_tbl_full_bool , + unknown .code:n = { + \ifstrempty { #1 } + { + \tl_set:Nn \l_fig_pos_tl { \l_keys_key_tl } + } + { + \l_keys_key_tl=#1 + } + } +} + +\cs_set:Npn \__reset_tbl: +{ + \tl_set:Nx \l_tbl_pos_tl { t } + \tl_set:Nx \l_tbl_cols_tl { 1 } + \tl_set:Nn \l_tbl_align_tl { \centering } + \skip_set:Nn \l_tbl_abovecap_skip { 6pt } + \skip_set:Nn \l_tbl_belowcap_skip { 0pt } + \skip_set:Nn \l_tbl_abovetbl_skip { 6pt } + \skip_set:Nn \l_tbl_belowtbl_skip { 6pt } + +} + +\RenewDocumentEnvironment { table } { O{} } +{ + \__reset_tbl: + \bool_gset_false:N \g_tbl_full_bool + \dim_set:Nn \l_tbl_width_dim { \linewidth } + \keys_set:nn { cas / tbl } { #1 } + \csxdef{fps@table}{\l_tbl_pos_tl} + \csgdef{tblwidth}{\dim_use:N \l_tbl_width_dim} + \cs_set_eq:NN \@makecaption \__make_tbl_caption:nn + \@float{table} + \l_tbl_align_tl + \sffamily\small +} +{ +\end@float +} + + +\RenewDocumentEnvironment { table* } { O{width=\FullWidth} } + { + \__reset_tbl: + \bool_gset_true:N \g_tbl_full_bool + \dim_set:Nn \l_tbl_width_dim { \FullWidth } + \keys_set:nn { cas / tbl } { #1 } + \csxdef{fps@table}{\l_tbl_pos_tl} + \csgdef{tblwidth}{\dim_use:N \l_tbl_width_dim} + \cs_set_eq:NN \@makecaption \__make_tbl_caption:nn + \@dblfloat{table} + \l_tbl_align_tl + \sffamily\small + % \leftskip=-\FullWidth + } + { + \end@dblfloat + } + + +\dim_new:N \l_fig_width_dim +\dim_set:Nn \l_fig_width_dim { \linewidth } + +\newbox\cascaptionbox + +\cs_new:Npn \__make_fig_caption:nn #1#2 +{ + \l_fig_align_tl + \skip_vertical:N \l_fig_abovecap_skip +% \bool_if:NTF \g_fig_full_bool +% { \skip_horizontal:n { -\FullWidth } } { } + \setbox\cascaptionbox=\hbox{% + \sffamily\small\textbf{\color{scolor}#1:}~#2} + \ifdim\the\wd\cascaptionbox<\dim_use:N \l_fig_width_dim\relax + \parbox{ \l_fig_width_dim } + {\unskip\ignorespaces\hfil\sffamily\small + \textbf{\color{scolor}#1:}~#2\hfil\par } + \else + \parbox{ \l_fig_width_dim } + {\rightskip=0pt\unskip\ignorespaces\sffamily + \small\textbf{\color{scolor}#1:}~#2\par } + \fi + \skip_vertical:N \l_fig_belowcap_skip +} + +\keys_define:nn { cas / fig } +{ + width .dim_set:N = \l_fig_width_dim , + pos .tl_set:N = \l_fig_pos_tl , + cols .tl_set:N = \l_fig_cols_tl , + align .tl_set:N = \l_fig_align_tl, + abovecap .skip_set:N = \l_fig_abovecap_skip , + belowcap .skip_set:N = \l_fig_belowcap_skip , + abovefig .skip_set:N = \l_fig_abovefig_skip , + belowfig .skip_set:N = \l_fig_belowfig_skip , + full .bool_gset:N = \g_fig_full_bool , + unknown .code:n = { + \ifstrempty { #1 } + { + \tl_set:Nn \l_fig_pos_tl { \l_keys_key_tl } + } + { + \l_keys_key_tl=#1, + } + } +} + +\cs_set:Npn \__reset_fig: +{ + \tl_set:Nx \l_fig_pos_tl { t } + \tl_set:Nx \l_fig_cols_tl { 1 } + \tl_set:Nn \l_fig_align_tl { \raggedleft } + \skip_set:Nn \l_fig_abovecap_skip { 6pt } + \skip_set:Nn \l_fig_belowcap_skip { 6pt } + \skip_set:Nn \l_fig_abovefig_skip { 6pt } + \skip_set:Nn \l_fig_belowfig_skip { 6pt } + +} + +\RenewDocumentEnvironment { figure } { O{} } + { + \__reset_fig: + \bool_gset_false:N \g_fig_full_bool + \dim_set:Nn \l_fig_width_dim { \linewidth } + \keys_set:nn { cas / fig } { #1 } + \csxdef{fps@figure}{\l_fig_pos_tl} + \csgdef{figwidth}{\dim_use:N \l_fig_width_dim} + \cs_set_eq:NN \@makecaption \__make_fig_caption:nn + \@float{figure} + \l_fig_align_tl + \sffamily\small + } + { + \end@float + } + + +\RenewDocumentEnvironment { figure* } { O{width=\textwidth} } +{ + \__reset_fig: + \bool_gset_true:N \g_fig_full_bool + \dim_set:Nn \l_fig_width_dim { \FullWidth } + \keys_set:nn { cas / fig } { #1 } + \csxdef{fps@figure}{\l_fig_pos_tl} + \csgdef{figwidth}{\dim_use:N \l_fig_width_dim} + \cs_set_eq:NN \@makecaption \__make_fig_caption:nn + \@dblfloat{figure} + \l_fig_align_tl + \sffamily\small +% \leftskip=-\FullWidth +} +{ \end@dblfloat } + +% +% wrapped figure +% +\RequirePackage{wrapfig} + +\dim_new:N \l_wrap_figwidth_dim +\dim_new:N \l_wrap_fighspace_dim +\dim_new:N \l_wrap_figvspace_dim +\dim_new:N \l_wrap_fighcorr_dim +\dim_new:N \l_wrap_figvcorr_dim +\dim_new:N \l_above_bio_dim +\int_new:N \l_wrap_figlcorr_int +\int_new:N \l_wrap_figlines_int +\tl_new:N \l_wrap_figfile_tl + +\NewDocumentCommand \wfigwidth { m } + { \dim_set:Nn \l_wrap_figwidth_dim { #1 } } +\NewDocumentCommand \wfighspace { m } + { \dim_set:Nn \l_wrap_fighspace_dim { #1 } } +\NewDocumentCommand \wfigvspace { m } + { \dim_set:Nn \l_wrap_figvspace_dim { #1 } } +\NewDocumentCommand \wfighcorr { m } + { \dim_set:Nn \l_wrap_fighcorr_dim { #1 } } +\NewDocumentCommand \wfigvcorr { m } + { \dim_set:Nn \l_wrap_figvcorr_dim { #1 } } +\NewDocumentCommand \addfiglines { m } + { \int_set:Nn \l_wrap_figlcorr_int { #1 } } +\NewDocumentCommand \abovebioskip { m } + { \dim_set:Nn \l_above_bio_dim { #1 } } + +\cs_new:Nn \__fig_defaults: + { + \wfigwidth { 25.5mm } + \wfighspace { 0mm } + \wfigvspace { 0mm } + \wfighcorr { 0pt } + \wfigvcorr { -12pt } + \wfigvcorr { 0pt } + \abovebioskip { 12pt } + \tl_set:Nn \l_wrap_figpos_tl { l } + \int_set:Nn \l_wrap_figlines_int { 3 } + \int_set:Nn \l_wrap_figlcorr_int { 1 } + \tl_clear:N \l_wrap_figcap_tl + } + +\__fig_defaults: + +\keys_define:nn { wrap / fig } +{ + width .dim_set:N = \l_wrap_figwidth_dim , + hspace .dim_set:N = \l_wrap_fighspace_dim , + vspace .dim_set:N = \l_wrap_figvspace_dim , + hcorr .dim_set:N = \l_wrap_fighcorr_dim , + vcorr .dim_set:N = \l_wrap_figvcorr_dim , + lcorr .int_set:N = \l_wrap_figlcorr_int , + pos .tl_set:N = \l_wrap_figpos_tl , + lines .int_set:N = \l_wrap_figlines_int , + cap .tl_set:N = \l_wrap_figcap_tl , +} + +\cs_new:Npn \__find_fig_height:n #1 +{ + \box_clear:N \g_tmpa_box + \hbox_gset:Nn \g_tmpa_box + { \includegraphics [ width = \l_wrap_figwidth_dim ] { #1 } } + \dim_zero:N \l_tmpa_dim + \dim_set:Nn \l_tmpa_dim { \box_ht:N \g_tmpa_box } + \dim_add:Nn \l_tmpa_dim { \box_dp:N \g_tmpa_box } + \fp_set:Nn \l_tmpa_fp { \dim_to_fp:n { \l_tmpa_dim } } + \fp_set:Nn \l_tmpb_fp { \dim_to_fp:n { \baselineskip } } +% + \fp_set:Nn \l_wrap_figlines_fp + { \fp_eval:n { ( \l_tmpa_fp / \l_tmpb_fp ) + .5 } } + \int_set:Nn \l_wrap_figlines_int + { \fp_to_int:N \l_wrap_figlines_fp } +% + \iow_term:x { ...~wr-fig:~[BL:~\the\baselineskip] ~ ...} + \iow_term:x { ...~wr-fig:~[LINE-FP:~ \fp_use:N \l_wrap_figlines_fp]~ ...} + \iow_term:x { ...~wr-fig:~[LINE-INT:~ \int_use:N \l_wrap_figlines_int]~ ...} +} + +\newbox \l_bio_text_box + +\NewDocumentCommand \WrapFigure { o m } +{ + \__fig_defaults: + \IfNoValueTF { #1 } { } { \keys_set:nn { wrap / fig } { #1 } } + \stepcounter { ca_biography_ctr } + \__find_fig_height:n { #2 } + \dim_zero:N \l_tmpb_dim + \dim_set:Nn \l_tmpb_dim + { \l_wrap_figwidth_dim + \l_wrap_fighspace_dim } + \int_gadd:Nn \l_wrap_figlines_int { \int_use:N \l_wrap_figlcorr_int } + \setlength { \columnsep } { 5pt } + \setlength { \intextsep } { 0pt } +% \mbox{} + \ifbool { dc } + { \xdef\Columnwidth{238.25pt} } + { \xdef\Columnwidth{\the\textwidth} } + \ifcsundef { cabio\theca_biography_ctr lines } + { + \setbox \l_bio_text_box = \vbox \bgroup + \hsize = \dimexpr ( \Columnwidth - 72.28pt ) + } + { + \ifbool { dc } { + \int_gset:Nn \l_wrap_figlines_int + { \csuse { cabio\theca_biography_ctr lines } } + } { } + \skip_vertical:N \l_above_bio_dim + \begin{wrapfigure}[\int_use:N \l_wrap_figlines_int] + { \l_wrap_figpos_tl } + [ \dim_use:N \l_wrap_fighcorr_dim ] + { \dim_use:N \l_tmpb_dim } + %\skip_vertical:N \l_wrap_figvcorr_dim + \includegraphics[width=\l_wrap_figwidth_dim]{#2} + \end{wrapfigure} + \setbox \l_bio_text_box = \vbox \bgroup + \hsize = \dimexpr ( \Columnwidth ) + } +} + +\cs_set:Nn \__fwidth: { 1in } +\cs_set:Nn \__fpos: { l } + +% +% short authors/title +% + +\newcommand\shortauthors[1]{ \cs_gset:Nn \__short_authors: { #1 } } +\newcommand\shorttitle[1]{ \cs_gset:Nn \__short_title: { #1 } } + +\shortauthors{First~Author~et~al.} +\shorttitle{Short ~Title ~of~the~Article} + +\newcounter { ca_biography_ctr } +\newbool { cas_no_pic_bio } +\boolfalse { cas_no_pic_bio } + +\ifnum\theblind>0\relax +\newbox\hidebiobox +\NewDocumentCommand \bio { O{} m } + {\setbox\hidebiobox=\vbox\bgroup} +\NewDocumentCommand \endbio { } { + \egroup +} +\else +\NewDocumentCommand \bio { O{} m } +{ + \global \boolfalse { cas_no_pic_bio } + \casbiographyfont + \par \medskip \tl_set:Nn \l_tmpa_tl { #2 } + \tl_if_empty:NTF \l_tmpa_tl + { \global \booltrue { cas_no_pic_bio } } + { \WrapFigure [ #1 ]{ #2 } } + \noindent \ignorespaces +} + +\int_new:N \l_ca_temp_inta + +\NewDocumentCommand \endbio { } { + \ifbool{ cas_no_pic_bio } { } { + \egroup +% \fp_set:Nn \l_wrap_figlines_fp +% { \fp_eval:n { ( ( \l_tmpa_fp + +% \numexpr\dimexpr\the\ht\l_bio_text_box ) +% / \l_tmpb_fp ) + .5 } } + \int_gset:Nn \l_ca_temp_inta + { \numexpr\dimexpr(\the\ht\l_bio_text_box + 2\baselineskip )/ + \dimexpr\the\baselineskip } + \iow_now:Nx \@auxout { + \string\csgdef{cabio\theca_biography_ctr lines} + { \int_use:N \l_ca_temp_inta } } +\mbox{}\vspace*{-4.5pt}\noindent +\unvbox \l_bio_text_box } +} +\fi + +\let\casbiographyfont\relax + +\NewDocumentEnvironment { biography } { o m } +{ + \IfValueTF { #1 } + { \par\medskip \noindent \includegraphics[width=1in]{#1} } + { } + \par\smallskip + \noindent \textbf{#2:}\enspace +} +{ } + +\ExplSyntaxOff + +% +% Customized Enumeration +% +\def\blstr#1{\gdef\@bslstr{#1}} +\def\@blstr{1} +\newdimen\leftMargin +\leftMargin=2em +\newtoks\@enLab %\newtoks\@enfont +\def\@enQmark{?} +\def\@enLabel#1#2{% + \edef\@enThe{\noexpand#1{\@enumctr}}% + \@enLab\expandafter{\the\@enLab\csname the\@enumctr\endcsname}% + \@enloop} +\def\@enSpace{\afterassignment\@enSp@ce\let\@tempa= } +\def\@enSp@ce{\@enLab\expandafter{\the\@enLab\space}\@enloop} +\def\@enGroup#1{\@enLab\expandafter{\the\@enLab{#1}}\@enloop} +\def\@enOther#1{\@enLab\expandafter{\the\@enLab#1}\@enloop} +\def\@enloop{\futurelet\@entemp\@enloop@} +\def\@enloop@{% + \ifx A\@entemp \def\@tempa{\@enLabel\Alph }\else + \ifx a\@entemp \def\@tempa{\@enLabel\alph }\else + \ifx i\@entemp \def\@tempa{\@enLabel\roman }\else + \ifx I\@entemp \def\@tempa{\@enLabel\Roman }\else + \ifx 1\@entemp \def\@tempa{\@enLabel\arabic}\else + \ifx \@sptoken\@entemp \let\@tempa\@enSpace \else + \ifx \bgroup\@entemp \let\@tempa\@enGroup \else + \ifx \@enum@\@entemp \let\@tempa\@gobble \else + \let\@tempa\@enOther + \fi\fi\fi\fi\fi\fi\fi\fi + \@tempa} +\newlength{\@sep} \newlength{\@@sep} +\setlength{\@sep}{.5\baselineskip plus.2\baselineskip + minus.2\baselineskip} +\setlength{\@@sep}{.1\baselineskip plus.01\baselineskip + minus.05\baselineskip} +\providecommand{\sfbc}{\rmfamily\upshape} +\providecommand{\sfn}{\rmfamily\upshape} +\def\@enfont{\ifnum \@enumdepth >1\let\@nxt\sfn \else\let\@nxt\sfbc \fi\@nxt} +\def\enumerate{% + \ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi + \@ifnextchar[{\@@enum@}{\@enum@}} +\def\@@enum@[#1]{% + \@enLab{}\let\@enThe\@enQmark + \@enloop#1\@enum@ + \ifx\@enThe\@enQmark\@warning{The counter will not be printed.% + ^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi + \expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}% + \expandafter\let\csname the\@enumctr\endcsname\@enThe + \csname c@\@enumctr\endcsname7 + \expandafter\settowidth + \csname leftmargin\romannumeral\@enumdepth\endcsname + {\the\@enLab\hskip\labelsep}% + \@enum@} +\def\@enum@{\list{{\@enfont\csname label\@enumctr\endcsname}}% + {\usecounter{\@enumctr}\def\makelabel##1{\hss\llap{##1}}% + \ifnum \@enumdepth>1\setlength{\topsep}{\@@sep}\else + \setlength{\topsep}{\@sep}\fi + \ifnum \@enumdepth>1\setlength{\itemsep}{0pt plus1pt minus1pt}% + \else \setlength{\itemsep}{\@@sep}\fi + %\setlength\leftmargin{\leftMargin}%%%{1.8em} + \setlength{\parsep}{0pt plus1pt minus1pt}% + \setlength{\parskip}{0pt plus1pt minus1pt} + }} + +\def\endenumerate{\par\ifnum \@enumdepth >1\addvspace{\@@sep}\else + \addvspace{\@sep}\fi \endlist} + +\def\sitem{\@noitemargtrue\@item[\@itemlabel *]} + +\def\itemize{\@ifnextchar[{\@Itemize}{\@Itemize[]}} + +\def\@Itemize[#1]{\def\next{#1}% + \ifnum \@itemdepth >\thr@@\@toodeep\else + \advance\@itemdepth\@ne + \ifx\next\@empty\else\expandafter\def\csname + labelitem\romannumeral\the\@itemdepth\endcsname{#1}\fi% + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \expandafter\list\csname\@itemitem\endcsname + {\def\makelabel##1{\hss\llap{##1}}}% + \fi} + +% +% Customized theorem +% (non-italic enunciations) +% + +\def\newdefinition#1{% + \@ifnextchar[{\@odfn{#1}}{\@ndfn{#1}}}%] +\def\@ndfn#1#2{% + \@ifnextchar[{\@xndfn{#1}{#2}}{\@yndfn{#1}{#2}}} +\def\@xndfn#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@dfncountersep + \@dfncounter{#1}}% + \global\@namedef{#1}{\@dfn{#1}{#2}}% + \global\@namedef{end#1}{\@enddefinition}}} +\def\@yndfn#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@dfncounter{#1}}% + \global\@namedef{#1}{\@dfn{#1}{#2}}% + \global\@namedef{end#1}{\@enddefinition}}} +\def\@odfn#1[#2]#3{% + \@ifundefined{c@#2}{\@nocounterr{#2}}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{the#1}{\@nameuse{the#2}} + \global\@namedef{#1}{\@dfn{#2}{#3}}% + \global\@namedef{end#1}{\@enddefinition}}}} +\def\@dfn#1#2{% + \refstepcounter{#1}% + \@ifnextchar[{\@ydfn{#1}{#2}}{\@xdfn{#1}{#2}}} +\def\@xdfn#1#2{% + \@begindefinition{#2}{\csname the#1\endcsname}\ignorespaces} +\def\@ydfn#1#2[#3]{% + \@opargbegindefinition{#2}{\csname the#1\endcsname}{#3}\ignorespaces} +\def\@dfncounter#1{\noexpand\arabic{#1}} +\def\@dfncountersep{.} +\def\@begindefinition#1#2{\trivlist + \item[\hskip\labelsep{\bfseries #1\ #2.}]\upshape} +\def\@opargbegindefinition#1#2#3{\trivlist + \item[\hskip\labelsep{\bfseries #1\ #2\ (#3).}]\upshape} +\def\@enddefinition{\endtrivlist} + +\def\@begintheorem#1#2{\trivlist + \let\baselinestretch\@blstr + \item[\hskip \labelsep{\bfseries #1\ #2.}]\itshape} +\def\@opargbegintheorem#1#2#3{\trivlist + \let\baselinestretch\@blstr + \item[\hskip \labelsep{\bfseries #1\ #2\ (#3).}]\itshape} +% +% Unnumbered roman proofs +% +\def\newproof#1{% + \@ifnextchar[{\@oprf{#1}}{\@nprf{#1}}} +\def\@nprf#1#2{% + \@ifnextchar[{\@xnprf{#1}{#2}}{\@ynprf{#1}{#2}}} +\def\@xnprf#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@prfcountersep + \@prfcounter{#1}}% + \global\@namedef{#1}{\@prf{#1}{#2}}% + \global\@namedef{end#1}{\@endproof}}} +\def\@ynprf#1#2{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}% + \expandafter\xdef\csname the#1\endcsname{\@prfcounter{#1}}% + \global\@namedef{#1}{\@prf{#1}{#2}}% + \global\@namedef{end#1}{\@endproof}}} +\def\@oprf#1[#2]#3{% + \@ifundefined{c@#2}{\@nocounterr{#2}}% + {\expandafter\@ifdefinable\csname #1\endcsname + {\global\@namedef{the#1}{\@nameuse{the#2}}% + \global\@namedef{#1}{\@prf{#2}{#3}}% + \global\@namedef{end#1}{\@endproof}}}} +\def\@prf#1#2{% + \refstepcounter{#1}% + \@ifnextchar[{\@yprf{#1}{#2}}{\@xprf{#1}{#2}}} +\def\@xprf#1#2{% + \@beginproof{#2}{\csname the#1\endcsname}\ignorespaces} +\def\@yprf#1#2[#3]{% + \@opargbeginproof{#2}{\csname the#1\endcsname}{#3}\ignorespaces} +\def\@prfcounter#1{\noexpand\arabic{#1}} +\def\@prfcountersep{.} +\def\@beginproof#1#2{\trivlist\let\baselinestretch\@blstr + \item[\hskip \labelsep{\scshape #1.}]\rmfamily} +\def\@opargbeginproof#1#2#3{\trivlist\let\baselinestretch\@blstr + \item[\hskip \labelsep{\scshape #1\ (#3).}]\rmfamily} +\def\@endproof{\endtrivlist} +\newcommand*{\qed}{\hbox{}\hfill$\Box$} + +\xspaceaddexceptions{]} + +\ABD{\@ifundefined{bibsep}{}{\bibsep=0pt}} +%\ifbool{casfinallayout} +% {% + \ABD{\gdef\bibfont{\fontsize{8pt}{10pt}\selectfont}% + \gdef\casbiographyfont{\fontsize{8pt}{10pt}\selectfont}% + }% +% } +% {} + +\endinput + diff --git a/pubs/shared/els-cas/cas-dc-sample.tex b/pubs/shared/els-cas/cas-dc-sample.tex new file mode 100644 index 000000000..aeaa9e565 --- /dev/null +++ b/pubs/shared/els-cas/cas-dc-sample.tex @@ -0,0 +1,463 @@ +%% +%% Copyright 2019-2024 Elsevier Ltd +%% +%% Version 2.4 +%% +%% This file is part of the 'CAS Bundle'. +%% -------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.2 of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% The list of all files belonging to the 'CAS Bundle' is +%% given in the file `manifest.txt'. +%% +%% Template article for cas-dc documentclass for +%% double column output. + +%\documentclass[a4paper,fleqn,longmktitle]{cas-dc} +\documentclass[a4paper,fleqn]{cas-dc} + +%\usepackage[authoryear,longnamesfirst]{natbib} +%\usepackage[authoryear]{natbib} +\usepackage[numbers]{natbib} + +%%%Author definitions +\def\tsc#1{\csdef{#1}{\textsc{\lowercase{#1}}\xspace}} +\tsc{WGM} +\tsc{QE} +\tsc{EP} +\tsc{PMS} +\tsc{BEC} +\tsc{DE} +%%% + +\begin{document} +\let\WriteBookmarks\relax +\def\floatpagepagefraction{1} +\def\textpagefraction{.001} +\shorttitle{Leveraging social media news} +\shortauthors{J.K. Krishnan et~al.} + +\title [mode = title]{This is a specimen $a_b$ title} +\tnotemark[1,2] + +\tnotetext[1]{This document is the results of the research + project funded by the National Science Foundation.} + +\tnotetext[2]{The second title footnote which is a longer text matter + to fill through the whole text width and overflow into + another line in the footnotes area of the first page.} + + +\author[1,3]{J.K. Krishnan}[type=editor, + auid=000,bioid=1, + prefix=Sir, + role=Researcher, + orcid=0000-0001-0000-0000] +\cormark[1] +\fnmark[1] +\ead{jkk@example.in} +\ead[url]{www.jkkrishnan.in} + +\credit{Conceptualization of this study, Methodology, Software} + +%\address[1]{, Street 129, 1043 NX Amsterdam, The Netherlands} +\affiliation[1]{organization={Department of Physics, J.K. Institute of Science}, + addressline={Jawahar Nagar}, + city={Trivandrum}, +% citysep={}, % Uncomment if no comma needed between city and postcode + postcode={695013}, + state={Kerala}, + country={India}} + +\author[2,4]{Han Thane}[style=chinese] + +\author[2,3]{William {J. Hansen}}[% + role=Co-ordinator, + suffix=Jr, + ] +\fnmark[2] +\ead{wjh@example.org} +\ead[URL]{https://www.university.org} + +\credit{Data curation, Writing - Original draft preparation} + +\affiliation[2]{organization={World Scientific University}, + addressline={Street 29}, + postcode={1011 NX}, + postcodesep={}, + city={Amsterdam}, + country={The Netherlands}} + +\author[1,3]{T. Rafeeq} +\cormark[2] +\fnmark[1,3] +\ead{t.rafeeq@example.in} +\ead[URL]{www.campus.in} + +\affiliation[3]{organization={University of Intelligent Studies}, + addressline={Street 15}, + city={Jabaldesh}, + postcode={825001}, + state={Orissa}, + country={India}} + +\cortext[cor1]{Corresponding author} +\cortext[cor2]{Principal corresponding author} +\fntext[fn1]{This is the first author footnote, but is common to third + author as well.} +\fntext[fn2]{Another author footnote, this is a very long footnote and + it should be a really long footnote. But this footnote is not yet + sufficiently long enough to make two lines of footnote text.} + +\nonumnote{This note has no numbers. In this work we demonstrate $a_b$ + the formation Y\_1 of a new type of polariton on the interface + between a cuprous oxide slab and a polystyrene micro-sphere placed + on the slab. + } + +\begin{abstract} +This template helps you to create a properly formatted \LaTeX\ manuscript. + +\noindent\texttt{\textbackslash begin{abstract}} \dots +\texttt{\textbackslash end{abstract}} and +\verb+\begin{keyword}+ \verb+...+ \verb+\end{keyword}+ +which +contain the abstract and keywords respectively. + +\noindent Each keyword shall be separated by a \verb+\sep+ command. +\end{abstract} + +\begin{graphicalabstract} +\includegraphics{figs/cas-grabs.pdf} +\end{graphicalabstract} + +\begin{highlights} +\item Research highlights item 1 +\item Research highlights item 2 +\item Research highlights item 3 +\end{highlights} + +\begin{keywords} +quadrupole exciton \sep polariton \sep \WGM \sep \BEC +\end{keywords} + + +\maketitle + +\section{Introduction} + +The Elsevier cas-dc class is based on the +standard article class and supports almost all of the functionality of +that class. In addition, it features commands and options to format the +\begin{itemize} \item document style \item baselineskip \item front +matter \item keywords and MSC codes \item theorems, definitions and +proofs \item lables of enumerations \item citation style and labeling. +\end{itemize} + +This class depends on the following packages +for its proper functioning: + +\begin{enumerate} +\itemsep=0pt +\item {natbib.sty} for citation processing; +\item {geometry.sty} for margin settings; +\item {fleqn.clo} for left aligned equations; +\item {graphicx.sty} for graphics inclusion; +\item {hyperref.sty} optional packages if hyperlinking is + required in the document; +\end{enumerate} + +All the above packages are part of any +standard \LaTeX{} installation. +Therefore, the users need not be +bothered about downloading any extra packages. + +\section{Installation} + +The package is available at author resources page at Elsevier +(\url{http://www.elsevier.com/locate/latex}). +The class may be moved or copied to a place, usually,\linebreak +\verb+$TEXMF/tex/latex/elsevier/+, %$%%%%%%%%%%%%%%%%%%%%%%%%%%%% +or a folder which will be read +by \LaTeX{} during document compilation. The \TeX{} file +database needs updation after moving/copying class file. Usually, +we use commands like \verb+mktexlsr+ or \verb+texhash+ depending +upon the distribution and operating system. + +\section{Front matter} + +The author names and affiliations could be formatted in two ways: +\begin{enumerate}[(1)] +\item Group the authors per affiliation. +\item Use footnotes to indicate the affiliations. +\end{enumerate} +See the front matter of this document for examples. +You are recommended to conform your choice to the journal you +are submitting to. + +\section{Bibliography styles} + +There are various bibliography styles available. You can select the +style of your choice in the preamble of this document. These styles are +Elsevier styles based on standard styles like Harvard and Vancouver. +Please use Bib\TeX\ to generate your bibliography and include DOIs +whenever available. + +Here are two sample references: +\cite{Fortunato2010} +\cite{Fortunato2010,NewmanGirvan2004} +\cite{Fortunato2010,Vehlowetal2013} + +\section{Floats} +{Figures} may be included using the command,\linebreak +\verb+\includegraphics+ in +combination with or without its several options to further control +graphic. \verb+\includegraphics+ is provided by {graphic[s,x].sty} +which is part of any standard \LaTeX{} distribution. +{graphicx.sty} is loaded by default. \LaTeX{} accepts figures in +the postscript format while pdf\LaTeX{} accepts {*.pdf}, +{*.mps} (metapost), {*.jpg} and {*.png} formats. +pdf\LaTeX{} does not accept graphic files in the postscript format. + +\begin{figure} + \centering + \includegraphics[width=.9\columnwidth]{figs/cas-munnar-2024.jpg} + \caption{The beauty of Munnar, Kerala. (See also Table \protect\ref{tbl1}).} + \label{FIG:1} +\end{figure} + + +The \verb+table+ environment is handy for marking up tabular +material. If users want to use {multirow.sty}, +{array.sty}, etc., to fine control/enhance the tables, they +are welcome to load any package of their choice and +{cas-dc.cls} will work in combination with all loaded +packages. + +\begin{table}[width=.9\linewidth,cols=4,pos=h] +\caption{This is a test caption. This is a test caption. This is a test +caption. This is a test caption. Use \{table*\} instead of \{table\} if you +want a two column spanned table.}\label{tbl1} +\begin{tabular*}{\tblwidth}{@{} LLLL@{} } +\toprule +Col 1 & Col 2 & Col 3 & Col4\\ +\midrule +12345 & 12345 & 123 & 12345 \\ +12345 & 12345 & 123 & 12345 \\ +12345 & 12345 & 123 & 12345 \\ +12345 & 12345 & 123 & 12345 \\ +12345 & 12345 & 123 & 12345 \\ +\bottomrule +\end{tabular*} +\end{table} + +\section[Theorem and ...]{Theorem and theorem like environments} + +{cas-dc.cls} provides a few shortcuts to format theorems and +theorem-like environments with ease. In all commands the options that +are used with the \verb+\newtheorem+ command will work exactly in the same +manner. {cas-dc.cls} provides three commands to format theorem or +theorem-like environments: + +\begin{verbatim} + \newtheorem{theorem}{Theorem} + \newtheorem{lemma}[theorem]{Lemma} + \newdefinition{rmk}{Remark} + \newproof{pf}{Proof} + \newproof{pot}{Proof of Theorem \ref{thm2}} +\end{verbatim} + + +The \verb+\newtheorem+ command formats a +theorem in \LaTeX's default style with italicized font, bold font +for theorem heading and theorem number at the right hand side of the +theorem heading. It also optionally accepts an argument which +will be printed as an extra heading in parentheses. + +\begin{verbatim} + \begin{theorem} + For system (8), consensus can be achieved with + $\|T_{\omega z}$ ... + \begin{eqnarray}\label{10} + .... + \end{eqnarray} + \end{theorem} +\end{verbatim} + + +\newtheorem{theorem}{Theorem} + +\begin{theorem} +For system (8), consensus can be achieved with +$\|T_{\omega z}$ ... +\begin{eqnarray}\label{10} +.... +\end{eqnarray} +\end{theorem} + +The \verb+\newdefinition+ command is the same in +all respects as its \verb+\newtheorem+ counterpart except that +the font shape is roman instead of italic. Both +\verb+\newdefinition+ and \verb+\newtheorem+ commands +automatically define counters for the environments defined. + +The \verb+\newproof+ command defines proof environments with +upright font shape. No counters are defined. + +\begin{figure*} + \centering + \includegraphics[width=.9\textwidth]{figs/cas-munnar-2024.jpg} + \caption{The beauty of Munnar, Kerala. (See also Table \protect\ref{tbl1}).} + \label{FIG:2} +\end{figure*} + + +\section[Enumerated ...]{Enumerated and Itemized Lists} +{cas-dc.cls} provides an extended list processing macros +which makes the usage a bit more user friendly than the default +\LaTeX{} list macros. With an optional argument to the +\verb+\begin{enumerate}+ command, you can change the list counter +type and its attributes. + +\begin{verbatim} + \begin{enumerate}[1.] + \item The enumerate environment starts with an optional + argument `1.', so that the item counter will be suffixed + by a period. + \item You can use `a)' for alphabetical counter and '(i)' + for roman counter. + \begin{enumerate}[a)] + \item Another level of list with alphabetical counter. + \item One more item before we start another. + \item One more item before we start another. + \item One more item before we start another. + \item One more item before we start another. +\end{verbatim} + +Further, the enhanced list environment allows one to prefix a +string like `step' to all the item numbers. + +\begin{verbatim} + \begin{enumerate}[Step 1.] + \item This is the first step of the example list. + \item Obviously this is the second step. + \item The final step to wind up this example. + \end{enumerate} +\end{verbatim} + +\section{Cross-references} +In electronic publications, articles may be internally +hyperlinked. Hyperlinks are generated from proper +cross-references in the article. For example, the words +\textcolor{black!80}{Fig.~1} will never be more than simple text, +whereas the proper cross-reference \verb+\ref{tiger}+ may be +turned into a hyperlink to the figure itself: +\textcolor{blue}{Fig.~1}. In the same way, +the words \textcolor{blue}{Ref.~[1]} will fail to turn into a +hyperlink; the proper cross-reference is \verb+\cite{Knuth96}+. +Cross-referencing is possible in \LaTeX{} for sections, +subsections, formulae, figures, tables, and literature +references. + +\section{Bibliography} + +Two bibliographic style files (\verb+*.bst+) are provided --- +{model1-num-names.bst} and {model2-names.bst} --- the first one can be +used for the numbered scheme. This can also be used for the numbered +with new options of {natbib.sty}. The second one is for the author year +scheme. When you use model2-names.bst, the citation commands will be +like \verb+\citep+, \verb+\citet+, \verb+\citealt+ etc. However when +you use model1-num-names.bst, you may use only \verb+\cite+ command. + +\verb+thebibliography+ environment. Each reference is a\linebreak +\verb+\bibitem+ and each \verb+\bibitem+ is identified by a label, +by which it can be cited in the text: + +\noindent In connection with cross-referencing and +possible future hyperlinking it is not a good idea to collect +more that one literature item in one \verb+\bibitem+. The +so-called Harvard or author-year style of referencing is enabled +by the \LaTeX{} package {natbib}. With this package the +literature can be cited as follows: + +\begin{enumerate}[\textbullet] +\item Parenthetical: \verb+\citep{WB96}+ produces (Wettig \& Brown, 1996). +\item Textual: \verb+\citet{ESG96}+ produces Elson et al. (1996). +\item An affix and part of a reference:\break +\verb+\citep[e.g.][Ch. 2]{Gea97}+ produces (e.g. Governato et +al., 1997, Ch. 2). +\end{enumerate} + +In the numbered scheme of citation, \verb+\cite{