CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   problem about pressure driven flow (https://www.cfd-online.com/Forums/openfoam-solving/96891-problem-about-pressure-driven-flow.html)

yhaomin2007 February 3, 2012 22:53

problem about pressure driven flow
 
Dear ALL Foamers:

I have a very simple problem but is very difficult for me.

I am simulating a pressure driven compressible flow, ie, the inlet and outlet pressure are given, and velocity is calculated from the inlet and outlet conditions. but from the tutorial cases from compressible solver, velocity is given and pressure is calculated.

Do any of you have any ideas about how to set the boundary condition for pressure driven flow, OR any solver is suitable for this problem?

thank you in advance.

marupio February 4, 2012 16:58

I think velocity changes and pressure changes are related. So in solving for one, you are left with an unknown constant offset. That is why we need to fix a reference pressure when it is not set at a boundary condition, and I think the same is true for velocity. If the "inlet" and "outlet" are zero gradient for velocity, there is a continuum of possible flow solutions that give the same pressure distribution, even with no-slip conditions on the walls. In other words, your solution may "blow up" with the velocity ever increasing from inlet to outlet for no apparent reason.

/speculation

dre February 5, 2012 12:14

I had good results with the following settings for compressible, pressure driven flows:

Inlet
p - TotalPressure
U - pressureInletVelocity

Outlet
p - fixedValue (static pressure)
U - pressureInletOutletVelocity

I think, every compressible solver should be okay. I would start with rhoSimpleFoam for stationary flows and/or rhoPisoFoam for transient flows.

maddalena February 6, 2012 10:03

Are these BCs ok for an incompressible solver as well?

mad

tab February 20, 2012 17:54

Quote:

Originally Posted by dre (Post 342821)
I had good results with the following settings for compressible, pressure driven flows:

Inlet
p - TotalPressure
U - pressureInletVelocity

Outlet
p - fixedValue (static pressure)
U - pressureInletOutletVelocity

I think, every compressible solver should be okay. I would start with rhoSimpleFoam for stationary flows and/or rhoPisoFoam for transient flows.

I have been looking at the squareBend test case that comes with v2.0.1 as a rhoSimplecFoam test case. This is a high subsonic duct that is set up with a specified mass flow. I thought it would be straightforward to run this case as a pressure driven flow using pressure values from the converged test case. I'm not having any luck. Has anybody done this? What else would have to be done beyond replace the test case entries with the types above?

Test case ----> New case
Inlet
p - zeroGradient ----> totalPressure where p0 = value from test case
U - flowRateInletVelocity ----> pressureInletVelocity

Outlet
p - fixedValue ----> fixedValue (static pressure)
U - inletOutlet ----> pressureInletOutletVelocit

When I do this, the code bombs very quickly-2 iterations. I'm just starting to look at this more closely but I'm still clueless . The only thing I've tried beyond that is run slip walls on the duct, specify a small Pt, and turn off the turbulence model. I'm trying to make the simplest case possible to figure this out. Any tips would be appreciated.
Thanks
Tim

brg_mohajer June 24, 2020 19:44

Mesh resolution is critical
 
Please note that for course mesh resolution rhoSimpleFoam diverges very quickly. if you write every iteration (write interval = 1), you will be able to monitor that the values skyrocket quickly in paraFoam. That usually starts with the fields regarding your turbulence model first (like k and epsilon fields). Please note that paraView does not show such fields by default and you must choose so to visualize them.
Anyway, the combination of BCs below worked for me. My course mesh had 4000 cells (thus diverging right by the patches) while the fine one had 50,000 cells on the same geometry.
Please note that I am modelling an ejector. Therefore, I have also a suction patch. In my case, the inlet to outlet flow is supposed to suck air from this patch. however, you may simply ignore it for your code.



p:
dimensions [1 -1 -2 0 0 0 0];


internalField uniform 1.e5;


inlet
{
type totalPressure;
p0 uniform 1.25e5;
gamma 1.4;
value 1.1e5;
}
outlet
{
type fixedValue;
value uniform 1e5;
}
suction
{
type fixedValue;
value uniform 1e5;
}


U:
inlet
{
type pressureInletUniformVelocity;
value uniform (0 0 0);
}
outlet
{
type pressureInletOutletVelocity;
phi phi;
tangentialVelocity uniform (0 0 0);
value (0 0 0);
}
suction
{
type zeroGradient;
}


p { margin-bottom: 0.25cm; line-height: 115% }

cfdcheckers June 4, 2021 04:28

Quote:

Originally Posted by brg_mohajer (Post 775912)
Please note that for course mesh resolution rhoSimpleFoam diverges very quickly. if you write every iteration (write interval = 1), you will be able to monitor that the values skyrocket quickly in paraFoam. That usually starts with the fields regarding your turbulence model first (like k and epsilon fields). Please note that paraView does not show such fields by default and you must choose so to visualize them.
Anyway, the combination of BCs below worked for me. My course mesh had 4000 cells (thus diverging right by the patches) while the fine one had 50,000 cells on the same geometry.
Please note that I am modelling an ejector. Therefore, I have also a suction patch. In my case, the inlet to outlet flow is supposed to suck air from this patch. however, you may simply ignore it for your code.

This looks interesting, I think part of my problem could be due to coarse mesh. Can you tell me what BCs you used for T ? It seems I'm messing up somewhere in T as well. I used two combinations:
1. Inlet: fixedValue, outlet: inletOutlet
2. Inlet: totalTemperature, outlet: zeroGradient
In both cases, it crashes.


Will it be overconstrained if I use fixed temperature value at the outlet along with the p and U BCs as yours?

cfdcheckers June 4, 2021 05:30

A couple more questions when I started playing around these BCs:

Quote:

Originally Posted by brg_mohajer (Post 775912)
Code:

U:
    inlet
    {
        type            pressureInletUniformVelocity;
        value          uniform (0 0 0);
    }
    outlet
    {
        type                pressureInletOutletVelocity;
        phi                phi;
        tangentialVelocity    uniform (0 0 0);
        value            (0 0 0);
    }



Why does the tangentialVelocity keyword appear only for outlet (Also, phi - isn't that optinal?)? Does it have some default value if not provided? Where can I find more on this?



Quote:

Originally Posted by brg_mohajer (Post 775912)
Code:

p { margin-bottom: 0.25cm; line-height: 115% }

I missed this line earlier. What does this mean really? Is this part of the p file?

cfdcheckers June 4, 2021 07:51

Hi, just realised for some reason my initial reply didn't get through.

Quote:

Originally Posted by brg_mohajer (Post 775912)
Please note that for course mesh resolution rhoSimpleFoam diverges very quickly. if you write every iteration (write interval = 1), you will be able to monitor that the values skyrocket quickly in paraFoam. That usually starts with the fields regarding your turbulence model first (like k and epsilon fields). Please note that paraView does not show such fields by default and you must choose so to visualize them.
Anyway, the combination of BCs below worked for me. My course mesh had 4000 cells (thus diverging right by the patches) while the fine one had 50,000 cells on the same geometry.
Please note that I am modelling an ejector. Therefore, I have also a suction patch. In my case, the inlet to outlet flow is supposed to suck air from this patch. however, you may simply ignore it for your code.

Can you comment on the corresponding BCs for T? Would fixing the outlet temperature overconstrain the system? I'm trying to solve a pressure driven flow problem where I have knowledge of p and T at the outlet and want to find out what velocities I get at outlet. Inlet BCs are not very important for me. What should be the ideal BCs for p,T and U if am using rhoSimpleFoam?



I have posted a thread here about my case: https://www.cfd-online.com/Forums/op...onditions.html


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