CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Post-Processing

pressureTools postProcessing function objects in 2.2.0

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

Like Tree6Likes

Reply
 
LinkBack Thread Tools Display Modes
Old   August 16, 2014, 12:22
Default
  #21
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,644
Blog Entries: 39
Rep Power: 99
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings to all!

@Brock: That wasn't possible in OpenFOAM 2.2, but it is possible to do in OpenFOAM 2.3. The source code file in question is this:
Code:
$FOAM_SRC/postProcessing/functionObjects/utilities/pressureTools/pressureTools.C
As of 2.3.0, at the end of each time step, it will execute the calculation of this requested pressure.

Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   August 20, 2014, 08:57
Default
  #22
New Member
 
Join Date: Mar 2014
Posts: 17
Rep Power: 4
BenJ is on a distinguished road
Hi!

Thank you GRAUPS, it works perfectly now!

Now I hop this static pressure field can be used to change from simpleFoam to rhoSimpleFoam

Best regards
Benjamin
BenJ is offline   Reply With Quote

Old   August 28, 2014, 11:02
Default
  #23
Member
 
Brock Lee
Join Date: Sep 2012
Location: Midwest
Posts: 38
Rep Power: 6
GRAUPS is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
As of 2.3.0, at the end of each time step, it will execute the calculation of this requested pressure.
@Bruno: Thanks for your comment. You are correct, OpenFOAM 2.3 now executes the calculation after every time-step.

Quote:
Originally Posted by BenJ View Post
Thank you GRAUPS, it works perfectly now!
@Ben: Glad I could help!
GRAUPS is offline   Reply With Quote

Old   September 22, 2014, 17:22
Default pressureTools
  #24
New Member
 
James Rodgers
Join Date: Jul 2013
Posts: 4
Rep Power: 5
jrwrodgers is on a distinguished road
Dear all,

I'm trying to get "pressureTools" function to work with simpleFoam but I get the error shown below. I've checked and the files were definitely compiled so should be available to call. Can anyone offer an insight?

Thanks,

James

Code:
--> FOAM FATAL ERROR: 
Unknown function type pressureTools

Valid functions are : 

17
(
cellSource
faceSource
fieldAverage
fieldCoordinateSystemTransform
fieldMinMax
fieldValueDelta
nearWallFields
patchProbes
probes
processorField
readFields
regionSizeDistribution
sets
streamLine
surfaceInterpolateFields
surfaces
wallBoundedStreamLine
)
My function call looks like this:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.2.1                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/

 pressuretools1   // user-defined name of function object entry
    {
        type            pressureTools;
        libs ("libutilityFunctionObjects.so");
        //region          defaultRegion;
        enabled         yes;
        //timeStart       0;
        //timeEnd         10;
        outputControl timeStep;//outputTime;//
        outputInterval 1; // 5000;
        calcTotal   yes;
        calcCoeff   yes;
    }


// ************************************************************************* //

Last edited by wyldckat; April 6, 2015 at 13:40. Reason: Added [CODE][/CODE]
jrwrodgers is offline   Reply With Quote

Old   September 23, 2014, 04:41
Default
  #25
New Member
 
James Rodgers
Join Date: Jul 2013
Posts: 4
Rep Power: 5
jrwrodgers is on a distinguished road
So.. I have had some success!

I need to change the library reference to:
functionObjectLibs ("libutilityFunctionObjects.so");

However, I then needed to specify:
pRef
pInf
rhoInf
UInf

And the result was total pressure coefficient (Cp0) being calculated but not static pressure coefficient (Cp)? Will the function only calculate one or the other or can you get it to calculate both?


The modes of operation are:
\table
Mode | calcTotal | calcCoeff
static pressure | no | no
total pressure | yes | no
pressure coefficient | no | yes
total pressure coefficient | yes | yes
\endtable

Any advice gratefully received!
Thanks
jrwrodgers is offline   Reply With Quote

Old   April 6, 2015, 13:48
Default
  #26
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,644
Blog Entries: 39
Rep Power: 99
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings James,

Sorry for the very late reply, but only today did I finally manage to take a look into this.
From what I can see from another post you've done, you've found a solution:
Quote:
Originally Posted by jrwrodgers View Post
I'm by no means an expert but when through a similar exercise a week ago. I found that to calculate the coefficients both static and total you need to specify the reference static pressure and reference velocity within the pressureTools {}. OF didn't pick up the values from the boundary conditions. I think I ended up specifying also the reference density although this is superfluous for the incompressible simulation I was running.
In addition to your finding, the answer to your previous post:
Quote:
Originally Posted by jrwrodgers View Post
And the result was total pressure coefficient (Cp0) being calculated but not static pressure coefficient (Cp)? Will the function only calculate one or the other or can you get it to calculate both?
... is that you would need to add two function object entries instead of just one, e.g.:
Code:
pressuretools1
{
//...
}

pressuretools2
{
//...
}
Only then will your be able to get the two types of results calculations.

Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   December 17, 2015, 08:12
Default
  #27
Member
 
SM
Join Date: Dec 2010
Posts: 88
Rep Power: 7
canopus is on a distinguished road
Is it possible to write an areaAverage pressure along an axis as asked here using pressure tools?
Thanks
canopus is offline   Reply With Quote

Old   March 28, 2016, 16:15
Default
  #28
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,644
Blog Entries: 39
Rep Power: 99
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Quote:
Originally Posted by canopus View Post
Is it possible to write an areaAverage pressure along an axis as asked here using pressure tools?
Quick (late) answer: "pressureTools" currently only calculates for the whole pressure field. You could then use one of the resulting fields to be averaged instead of the "p" field.
wyldckat is offline   Reply With Quote

Old   April 8, 2016, 09:23
Default
  #29
Senior Member
 
ArielJ
Join Date: Aug 2015
Posts: 115
Rep Power: 3
arieljeds is on a distinguished road
Hi there,

Is it possible to use pressureTools as a sample instead of functionObject? I added this piece of code to my controlDict:

Code:
functions
   {
       pressureTools1
       {
       	 type 	pressureTools;
       	 functionObjectLibs ("libutilityFunctionObjects.so");
       	 source		wall;
       	 sourceName	cylinder;
       	 
       	 log		yes; 
       	 
       	 outputControl	timeStep;
       	 outputInterval	1; 
       	 
       	 //enabled	yes; 
       	 calcTotal	no;
       	 calcCoeff	yes;
       	 pRef		0;
       	 rhoInf		1.0;
       	 pInf		101325;
       	 UInf		(0.4208 0 0);		
       }
       

   }
Which did something really weird on running... data was written to more time steps and the velocity field was not saved except at the written time steps, so I couldn't properly postprocess anything (or view the simulation in paraview or paraFoam).

Two questions:
1) Can I set this up in my sampleDict instead?
2) I really just want to calculate the total pressure at probes on the cylinder to calculate the drag from that.... is this the best way to do it?
arieljeds is offline   Reply With Quote

Old   April 10, 2016, 14:09
Default
  #30
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,644
Blog Entries: 39
Rep Power: 99
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Quick answers:
Quote:
Originally Posted by arieljeds View Post
Code:
outputControl    timeStep;
outputInterval    1;
Try changing to this:
Code:
outputControl    outputTime;
For more details:

Quote:
Originally Posted by arieljeds View Post
1) Can I set this up in my sampleDict instead?
After the function object has done its job, either while the solver was running or by running execFlowFunctionObjects, these pressure fields will have been written to the time folder(s).
Then you can use sample to sample over the data in the written fields.

Quote:
Originally Posted by arieljeds View Post
2) I really just want to calculate the total pressure at probes on the cylinder to calculate the drag from that.... is this the best way to do it?
Another alternative I can think of is the tutorial "incompressible/simpleFoam/motorBike/", which in file "system/forceCoeffs" has an example of a function object for calculating the Cd and Cl, if I remember correctly. This file is included by the file "system/controlDict", which is why it will be executed while the solver is running.
wyldckat is offline   Reply With Quote

Old   April 11, 2016, 06:30
Default
  #31
Senior Member
 
ArielJ
Join Date: Aug 2015
Posts: 115
Rep Power: 3
arieljeds is on a distinguished road
Hi wyldckat,

Thank you for your very thorough response... I have two follow up questions/issues now:

1) I am trying to run execFlowFunctionObjects, which is giving the error that the keyword transport properties is undefined..However, here is my transportProperties file:

Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.1.0                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

phases (water air);

water
{
    transportModel  Newtonian;
    nu              nu [ 0 2 -1 0 0 0 0 ] 0.0631;	// Re = 40
    rho             rho [ 1 -3 0 0 0 0 0 ] 1028;
    
    CrossPowerLawCoeffs
    {
        nu0             nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
        nuInf           nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        m               m [ 0 0 1 0 0 0 0 ] 1;
        n               n [ 0 0 0 0 0 0 0 ] 0;
    }

    BirdCarreauCoeffs
    {
        nu0             nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515;
        nuInf           nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        k               k [ 0 0 1 0 0 0 0 ] 99.6;
        n               n [ 0 0 0 0 0 0 0 ] 0.1003;
    }
    
}

air
{
    transportModel  Newtonian;
    nu              nu [ 0 2 -1 0 0 0 0 ] 1.568e-05; //1.48e-05;  --> current measurement for kinematic viscosity found at engineeringtoolbox.com
    rho             rho [ 1 -3 0 0 0 0 0 ] 1;
    
    CrossPowerLawCoeffs
    {
        nu0             nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
        nuInf           nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        m               m [ 0 0 1 0 0 0 0 ] 1;
        n               n [ 0 0 0 0 0 0 0 ] 0;
    }

    BirdCarreauCoeffs
    {
        nu0             nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515;
        nuInf           nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        k               k [ 0 0 1 0 0 0 0 ] 99.6;
        n               n [ 0 0 0 0 0 0 0 ] 0.1003;
    }
    
}

sigma           sigma [ 1 0 -2 0 0 0 0 ] 0.07;


// ************************************************************************* //
In this, because the transportModel is Newtonian, I have assumed that the CrossPowerLaw and BirdCarreau stuff is ignored. Is this correct?

2) I am trying to really understand what the pressure I am getting is because I was having issues implementing the calculating for dragForce, and so I want to calculate it from the pressures instead so I can better understand it. In waveFoam, I am calculating two pressures: p_rgh and p. I am understanding that p_rgh is a reference pressure that is calculated and p would then be p = p_rgh + rho*g*h, which would mean then that the total pressure, and then pressures used in the calculation for pressure coefficient, Cp, would be: p + 0.5*rho*Uinf^2 (where I've been taking Uinf from a probe near the inlet). I'll say now that doing it this way has not been yielding results for the Cp that I'm expecting (as in, the value that I'm calculating for Cp is far too high). Is there something I am misunderstanding about the pressures?

Thanks again for your help,
Ariel
arieljeds is offline   Reply With Quote

Reply

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
compressible flow in turbocharger riesotto OpenFOAM 50 May 26, 2014 01:47
channelFoam for a 3D pipe AlmostSurelyRob OpenFOAM 3 June 24, 2011 13:06
ParaView for OF-1.6-ext Chrisi1984 OpenFOAM Installation 0 December 31, 2010 07:42
Droplet Evaporation Christian Main CFD Forum 2 February 27, 2007 07:27
REAL GAS UDF brian FLUENT 6 September 11, 2006 08:23


All times are GMT -4. The time now is 12:38.