WEC-Sim / WEC-Sim

Wave Energy Converter Simulator (WEC-Sim), an open-source code for simulating wave energy converters.
https://wec-sim.github.io/WEC-Sim
Apache License 2.0
149 stars 163 forks source link

Variable Step Solvers #90

Closed ImpulseResponseFunction closed 8 years ago

ImpulseResponseFunction commented 8 years ago

ODE4 seems to be WEC-Sim's default solver; can one readily use a variable step solver with WEC-Sim?

Does anyone know, offhand, if a variable step solver would cause WEC-Sim's convolution integral to give erroneous results. (Yeah, yeah, I know about WEC-Sim's state-space approximation ability for fluid memory effects)

ghost commented 8 years ago

WEC-Sim should run with variable time step, but as you point out the convolution calculation would be erroneous. I believe that is the only part of the code that requires constant time-step. So you should be able to use variable time-steps for 'regular' and 'noWave' cases, or with any other case using the state-space implementation. I have never tried any of this, but you could check that this is the case by running the same simulation with constant and variable time-steps and comparing the radiation damping forces.

If you look into this more, feel free to share your findings here, I am sure other people would be interested in running variable time-step.

kmruehl commented 8 years ago

I second Carlos' assessment. The only part of the WEC-Sim code that requires a fixed time-step is the convolution integral, so if you run with code without 'CIC' you should be able to run variable time-step without issue. The 'regular', 'noWave' wave classes should all work, but 'noWaveCIC'. 'regularCIC' and 'irregularCIC' will have errors, unless you run them with state space