|
[Sponsors] |
Foam::error::printStack(Foam::Ostream&) with interFoam -parallel |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
July 1, 2018, 18:57 |
|
#21 |
Senior Member
|
Could you define "not that good"? Residual plots depend on the script you have used for plotting, on a simulation, on the final aim of your simulations.
Pictures you have posted: 1e-2 for pressure, usually it is not enough. |
|
May 27, 2019, 07:27 |
Foam::error::printStack(Foam::Ostream&) with interDyMFoam -parallel
|
#22 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear All,
I am using interDyMFoam solver for raceway pond hydrodynamic simulation with water at the bottom and air above. As you may know raceway pond, it is circulating flow channel with a rotating paddle-wheel as source of momentum. The solver runs in parallel(HPC) perfectly for my mesh in its native form. I then added scalar transport by setting spherical numerical tracer material in the water phase using setFields. Based on the information I got on the site https://www.openfoam.com/documentati...Transport.html, I have added a function on the controlDict that integrates scalar transport of material with the main solver. I have also added some lines of codes on fvSolution and fvScheme to introduce the transported material. The simulation goes on up to a certain time (8.6 seconds) and crash with the following error. I appreciate if you could help me to solve this problem. For your reference I have attached the files of my case. |
|
May 27, 2019, 07:47 |
Foam::error::printStack(Foam::Ostream&) with interDyMFoam -parallel
|
#23 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear All,
If the attachments in my previous post are not so convenient, I put them again in the code below adding setFieldsDict and dynamicMeshDict and . As you can see the error startd at writing the scalar transport output. Best regards, error message, Code:
PIMPLE: iteration 3 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974883 Min(alpha.water) = -0.0002821722 Max(alpha.water) = 1.000014 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974882 Min(alpha.water) = -0.0002527684 Max(alpha.water) = 1.000014 smoothSolver: Solving for Ux, Initial residual = 0.0003973392, Final residual = 2.742839e-08, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.0001254303, Final residual = 4.915543e-07, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.001211739, Final residual = 7.517233e-08, No Iterations 2 GAMG: Solving for p_rgh, Initial residual = 0.002028651, Final residual = 9.083885e-07, No Iterations 93 time step continuity errors : sum local = 2.530597e-06, global = 2.492304e-06, cumulative = 0.0002797818 smoothSolver: Solving for epsilon, Initial residual = 0.001153315, Final residual = 9.277986e-08, No Iterations 2 smoothSolver: Solving for k, Initial residual = 0.0006689293, Final residual = 6.277481e-08, No Iterations 2 ExecutionTime = 540.51 s ClockTime = 542 s scalarTransport write: smoothSolver: Solving for A, Initial residual = 0.0008378552, Final residual = 5.522432e-07, No Iterations 3 Courant Number mean: 0.05958578 max: 2.47276 Interface Courant Number mean: 0.004201403 max: 0.960489 deltaT = 0.001710081 Time = 8.965798384 PIMPLE: iteration 1 AMI: Creating addressing and weights between 25480 source faces and 25480 target faces AMI: Patch source sum(weights) min/max/average = 0.8927344, 2.243641, 1.006844 AMI: Patch target sum(weights) min/max/average = 0.8722569, 2.42203, 1.006609 Execution time for mesh.update() = 0.2 s GAMG: Solving for pcorr, Initial residual = 1, Final residual = 0.07917045, No Iterations 13 time step continuity errors : sum local = 3.449466e-06, global = 2.747742e-06, cumulative = 0.0002825295 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974882 Min(alpha.water) = -0.000219808 Max(alpha.water) = 1.002122 MULES: Solving for alpha.water Phase-1 volume fraction = 0.397488 Min(alpha.water) = -0.0001936517 Max(alpha.water) = 1.004385 smoothSolver: Solving for Ux, Initial residual = 0.000923795, Final residual = 9.940696e-08, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.0002270659, Final residual = 2.03104e-08, No Iterations 2 smoothSolver: Solving for Uz, Initial residual = 0.002263035, Final residual = 2.057593e-07, No Iterations 2 GAMG: Solving for p_rgh, Initial residual = 0.03989121, Final residual = 7.967211e-07, No Iterations 64 time step continuity errors : sum local = 1.375918e-06, global = 1.341233e-06, cumulative = 0.0002838708 PIMPLE: iteration 2 MULES: Solving for alpha.water Phase-1 volume fraction = 0.397488 Min(alpha.water) = -0.0002225195 Max(alpha.water) = 1.000031 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974878 Min(alpha.water) = -0.0001977482 Max(alpha.water) = 1.000026 smoothSolver: Solving for Ux, Initial residual = 0.0005207693, Final residual = 3.869468e-08, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.0001784677, Final residual = 6.247769e-07, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.001674928, Final residual = 9.755823e-08, No Iterations 2 GAMG: Solving for p_rgh, Initial residual = 0.005729367, Final residual = 6.897294e-07, No Iterations 89 time step continuity errors : sum local = 2.763071e-06, global = 2.734495e-06, cumulative = 0.0002866053 PIMPLE: iteration 3 MULES: Solving for alpha.water Phase-1 volume fraction = 0.397488 Min(alpha.water) = -0.0002228894 Max(alpha.water) = 1.000014 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974877 Min(alpha.water) = -0.0001972579 Max(alpha.water) = 1.000014 smoothSolver: Solving for Ux, Initial residual = 0.000398232, Final residual = 2.746796e-08, No Iterations 2 smoothSolver: Solving for Uy, Initial residual = 0.0001253007, Final residual = 4.530359e-07, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.001214845, Final residual = 7.441225e-08, No Iterations 2 GAMG: Solving for p_rgh, Initial residual = 0.001930529, Final residual = 9.771864e-07, No Iterations 85 time step continuity errors : sum local = 2.612538e-06, global = 2.572541e-06, cumulative = 0.0002891778 smoothSolver: Solving for epsilon, Initial residual = 0.001157704, Final residual = 9.530448e-08, No Iterations 2 smoothSolver: Solving for k, Initial residual = 0.0006695991, Final residual = 6.323726e-08, No Iterations 2 ExecutionTime = 557.9 s ClockTime = 560 s scalarTransport write: [4] #0 Foam::error::printStack(Foam::Ostream&)-------------------------------------------------------------------------- A process has executed an operation involving a call to the "fork()" system call to create a child process. Open MPI is currently operating in a condition that could result in memory corruption or other system errors; your job may hang, crash, or produce silent data corruption. The use of fork() (or system() or other calls that create child processes) is strongly discouraged. The process that invoked fork was: Local host: [[6526,1],4] (PID 63703) If you are *absolutely sure* that your application will successfully and correctly survive a call to fork(), you may disable this warning by setting the mpi_warn_on_fork MCA parameter to 0. -------------------------------------------------------------------------- at ??:? [4] #1 Foam::sigFpe::sigHandler(int) at ??:? [4] #2 ? in "/lib64/libc.so.6" [4] #3 Foam::symGaussSeidelSmoother::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) at ??:? [4] #4 Foam::symGaussSeidelSmoother::smooth(Foam::Field<double>&, Foam::Field<double> const&, unsigned char, int) const at ??:? [4] #5 Foam::smoothSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:? [4] #6 Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:? [4] #7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:? [4] #8 Foam::functionObjects::scalarTransport::execute() at ??:? [4] #9 Foam::functionObjects::timeControl::execute() at ??:? [4] #10 Foam::functionObjectList::execute() at ??:? [4] #11 Foam::Time::run() const at ??:? [4] #12 ? at ??:? [4] #13 __libc_start_main in "/lib64/libc.so.6" [4] #14 ? at ??:? [hpc-n663:63703] *** Process received signal *** [hpc-n663:63703] Signal: Floating point exception (8) [hpc-n663:63703] Signal code: (-6) [hpc-n663:63703] Failing at address: 0x16810000f8d7 [hpc-n663:63703] [ 0] /lib64/libc.so.6(+0x36280)[0x2af991f61280] [hpc-n663:63703] [ 1] /lib64/libc.so.6(gsignal+0x37)[0x2af991f61207] [hpc-n663:63703] [ 2] /lib64/libc.so.6(+0x36280)[0x2af991f61280] [hpc-n663:63703] [ 3] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam22symGaussSeidelSmoother6smoothERKNS_4wordERNS_5FieldIdEERKNS_9lduMatrixERKS5_RKNS_10FieldFieldIS4_dEERKNS_8UPtrListIKNS_17lduInterfaceFieldEEEhi+0x855)[0x2af990b8c045] [hpc-n663:63703] [ 4] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam22symGaussSeidelSmoother6smoothERNS_5FieldIdEERKS2_hi+0x26)[0x2af990b8b7e6] [hpc-n663:63703] [ 5] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam12smoothSolver5solveERNS_5FieldIdEERKS2_h+0x4c5)[0x2af990b82535] [hpc-n663:63703] [ 6] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE15solveSegregatedERKNS_10dictionaryE+0x3c6)[0x2af98c8ee496] [hpc-n663:63703] [ 7] interDyMFoam(_ZN4Foam8fvMatrixIdE5solveERKNS_10dictionaryE+0x329)[0x4bc869] [hpc-n663:63703] [ 8] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libsolverFunctionObjects.so(_ZN4Foam15functionObjects15scalarTransport7executeEv+0xa8a)[0x2af9b4a429aa] [hpc-n663:63703] [ 9] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam15functionObjects11timeControl7executeEv+0x3d)[0x2af990b218ed] [hpc-n663:63703] [10] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam18functionObjectList7executeEv+0x85)[0x2af990b0fe95] [hpc-n663:63703] [11] /usr/local/openfoam/OpenFOAM-5.0/platforms/linux64IccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam4Time3runEv+0xe4)[0x2af990b293e4] [hpc-n663:63703] [12] interDyMFoam[0x43a90f] [hpc-n663:63703] [13] /lib64/libc.so.6(__libc_start_main+0xf5)[0x2af991f4d3d5] [hpc-n663:63703] [14] interDyMFoam[0x430069] [hpc-n663:63703] *** End of error message *** Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application interDyMFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 30; deltaT 0.0001; writeControl adjustableRunTime; writeInterval 0.1; purgeWrite 0; writeFormat ascii; writePrecision 7; writeCompression uncompressed; timeFormat general; timePrecision 10; runTimeModifiable yes; adjustTimeStep yes; maxCo 2.5; maxAlphaCo 1; maxDeltaT 1; //libs ( "libturbulenceModels.dll" "libfvOptions.dll" "libturbulenceModelSchemes.dll" ); functions { ATransport { type scalarTransport; libs ("libsolverFunctionObjects.so"); enabled true; writeControl adjustableRunTime; writeInterval 0.1; field A; bounded01 false; phase alpha.water; write true; /* fvOptions { unitySource { type scalarSemiImplicitSource; enabled true; scalarSemiImplicitSourceCoeffs { selectionMode all; volumeMode specific; injectionRateSuSp { A (1 0); } } } } */ resetOnStartUp false; } } Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default Euler; } gradSchemes { default Gauss linear; grad(U) cellLimited Gauss linear 1; } divSchemes { div(rhoPhi,U) Gauss linearUpwind grad(U); div(phi,alpha) Gauss vanLeer; div(phi,A) Gauss vanLeer; div(phirb,alpha) Gauss linear; div(phid1,p_rgh) Gauss upwind; div(phid2,p_rgh) Gauss upwind; div(rhoPhi,T) Gauss linearUpwind unlimited; div(rhoPhi,K) Gauss upwind; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear limited corrected 0.33; } interpolationSchemes { default linear; } snGradSchemes { default limited corrected 0.33; } HTML Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "alpha.water.*" { nAlphaCorr 1; nAlphaSubCycles 2; cAlpha 1; } "A.*" { solver smoothSolver; smoother symGaussSeidel; nACorr 1; nASubCycles 2; cA 1; tolerance 1e-6; relTol 0; nSweeps 1; } p_rgh { solver GAMG; tolerance 1e-6; relTol 0.02; smoother GaussSeidel; } "pcorr.*" { $p_rgh; tolerance 0.1; relTol 0; } p_rghFinal { $p_rgh; relTol 0; } ".*(rho|rhoFinal)" { solver diagonal; } "(U|T|k|epsilon).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-6; relTol 0; nSweeps 1; } } PIMPLE { momentumPredictor yes; correctPhi yes; nOuterCorrectors 3; nCorrectors 1; nNonOrthogonalCorrectors 0; pRefPoint (0.1 0.4 0.75); pRefValue 0; } relaxationFactors { equations { "U.*" 0.2; "k.*" 0.2; "epsilon.*" 0.2; "T.*" 0.2; } } Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class polyBoundaryMesh; location "constant/polyMesh"; object boundary; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 6 ( bottom { type wall; nFaces 38836; startFace 3028972; } walls { type wall; nFaces 43028; startFace 3067808; } topOne { type wall; nFaces 2928; startFace 3110836; } paddle { type wall; inGroups 2 ( meshedWalls wall ) ; nFaces 23308; startFace 3113764; } AMI1 { type cyclicAMI; inGroups 2 ( cyclicAMI rotating ) ; nFaces 25480; startFace 3137072; matchTolerance 0.0001; transform noOrdering; neighbourPatch AMI2; } AMI2 { type cyclicAMI; inGroups 2 ( cyclicAMI rotating ) ; nFaces 25480; startFace 3162552; matchTolerance 0.0001; transform noOrdering; neighbourPatch AMI1; } ) Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object setFieldsDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // defaultFieldValues ( volScalarFieldValue alpha.water 0 volScalarFieldValue A 0 ); regions ( boxToCell { box (-0.2 -0.2 0) (0.2 1.5 0.2); fieldValues ( volScalarFieldValue alpha.water 1 ); } sphereToCell { centre (0.0 -0.15 0.1); radius 0.04 ; fieldValues ( volScalarFieldValue A 100 ) ; } ); Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs ( "libfvMotionSolvers.so" ); motionSolver solidBody; cellZone rotating; solidBodyMotionFunction rotatingMotion; origin (0.1 0.41 0.39); axis (1 0 0); omega 1.12; //10.758rpm |
|
May 27, 2019, 09:06 |
|
#24 |
Senior Member
|
Hi,
You can try starting with a change. This Code:
"A.*" { solver smoothSolver; smoother symGaussSeidel; nACorr 1; nASubCycles 2; cA 1; tolerance 1e-6; relTol 0; nSweeps 1; } Code:
A { solver PBiCGStab; preconditioned DILU; relTol 0.1; tolerance 1e-6; } AFinal { $A; relTol 0; } |
|
May 27, 2019, 10:44 |
Foam::error::printStack(Foam::Ostream&) with interDyMFoam -parallel
|
#25 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear Alexeym,
I thank you so much for your answer. I changed the fvSolution as you suggested only changing, preconditioned DILU; by preconditioner DILU; But another error shown below is facing me, which I couldn't solve. Kindly asking your help again. Best regards, fvSolution Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { "alpha.water.*" { nAlphaCorr 1; nAlphaSubCycles 2; cAlpha 1; } A { solver PBiCGStab; preconditioner DILU; relTol 0.1; tolerance 1e-6; } AFinal { $A; relTol 0; } p_rgh { solver GAMG; tolerance 1e-6; relTol 0.02; smoother GaussSeidel; } "pcorr.*" { $p_rgh; tolerance 0.1; relTol 0; } p_rghFinal { $p_rgh; relTol 0; } ".*(rho|rhoFinal)" { solver diagonal; } "(U|T|k|epsilon).*" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-6; relTol 0; nSweeps 1; } } PIMPLE { momentumPredictor yes; correctPhi yes; nOuterCorrectors 3; nCorrectors 1; nNonOrthogonalCorrectors 0; pRefPoint (0.1 0.4 0.75); pRefValue 0; } relaxationFactors { equations { "U.*" 0.2; "k.*" 0.2; "epsilon.*" 0.2; "T.*" 0.2; } } Code:
PIMPLE: iteration 3 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974823 Min(alpha.water) = -2.33499e-06 Max(alpha.water) = 1.00003 MULES: Solving for alpha.water Phase-1 volume fraction = 0.3974821 Min(alpha.water) = -1.810897e-06 Max(alpha.water) = 1.000029 smoothSolver: Solving for Ux, Initial residual = 0.0002887774, Final residual = 7.406697e-07, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 9.182542e-05, Final residual = 2.276457e-07, No Iterations 1 smoothSolver: Solving for Uz, Initial residual = 0.0008774326, Final residual = 3.919634e-08, No Iterations 2 GAMG: Solving for p_rgh, Initial residual = 0.001280143, Final residual = 9.924025e-07, No Iterations 54 time step continuity errors : sum local = 1.642548e-06, global = 1.615509e-06, cumulative = 5.728883e-06 smoothSolver: Solving for epsilon, Initial residual = 0.0008488738, Final residual = 3.865637e-08, No Iterations 2 smoothSolver: Solving for k, Initial residual = 0.0005139402, Final residual = 2.956443e-08, No Iterations 2 ExecutionTime = 18.15 s ClockTime = 19 s scalarTransport write: [2] #0 [4] #0 Foam::error::printStack(Foam::Ostream&)[8] #0 Foam::error::printStack(Foam::Ostream&)[10] #0 Foam::error::printStack(Foam::Ostream&)[12] #0 Foam::error::printStack(Foam::Ostream&)[14] #0 Foam::error::printStack(Foam::Ostream&)[16] #0 Foam::error::printStack(Foam::Ostream&)[18] #0 Foam::error::printStack(Foam::Ostream&)[20] #0 Foam::error::printStack(Foam::Ostream&)[0] #0 Foam::error::printStack(Foam::Ostream&)[1] #0 [3] #0 Foam::error::printStack(Foam::Ostream&)[5] #0 [6] #0 Foam::error::printStack(Foam::Ostream&)[7] #0 [9] #0 [11] #0 Foam::error::printStack(Foam::Ostream&)[13] #0 Foam::error::printStack(Foam::Ostream&)[15] #0 Foam::error::printStack(Foam::Ostream&)[17] #0 Foam::error::printStack(Foam::Ostream&)[19] #0 Foam::error::printStack(Foam::Ostream&)[21] #0 Foam::error::printStack(Foam::Ostream&)-------------------------------------------------------------------------- A process has executed an operation involving a call to the "fork()" system call to create a child process. Open MPI is currently operating in a condition that could result in memory corruption or other system errors; your job may hang, crash, or produce silent data corruption. The use of fork() (or system() or other calls that create child processes) is strongly discouraged. The process that invoked fork was: Local host: [[54505,1],10] (PID 247819) If you are *absolutely sure* that your application will successfully and correctly survive a call to fork(), you may disable this warning by setting the mpi_warn_on_fork MCA parameter to 0. -------------------------------------------------------------------------- Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[22] #0 Foam::error::printStack(Foam::Ostream&)[43] #0 [23] #0 Foam::error::printStack(Foam::Ostream&)[44] #0 Foam::error::printStack(Foam::Ostream&)[24] #0 Foam::error::printStack(Foam::Ostream&)[45] #0 Foam::error::printStack(Foam::Ostream&)[25] #0 Foam::error::printStack(Foam::Ostream&)[46] #0 Foam::error::printStack(Foam::Ostream&)[26] #0 Foam::error::printStack(Foam::Ostream&)[47] #0 Foam::error::printStack(Foam::Ostream&)[27] #0 Foam::error::printStack(Foam::Ostream&)[48] #0 Foam::error::printStack(Foam::Ostream&)[28] #0 Foam::error::printStack(Foam::Ostream&)[49] #0 Foam::error::printStack(Foam::Ostream&)[29] #0 Foam::error::printStack(Foam::Ostream&)[50] #0 Foam::error::printStack(Foam::Ostream&)[30] #0 Foam::error::printStack(Foam::Ostream&)[51] #0 Foam::error::printStack(Foam::Ostream&)[31] #0 Foam::error::printStack(Foam::Ostream&)[52] #0 Foam::error::printStack(Foam::Ostream&)[32] #0 Foam::error::printStack(Foam::Ostream&)[53] #0 Foam::error::printStack(Foam::Ostream&)[33] #0 Foam::error::printStack(Foam::Ostream&)[54] #0 Foam::error::printStack(Foam::Ostream&)[34] #0 Foam::error::printStack(Foam::Ostream&)[55] #0 Foam::error::printStack(Foam::Ostream&)[35] #0 Foam::error::printStack(Foam::Ostream&)[56] #0 Foam::error::printStack(Foam::Ostream&)[37] #0 Foam::error::printStack(Foam::Ostream&)[58] #0 Foam::error::printStack(Foam::Ostream&)[38] #0 Foam::error::printStack(Foam::Ostream&)[59] #0 Foam::error::printStack(Foam::Ostream&)[39] #0 Foam::error::printStack(Foam::Ostream&)[61] #0 Foam::error::printStack(Foam::Ostream&)[40] #0 Foam::error::printStack(Foam::Ostream&)[62] #0 Foam::error::printStack(Foam::Ostream&)[41] #0 Foam::error::printStack(Foam::Ostream&)[63] #0 Foam::error::printStack(Foam::Ostream&)[42] #0 Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[36] #0 Foam::error::printStack(Foam::Ostream&)[57] #0 Foam::error::printStack(Foam::Ostream&)[60] #0 Foam::error::printStack(Foam::Ostream&) at ??:? at ??:? at ??:? at ??:? at ??:? at ??:? [4] #1 Foam::sigFpe::sigHandler(int)[20] #1 Foam::sigFpe::sigHandler(int) at ??:? [21] #1 Foam::sigFpe::sigHandler(int) at ??:? [1] #1 Foam::sigFpe::sigHandler(int) at ??:? [2] #1 Foam::sigFpe::sigHandler(int) at ??:? [3] #1 Foam::sigFpe::sigHandler(int)[0] #1 Foam::sigFpe::sigHandler(int) at ??:? [9] #1 Foam::sigFpe::sigHandler(int) at ??:? [5] #1 Foam::sigFpe::sigHandler(int) at ??:? [8] #1 Foam::sigFpe::sigHandler(int) at ??:? [7] #1 Foam::sigFpe::sigHandler(int) at ??:? [10] #1 Foam::sigFpe::sigHandler(int) at ??:? [11] #1 Foam::sigFpe::sigHandler(int)[6] #1 Foam::sigFpe::sigHandler(int) at ??:? [13] #1 Foam::sigFpe::sigHandler(int) at ??:? [14] #1 Foam::sigFpe::sigHandler(int) at ??:? [15] #1 Foam::sigFpe::sigHandler(int) at ??:? [16] #1 Foam::sigFpe::sigHandler(int) at ??:? [17] #1 Foam::sigFpe::sigHandler(int)[12] #1 Foam::sigFpe::sigHandler(int) at ??:? [19] #1 Foam::sigFpe::sigHandler(int)[18] #1 Foam::sigFpe::sigHandler(int) at ??:? [20] #2 ? at ??:? at ??:? [4] #2 ? at ??:? at ??:? at ??:? [6] #2 ? at ??:? at ??:? [10] #2 ? at ??:? at ??:? at ??:? at ??:? at ??:? at ??:? [7] #2 ? at ??:? at ??:? [21] #2 ? at ??:? at ??:? [2] #2 ? at ??:? [16] #2 ? at ??:? at ??:? at ??:? at ??:? at ??:? at ??:? [19] #2 ? at ??:? [0] #2 ? at ??:? at ??:? [14] #2 ?[60] #1 Foam::sigFpe::sigHandler(int) at ??:? [18] #2 ? at ??:? at ??:? [13] #2 ? at ??:? [17] #2 ?[46] #1 Foam::sigFpe::sigHandler(int) at ??:? [1] #2 ? at ??:? [3] #2 ? at ??:? [9] #2 ? at ??:? [5] #2 ? at ??:? [8] #2 ? at ??:? [11] #2 ? at ??:? [15] #2 ? at ??:? [12] #2 ?[47] #1 Foam::sigFpe::sigHandler(int) in "/lib64/libc.so.6" in "/lib64/libc.so.6" in "/lib64/libc.so.6" in "/lib64/libc.so.6" at ??:? at ??:? [4] #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) in "/lib64/libc.so.6" [7] #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&)[20] #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&)[10] #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&)[6] #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) at ??:? [54] #1 Foam::sigFpe::sigHandler(int) in "/lib64/libc.so.6" [21] #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) at ??:? |
|
May 27, 2019, 10:59 |
Foam::error::printStack(Foam::Ostream&) with interDyMFoam -parallel
|
#26 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear Alexeym,
Sorry to bother you. I had been trying to continue the run from the latestTime of the previous setting. I restarted from 0 removing the previous decomposition and it is running now. I may contact you in case I need you help. Thank again. Best Regards Teddy M. |
|
May 27, 2019, 11:08 |
|
#27 |
Senior Member
|
Well, in fact, the cause of new error is the same: your mass transfer solver diverges. Since you like relaxation so much, you can start relaxing A-equations also.
Also, it is not quite clear: you use fvSchemes settings for quite non-orthogonal mesh (limiting non-orthogonal correction, cellLimited grad schemes) and in your fvSolution there is 0 non-orthogonal correctors. You use fixed number of outer correctors, you relax all equations (even on Final iteration), you do not check your solution convergence. Are you sure, your results have anything to do with reality? |
|
July 1, 2019, 14:13 |
scalarTransport
|
#28 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear Alexeym,
Upon your comment, I took some time to study what the code does behind and try to see how good it represents reality. In single-phase simulation (simpleFoam), the numerical result is fitting very well with the experimental tracer data on the same pilot. The "scalarTrasnport" function also runs smoothly in multiphase (interDyMFoam for water and air) in OpenFOAM 5. The numerical trace material is defined by "setField" (sphereToCell) inside the water phase. The result shows the tracer material is clearly transported and diffused but not constrained in the water phase only rather it is also dispersed in the air phase, which is not the reality. I found a tutorial in another version, OpenFOAM v-1812 that restricts the tracer in one phase. The problem in this version is that the trace is not moving. It only diffuses locally outward from its original center. Do you know if there is a way to constrain the transport of trace in one phase in OpenFOAM 5 or other versions? Thanks in advance, Teddy M Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application interDyMFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 30; deltaT 1e-4; writeControl adjustableRunTime; writeInterval 0.1; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression uncompressed; timeFormat general; timePrecision 10; runTimeModifiable yes; adjustTimeStep yes; maxCo 1.5; maxAlphaCo 1; maxDeltaT 1; functions { ATransport { type scalarTransport; libs ("libsolverFunctionObjects.so"); enabled true; writeControl adjustableRunTime; writeInterval 0.01; field A; bounded1 true; phase alpha.water; write true; fvOptions { } resetOnStartUp false; } } // ************************************************************************* // |
|
July 2, 2019, 08:52 |
|
#29 |
Senior Member
|
Hi,
Could you be more clear with versions? You have found tutorial for ESI version of OpenFOAM and tried to use the same settings for Foundation OpenFOAM? Your scalar being only diffused means that MULES compressed flux is zero. And this can be incompatibility between version. So can you elaborate on the way you are trying to limit your tracer to one phase? |
|
July 2, 2019, 14:43 |
scalarTransport
|
#30 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear Alexeym,
Thanks again for your reply. Let me try to be very clear. I have both versions installed, from the Foundation (OF-5) and ESI (OF-v1812). I run the tutorial "waterChannel" on OF-v1812, where I originally found and the description of this tutorial states that passive scalar transport of tracer is phase constrained. I see in the result the tracer is distributed only in the water phase. But, since the tracer injection manner is "volumeMode", I couldn't see whether it is transported or not. I used "setField" rather, to inject the tracer and run again. In this case, the trace is only diffusing from the injection center defined by setField. Below is the line of code for MULES in "scalarTransport.C" of this version of OF. I am not sure if the 0 corresponds to phi. if (bounded01_) { MULES::explicitSolve(s, phi, tTPhiUD.ref(), 1, 0); } I used the same geometry and setFieldDict to run on OF-5 from the foundation. This time the tracer is diffusing and also being transported along the flow direction to the outlet. But tracer material is found in the air phase too. In the real experiment, we inject tracer in the water phase and it is bounded in water only. MULES is not called in "scalarTransport.C" of OF-5. Teddy M |
|
July 3, 2019, 04:47 |
|
#31 |
Senior Member
|
Hi,
This term is responsible for convection of the scalar: Code:
fvm::div(limitedPhiAlpha, s, divScheme) So, if your scalar is not convected, then limitedPhiAlpha is zero. It is looked up like this: Code:
const surfaceScalarField& limitedPhiAlpha = mesh_.lookupObject<surfaceScalarField>(phasePhiCompressedName_); |
|
July 3, 2019, 11:48 |
scalarTransport
|
#32 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear Alexeym,
I truly appreciate your explanation as it gives me some insight to further explore. I will search for a possible solution and will post here also if it can help others. Best regards, Teddy M. |
|
July 5, 2019, 13:50 |
scalarTransport
|
#33 |
New Member
Tewodros Meless Teshome
Join Date: Apr 2018
Posts: 9
Rep Power: 8 |
Dear Alexeym,
I just introduced [ phasePhiCompressed alphaPhi0.water; ] inside the function attached at the bottom of the controlDict, as shown below and re-run the simulation. The tracer is now constrained in the water phase and also convected well in the flow direction. I have a screenshot attached that shows the difference with the previous case, where phasePhiCompressed is alphaPhiUn by default as you said, after 6 seconds of simulation. alpha.water is the same for both cases at all times. Could you please check if this is the right way to modify for the solver to handle the convection? Best regards, Teddy M Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 5 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "system"; object controlDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // application interDyMFoam; startFrom latestTime; startTime 0; stopAt endTime; endTime 30; deltaT 1e-4; writeControl adjustableRunTime; writeInterval 0.1; purgeWrite 0; writeFormat ascii; writePrecision 6; writeCompression uncompressed; timeFormat general; timePrecision 10; runTimeModifiable yes; adjustTimeStep yes; maxCo 1.5; maxAlphaCo 1; maxDeltaT 1; functions { ATransport { type scalarTransport; libs ("libsolverFunctionObjects.so"); enabled true; writeControl adjustableRunTime; writeInterval 0.01; field A; bounded1 true; phase alpha.water; phasePhiCompressed alphaPhi0.water; write true; fvOptions { } resetOnStartUp false; } } // ************************************************************************* // |
|
March 3, 2021, 14:40 |
|
#34 | |
Senior Member
Reviewer #2
Join Date: Jul 2015
Location: Knoxville, TN
Posts: 141
Rep Power: 11 |
Quote:
Teddy, I know this post has been a while but I will reply anyhow. "phaseScalarTransport" is not implemented until OpenFOAM 7.0. If you use scalarTransport in OpenFOAM 5.0, the scalar will transport to the whole domain. The "phaseScalarTransport" (in the OpenFOAM org version) is the "scalarTransport" in the ESI-OpenFOAM that enabled through "phase". In addition, the phasePhiCompressed is defined with alphaPhiUn as the default as pointed out by Alex. However, I observed the same problem that using alphaPhiUn the scalar will not be convicted. I export the alphaPhiUn during the simulation. alphaPhiUn is zero. I also can not find anywhere the interFoam solver would pass a value to alphaPhiUn. Meanwhile, if the alphaPhi0.water is used as the flux, partial of the scalar will be trapped at the old position where water used to be. I am actively addressing this issue. Here is what I found so far. It looks like the OpenFOAM ESI v2006 has not completely implemented the phase contained transport. The OpenFOAM 8 implement the phase contained transport for VOF-like solver with addition estimation of the flux. Code:
If \c alphaPhi is not found, then a pressure-like equation will be solved in order to construct it so that it exactly matches the time-derivative of the phase volume or mass. This is likely to be necessary in volume-of-fluid solvers where \c alphaPhi is not part of the solution procedure. The pressure field name will be required in this case. Code:
// If alphaPhi exists then return it if (mesh_.foundObject<surfaceScalarField>(alphaPhiName_)) { return mesh_.lookupObject<surfaceScalarField>(alphaPhiName_); } // Otherwise generate it ... Info<< type() << ": " << surfaceScalarField::typeName << " " << alphaPhiName_ << " was not found, so generating it" << endl; const volScalarField& alpha = mesh_.lookupObject<volScalarField>(alphaName_); const surfaceScalarField& phi = mesh_.lookupObject<surfaceScalarField>(phiName_); // Make a crude guess of the phase flux using default interpolation tmp<surfaceScalarField> tAlphaPhi ( new surfaceScalarField ( alphaPhiName_, phi*fvc::interpolate(alpha) ) ); surfaceScalarField& alphaPhi = tAlphaPhi.ref(); // Get the potential field volScalarField& Phi(this->Phi()); // Construct the scheme names const word laplacianScheme = "laplacian(" + pName_ + ")"; // Debug writing. Write the material derivative of alpha, before and after // the solution of the potential and the correction of alphaPhi. Before // correction the field should be non-zero, and after it should be // comparable to the solution tolerance. auto writeDDt = [&](const label i) { const volScalarField DDtAlpha ( "DDt(" + IOobject::groupName ( IOobject::member(alpha.name()) + Foam::name(i), IOobject::group(alpha.name()) ) + ")", fvc::ddt(alpha) + fvc::div(alphaPhi) ); Info<< type() << ": Writing " << DDtAlpha.name() << endl; DDtAlpha.write(); }; if (debug && mesh_.time().writeTime()) { writeDDt(0); } Thanks, Rdf Last edited by randolph; March 3, 2021 at 22:53. |
||
January 30, 2022, 09:21 |
|
#35 | |
Senior Member
Reviewer #2
Join Date: Jul 2015
Location: Knoxville, TN
Posts: 141
Rep Power: 11 |
Quote:
interFoam with scalar transport in single phase |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
modified interfoam diverge in parallel | Kareem Abdelshafy | OpenFOAM Running, Solving & CFD | 0 | August 20, 2016 21:41 |
Explicitly filtered LES | saeedi | Main CFD Forum | 16 | October 14, 2015 12:58 |
simpleFoam parallel | AndrewMortimer | OpenFOAM Running, Solving & CFD | 12 | August 7, 2015 19:45 |
interFoam in parallel | gooya_kabir | OpenFOAM Running, Solving & CFD | 0 | December 9, 2013 06:09 |
interFoam parallel | idefix | OpenFOAM Pre-Processing | 7 | October 23, 2013 03:35 |