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/)
-   -   FluxRequired entry (https://www.cfd-online.com/Forums/openfoam-solving/59723-fluxrequired-entry.html)

msrinath80 April 26, 2007 13:39

Can someone explain briefly wh
 
Can someone explain briefly what this entry is used for?

hjasak April 26, 2007 13:48

Yup, easy. Thin of the calcul
 
Yup, easy. Thin of the calculation of the fluxes in the pressure equation. Once everything is done properly, the pressure part of the flux is equal to the off-diagonal matrix coefficient related to the face, multiplied by the pressure field (difference, or for compressible flow, a slightly more complex).

Now, think of discretisation of a Laplacian: this one also got the non-orthogonal correction, which is explicit. The correction therefore also appears in the flux and must be fully consistent: if not, you get a mass continuity error.

The best way to accumulate all corrections of this kind is to simply collect the stuff during matrix assembly. Because this costs money (storage and operations), you don't want to do this for every matrix assembly. Thus, a fluxRequired flag means "collect the explicit contributions", after which you can ask the matrix for the flux (or flux correction). If you don't need the flux, you don't do fluxRequired and all is well!

Clear?

Hrv

chapman May 5, 2009 07:27

Currently I am trying to use turbDyMFoam, but I get the following error:

Code:

BiCGStab:  Solving for Ux, Initial residual = 1, Final residual = 8.72088e-14, No Iterations 1
BiCGStab:  Solving for Uy, Initial residual = 1, Final residual = 1.22064e-13, No Iterations 1
BiCGStab:  Solving for Uz, Initial residual = 1, Final residual = 2.69711e-12, No Iterations 1
BiCGStab:  Solving for p, Initial residual = 1, Final residual = 8.52076e-08, No Iterations 404
BiCGStab:  Solving for p, Initial residual = 0.0442768, Final residual = 6.64096e-08, No Iterations 302


flux requested but p not specified in the fluxRequired sub-dictionary of fvSchemes.

    From function fvMatrix<Type>::flux()
    in file /home/chapman/OpenFOAM/OpenFOAM-1.5-dev/src/finiteVolume/lnInclude/fvMatrix.C at line 777.

The corresponding entry in fvSchemes looks like this:

Code:

fluxRequired
{
        default no;
        pcorr;
        p;
}

Does anyone have a clue what is going wrong here?

Regards, Andy

Edit:
I found this thread: http://www.cfd-online.com/Forums/ope...ictionary.html
and checked my fvSchemes. However, the problem was not fixed for me.

sharonyue January 23, 2015 05:57

Quote:

Originally Posted by hjasak (Post 206805)
Yup, easy. Thin of the calculation of the fluxes in the pressure equation. Once everything is done properly, the pressure part of the flux is equal to the off-diagonal matrix coefficient related to the face, multiplied by the pressure field (difference, or for compressible flow, a slightly more complex).

Now, think of discretisation of a Laplacian: this one also got the non-orthogonal correction, which is explicit. The correction therefore also appears in the flux and must be fully consistent: if not, you get a mass continuity error.

The best way to accumulate all corrections of this kind is to simply collect the stuff during matrix assembly. Because this costs money (storage and operations), you don't want to do this for every matrix assembly. Thus, a fluxRequired flag means "collect the explicit contributions", after which you can ask the matrix for the flux (or flux correction). If you don't need the flux, you don't do fluxRequired and all is well!

Clear?

Hrv

Anyone can explain this more? Thanks.

Topcresix May 1, 2015 11:30

Quote:

Originally Posted by sharonyue (Post 528763)
Anyone can explain this more? Thanks.

Yes, if I'm not wrong:

1) go to Santiago Marquez PhD Thesis here:
https://docs.google.com/file/d/0B2lp...VLb3lGekk/edit

2) go to page 95 (MULES + PISO Algorithm explanation)

You will see that in order to solve the flux at point 1.C, you need the to create a flux from 1.B. (fluxRequired: alpha.water).

In the same manner, in order to solve the flux at point 3.D, you need first the flux of the gradient of the pressure calculated from 3.C (fluxRequired: p_rgh).

So in this case we have to set:

fluxRequired
{
default no;
p_rgh;
alpha.water;
}

in order to storage the flux created from the discretization of alpha equation in the MULES algorithm and the flux created from the pressure equation in PISO loop.

This is what I understood from openFoam user guide


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