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

rhoCentralFoam solver instability

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

Reply
 
LinkBack Thread Tools Display Modes
Old   December 31, 2016, 15:43
Default rhoCentralFoam solver instability
  #1
New Member
 
Mike
Join Date: Dec 2016
Posts: 8
Rep Power: 2
MikeC is on a distinguished road
I'm trying to setup a canonical supersonic cavity-in-duct flow simulation (2D for now) using rhoCentralFoam, but am having stability issues with the solvers when using anything but extremely small timesteps (CFL < 0.3). When using larger timesteps I get oscillations emanating from the top and bottom walls at the inlet on startup which eventually produce a floating point exception. I'm pretty new to openfoam and cfd in general, so I'm not sure if the issue is with my numerical schemes, my boundary conditions, or if I need to initialize better. Any suggestions are greatly appreciated!

My setup is:

BCs:
U - fixedValue at inlet, noSlip on walls, zeroGradient on outlet
p - zeroGradient at inlet and walls, waveTransmissive on outlet
T - fixedValue at inlet, zeroGradient on walls and outlet
k - fixedValue on inlet and walls, inletOutlet at outlet
alphat & nut - zeroGradient everywhere

Initialization:
Quiescent everywhere

Solvers:
Code:
{
    "(rho|rhoU|rhoE)"
    {
        solver          diagonal;
    }

    "(k|nut)"
    {
        solver          PBiCGStab;
        preconditioner	DILU;
        nSweeps         2;
        tolerance       1e-10;
        relTol          0;
    }

    U
    {
	solver		PCG;
	preconditioner	FDIC;
	tolerance	1e-10;
	relTol		0;	 
    }

    e
    {
        $U;
        tolerance       1e-10;
        relTol          0;
    }
}
Schemes:
Code:
fluxScheme      Kurganov;

ddtSchemes
{
    default         CrankNicolson 0.9;
}

gradSchemes
{
    default         cellLimited Gauss linear 1;
}

divSchemes
{
    default         none;
    div(tauMC)      Gauss linear;
    div(phi,k)      Gauss limitedLinear 1;
}

laplacianSchemes
{
    default         Gauss linear corrected;
}

interpolationSchemes
{
    default         linear;
    reconstruct(rho) vanLeer;
    reconstruct(U)  vanLeerV;
    reconstruct(T)  vanLeer;
}

snGradSchemes
{
    default         corrected;
}
MikeC is offline   Reply With Quote

Old   January 4, 2017, 22:25
Default
  #2
New Member
 
Mike
Join Date: Dec 2016
Posts: 8
Rep Power: 2
MikeC is on a distinguished road
wait, is this paper correct? -> https://www.researchgate.net/publica...rk_of_OpenFOAM

is rhoCentralFoam actually an explicit solver, even though I'm using an implicit time-stepping scheme? If so, why am I having to invert matrices?
MikeC is offline   Reply With Quote

Old   February 24, 2017, 03:01
Default
  #3
New Member
 
Di Cheng
Join Date: May 2010
Location: Beijing, China
Posts: 13
Rep Power: 8
chengdi is on a distinguished road
Hi, MikeC

I encountered the same problem. I am also very confused.

I just tested the forwardStep example in OpenFOAM 201612+. It is true that CFL no. matters for this "implicit solver". I tested CFL=0.2, 0.3, 0.4 and 0.5, the oscillations behind shock becomes larger for larger CFL, and it goes to error at CFL = 0.5.

I am looking into the source code.
chengdi is offline   Reply With Quote

Old   February 25, 2017, 15:09
Default
  #4
New Member
 
Mike
Join Date: Dec 2016
Posts: 8
Rep Power: 2
MikeC is on a distinguished road
Hi Chengdi,

I looked into it a little more, and if I'm understanding it correctly part of the system is being discretized explicitly (rhoe, rhoU, etc) and part implicitly (p, etc). The difference is in fvc versus fvm. I've been told that this method allows you to use a larger CFL than you could if you were using a purely explicit solver. Still not sure why the default isn't just a completely implicit solver.
MikeC is offline   Reply With Quote

Old   March 11, 2017, 00:15
Default
  #5
New Member
 
Di Cheng
Join Date: May 2010
Location: Beijing, China
Posts: 13
Rep Power: 8
chengdi is on a distinguished road
Yes, I have found the paper "Implementation of semi-discrete, non-staggered central schemes in a colocated, polyhedral, finite volume framework, for high-speed viscous flows".

Because OpenFOAM is a segregate solver which solve variables in cell volume center separately. So you can choose to solve one variable implicitly and other variables explicitly.

For rhoCentralFoam, it construct the KT or KNP numerical flux explicitly. So it must be bounded by CFL number like explicit scheme.
chengdi is offline   Reply With Quote

Reply

Tags
rhocentralfoam

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
fluent divergence for no reason sufjanst FLUENT 2 March 23, 2016 17:08
OpenFOAM Installation for navalFoam sachinlb OpenFOAM Installation 21 June 23, 2014 08:07
Quarter Burner mesh with periosic condition SamCanuck FLUENT 2 August 31, 2011 11:34
Working directory via command line Luiz CFX 4 March 6, 2011 21:02
why the solver reject it? Anyone with experience? bearcat CFX 6 April 28, 2008 14:08


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