|
[Sponsors] |
[solids4Foam] FSI simulation of a Wind Turbine |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 25, 2020, 05:06 |
FSI simulation of a Wind Turbine
|
#1 |
New Member
Dinmukhamed
Join Date: Nov 2020
Posts: 4
Rep Power: 5 |
Dear all,
I am trying to perform an FSI simulation of a Wind Turbine, and, during my search for appropriate tool, I found solids4foam by Dr. Cardiff. I've build my case based on tutorials, which were included with the solids4foam, and I faced some difficulties. Here are some information about my setup: 1) The solids4foam was built on foam-extend 4.1 2) I am using full rotor model of the NREL 5MW wind turbine Further, I will explain the difficulties, which I faced: 1) Aligning fluid and solid models. In all solids4foam tutorials, the models were created using blockMesh and they are perfectly align with each other. However, I am studying blades, which have complex structure and they are much harder to align perfectly. I've used ANSYS fluent and snappyHexMesh to create a mesh, but using both methods gave me the following error: Code:
--> FOAM FATAL ERROR: ZoneA and zoneB interfaces are not conformal (zoneA patch = interface, zoneB patch = interface) directMap method requires conformal interfaces! From function directMap::checkZoneSizes() const in file fluidSolidInterfaces/fluidSolidInterface/interfaceToInterfaceMapping/directMapInterfaceToInterfaceMapping/directMapInterfaceToInterfaceMapping.C at line 65 RBF interpolation: Code:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted Code:
--> FOAM FATAL ERROR: Master point addressing is not correct From function GGIInterpolation::masterToSlavePointInterpolate(const Field<Type> pf) in file /home/dimash/foam/foam-extend-4.1/src/foam/lnInclude/GGIInterpolation.C at line 492. FOAM aborting Aborted I attached the figure with fluid model, solid model, and an overlap of the two models: model.PNG 2) Rotating and deforming at the same time. As I understand, solids4foam uses dynamicMotionSolverFvMesh to deform the mesh, but to simulate rotation effect I should use different dynamicFvMesh parameter. Is it possible to simulate a rotation effect with two way FSI without changing the source code, or I need to modify it? Thank you in advance Best regards, Dinmukhamed |
|
November 25, 2020, 06:59 |
|
#2 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Hi Dinmukhamed,
This looks like an interesting problem. I have a few comments:
Philip |
|
November 26, 2020, 09:02 |
|
#3 |
New Member
Dinmukhamed
Join Date: Nov 2020
Posts: 4
Rep Power: 5 |
Thank you for your reply,
I've tried to do what you suggested: 1) I've tried to build the solids4foam on foam-extend 4.0 and both com and org versions of OpenFoam, but I did not succeed in it. Is foam-extend 4.0 better than 4.1 or I can continue to work on the current version? 2) As you suggested, now I am testing the case on a tip of the blade. I am also turning coupling after some simulation time. 3) The GGI interpolation works for me, but now I have a floating point error. I will add the log file to this post. When I set the wind speed to 0, this error disappears. As I understand, this problem may be caused by inaccurate calculation of forces, acting on a solid model. Can you suggest how to fix it? I will try to enhance both fluid and solid meshes and see will it help or not. The log file: log.solids4Foam.txt Best regards, Dinmukhamed |
|
December 1, 2020, 12:55 |
|
#4 | |||
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Quote:
Quote:
Quote:
Philip |
||||
December 18, 2020, 03:53 |
|
#5 |
New Member
Dinmukhamed
Join Date: Nov 2020
Posts: 4
Rep Power: 5 |
After performing multiple simulations and testing different models, I successful run an FSI simulation of a wind turbine, but I am still struggling with rotational part.
The progress in FSI: 1) The main problem was poor quality of the solid mesh. I used snappyHexMesh to create better solid mesh and now everything works fine with both linear and non-linear deformation.I am still struggling with implementing rotation to the FSI simulation. Can you suggest what I should do? At this moment I found following: The deformation is controlled by dynamicFvMesh dynamicMotionSolverFvMesh from the dynamicMeshDict file. The rotation is controlled by dynamicFvMesh turboFvMesh from the same file. In order to have both deformation from FSI and rotation effect, I should combine both of the dynamic solvers.Should I change the source code and to implement my own dynamic solver or I can somehow rotate the cellZone with FSI deformation with existing tools? Thank you in advance Update (20.12.2020): I've tried to a 2D simulation with fixedRotation boundary condition at solid part, however my solid model is not rotating. I will continue to search for possible solutions. Sincerely, Dinmukhamed Last edited by Dimash; December 20, 2020 at 09:30. |
|
January 28, 2021, 18:07 |
|
#6 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Hi Dinmukhamed,
Glad to hear that you have made progress. Thanks for your sharing your experience and giving tips. As regards rotation, can you give more details? Do you mean that you would like to apply a rotation boundary condition to the root of the blade? If so, then you need to apply a rotation boundary condition ("fixedRotation" is an option) to the solid at the blade root (the solid does not have a mesh motion solver as it uses a Lagrangian approach), and then you need to make sure the fluid mesh motion solver is capable of letting the fluid mesh be "pushed" around or even to specify the rotation of part of it. I suggest creating a simple representative test case, probably 2-D to check it works. Philip |
|
May 3, 2021, 07:23 |
|
#7 |
New Member
Dinmukhamed
Join Date: Nov 2020
Posts: 4
Rep Power: 5 |
Dear Philip,
Thank you for your response. I've tested a lot of possible implementations and this is what I found: 1) The solid part could be rotated using dynamicFvMesh solidBodyMotionFvMesh. I am not sure this is physically accurate, but simulations show accurate blade deformation due to gravitational acceleration when rotated with dynamicFvMesh solidBodyMotionFvMesh. I tried to rotate with staticFvMesh and applying fixed rotation to the hub of a wind turbine, but it looks like hub is rotated, but blades stay fixed. You can se it in the following figure, where white model is a simplified solid model of a wind turbine blade, and blank spots in the background show where blades should be located: blade_not_follow.jpg 2) I've created a simple case to test the "pushing". The circular mesh is connected to the rest with GGI, and the solid model (white block): simple_before.jpg However, block rotation makes the whole mesh to deform, ever if two fluid meshes are not connected: simple_after.jpg I tried to specify the deformation region, but I did not find how to do it. 3) I've successfully simulated one-way FSI by generating wind turbine geometry with blockMesh. This solved almost all problems with interpolation from fluid to solid domains. Now I am switching to two-way FSI. If I understand correctly, the only way to rotate fluid mesh and to deform it is to write new dynamicFvMesh, which combines both rotation effect and deformation due to FSI. I want to ask you following questions: 1) Is it possible to specify which fluid regions are deformed during FSI and can I somehow fix the deformation at some distance from fluid-solid interface (to keep boundary layers untouched)? 2) Is creating new dynamicFvMesh solver is correct approach in my situations? I tried to rotate the fluid mesh only with solid "pushing" fluid, but the solid blade ends up with pushing the whole mesh, not only rotating region. Sincerely, Dinmukhamed |
|
May 12, 2021, 13:57 |
|
#8 |
Super Moderator
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,093
Rep Power: 34 |
Hi Dinmukhamed,
For point 1), moving the solid mesh independently of the cell-centred displacement field does not really make sense, since they should come from the same displacement field. And this displacement field should satisfy conservation of momentum. You could just prescribe the solid mesh motion and cell-centred displacements (i.e. rigid rotation) but then there is no need to solve the solid equations since you already know the deformation. I am not sure I understand why the approach does not work when you apply a rotation boundary condition to the displacement field at the hub. It might be useful to set up a solid-only model of one blade with a rotation applied at the hub and then check it deforms as expected. If this works then it should be possible to get it working with FSI. For point 2), I believe there is some way to specify the rotation of a mesh region but I don't know off hand; see if Google can help For your question 1 at the end: this is controlled by the fluid dynamic mesh; there should be some dynamic meshes the allow this. For your question 2 at the end: this will depend on whether or not you can find an existing dynamic mesh the is suitable or not. if not then yes you could create one. Philip |
|
September 27, 2021, 13:40 |
|
#9 |
New Member
Philipp Conen
Join Date: Jul 2021
Location: Germany, NRW
Posts: 22
Rep Power: 5 |
Dear Foamers,
I am really happy reading this thread, because I nearly want to achieve the same. In detail I would like to simulate a 3D aircraft wing, which is rotating in a customized pattern surrounded by fluid in a 2-way-fsi. I would like to kindly ask if the mentioned simulation went well and if there is an existing minimal example which I could use as origin for my model. Even if it's not, I would be really happy about any information regarding this topic. If I understood you in the right way, I should start by trying to let the solid mesh rotate, correct? So what about to change the dynamicMeshDict of the solid: Code:
dynamicFvMesh staticFvMesh; Code:
dynamicFvMesh solidBodyMotionFvMesh; //solidBodyMotionFvMesh; motionSolverLibs ( "libfvMotionSolvers.so" ); /* motionSolver solidBody; cellZone interior-fluid_rotate_s1; solidBodyMotionFunction rotatingMotion; origin (0.021 0 0); axis (0 0 1); omega 1; // rad/s */ solidBodyMotionFvMeshCoeffs { cellZone fluid_rotate; solidBodyMotionFunction rotatingMotion; rotatingMotionCoeffs { origin (0.021 0 0); axis (0 0 1); omega 200; // rad/s } } |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Torque of wind turbine simulation | caohan | FLUENT | 8 | August 12, 2014 00:01 |
Simulation of fan Vs wind turbine | mohammad | Main CFD Forum | 0 | November 5, 2013 09:43 |
Wind turbine simulation problem | sanchovg2 | STAR-CCM+ | 12 | March 5, 2013 05:18 |
[ANSYS Meshing] 3d wind turbine mesh for multiphase simulation | mingersai | ANSYS Meshing & Geometry | 0 | January 17, 2012 19:20 |
3D simulation of wind turbine in Yaw wind(in a lateral wind) | mohammad | Main CFD Forum | 0 | December 28, 2010 04:26 |