-
Notifications
You must be signed in to change notification settings - Fork 507
Add SoilDyn to dev-tc #3126
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
base: dev-tc
Are you sure you want to change the base?
Add SoilDyn to dev-tc #3126
Conversation
-- update calcoutput and add a routine to get the stiffness matrix
Added regression_test_controllers target as it was mistakenly removed
Reverted changes made in attempt to get SoilDyn regression tests to pass. May be good to revisit these changes later.
This code was added for SoilDyn but was applied to all SubDyn cases. This change moves the code inside the related SubDyn block and only applies it if SoilDyn is enabled.
… load calculation. Hydrodyn doesn't need hydrostatic loads when calculating dYdu and perturbing velocities/accelerations. Resulted in 20% speedup.
…rID_None when entering the function. Therefore, each function doesn't need to set ErrMsg = "" at the beginning which reduces some overhead.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.
Pull request overview
This PR integrates the SoilDyn module into the OpenFAST dev-tc branch. SoilDyn was originally developed for OpenFAST 3.X as part of the OC6 project to model soil-pile interactions, specifically for coupling with the REDWIN DLL. This update adapts SoilDyn for the new glue code infrastructure.
Key Changes:
- Addition of SoilDyn module source files and build configuration
- Integration with FAST glue code for mesh mapping and module initialization
- New regression test case OC6_phaseII
- Updates to support Windows DLL loading for both SoilDyn and OrcaFlex
Reviewed changes
Copilot reviewed 42 out of 45 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| modules/soildyn/* | Complete SoilDyn module implementation including source, registry, driver, and I/O |
| vs-build/SoilDyn/* | Visual Studio project files for Windows builds |
| vs-build/RunRegistry.bat | Added SoilDyn to registry build script |
| modules/openfast-library/src/FAST_* | Glue code updates for SoilDyn integration and mesh mappings |
| modules/subdyn/src/SD_FEM.f90 | Logic to detect soil stiffness from SoilDyn |
| reg_tests/CTestList.cmake | New OC6_phaseII regression test |
| modules/wakedynamics/src/WakeDynamics.f90 | Fixed DCM_logMap function call signature |
| modules/seastate/src/SeaSt_WaveField.f90 | Removed redundant ErrMsg initializations |
| modules/nwtc-library/src/NWTC_Base.f90 | Improved error message concatenation logic |
| docs/source/install/index.rst | Renamed ORCA_DLL_LOAD to WIN_DLL_LOAD |
Comments suppressed due to low confidence (1)
modules/soildyn/src/driver/SoilDyn_Driver_Subs.f90:1
- Corrected spelling of 'WrsCr' to 'WrScr'.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
It looks good to me. Just a couple of comments:
|
This PR is ready to merge (supersedes #986)
Feature or improvement description
The SoilDyn module was developed as part of the OC6 project. It is designed specifically for coupling to the REDWIN dynamic linked library (DLL) for modeling soil-pile interactions. This set of DLL was developed by NGI in 2018 as part of the REDWIN project and includes three soil interaction models (https://www.ngi.no/eng/Projects/REDWIN-reduce-wind-energy-cost/#Reports-and-publications).
This module also supports a very simple soil stiffness interaction matrix, primarily for testing. There is a placeholder for a P-Y curve approach in the code, but this feature has not been fully developed.
Related issue, if one exists
Impacted areas of the software
Adds SoilDyn module and adds associated functions and meshes to
FAST_FuncsandFAST_Mapping.Additional supporting information
SoilDyn was originally developed for OpenFAST 3.X, but wasn't fully integrated. This PR updates SoilDyn for the new glue code.
Publications:
Test results, if applicable
A new test was added using a simple stiffness matrix. Unfortunately, the REDWIN DLL is proprietary and Windows only so it couldn't be integrated to the regression test suite.