CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   XiFoam floating point error..mut error? (http://www.cfd-online.com/Forums/openfoam/103664-xifoam-floating-point-error-mut-error.html)

achinta June 22, 2012 13:58

XiFoam floating point error..mut error?
 
Hi all,
I am running XiFoam solver (SST model) and i get the following error. The Courant number is below 1 and the solution is not diverging. What could be the reason? I am running the solver in parallel. The post is bit lenghty, but i have described the complete set-up so that in future, Foamers can refer this for their work. Btw, the mesh has given results with simple and piso (with SST model)-without chemistry and energy equation.
----------------
[2] #0 Foam::error::printStack(Foam::Ostream&) in "/gt/home/h250241/OpenFOAM/ OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #1 Foam::sigFpe::sigHandler(int) in "/gt/home/h250241/OpenFOAM/OpenFOAM-2.1 .1/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #2 __restore_rt at sigaction.c:0
[2] #3 Foam::compressible::RASModels::mutUSpaldingWallFun ctionFvPatchScalarFiel d::calcUTau(Foam::Field<double> const&) const in "/gt/home/h250241/OpenFOAM/Open FOAM-2.1.1/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so"
[2] #4 Foam::compressible::RASModels::mutUSpaldingWallFun ctionFvPatchScalarFiel d::calcMut() const in "/gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux6 4GccDPOpt/lib/libcompressibleRASModels.so"
[2] #5 Foam::compressible::RASModels::mutkWallFunctionFvP atchScalarField::updat eCoeffs() in "/gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt /lib/libcompressibleRASModels.so"
[2] #6 Foam::fvPatchField<double>::evaluate(Foam::UPstrea m::commsTypes) in "/gt /home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/XiFoam"
[2] #7 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Geometr icBoundaryField::evaluate() in "/gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platfor ms/linux64GccDPOpt/bin/XiFoam"
[2] #8 Foam::compressible::RASModels::kOmegaSST::correct( ) in "/gt/home/h250241 /OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/lib/libcompressibleRASModels. so"
[2] #9 main in "/gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDP Opt/bin/XiFoam"
[2] #10 __libc_start_main in "/lib64/tls/libc.so.6"
[2] #11 _start in "/gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64Gc cDPOpt/bin/XiFoam"
[cubad10290:00511] *** Process received signal ***
[cubad10290:00511] Signal: Floating point exception (8)
[cubad10290:00511] Signal code: (-6)
[cubad10290:00511] Failing at address: 0x33541000001ff
[cubad10290:00511] [ 0] /lib64/tls/libc.so.6 [0x31cc92e300]
[cubad10290:00511] [ 1] /lib64/tls/libc.so.6(gsignal+0x3d) [0x31cc92e26d]
[cubad10290:00511] [ 2] /gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux 64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam6sigFpe10sigHandlerEi+0x3d) [0x2a98959afd]
[cubad10290:00511] [ 3] /lib64/tls/libc.so.6 [0x31cc92e300]
[cubad10290:00511] [ 4] /gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux 64GccDPOpt/lib/libcompressibleRASModels.so(_ZNK4Foam12compressibl e9RASModels42mu tUSpaldingWallFunctionFvPatchScalarField8calcUTauE RKNS_5FieldIdEE+0x68b) [0x2a95 c4f04b]
[cubad10290:00511] [ 5] /gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux 64GccDPOpt/lib/libcompressibleRASModels.so(_ZNK4Foam12compressibl e9RASModels42mu tUSpaldingWallFunctionFvPatchScalarField7calcMutEv +0x41a) [0x2a95c4e50a]
[cubad10290:00511] [ 6] /gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux 64GccDPOpt/lib/libcompressibleRASModels.so(_ZN4Foam12compressible 9RASModels34mut kWallFunctionFvPatchScalarField12updateCoeffsEv+0x 44) [0x2a95c469f4]
[cubad10290:00511] [ 7] XiFoam(_ZN4Foam12fvPatchFieldIdE8evaluateENS_8UPst ream10 commsTypesE+0x16) [0x453206]
[cubad10290:00511] [ 8] XiFoam(_ZN4Foam14GeometricFieldIdNS_12fvPatchField ENS_7v olMeshEE22GeometricBoundaryField8evaluateEv+0x345) [0x440dc5]
[cubad10290:00511] [ 9] /gt/home/h250241/OpenFOAM/OpenFOAM-2.1.1/platforms/linux 64GccDPOpt/lib/libcompressibleRASModels.so(_ZN4Foam12compressible 9RASModels9kOme gaSST7correctEv+0x239c) [0x2a95c2f78c]
[cubad10290:00511] [10] XiFoam [0x4304d6]
[cubad10290:00511] [11] /lib64/tls/libc.so.6(__libc_start_main+0xdb) [0x31cc91c4 0b]
[cubad10290:00511] [12] XiFoam [0x427b1a]
[cubad10290:00511] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 2 with PID 511 on node cubad10290 exited on sig nal 8 (Floating point exception).
-------------------------

Seems something to do with mut. I have the following BC for mut and alphat
----------------
internalField uniform 0;

boundaryField
{
INLET
{
type fixedValue;
value uniform 0;
}
OUTLET
{
type zeroGradient;
}

mut for walls
type mutUSpaldingWallFunction;
value uniform 0;

alphat for walls
type alphatWallFunction;
Prt 0.85;
value uniform 0;
------------------
Other boundary conditions:
-----------------------
Su:
internalField uniform 0.434;

boundaryField
{
INLET_FUEL
{
type fixedValue;
value uniform 0.434;
}

INLET_AIR
{
type fixedValue;
value uniform 0.434;
}

OUTLET
{
type inletOutlet;
inletValue uniform 0.434;
value uniform 0.434;
}

WALL
{
type zeroGradient;
}

Xi:
internalField uniform 1;

boundaryField
{
INLET_FUEL
{
type fixedValue;
value uniform 1;
}

INLET_AIR
{
type fixedValue;
value uniform 1;
}

OUTLET
{
type inletOutlet;
inletValue uniform 1;
value uniform 1;
}

WALL
{
type zeroGradient;
}

T and Tu:
internalField uniform 550;

boundaryField
{
INLET_FUEL
{
type fixedValue;
value uniform 293;
}

INLET_AIR
{
type fixedValue;
value uniform 550;
}

OUTLET
{
type zeroGradient;
}

WALL
{
type zeroGradient;
}
-------------------------------
Combustion properties file:
laminarFlameSpeedCorrelation Gulders;

fuel Methane;

Su Su [ 0 1 -1 0 0 0 0 ] 0.434;

SuModel unstrained;

equivalenceRatio equivalenceRatio [ 0 0 0 0 0 0 0 ] 0.54;

sigmaExt sigmaExt [ 0 0 -1 0 0 0 0 ] 100000;

XiModel transport;

XiCoef XiCoef [ 0 0 0 0 0 0 0 ] 0.62;

XiShapeCoef XiShapeCoef [ 0 0 0 0 0 0 0 ] 1;

uPrimeCoef uPrimeCoef [ 0 0 0 0 0 0 0 ] 1;

GuldersCoeffs
{
Methane
{
W 0.422;
eta 0.15;
xi 5.18;
alpha 2;
beta -0.5;
f 2.3;
}

Propane
{
W 0.446;
eta 0.12;
xi 4.95;
alpha 1.77;
beta -0.2;
f 2.3;
}

IsoOctane
{
W 0.4658;
eta -0.326;
xi 4.48;
alpha 1.56;
beta -0.22;
f 2.3;
}
}

ignite no;

ignitionSites ( );
--------------------------------
thermophysicalProperties file:
thermoType
hhuMixtureThermo<homogeneousMixture<sutherlandTran sport<specieThermo<janafThermo<perfectGas>>>>>;

stoichiometricAirFuelMassRatio
stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 17.2;

reactants
{
specie
{
nMoles 1;
molWeight 29.2068;
}
thermodynamics
{
Tlow 100;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 3.20495 0.00165359 -5.55661e-07 8.62503e-11 -4.93973e-15 -1347.25 4.81241 );
lowCpCoeffs ( 3.52181 -9.21936e-05 1.77427e-06 -6.2049e-10 -1.99209e-13 -1352.32 3.48856 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}

products
{
specie
{
nMoles 1;
molWeight 28.5396;
}
thermodynamics
{
Tlow 100;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 3.10383 0.00156927 -5.22523e-07 8.06527e-11 -4.60363e-15 -6892.54 5.21744 );
lowCpCoeffs ( 3.53318 7.81943e-05 5.77097e-07 6.68595e-10 -6.30433e-13 -6964.71 3.15336 );
}
transport
{
As 1.67212e-06;
Ts 170.672;
}
}
----------------------------
fvSchemes:
ddtSchemes
{
default backward;
}

gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}

divSchemes
{
default none;
div(phi,U) Gauss linearUpwindV grad(U);
div(phid,p) Gauss upwind;
div(phi,K) Gauss upwind;
div(phi,k) Gauss upwind;
div(phi,omega) Gauss upwind;
div(phi,R) Gauss upwind;
div(R) Gauss linear;
div(phiXi,Xi) Gauss upwind;
div(phiXi,Su) Gauss upwind;
div(phiSt,b) Gauss limitedLinear01 1;
div(phi,ft_b_h_hu) Gauss multivariateSelection
{
fu limitedLinear01 1;
ft limitedLinear01 1;
b limitedLinear01 1;
h limitedLinear 1;
hu limitedLinear 1;
};
div(U) Gauss linear;
div((Su*grad(b))) Gauss linear;
div((U+((Su*Xi)*grad(b)))) Gauss linear;
div((muEff*dev2(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
//default Gauss linear corrected;
// default Gauss linear limited 0.5;
default Gauss linear limited 0.333;
}


interpolationSchemes
{
default linear;
}

snGradSchemes
{
default limited 0.333;
}

fluxRequired
{
default no;
p ;
}
----------------
fvSolution
solvers
{
"(p|rho)"
{
solver PCG;
preconditioner DIC;
tolerance 1e-06;
relTol 0.05;
}

"(p|rho)Final"
{
$p;
tolerance 1e-06;
relTol 0;
}

"(U|b|Su|Xi|h|hu|k)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0.05;
}

"(U|b|Su|Xi|h|hu|k)Final"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}

omega
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
relTol 0.05;
}

omegaFinal
{
$omega;
tolerance 1e-08;
relTol 0;
nSweeps 1;
};
}

PIMPLE
{
nOuterCorrectors 1;
nCorrectors 2;
nNonOrthogonalCorrectors 1;
}
-------
I kindly request your suggestions.

Kind regards,
Achinta

mihaipruna June 25, 2012 11:50

did you make sure mut units are correct?
dimensions [1 -1 -1 0 0 0 0];

achinta June 25, 2012 15:48

wrong fvSchemes or boundary conditions?
 
Hi Mihai,
thanks for the reply. mut units are fine(its the same as tutorials and as you mentioned). The solver runs for exactly 123 timesteps and then shows this error message. I used ' mutUWallFunction' for mut at walls and then the same error. Then i used 'mutkWallFunction'. With this, i dont get any error message. But the time step becomes very small (1e-12s). Basically, i think, it means the solution is diverging and there is something wrong either with boundary conditions or fvSchemes. Could you suggest any better fvSchemes or boundary conditions?

Regards,
Achinta

Farshad_Noravesh July 25, 2012 16:15

fvschemes for pressure and velocity
 
Hi achinta,

did you manage to solve your problem? I have the same problem. I started from the most simple form which is a laminar premixed flame. I tested different meshes but the problem is the same.
I guess the problem is the way we handle discretizations for pressure and velocity in XiFOAM inside OF-2.1.x

XiFOAM has been changed from OF1-7-1 to OF2.1.x (piso tp pimple)

Please tell me if you can help me.

Thanks

Farshad

achinta July 25, 2012 18:42

Hi Farshad,
I have a non-orthogonal mesh and i guess that's the major issue. My simulations were diverging even with 'ignition off' (basically, unsteady compressible simulation). Later, i used simpleFoam results as initial solution for velocity and it was running fine.

When i started ignition, simulation crashed again!! 'transport' model for Xi is not stable i guess. So i used 'algebraic' model and it was running fine for 4000 time steps. It crashed again with the 'mut error'. I think i have reached a dead end.

The problem is that the documentation about XiFoam is poor. Very few OpenFoamers have used it and i got no response for my question.

Let me know if you figure something out. Is your mesh non-orthogonal? I hope OpenFoam gets more robust.

Regards,
Achinta

Farshad_Noravesh July 26, 2012 06:24

nonorthogonal mesh
 
Dear Achinta,

Thanks. My mesh is a simple orthogonal mesh that i did in gambit and i uses the command flunetMeshToFoam -scale 0.001 to convert it to openfoam. I think it should work because my geometry is a simple rectangular free laminar premixed flame.
when i change fvsolution and fvschemes the convergence differs hugely and sometimes it converges to a wrong answer.
I used the same case and solved it by fluent easily so i may conclude that the mesh is ok.
I am also skeptical of the way DPDT is defined for pressure variations in XiFOAM-2-1-x.
in XiFOAM-1.7.1 it was defined different completely.

thanks alot,

Farshad

achinta July 26, 2012 07:58

Hello Farshad,
I am sure they had good reason to change dpdt the way it is.. Does your case work with with version 1.7? The error is due to mut wall function and some equations in the wall function(involving utau) is dividing by zero which is not possible. This could be caused by pressure fluctuations (pressure equation may not be solved in a good way. But i tried different fvSchemes and none of them give converging results). Did you manage to get converging (but inaccurate) results? Could you post the fvSchems,fvSolution and combustionProperties file of that case? Which turbulence model did you use-RAS or LES? and which type among RAS/LES?

Thanks,
Achinta

Farshad_Noravesh July 26, 2012 15:06

budgetary convergence
 
1 Attachment(s)
Hi Achinta,

I have attached my fvsolution and fvscheme for the case that has converged but i am not sure if in reality it can be validated and justified.
if you give me your email i can send you the pictures of my LES results.

Kind Regards,

Farshad

achinta July 31, 2012 04:48

Hi Farshad,
Your schemes look similar to the ones used in tutorials and they are good for orthogonal mesh. My case diverged within few time steps with these settings. So i had to play with different settings and i managed it to make it run for 4000 steps. Thanks Farshad, but your results may not be helpful for my case.

If you find a solution to this mut problem, please drop a message :)

Regards,
Achinta


All times are GMT -4. The time now is 21:10.