Open jjonkman opened 2 years ago
See also #983.
Hey Andy and Jason,
I'm working with a floating model with structural controllers requiring 3 correction steps. With fewer, it fails after the same number of timesteps, regardless of the time step length. In this model, the structural controllers' mass is slightly more than the mass of the platform in ElastoDyn. SubDyn is not used.
I figured I would note it here. I probably shouldn't share the model publicly, but I can make it available internally for testing if needed.
Best, Dan
Is your feature request related to a problem? Please describe. The OpenFAST glue code makes use of an implicit loose coupling scheme based on a predictor-corrector solution algorithm, with the number of correction steps defined by the user (
NumCrctn
). WhenNumCrctn
= 0, the coupling is explicit (with no correction step). There is typically a tradeoff between using a smaller time step (DT
) and adding a correction step (NumCrctn
> 0), and in most cases, we find it easier to setNumCrctn
= 0 and use a small enoughDT
to ensure numerical stability. However, there are a few situations where settingNumCrctn
>0 is required to ensure numerical stability; i.e., reducingDT
does not resolve an instability (no matter how smallDT
is set), but settingNumCrctn
>0 resolves the instability (settingNumCrctn
= 1 is typically sufficient). The two known situations where this problem exists are:This behavior is unexpected, and suggests that some reordering of the module calls in the calculate output step of the OpenFAST glue code could be rearranged to eliminate the need for the correction step.
Describe the solution you'd like We'd like for all OpenFAST models to achieve numerically stability by reducing
DT
alone, without requiringNumCrctn
>0.Describe alternatives you've considered The current workaround in these situations is to set
NumCrctn
>0.