CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Compute forces and moments with the Actuator Disk and Rotor Disk models in OpenFoam-9

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 21, 2022, 06:57
Default Compute forces and moments with the Actuator Disk and Rotor Disk models in OpenFoam-9
  #1
New Member
 
Jules Guyon
Join Date: Jun 2022
Posts: 2
Rep Power: 0
julesguyon is on a distinguished road
Hello !

I'm using OpenFoam-9 to evaluate the power generated by wind turbines modelled with the Actuation Disk model and the Rotor Disk model. I'm working in stationnary state using simpleFoam. I defined those model within the topoSetDict dictionary as cellZoneSet and i would like to compute axial and tangential forces and moments acting on those cellZoneSet.

I saw that solvers in OpenFoam offer a postProcess utility with function objects such as forcesIncompressible which seems to be the best thing to use in my problem. However, using forcesIncompressible in the controlDict dictionary requires a list of patches and Actuation Disk or Rotor Disk (cellZoneSet) seem not to be patches, or at least I did not find which type of patches. I saw that patches were defined in polyMesh/boundary but then i still don't know which is the type of patch to choose.

Thus, is there a way to use the postProcess utility and forcesIncompressible function for the Actuation Disk and the Rotor Disk and, if yes, how to do it properly ? Other use, could someone give me a hint of how to get compute forces for the Actuation and Rotor Disk model in OpenFoam ?

If any of you have suggestions, i would be very grateful for the help.

Kind regards,
Jules GUYON
julesguyon is offline   Reply With Quote

Old   June 23, 2022, 09:58
Default
  #2
New Member
 
ShyamVK
Join Date: Oct 2021
Posts: 2
Rep Power: 0
shyamvk is on a distinguished road
Quote:
Originally Posted by julesguyon View Post
Hello !

I'm using OpenFoam-9 to evaluate the power generated by wind turbines modelled with the Actuation Disk model and the Rotor Disk model. I'm working in stationnary state using simpleFoam. I defined those model within the topoSetDict dictionary as cellZoneSet and i would like to compute axial and tangential forces and moments acting on those cellZoneSet.

I saw that solvers in OpenFoam offer a postProcess utility with function objects such as forcesIncompressible which seems to be the best thing to use in my problem. However, using forcesIncompressible in the controlDict dictionary requires a list of patches and Actuation Disk or Rotor Disk (cellZoneSet) seem not to be patches, or at least I did not find which type of patches. I saw that patches were defined in polyMesh/boundary but then i still don't know which is the type of patch to choose.

Thus, is there a way to use the postProcess utility and forcesIncompressible function for the Actuation Disk and the Rotor Disk and, if yes, how to do it properly ? Other use, could someone give me a hint of how to get compute forces for the Actuation and Rotor Disk model in OpenFoam ?

If any of you have suggestions, i would be very grateful for the help.

Kind regards,
Jules GUYON
Maybe not a direct solution, but have you tried turbinesfoam?
shyamvk is offline   Reply With Quote

Old   June 29, 2022, 09:36
Default
  #3
New Member
 
Jules Guyon
Join Date: Jun 2022
Posts: 2
Rep Power: 0
julesguyon is on a distinguished road
Hi !

Thank you for you reply. I did not try turbinesFoam so then i visited the github web page for turbinesFoam. I saw that they defined a function named calculateForce in turbinesFoam/src/fvOptions/actuatorLineSource/actuatorLineElement/actuatorLineElement.H but i could not find where the calculation is done.

In the meantime, I thought of different ways to calculate the power extracted by the Actuator Disk :
  • the difference of integrated ((static pressure * rho + reference pressure) * surfaceNormals) * mean speed between the front face of the disk and the back face (calculation in paraFoam). However, I do not know where should i consider the front/back faces for the calculation (directly on the front/back faces or rather a bit before and after the front/back faces)?
  • the difference of dynamic pressure (=0.5*rho*u²)*mean speed far upwind and far downwind of the disk (calculation in paraFoam). Again, at which distance from the disk should I compute those values ?
  • compute the axial induction factor = a = (mean speed far upwind - mean speed in the disk)/mean speed far upwind and then compute Cp = 4a(1-a)² and Ct=4a(1-a). This method was used in https://ntnuopen.ntnu.no/ntnu-xmlui/...pdf?sequence=1 and is the best solution that I know at the moment.
  • using forcesIncompressible in the postProcess utility ? But for this, it seems that patches on which forces are applied are required and the Actuator Disk model is not a patch but rather a cellZone.
  • another way already offered by Openfoam ? Like in the postProcess utility or by creating a field? Just some guesses


By the way, i have another issue concerning the Rotor Disk model. Fortunately, there is an effective power calculation at each time step done by Openfoam. However, i'm absolutely stuck on how to model the hub of the rotor (rotating part in the center of the rotor linking the blades). I have defined my blade geometry and performance as presented in the fvOptions file below.

Code:
disk1
{
    type            rotorDisk;

    selectionMode   cellSet;
    cellSet         rotorDisk1CellSet;

    ...

    blade
    {
        data
        (
            (moyeu     (0.0000 0.0000 3.542))
            (cylindre1 (2.0000 0.0000 3.542))
            (cylindre1 (2.8667 0.0000 3.542))
            (cylindre1 (5.6000 0.0000 3.854))
            (cylindre2 (8.3333 0.0000 4.167))
            (DU40_A17 (11.7500 13.308 4.557))
            (DU35_A17 (15.8500 11.480 4.652))
            (DU35_A17 (19.9500 10.162 4.458))
            (DU30_A17 (24.0500 9.011  4.249))
            (DU25_A17 (28.1500 7.795  4.007))
            (DU25_A17 (32.2500 6.544  3.748))
            (DU21_A17 (36.3500 5.361  3.502))
            (DU21_A17 (40.4500 4.188  3.256))
            (NACA64_A17 (44.5500 3.125 3.010))
            (NACA64_A17 (48.6500 2.319 2.764))
            (NACA64_A17 (52.7500 1.526 2.518))
            (NACA64_A17 (56.1667 0.863 2.313))
            (NACA64_A17 (58.9000 0.370 2.086))
            (NACA64_A17 (61.6333 0.106 1.419))
        );
    }

    profiles
    {
        moyeu
        {
            type lookup;
            data
            (
                (-180.00 1.3000  0.0000)
                (0.0000  1.3000  0.0000)
                (180.00  1.3000  0.0000)
            );
        }
        
        cylindre1
        {
            type lookup;
            data
            (
                (-180.00 0.5000 0.0000)
                (0.00 0.5000 0.0000)
                (180.00 0.5000 0.0000)
            );
        }
        
        cylindre2
        {
            type lookup;
            data
            (
                (-180.00 0.3500 0.0000)
                (0.00 0.3500 0.0000)
                (180.00 0.3500 0.0000)
            );
        }
        
        DU40_A17
        {
            type lookup;
	    file "constant/include/DU40_A17.csv";
        }
        
        ...
    }
}
The problem is that after around 1000 iterations the solution diverges (epsilon seems to diverge first). When I decrease the drag coeff from 1.3 (wanted value) to 1.1, it still diverges. When drag coeff=1 the solution converges but there is no resistance to the flow in the center. Actually, I even observe an acceleration of the flow in the center as if there was no hub. Do you have an idea of where could be the issue in my modelling ?

Thanks in advance if you have time to consider my questions. Don't hesitate to ask me for precisions if needed.
julesguyon is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 01:26.