CFD Online URL
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Strange torque calculation

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

Like Tree1Likes
  • 1 Post By danny123

Reply
 
LinkBack Thread Tools Display Modes
Old   March 26, 2013, 13:54
Default Strange torque calculation
  #1
Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 52
Rep Power: 5
danny123 is on a distinguished road
Hello,

I have trouble calculating the shaft torque of a mixer. The problem can be illustrated on the mixerVesselAMI2D tutorial example, though appears on more complex geometries as well.

In order to reproduce, the error, I did the following:

- in ControlDic file I added the following lines for the torque calculation:

libs ("libforces.so");

functions
{
forces
{
type forces;
functionObjectLibs ("libforces.so");
patches (rotor);
rhoName rhoInf;
rhoInf 1.0; // meaning that you need to multiply result with your assumed density in kg/m3 in order to get N m
CofR (0 0 0.001); //Origin for moment calculations
outputControl outputTime;
outputInterval 1;
}
}

Then I altered transportProperties:

transportModel Newtonian;

nu nu [ 0 2 -1 0 0 0 0 ] 300;

This means a high viscous fluid as I intend to simulate. You can use a Cross model too, has the same effect.

In decomposeParDict, I changed the number of processors to the number I have:

numberOfSubdomains 6;

The I did run it using mpi. This example did not work, meaning it did not converge. The calculation did hang at 0.0046 s calculated time and did only minor progress over time.

I then changed relaxation in U by manipulating the fvSolution file:

relaxationFactors
{
fields
{
}
equations
{
"U.*" 0.1;
}
}

This example did work. I did then the calculation again using 0.6.

The attached graph shows the z axis torque value. As one can see, the results differ significantly.

An additional hint: I have computed another example of a vessel with no baffels. In this case, using the Cross model, I get a realistic end values since there are no fluctuating forces (due to baffels). However the starting value (0.1 s) and the slope to the end value differ significantly depending on which relaxation I use.

My question:

Does this make sense? I think relaxation should not affect end results, but convergence only. Is this a known issue? My impression is that one of the iteration routines uses delta result to stop iteration instead of functional value (e.g. f(x_n) < small error).

Needless to say that I want to use this model for a vessel having interactions between agitator and wall mounted elements. Fluctuations of torque are therefore to be expected.

Regards,

Daniel
Attached Files
File Type: pdf forces mixer vessel.pdf (23.8 KB, 28 views)
danny123 is offline   Reply With Quote

Old   April 8, 2013, 09:29
Default
  #2
Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 52
Rep Power: 5
danny123 is on a distinguished road
Well, is there anybody who could help?
danny123 is offline   Reply With Quote

Old   May 3, 2013, 06:31
Default
  #3
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 549
Rep Power: 6
sharonyue is on a distinguished road
rhoInf 1.0; // meaning that you need to multiply result with your assumed density in kg/m3 in order to get N m

If it was water, isnt should be 1000 kg/m3?
sharonyue is offline   Reply With Quote

Old   May 3, 2013, 06:50
Default
  #4
Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 52
Rep Power: 5
danny123 is on a distinguished road
Hello Sharonyue,

Yes, since this is an incompressible solver (pimpleDymFoam), calculation is independent on rho, or in other words: all calculated forces (including pressure) divided by rho have an identical solution.

Same applies for pressure: you need to multiply all values by rho to get standard pressure units such as Pa. Unit for p in OpenFoam is m/s2.

Regards,

Daniel
danny123 is offline   Reply With Quote

Old   May 3, 2013, 09:43
Default
  #5
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 549
Rep Power: 6
sharonyue is on a distinguished road
Quote:
Originally Posted by danny123 View Post
Hello Sharonyue,

Yes, since this is an incompressible solver (pimpleDymFoam), calculation is independent on rho, or in other words: all calculated forces (including pressure) divided by rho have an identical solution.

Same applies for pressure: you need to multiply all values by rho to get standard pressure units such as Pa. Unit for p in OpenFoam is m/s2.

Regards,

Daniel
Thanks Daniel,thats really helpful.


And recently I dont what is
Code:
forces output:
    forces(pressure,viscous)((0.00051958 0.0147229 0.00888238),(2.90942e-06 5.08649e-05 3.66205e-05))
    moment(pressure,viscous)((0.00126819 0.0125252 -0.000689063),(5.24538e-06 0.000217766 -4.13516e-07))

forces output:
    forces(pressure,viscous)((6.74375 -2.82417 0.100704),(0.0712743 0.0515865 4.79054e-05))
    moment(pressure,viscous)((-1.25676 11.7464 -1.95008),(0.000493901 0.212057 -0.0206164))
If you know how to caculate torque from forces and moment above , can you send me one copy of this paper...Thanks..

With respect to my case. In my rotate region,there are some impellers and shaft. I want to sum the torque.How can I do this?
Code:
functions
(
    forces
    {
        type forces;
        functionObjectLibs ("libforces.so");
        outputControl timeStep;
        outputInterval 1;
        patches (intermigOpposite1);
//        pname p;
//        Uname U;
        rhoName rhoInf;
        log true;
        rhoInf 1;
        CofR (0 0 0);
    }
    forces
    {
        type forces;
        functionObjectLibs ("libforces.so");
        outputControl timeStep;
        outputInterval 1;
        patches (intermigOpposite2);
//        pname p;
//        Uname U;
        rhoName rhoInf;
        log true;
        rhoInf 1000;
        CofR (0 0 0);
    }
);
If I do this I get this force:You can see, if I set rhoinf equals 1, forces is very small...

Code:
Time = 1

smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 0.0379456, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 0.0415732, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 1, Final residual = 0.0373845, No Iterations 2
GAMG:  Solving for p, Initial residual = 1, Final residual = 0.022438, No Iterations 4
time step continuity errors : sum local = 0.0245985, global = -0.000187204, cumulative = -0.000187204
smoothSolver:  Solving for epsilon, Initial residual = 0.0171788, Final residual = 0.000698452, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 1, Final residual = 0.0594072, No Iterations 2
ExecutionTime = 3.78 s  ClockTime = 4 s

forces output:
    forces(pressure,viscous)((0.00051958 0.0147229 0.00888238),(2.90942e-06 5.08649e-05 3.66205e-05))
    moment(pressure,viscous)((0.00126819 0.0125252 -0.000689063),(5.24538e-06 0.000217766 -4.13516e-07))

forces output:
    forces(pressure,viscous)((6.74375 -2.82417 0.100704),(0.0712743 0.0515865 4.79054e-05))
    moment(pressure,viscous)((-1.25676 11.7464 -1.95008),(0.000493901 0.212057 -0.0206164))

Time = 2

smoothSolver:  Solving for Ux, Initial residual = 0.380787, Final residual = 0.0263685, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.412109, Final residual = 0.0303217, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.378045, Final residual = 0.0262647, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.528525, Final residual = 0.0230284, No Iterations 2
time step continuity errors : sum local = 0.0524121, global = -0.000252962, cumulative = -0.000440166
smoothSolver:  Solving for epsilon, Initial residual = 0.00769558, Final residual = 0.000398045, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.496703, Final residual = 0.031422, No Iterations 2
ExecutionTime = 4.82 s  ClockTime = 5 s

forces output:
    forces(pressure,viscous)((0.000393629 0.0317798 0.00821695),(1.65936e-06 0.000123852 1.8138e-05))
    moment(pressure,viscous)((0.00117917 0.0131713 -0.000683864),(2.70442e-06 0.000176286 -2.73168e-07))

forces output:
    forces(pressure,viscous)((6.03098 10.3858 0.232051),(0.0636204 0.133908 -0.00205265))
    moment(pressure,viscous)((-1.16306 12.4768 -1.74162),(0.00196689 0.178463 -0.0184375))

Time = 3

smoothSolver:  Solving for Ux, Initial residual = 0.218081, Final residual = 0.0140768, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.231706, Final residual = 0.0153347, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.210506, Final residual = 0.0137342, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.536728, Final residual = 0.0207522, No Iterations 2
time step continuity errors : sum local = 0.0564933, global = -0.000311603, cumulative = -0.000751769
smoothSolver:  Solving for epsilon, Initial residual = 0.00802927, Final residual = 0.000447798, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.225561, Final residual = 0.0161636, No Iterations 2
ExecutionTime = 5.71 s  ClockTime = 6 s

forces output:
    forces(pressure,viscous)((0.000113223 0.040075 0.00594884),(-1.00298e-06 0.00014986 5.89622e-06))
    moment(pressure,viscous)((0.000862303 0.0104936 -0.000454219),(1.06171e-06 0.000147677 -1.23476e-07))

forces output:
    forces(pressure,viscous)((3.71494 22.8188 0.526035),(0.0611471 0.168738 -0.00218464))
    moment(pressure,viscous)((-0.601525 9.87803 -1.07241),(0.00321426 0.156793 -0.017775))
and If I add all the patches into "patch(mypatch1 mypatch2)",looks like it cannot work.
Attached Images
File Type: jpg 1.jpg (40.2 KB, 25 views)

Last edited by sharonyue; May 3, 2013 at 10:27.
sharonyue is offline   Reply With Quote

Old   May 7, 2013, 05:59
Default
  #6
Member
 
Daniel Witte
Join Date: Nov 2011
Posts: 52
Rep Power: 5
danny123 is on a distinguished road
Hello Sharonyue,

What I figured is that the output of "forces" is the following:

- the left column is obviously the time scale
- the next 3 columns are the forces, which act in CofR
- the next 3 columns are the moments, which act in CofR

The patch should be the one in rotation (I guess that is what is on your picture), but I would think the stator may work as well). The axis of rotation should cross CofR. Since one of the Cartesian axis is the axis of rotation (defined in dynamicMeshDic) then you should be able to identify the drive torque (moment in direction of the axis of rotation) and the 2 bending moments in the plane perpendicular to the axis of rotation.

If your rotor protrudes the stator only on one side, you should define CofR being in the plane where it protrudes. If it protrudes on both sides you need the calculation on both ends. The net torque then is the difference between the 2 and the actual torque on both ends depends on your drive motor situation (which OpenFoam cannot know).

Regards,

Daniel

Hope that helps,

Daniel
sharonyue likes this.
danny123 is offline   Reply With Quote

Reply

Tags
ami high viscosity

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Torque calculation of 2D VAWT Wind Turbine Anonymized_JL1 FLUENT 14 September 26, 2013 04:35
Torque Calculation SAH2006 FLUENT 0 September 3, 2010 17:59
torque calculation mach000 CFX 2 April 14, 2010 05:00
Torque calculation in pumping equipment Kirill Main CFD Forum 0 June 26, 2007 17:59
Warning 097- AB CD-adapco 6 November 15, 2004 05:41


All times are GMT -4. The time now is 10:25.