-
Notifications
You must be signed in to change notification settings - Fork 184
Multiple wave-trains #1070
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple wave-trains #1070
Conversation
- modify bodyClass.m to have some properties public to be able to generate wave time-histories a priori, rather than during model run - add a function waveGen.m to generate the wave history for each wave object, - modify the body block to have multiple instances of excitation force blocks - each with their respective waves object, - modify reference force blocks to have a modified wave-markers implementation.
make waveClass compatible with the latest waveClass. only changes needed are to remove the protected status of the currently protected properties.
increase compatibility
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@salhus I did an initial review of this PR, but based on our discussion last week I think some changes are missing. Were there not significant changes to the bodyClass to give the excitation forces an additional dimension? I don't see any updates to the bodyClass right now. Let me know if I'm missing something here.
Noting a couple other things we should do:
-
Update
waves.markerin thewaveClassdefinition to include the new visualization parameters added to the library. Ensure the documentation reflects the new parameters too -
Move
waveGroupto awaves()variables. This simplifies the workflow for the user and allows us to utilize thewaves.setup()function already ininitializeWecSim. I started working on this, but got stuck on thebodyClass.hydroForcePrecalculations. -
Add several checks on the
waves(orwaveGroup) variable. Users should only be able to define multiple waves of the same type and convolution method, or else the hydroForce parameters will not be accurate. Some of these checks can go inwaves.checkInputs() -
I'll make a PR into your branch that makes progress on the second point above. See https://github.com/salhus/WEC-Sim/pull/10
Updates waveGroup to waves
|
@akeeste I reviewed your changes and seems to resolve the comments you had about the data management and how the multiple instances of waves are being handled. |
This PR introduces the capability to have multiple wave fronts each with their own wave-heights, wave-periods, direction, and spreading. Each wave-train is used to calculate its respective wave excitation forces by using code-generation to have an additional instance of wave-excitation force block. The wave-trains that shall be used in the simulation are defined using 2 steps,
An example is available here https://github.com/salhus/WEC-Sim_Applications/tree/N-wave-Example.
Use the 'Passive_Yaw_with_N_Waves' example to see a demo.
Relevant documentation is under development.
relates to https://github.com/WEC-Sim/WEC-Sim/projects/58#card-64154778