-
Notifications
You must be signed in to change notification settings - Fork 455
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
MoorDyn v2 + shared moorings + wave propagation in FAST.Farm #1086
Conversation
- Tension amplitudes were sometimes changing, typically at 512 s. - This was likely caused by use of single-precision time variable with MD_Input_ExtrapInterp. - All time variables are now double precision, solving the problem.
…CF-mods2 - This brings in the initial active tension capability and the MoorDyn driver. - Much of this will be overwritten shortly by MoorDyn v2 code.
… changes and to hard-code a simple wave kinematics grid to pass this info to MoorDyn for buoyancy cans.
… turbine positions: - New variable WaveFieldMod is passed through FAST.Farm into each OpenFAST instance to each HydroDyn module where it can adjust phases in the complex wave elevation amplitudes in Waves and Waves2. - This adds a new line for Mod_WaveField below the line for Mod_AmbWind in the FAST.Farm primary input file: - Mod_WaveField Wave field handling (-) (switch) {1: use individual HydroDyn inputs without adjustment, 2: adjust wave phases based on turbine offsets from farm origin}
…e. Still some things to work out for buoyancy can applications.
… parameters of the Waves module. This makes it quicker to adjust the grid settings and recompile. Also fixed the allocation oversight that prevented WaveMod=0 cases from running (given this wave grid functionality).
…locating all mooring models' inputs.
- Solved memory bug in WameMod=0 case by reordering htings. - Removing unnecessary USE WAVES and specifying "only..." in MD. - In MD, now using WaveTimes array rather than (J-1)*dtWave. - Fixed error in MD Rod Froude Krylov force calculation (was 50% too small)
This brings the latest TCF-mods2 work along with everything else in dev into the MoorDyn v2 branch.
…t/openfast into MDv2 - Not yet tested. Need to resolve some compile issues first.
- Set up new control section in MoorDyn input file parsing. - A couple adjustments to stage-setting for future farm-level mooring capability with FAST.Farm.
- Created a MoorDyn instance in FAST.Farm that can do array-level moorings. - Modified MoorDyn to take an array of all platform-related inputs/outputs. - In normal MoorDyn use in FAST, only the first entry of these arrays is used. - in FAST.Farm use of the farm-level MoorDyn, the arrays are size nTurbines and they facilitate coupling with each turbine. - Modified FAST_Solver etc. to support the new array format - Various modifications in FAST.Farm to support the farm-level mooring capability. - New MoorDyn coupling functions are in FAST_Farm_Subs. - Made a separate workflow in FARM_UpdateStates to support the necessary substepping between all FAST instances and MoorDyn, at new introduced timestep DT_mooring, which is between DT_low and DT_FAST. Included a modified OpenMP nested parallel approach to keep the FAST instances in parallel while having a longer-term parallel AWAE call. - Some bugs still. Currently hitting a mesh issue with the farm-level MoorDyn mesh mapping I set up. "MD_2_FWrap:MeshMapCreate:MeshMap%MapLoads not allocated because no nodes were found to map."
If a turbine is using SubDyn, the shared moorings connection will be to the platform reference point and not the SubDyn structure. This can lead to some incorrect behaviour if the mooring connections need to be at points on a flexible platform.
Merge dev into MDv2-farm to update MDv2-farm in preparation for merging into dev for v3.3
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.
I have reviewed various sections of this source code update before and I'm generally happy with that. I am interested in reviewing the updated documentation once that has been added.
Rather than porting everything over, we are simply linking to the other set of documentation that goes with the MoorDyn C++ version.
Not sure it was necessary to really spell out all the MD changes, but I did anyhow
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.
This documentation looks like a great start; thanks!
@jjonkman, I added some documentation viewable here:
|
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.
There are certainly more changes that could be made to the FAST.Farm theory section for the shared moorings code, but that is probably asking too much at this point. I approve.
This pull request can be merged once tests are finalized.
Feature or improvement description
This pull request introduces MoorDyn v2 (a massive increase in mooring modeling capabilities) and updates to FAST.Farm to better model floating wind farms including with shared mooring systems.
MoorDyn improvements:
FAST.Farm improvements:
Impacted areas of the software
Additional supporting information
This is an updated PR of postponed PRs #750 and #747 along with many improvements done for various NOWRDC and ATLANTIS projects since then.
Dependencies
This depends on PR #999
Test results, if applicable
TBD
ToDo
api_change.rst