-
Notifications
You must be signed in to change notification settings - Fork 46
Vortex Induced Vibrations and Viscoelastic model for MoorDyn-C #295
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
Vortex Induced Vibrations and Viscoelastic model for MoorDyn-C #295
Conversation
…VIV synch model params
…s non-zero, added viscoelastic test based on polyester test
|
Some more notes: I disabled all output time printing for the tests so that the logs are much easier to read. Also I adjusted spacing in messages printed by wavekin. |
|
@sanguinariojoe, this is ready for review when you get a chance. Also, any ideas of why tests are failing on Windows and Ubuntu but passing on MacOS? I am assuming some compiler differences, could it be an uninitialized variable or something similar? |
Yep, you have memory errors. I am checking them |
|
@RyanDavies19 I marked you all the memory errors I have found. After fixing them, all the tests are completely clean of mem errors. Regarding the time_schemes test, I would say it is just machine epsilon level errors. I have been prompting the states of the offending time integrator every single iteration, and everything is identical up to t = 0.0377 (29 steps).
fixes the problem on Linux. |
|
By some form of dark magic I don't understand, a5aacc3 seemed to fix the failing windows test. This is ready to merge after you review @sanguinariojoe. |
|
Everything looks fine on my side. I was just checking that the IC is not messing up, but it seems that you have it well controlled with the IC_gen and t_old vars. So green light from my side, you can merge |
Great thanks, merging! Yeah without the IC_gen flag and t_old it would never initialize in steady state because of the quasi-chaotic nature of the model (especially when currents were involved). It does mean that the first few seconds of a simulation with VIV will show the model kicking in and the system approaching a lock-in state. |
|
Linking the pre-print of the theory paper for the VIV model: https://dx.doi.org/10.2139/ssrn.5445966 |
This is the flexstate compatible version of #290. Thanks for all the help @sanguinariojoe!
New Features
This work contains two new features. Theory papers will be linked to this PR when publicly available.
The documentation updates reflect the input file changes that enable these new features. Other minor changes are:
State Approach
See #291. A note on the size of the line state instance: This implementation means that when simulating viscoelastic only, the line state instance is Nx7, when simulating VIV only N-1x7 and when simulating both VIV and viscoelastic Nx8. This does introduce unused spaces in the matrix, notably with the viscoelastic model. Indexing of the matrix is as follows (from comments in
Line::setState):This addresses the conversation started in #261 and #269 (comment).
Viscoelastic Verification
To verify the viscoelastic model, we replicated the results seen in OpenFAST/openfast#2459. This test introduced sinusoidal oscillations at different displacements to test the dynamic stiffness response. The figures below show the strain as a function of time and the stress strain curve from this test. The viscoelastic model impact on the dynamic stiffness is clear, at larger strains the line has a higher dynamic stiffness. This test has been added to the polyester tests.


TODO: