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

low-mach assumption of density-variable flow

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 20, 2019, 09:49
Default low-mach assumption of density-variable flow
  #1
Senior Member
 
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 7
calf.Z is on a distinguished road
Hi,

I am confused about the low-much assumption. I read some information about it in paper:

The present study adopts the anelastic or low-Mach-number assumption with which the acoustic interactions and compressibility effects are eliminated from the full compressible Navier–Stokes equations. Without considering
the compressibility effects, we can determine all thermodynamic state variables, such as density, enthalpy, etc., independently of the hydrodynamic pressure variations about a specified background or thermodynamic pressure, P0.

It seems it is constant-pressure process, but I do not know how to deal with pressure in the code. It will update but what does constant-pressure mean?

I am not sure if compressibility effects are eliminated, what influence will it have and what aspects of the equation should I modify?

And I also confuse about the relation between psi and compressibility effects. I do not know how to modify psi under the condition of low-mach assumption.

Any hint is highly appreciated.

Regards,
Calf.Z
calf.Z is offline   Reply With Quote

Old   February 28, 2019, 08:36
Default
  #2
Senior Member
 
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 7
calf.Z is on a distinguished road
Any hint is highly appreciated.
calf.Z is offline   Reply With Quote

Old   March 1, 2019, 08:10
Default
  #3
Senior Member
 
Zander Meiring
Join Date: Jul 2018
Posts: 125
Rep Power: 7
yambanshee is on a distinguished road
ignoring compressiblity effects implies a fluid is incompressible. This means that under pressure, a finite mass of fluid will not change volume (or compress) and therefore it's density remains constant. If you look at openFoam tutorials you will see a split between compressible and incompressible solvers.
yambanshee is offline   Reply With Quote

Old   March 1, 2019, 08:24
Default
  #4
Senior Member
 
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 7
calf.Z is on a distinguished road
Quote:
Originally Posted by yambanshee View Post
ignoring compressiblity effects implies a fluid is incompressible. This means that under pressure, a finite mass of fluid will not change volume (or compress) and therefore it's density remains constant. If you look at openFoam tutorials you will see a split between compressible and incompressible solvers.
Thank you for your replying.

However, the density of the fluid I research is strongly changed with temperature. So I think it is still a compressible problem. In some papers, it is said that if the equation adopt low-mach assumption, the p and rho should be decoupled. That means decoupling the variations in thermophysical quantities (density,diffusivity, viscosity) from pressure fluctuations.

So I do not know how to modify the equation. Thank you.
calf.Z is offline   Reply With Quote

Old   March 12, 2019, 04:12
Default
  #5
Senior Member
 
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 7
calf.Z is on a distinguished road
Based on some papers about low mach number solver, I have got some information:

rho and p should be uncoupled, that's to say rho should be affected by the variations of pressure.

And pressure should be split into a thermodynamic pressure and a mechanical pressure, with the former holds constant and is used in the equation of state while the latter is allowed to vary through velocity changes in the flow and appears in the momentum transport equation.

I am now using buoyantPimpleFoam but I do not know how to modify the code to meet the low mach assumption. The code: fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh)) should be modified I think.

Any hint is highly appreciated.
calf.Z is offline   Reply With Quote

Old   March 20, 2019, 09:06
Default
  #6
Senior Member
 
Lukas Fischer
Join Date: May 2018
Location: Germany, Munich
Posts: 117
Rep Power: 7
lukasf is on a distinguished road
Hi,

Have you made any progress? I would be glad to hear from the final solution. I will share my thoughts on your post here.

I guess you wanted to say

"rho and p should be uncoupled, that's to say rho should NOT be affected by the variations of pressure."

Do you agree?


thermodynamic pressure:

To uncouple p from rho you can use the incompressiblePerfectGas as the equation of state in constant/thermophyiscalProperties. This function is available in the heRhoThermo type.

Use pRef as your reference pressure e.g. 1 bar in your mixture dictionary
Code:
mixture
{
    equationOfState
    {
        pRef            100000;
    }
}
mechanical pressure:

In the rest of the code you should try to get rid of any pressure gradients affecting rho (e.g. in the EEqn). Moreover, if you have a low Mach number due to low velocity you should get rid of all terms with K (kinetic energy) because low velocity will lead to low kinetic energy.

In createFields.H the static pressure is linked with the hydrostatic pressure
Code:
// Force p_rgh to be consistent with p
p_rgh = p - rho*gh;
which is later solved in pEqn by p_rghEqn.solve. Since rho*gh is now not affected by p but by your pRef in your thermophysical properties the term psi*correction(fvm::ddt(p_rgh)) seems to be ok. But I am not sure about that.



Since p_rgh = p - rho*gh you have to get rid of the terms thermo.rho() +-= psi*p_rgh (density update in pEqn) as this will make rho a function of your p again.

The term fvc::ddt(rho) should be fine because rho is only a function of pRef, T and your gas value R in my opinion.

What do you think about it?


I would be glad to see your final solver here


Quote:
Originally Posted by calf.Z View Post
Based on some papers about low mach number solver, I have got some information:

rho and p should be uncoupled, that's to say rho should be affected by the variations of pressure.

And pressure should be split into a thermodynamic pressure and a mechanical pressure, with the former holds constant and is used in the equation of state while the latter is allowed to vary through velocity changes in the flow and appears in the momentum transport equation.

I am now using buoyantPimpleFoam but I do not know how to modify the code to meet the low mach assumption. The code: fvc::ddt(rho) + psi*correction(fvm::ddt(p_rgh)) should be modified I think.

Any hint is highly appreciated.
lukasf is offline   Reply With Quote

Old   March 20, 2019, 22:57
Default
  #7
Senior Member
 
Jianrui Zeng
Join Date: May 2018
Location: China
Posts: 157
Rep Power: 7
calf.Z is on a distinguished road
Quote:
Originally Posted by lukasf View Post

"rho and p should be uncoupled, that's to say rho should NOT be affected by the variations of pressure."


thermodynamic pressure:

To uncouple p from rho you can use the incompressiblePerfectGas as the equation of state in constant/thermophyiscalProperties. This function is available in the heRhoThermo type.

Use pRef as your reference pressure e.g. 1 bar in your mixture dictionary
Code:
mixture
{
    equationOfState
    {
        pRef            100000;
    }
}
mechanical pressure:

In the rest of the code you should try to get rid of any pressure gradients affecting rho (e.g. in the EEqn). Moreover, if you have a low Mach number due to low velocity you should get rid of all terms with K (kinetic energy) because low velocity will lead to low kinetic energy.

In createFields.H the static pressure is linked with the hydrostatic pressure
Code:
// Force p_rgh to be consistent with p
p_rgh = p - rho*gh;
which is later solved in pEqn by p_rghEqn.solve. Since rho*gh is now not affected by p but by your pRef in your thermophysical properties the term psi*correction(fvm::ddt(p_rgh)) seems to be ok. But I am not sure about that.



Since p_rgh = p - rho*gh you have to get rid of the terms thermo.rho() +-= psi*p_rgh (density update in pEqn) as this will make rho a function of your p again.

The term fvc::ddt(rho) should be fine because rho is only a function of pRef, T and your gas value R in my opinion.

What do you think about it?


I would be glad to see your final solver here
Thank you for giving the ideas. It is helpful.

For thermodynamic pressure, I have create a new library for tabular method which can read thermoproperties from tables, so I cannot use heRhoThermo type. The pressure in my tables is given only one value(constant), and the properties are changed with variable temperatures. But I don't know if this can meet the function of constant thermodynamic pressure.

I think I should remove dp/dt terms in EEqn.H. But I don't know why the terms with K should be removed. Although it is low, should remaining it be more inaccurate than removing it?

The term psi*correction(fvm::ddt(p_rgh)) is based on : rho=psi*p_rgh. If I don't modify it, there is still a relationship between rho and p, isn't it?

I also think thermo.correctRho(psi*p - psip0) should be avoid. All in all, I think the update of rho shouldn't have any relationship with p.

Any hint is highly appreciated.
calf.Z 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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Vertical 2D, Variable density flow with hydrostatic pressure assumption ehsansh89 Main CFD Forum 6 May 24, 2014 13:09
Convective flux scheme for rather low Mach number flow paulzhang Main CFD Forum 3 December 12, 2012 17:06
variable density in single fluid simulation not running with total energy viking CFX 2 September 18, 2012 20:19
emag beta feature: charge density charlotte CFX 4 March 22, 2011 09:14
Replace periodic by inlet-outlet pair lego CFX 3 November 5, 2002 20:09


All times are GMT -4. The time now is 20:19.