SNL-WaterPower / WecOptTool-MATLAB

WEC Design Optimization Toolbox
GNU General Public License v3.0
12 stars 9 forks source link

flapping device #170

Closed ryancoe closed 3 years ago

ryancoe commented 4 years ago

Description

A bottom fixed flapping device (e.g., Oyster). I am leveraging gmsh for this, which is something that I've been wanting to do for some time (see #118).

image

Fixes #156

Checklist:

H0R5E commented 4 years ago

So, I have Gmsh set up in a similar way to Aximesh now, and it produces similarly formatted meshes, as so:

flapper

Next job is to modify the NEMOH solver routine to allow different degrees of freedom to be simulated.

EDIT: Before that I need to add something to show the normals, to check that the node numbering is in the correct order.

ryancoe commented 4 years ago

You can look at the mesh normals in gmsh... this may be helpful -- you may be able to do a system call to do this.

ryancoe commented 4 years ago

Looks like the normals on one face are point in

image

ryancoe commented 3 years ago

@H0R5E - I've started playing with this, but haven't really found any bugs yet. I did some restructuring in a separate branch (https://github.com/ryancoe/WecOptTool/pull/2). I think the designDevice function should be the only place that you pass the device dimensions.

one thing I've noticed is that Nemoh cannot seem to run with depth < 10. I'm guessing there's probably some hard coding that's creating a problem.

H0R5E commented 3 years ago

I think the designDevice function should be the only place that you pass the device dimensions.

I think this issue stems from no concept of the "device" any more. The design parameters of the device are effectively global now. You can stick more and more into the Hydrodynamics class, but it will lose its sense of purpose and you might as well change its name to something more generic (such as Device?). Also the meaning of m will be different depending on the class of device, so perhaps warrants subclasses?

EDIT: Probably, the middle ground is just to take the mass / MoI as an input to simulateDevice and worry about how it is calculated elsewhere.

one thing I've noticed is that Nemoh cannot seem to run with depth < 10. I'm guessing there's probably some hard coding that's creating a problem.

That is odd. I will see if I can confirm it.

H0R5E commented 3 years ago

So, the problem with NEMOH not calculating with depth < 10 was that the mesh generation was not being updated alongside the NEMOH config (the bottom centre of the flap is placed at (0, 0, -depth). Therefore, the flap was being placed below the seabed and NEMOH must not like that.

H0R5E commented 3 years ago

@ryancoe, do you think the issue could be where the excitation force is applied? Where is NEMOH applying the forces, at the centre of mass? But then don't we have to do something about considering where the PTO acts?

EDIT: Actually, I am requesting the moment at the base of device. Perhaps this is the issue, wouldn't it be infinitely big at the point of rotation itself?

EDIT2: Tomorrow I will try requesting the forces not at the point of rotation and see what happens.

H0R5E commented 3 years ago

OK, I think that was a bit of a red herring, I am basically following the procedure here for setting up the case, where the calculation and rotation points are coincident.

From that page, I am struggling to interpret what "moment force along y axis" means. Is "moment force" the torque and does "along y axis" mean it is calculated at the origin? Do we need to scale it, perhaps?

EDIT: Yes, I think there is a good chance this is what is happening. I varied the depth of water for the same sized flap and got these results:

           AvgPow     |MaxPow|     PowTHD_dBc    MaxPos    MaxVel       MaxPTO  
           ______    __________    __________    ______    _______    __________

     -9    -26184    7.4173e+05       NaN        1.1274    0.67645    2.1156e+06
    -10    -30928    1.6164e+06       NaN        2.0519    1.2312     2.5756e+06
    -11    -35854    5.1083e+06       NaN        4.4137    2.6482     3.8308e+06

So, perhaps we should scale it to the z-value of the centre of mass?

EDIT 2: After scaling the torque to be applied at the centre of mass, I get the following results:

           AvgPow     |MaxPow|     PowTHD_dBc    MaxPos    MaxVel       MaxPTO  
           ______    __________    __________    ______    _______    __________

     -9    -2020.3     57232         NaN        0.31317    0.1879     5.8766e+05
    -10    -1933     1.0102e+05      NaN        0.51298    0.30779    6.4389e+05
    -11    -1852     2.6386e+05      NaN        1.0031     0.60186    8.7065e+05

It makes sense to me that the average power increases as the depth reduces, as linear waves are more powerful near the surface. I'm sort of surprised that all the other metrics reduce. These values seem more in the ballpark, at least.

ryancoe commented 3 years ago

We should confirm that they way we are setting up the problem and interpreting the results from NEMOH are consistent with what's been done here:

H0R5E commented 3 years ago

So, it looks like the measurements were taken at the origin for the WAMIT run for OSWC. So I guess that confirms that NEMOH is also outputting results measured at the origin (you can't set the equivalent WAMIT XFIELD value), although for some reason they were also measuring the values 0.5m off the body surface (in x) in WAMIT. They don't make any effort to translate these values into any power measurement, it's just a like for like comparison.

H0R5E commented 3 years ago

OK. so the power per wave front of a linear wave is:

So, for and we get . For a 10m width of device, that would be 3830W, so we're seeing a conversion ratio of 52% which doesn't seem too bad to me, given the device is 4m+ below the sea surface.

ryancoe commented 3 years ago

Can you find the capture width agains the limit for a pitching device (Falnes Sec. 6.4.2)?

H0R5E commented 3 years ago

There is equation 6.108, but I'm not sure what is. In the following paragraph it suggests that the absorption would be between 50 and 100% (salters duck is 80% apparently), but I guess that doesn't account for depth variation.

H0R5E commented 3 years ago

Moved branches and reopened in #207