Thanks, I'd be interested in that, although I think all my problems are with the model set up, I'm not attempting anything which requires particularly heavy processor firepower.
Well I thought I was getting somewhere, but now I'm not sure :-(
I've made a Jupyter notebook that will generate a mesh file for the rudder at various positions of steering and opening and closing. Eventually my plan is for it to run a sweep though different positions, working out the control force applied and the steering or reversing thrust generated and tweak design parameters (such as the length and shape of the rudder elements to) using an optimisation algorithm.
The problem is, none of the simulations really look at all realistic! Shown below you can see on the left with the steering in the straight ahead position and the rudder fully open (top), 50% closed (middle) and fully closed (bottom). On the top right it shows it fully open but steering over at 30 degrees. However the water coming out of what should effectively be a nozzle is not shooting out in that direction, it's turning and going the wrong way! Bottom right is a version with a really long nozzle and even there it's doing the same thing. The amount of recirculation through the prop is also utterly unrealistic. Also I can only get it to solve at all if I use a stupidly low pressure gradient across the prop, so the velocities are only tiny fractions of a m/s. If I try to raise the pressure gradient to drive more sensible velocities (my prop should throw the water backwards at about 5 m/s in real life) then it just doesn't solve at all.
I think my big problem is still how to model the prop. This pressure gradient approach just doesn't work. I need to model it as an actuation disk like this:
https://www.openfoam.com/documentation/guides/latest/doc/guide-fvoptions-sources-actuation-disk.html This basically monitors the incoming velocity and modifies (accelerates) it according to the Froude equation. It feels like this ought to be possible to do in Sparselizard in a few lines of code, but I just can't get my head around how! Please can you give me some clues for how I might at least start to tackle writing an actuator disc (or the 2D version of it anyway) in Sparselizard?
Thank you