CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   IcoFoam continuity error in 2D transient simulation (http://www.cfd-online.com/Forums/openfoam-solving/60449-icofoam-continuity-error-2d-transient-simulation.html)

finch October 27, 2005 12:09

I am running a basic test case
 
I am running a basic test case using icoFoam. I defined a 2D channel with two walls, an inlet, and an outlet. The walls have a no-slip boundary condition U=uniform(0 0 0). The inlet has a boundary condition of U=uniform(1 0 0) which causes flow into the channel with a uniform velocity profile. The outlet BC is of type zeroGradient for U. All pressure boundaries are of type zeroGradient. This setup produces the following error:

Reading/calculating face flux field phi
Starting time loop
Time = 0.001
Mean and max Courant Numbers = 0 0.1

BICCG: Solving for Ux, Initial residual = 1, Final residual = 9.49086e-09, No Iterations 1

--> FOAM FATAL ERROR : Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.

From function adjustPhi(surfaceScalarField& phi, const volVectorField& U,const volScalarField& p
in file adjustPhi/adjustPhi.C at line 108.

FOAM exiting

If I set one wall b.c. OR the internalField to U=uniform(0.00001 0 0) then the expected parabolic velocity profile develops. Reducing the time step does not help.

Can someone please explain why this is happening, and how to set it up correctly?

hjasak October 27, 2005 12:30

Have a look at your boundary c
 
Have a look at your boundary conditions on the velocity. In FOAM, we typically use fixed value U and zero gradient pressure at the inlet and fixed pressure and zero gradient U at the outlet. There is an option of using zero gradient on both p and U at the outlet, but then the code needs to adjust the outlet velocities in order to achieve global continuity. The message says it cannot do that for some reason.

Enjoy,

Hrv

finch October 27, 2005 23:49

Oops. I thought I had set the
 
Oops. I thought I had set the output pressure to zero instead of zeroGradient, but after checking I realize that it was in fact zeroGradient. No wonder it wasn't working. Thanks for the tip. I'll post my results as a tutorial sometime.

kid March 27, 2012 01:42

Thank You
 
Hello Hrv,

Your comments helped a lot.

regards,
cfdkid

mmaukii September 24, 2013 17:11

great help. Also valid for SimpleFoam!!!

thanks a lot!!!

musahossein November 16, 2014 00:06

Continuity error in sloshingtank2d
 
Quote:

Originally Posted by hjasak (Post 184663)
Have a look at your boundary conditions on the velocity. In FOAM, we typically use fixed value U and zero gradient pressure at the inlet and fixed pressure and zero gradient U at the outlet. There is an option of using zero gradient on both p and U at the outlet, but then the code needs to adjust the outlet velocities in order to achieve global continuity. The message says it cannot do that for some reason.

Enjoy,

Hrv

Dear all:

I am running sloshingTank2D in interDYMFoam. Tank dimensions in the y direction (horizontal) is 11 meters; vertical 7 meters. Water depth is 4.4 meters. There is no inflow or outflow. However I get a error message as follows:
[5] --> FOAM FATAL ERROR:
[5] Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.
Total flux : 4.06534e-16
Specified mass inflow : 5.66242e-19
Specified mass outflow : 8.26281e-19
Adjustable mass outflow : 0
[5]
[5]
[5] From function adjustPhi(surfaceScalarField& phi, const volVectorField& U,const volScalarField& p
[5] in file cfdTools/general/adjustPhi/adjustPhi.C at line 118.
[5]
FOAM parallel run exiting
[5]
[4]
[4]
[4] --> FOAM FATAL ERROR:
[4] Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.
Total flux : 4.06534e-16
Specified mass inflow : 5.66242e-19
Specified mass outflow : 8.26281e-19
Adjustable mass outflow : 0

Can any tell me why I am getting this error? Thankyou.

rietis February 20, 2015 03:22

Your error says that your inflow and your outflow is not the same. Look at your BC, they need to deal with the same amount of flux comming in and out.

musahossein February 20, 2015 09:09

Quote:

Originally Posted by rietis (Post 532603)
Your error says that your inflow and your outflow is not the same. Look at your BC, they need to deal with the same amount of flux comming in and out.

Thankyou for your response. I am simulating a tank in sloshingtank2d. What is realized is that this error was given due to a run time error. It is one of those cases where a run time error creates other cascading errors.

rietis February 20, 2015 09:20

Dear, musahossein, do you have expirience in snappyHexMesh? If you have and are willing to look on a problem I would appriciate.

here is a link:

http://www.cfd-online.com/Forums/ope...esh-walls.html

cheers

Raitis.

musahossein February 20, 2015 10:30

Quote:

Originally Posted by rietis (Post 532657)
Dear, musahossein, do you have expirience in snappyHexMesh? If you have and are willing to look on a problem I would appriciate.

here is a link:

http://www.cfd-online.com/Forums/ope...esh-walls.html

cheers

Raitis.

Unfortunately, I do not. Another way you can refine the mesh at the walls is to subdivide our domaing into smaller blocks. By doing so you can refine the mesh in the block of your choice. However this requires that you redefine your model with more nodes as the blocks must be defined with nodes. One drawback of this method is that the mesh must be the same in at least one direction as the mesh in adjacent blocks must match. Sorry I could not help you more.

rietis February 20, 2015 10:59

No worries. ;)

Yes I undarstand that it is a way, but this time I need to do with this method.

Chen Linya May 5, 2015 11:43

Quote:

Originally Posted by musahossein (Post 519362)
Dear all:

I am running sloshingTank2D in interDYMFoam. Tank dimensions in the y direction (horizontal) is 11 meters; vertical 7 meters. Water depth is 4.4 meters. There is no inflow or outflow. However I get a error message as follows:
[5] --> FOAM FATAL ERROR:
[5] Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.
Total flux : 4.06534e-16
Specified mass inflow : 5.66242e-19
Specified mass outflow : 8.26281e-19
Adjustable mass outflow : 0
[5]
[5]
[5] From function adjustPhi(surfaceScalarField& phi, const volVectorField& U,const volScalarField& p
[5] in file cfdTools/general/adjustPhi/adjustPhi.C at line 118.
[5]
FOAM parallel run exiting
[5]
[4]
[4]
[4] --> FOAM FATAL ERROR:
[4] Continuity error cannot be removed by adjusting the outflow.
Please check the velocity boundary conditions and/or run potentialFoam to initialise the outflow.
Total flux : 4.06534e-16
Specified mass inflow : 5.66242e-19
Specified mass outflow : 8.26281e-19
Adjustable mass outflow : 0

Can any tell me why I am getting this error? Thankyou.

Dear, musahossein
I am expirienceing this problem,can you tell me the details about the run time error?

musahossein May 5, 2015 13:48

Quote:

Originally Posted by Chen Linya (Post 545087)
Dear, musahossein
I am expirienceing this problem,can you tell me the details about the run time error?

In my case the run time error was due to other errors during run time. The applied displacement was so large that essentially the tank was dispalcement by more than half its length. So I would suggest that you look at your data and then the results of your run using ParaFOAM upto the point where the error occurs. May be you will discover some error in modeling or input which, if taken care of will not generate this type of error message.

Also, are you running the latest version of OpenFOAM? From what I hear, it is more robust and handles these types of errors better.

Chen Linya May 6, 2015 01:25

Quote:

Originally Posted by musahossein (Post 545102)
In my case the run time error was due to other errors during run time. The applied displacement was so large that essentially the tank was dispalcement by more than half its length. So I would suggest that you look at your data and then the results of your run using ParaFOAM upto the point where the error occurs. May be you will discover some error in modeling or input which, if taken care of will not generate this type of error message.

Also, are you running the latest version of OpenFOAM? From what I hear, it is more robust and handles these types of errors better.

Appreciate you quick reply.
I use the foam-extend-3.1,i want to combine the icoFsiFoam and interFoam to a interFsiFoam to couple with multiphase fluid-struction interaction problem(dambreak with a elastic baffle),and the error occured in first interation(and i guess) due to the fluid mesh moving.the dynamicMeshDict as follow:
dynamicFvMesh dynamicMotionSolverFvMesh;
twoDMotion yes;
solver laplace;
diffusivity quadratic;
frozenDiffusion on;
distancePatches(consoleFluid);

musahossein May 7, 2015 10:04

I would suggest that you check your mesh, Start with checkmesh or (CheckMesh?) command once you have run blockMesh, to make sure OpenFOAM is ok with your aspect ratio.

Once you have established that it is not a aspect ratio problem, it is more likely how you are communicating the input data to OpenFOAM, or how you have set up the problem. Check those in a systematic manner.


All times are GMT -4. The time now is 17:36.