# Calculating thrust for a hollow cylinder in OpenFOAM v6"

 Register Blogs Members List Search Today's Posts Mark Forums Read

October 18, 2023, 22:58
Calculating thrust for a hollow cylinder in OpenFOAM v6"
#1
Member

Niyas
Join Date: Apr 2013
Posts: 45
Rep Power: 13
Greetings everyone,

I am working on determining the thrust output of a hollow cylinder (Picture1) using OpenFOAM v6. I've added a functionObject to the controlDict file as follows:

Code:
```functions
{
forces
{
type                     forces;
functionObjectLibs       ("libforces.so");
patches                  ("outlet");
origin                   (0 0 0);
CofR                     (0 0 0);
}

}```
Upon implementation, I've obtained the following output in the terminal and in the postProcessing/forces/0/force.dat file as follows:

Code:
```diagonal:  Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal:  Solving for rhoUx, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal:  Solving for rhoUy, Initial residual = 0, Final residual = 0, No Iterations 0
diagonal:  Solving for rhoUz, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCGStab:  Solving for C2H4, Initial residual = 3.14979047753e-05, Final residual = 8.53492622127e-15, No Iterations 2
DILUPBiCGStab:  Solving for O2, Initial residual = 1.74824594395e-05, Final residual = 4.02124604301e-15, No Iterations 2
DILUPBiCGStab:  Solving for CO, Initial residual = 8.18262424705e-06, Final residual = 4.90454810226e-13, No Iterations 1
DILUPBiCGStab:  Solving for H2, Initial residual = 6.457643001e-07, Final residual = 3.87061901616e-14, No Iterations 1
DILUPBiCGStab:  Solving for O, Initial residual = 9.52133879132e-70, Final residual = 9.52133879132e-70, No Iterations 0
DILUPBiCGStab:  Solving for CO2, Initial residual = 2.35921456931e-59, Final residual = 2.35921456931e-59, No Iterations 0
DILUPBiCGStab:  Solving for OH, Initial residual = 1.83467046096e-33, Final residual = 1.83467046096e-33, No Iterations 0
DILUPBiCGStab:  Solving for H, Initial residual = 5.9672678478e-61, Final residual = 5.9672678478e-61, No Iterations 0
DILUPBiCGStab:  Solving for H2O, Initial residual = 1.00786903437e-60, Final residual = 1.00786903437e-60, No Iterations 0
diagonal:  Solving for rhoE, Initial residual = 0, Final residual = 0, No Iterations 0
min/max(T) = 200, 344.581351221
min/max(p) = 19528.5921163, 303653.998145
forces forces write:
sum of forces:
pressure : (0 0 78.0680166724)
viscous  : (-6.60598318567e-10 5.56817720667e-10 -7.64502167528e-11)
porous   : (0 0 0)
sum of moments:
pressure : (1.8766312015 0.141697863622 0)
viscous  : (-7.47148938546e-11 -5.48630457733e-11 -8.40572287366e-10)
porous   : (0 0 0)

Max Courant Numbers = 0.199907494426
deltaT = 9.98003992015e-09
Time = 0.000253373253493```
I think the main value here is the pressure which is '78.0680166724'.

Now, my next step is to calculate the area of the hollow cylinder using the formula:

Area of the Hollow Cylinder (A) = Outer Area − Inner Area

Once I know the area, then by using thrust formulate,

Thrust = pressure x Area

I can calculate my thrust.

Is my approach correct? Please correct me!
Attached Images
 Picture1.jpg (28.4 KB, 8 views)
__________________
Regards,
Niyas

 October 19, 2023, 00:17 #2 Senior Member   Lucky Join Date: Apr 2011 Location: Orlando, FL USA Posts: 5,712 Rep Power: 66 78 is Newtons is already a force The pressure keyword identifies it is "pressure drag" obtained from the integration of pressure over the area as opposed to viscous drag Your entry for patches should be the surfaces over which you want to obtain the force, which is not your outlet if you want to calculate drag but makes sense for your case because you are not calculating drag. That being said, I don't really get why you are using a force tool to obtain thrust. Just calculate the streamthrust directly. niyas likes this.

October 19, 2023, 00:28
#3
Member

Niyas
Join Date: Apr 2013
Posts: 45
Rep Power: 13

I intend to compute the exerted thrust from the outlet of the cylinder (as shown in the attached picture).

So, in the controlDict file, should I put the patches as the outlet patch?

Like this below,

Code:
```functions
{

forces
{
type                        forces;
functionObjectLibs    ("libforces.so");
patches                   ("outlet");
origin                      (0 0 0);
CofR                        (0 0 0);
}

}```
Is my understanding accurate?
Attached Images
 Picture1.jpg (27.9 KB, 2 views)
__________________
Regards,
Niyas

October 20, 2023, 01:00
#4
Member

Niyas
Join Date: Apr 2013
Posts: 45
Rep Power: 13
Quote:
 Originally Posted by LuckyTran That being said, I don't really get why you are using a force tool to obtain thrust. Just calculate the streamthrust directly.
@LuckyTran, can you please guide me how to calculate the streamthrust in OpenFoam v6 ?

My ultimate aim is to make a time vs. Thrust plot.
__________________
Regards,
Niyas

 Tags cylinder, force, openfoam v6, pressure, thrust