Andrea_85 |
February 16, 2012 09:01 |
LTSInterFoam and pressure driven flow
Hi,
I have successfully simulated a pressure driven flow using interFoam. My domain is 2D and it has an inlet and an outlet, the rest are walls. The BC i set for this case were:
inlet
p_rgh fixedValue uniform 100
U pressureInletUniformVelocity
alpha1 fixedValue uniform 1
outlet
p_rgh fixedValue uniform 0;
U pressureInletOutletVelocity;
alpha1 zeroGradient;
walls
p_rgh fixedFluxPressure; adjoint no;
U fixedValue (0 0 0);
alpha constantAlphaContactAngle;
The simulation works fine with this setting. Now i would like to compare the results with the new multiphase steady state solver: LTSInterFoam.
I set up the case using exactly the same BC as before and i copied fvSolution from the wigleyHull test case. I get a floating point error immediately after the first iteration:
Code:
15] #1 Foam::sigFpe::sigHandler(int) in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[15] #2 ?? in "/lib64/libc.so.6"
[15] #3 Foam::GaussSeidelSmoother::smooth(Foam::word const&, Foam::Field<double>&, Foam::lduMatrix const&, Foam::Field<double> const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char, int) in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[15] #4 Foam::GaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[15] #5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[15] #6 Foam::fvMatrix<Foam::Vector<double> >::solve(Foam::dictionary const&) in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/LTSInterFoam"
[15] #7 Foam::fvMatrix<Foam::Vector<double> >::solve() in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/LTSInterFoam"
[15] #8 main in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/LTSInterFoam"
[15] #9 __libc_start_main in "/lib64/libc.so.6"
[15] #10 Foam::regIOobject::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/LTSInterFoam"
[node11:27114] *** Process received signal ***
[node11:27114] Signal: Floating point exception (8)
[node11:27114] Signal code: (-6)
[node11:27114] Failing at address: 0x3f5000069ea
[node11:27114] [ 0] /lib64/libc.so.6 [0x2b730bb0a2d0]
[node11:27114] [ 1] /lib64/libc.so.6(gsignal+0x35) [0x2b730bb0a265]
[node11:27114] [ 2] /lib64/libc.so.6 [0x2b730bb0a2d0]
[node11:27114] [ 3] /home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZN4Foam19GaussSeidelSmoother6smoothERKNS_4wordERNS_5FieldIdEERKNS_9lduMatrixERKS5_RKNS_10FieldFieldIS4_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEEhi+0x62e) [0x2b730ac3e6de]
[node11:27114] [ 4] /home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam19GaussSeidelSmoother6smoothERNS_5FieldIdEERKS2_hi+0x2d) [0x2b730ac3e9cd]
[node11:27114] [ 5] /home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam12smoothSolver5solveERNS_5FieldIdEERKS2_h+0x336) [0x2b730ac36c36]
[node11:27114] [ 6] LTSInterFoam [0x4a1309]
[node11:27114] [ 7] LTSInterFoam [0x4a22c3]
[node11:27114] [ 8] LTSInterFoam [0x431274]
[node11:27114] [ 9] /lib64/libc.so.6(__libc_start_main+0xf4) [0x2b730baf7994]
[node11:27114] [10] LTSInterFoam(_ZNK4Foam11regIOobject11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0x121) [0x425949]
[node11:27114] *** End of error message ***
The problem is that alpha1 is not bounded between 0 and 1 and it assumes ridiculous values. See the log file below
Code:
Flow time scale min/max = 1, 1
Smoothed flow time scale min/max = 1, 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.0444861 Min(alpha1) = 0 Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.0444861 Min(alpha1) = 0 Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.0444861 Min(alpha1) = 0 Max(alpha1) = 1
smoothSolver: Solving for Ux, Initial residual = 0.998308, Final residual = 1.15882e-05, No Iterations 1000
smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.000162056, No Iterations 1000
GAMG: Solving for p_rgh, Initial residual = 1, Final residual = 0.00986187, No Iterations 9
GAMG: Solving for p_rgh, Initial residual = 0.0015966, Final residual = 1.29717e-05, No Iterations 13
time step continuity errors : sum local = 0.00770126, global = -0.000948279, cumulative = -0.000948279
GAMG: Solving for p_rgh, Initial residual = 0.0400645, Final residual = 0.000289038, No Iterations 11
GAMG: Solving for p_rgh, Initial residual = 0.0323362, Final residual = 0.000266529, No Iterations 11
time step continuity errors : sum local = 0.00667514, global = 0.000862335, cumulative = -8.59436e-05
GAMG: Solving for p_rgh, Initial residual = 0.110602, Final residual = 0.000707688, No Iterations 7
GAMG: Solving for p_rgh, Initial residual = 0.0013311, Final residual = 8.2218e-08, No Iterations 31
time step continuity errors : sum local = 1.97485e-06, global = 2.71952e-07, cumulative = -8.56717e-05
ExecutionTime = 0.92 s ClockTime = 1 s
MassFlows: top = -4.91653e-09 bottom = 4.91654e-09
Averages of p_rgh : top = 100 bottom = 0
Time = 2
Flow time scale min/max = 1, 1
Smoothed flow time scale min/max = 1, 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.0899103 Min(alpha1) = -170.294 Max(alpha1) = 64.7941
MULES: Solving for alpha1
Liquid phase volume fraction = 0.135334 Min(alpha1) = -32767.5 Max(alpha1) = 29184.1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.180754 Min(alpha1) = -7.28461e+06 Max(alpha1) = 1.19618e+07
Here my fvSolution
Code:
pcorr
{
solver PCG;
preconditioner
{
preconditioner GAMG;
smoother DICGaussSeidel;
agglomerator faceAreaPair;
mergeLevels 1;
nCellsInCoarsestLevel 10;
cacheAgglomeration true;
tolerance 1e-6;
relTol 0;
};
tolerance 1e-6;
relTol 0;
};
p_rgh
{
solver GAMG;
smoother GaussSeidel;
agglomerator faceAreaPair;
mergeLevels 1;
nCellsInCoarsestLevel 10;
cacheAgglomeration true;
tolerance 1e-7;
relTol 0.01;
};
p_rghFinal
{
$p_rgh;
tolerance 1e-7;
relTol 0;
}
"U.*"
{
solver smoothSolver;
smoother GaussSeidel;
nSweeps 1;
tolerance 1e-8;
relTol 0;
};
I got the same error using PCG for both pressure and velocity.
What am I doing wrong? How can i fix it?
Best Regards
andrea
|