|
[Sponsors] |
February 23, 2010, 11:22 |
compressibleInterFoam crash
|
#1 |
Member
|
Hi all!
I am trying to solve a case with a droplet in front of a spraying nozzle. For this I am using compressibleInterFoam. setFields runs without errors and I can see in paraFoam that the droplet is there. I am starting to run the case and I get a rather strange, to me, error: Code:
mpirun -np 8 compressibleInterFoam -parallel /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 1.6 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 1.6-f802ff2d6c5a Exec : compressibleInterFoam -parallel Date : Feb 23 2010 Time : 15:19:35 Host : stokes PID : 14924 Case : /home/kay/OpenFOAM/OpenFOAM-1.6/my-projects/twophase nProcs : 8 Slaves : 7 ( stokes.14925 stokes.14926 stokes.14927 stokes.14928 stokes.14929 stokes.14930 stokes.14931 ) Pstream initialized with: floatTransfer : 0 nProcsSimpleSum : 0 commsType : nonBlocking SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE). // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Reading g Reading field p Reading field alpha1 Calculating field alpha1 Reading field U Reading/calculating face flux field phi Reading transportProperties Selecting incompressible transport model Newtonian Selecting incompressible transport model Newtonian Selecting turbulence model type LESModel Selecting LES turbulence model laminar Courant Number mean: 0.012745061 max: 0.43786674 Starting time loop Courant Number mean: 0.0072762396 max: 0.24998101 deltaT = 5.709066e-07 Time = 5.709065997e-07 MULES: Solving for alpha1 Liquid phase volume fraction = 0.9993326 Min(alpha1) = -4.3457684e-19 Min(alpha2) = -2.220446e-16 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 [4] [4] [4] request for volScalarField psi from objectRegistry region0 failed available objects of type volScalarField are 16 ( (div(phi)*p) K convection(phi,p) rho (rho0+(psi*p)) ((pos(alpha2)*div(phi))|max(alpha2,0.0001)) (1|A(U)) alpha1_0 nu nu1 delta rho_0 nu2 p alpha2 alpha1 ) #0 Foam::error::printStack(Foam::Ostream&) in "/home/kay/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so" #1 Foam::error::abort() in "/home/kay/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so" #2 Foam::Ostream& Foam::operator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/home/kay/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/compressibleInterFoam" #3 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const& Foam::objectRegistry::lookupObject<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >(Foam::word const&) const in "/home/kay/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libinterfaceProperties.so" #4 Foam::waveTransmissiveFvPatchField<double>::advectionSpeed() const in "/home/kay/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libfiniteVolume.so" #5 Foam::advectiveFvPatchField<double>::updateCoeffs() in "/home/kay/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libfiniteVolume.so" #6 Foam::fvMatrix<double>::fvMatrix(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::dimensionSet const&) in "/home/kay/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/compressibleInterFoam" #7 Foam::fv::EulerDdtScheme<double>::fvmDdt(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) in "/home/kay/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libfiniteVolume.so" #8 Foam::tmp<Foam::fvMatrix<double> > Foam::fvm::ddt<double>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) in "/home/kay/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/compressibleInterFoam" #9 main in "/home/kay/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/compressibleInterFoam" #10 __libc_start_main in "/lib/libc.so.6" #11 _start at /build/buildd/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116 [4] -------------------------------------------------------------------------- MPI_ABORT was invoked on rank 4 in communicator MPI_COMM_WORLD with errorcode 1. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them. Cheers. |
|
February 24, 2010, 21:11 |
compressibleInterFoam -- boundary conditions?
|
#2 |
New Member
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 17 |
Could you give us some more info, especially in the area of boundary conditions you are trying to use? It looks like you are trying to use a waveTransmissive condition. I have *attempted* to use that BC but to no avail. However, I am digging in further.
If you get your simulation working, please let us know what you needed to do. |
|
February 25, 2010, 11:10 |
|
#3 |
Member
|
Thank you for your reply Scott.
I am using the waveTransmissive bounday condition indeed because it gave good results to a previous simulation I was doing using a sonicFoam with high velocities. I am trying simpler boundary conditions now. Will let you know what is needed to run properly. In the meantime if you need any more information on what settings I have, please let me know. Cheers. |
|
February 25, 2010, 16:28 |
Here is a fix...
|
#4 |
New Member
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 17 |
Hi Costas,
I have managed to get the waveTransmissive boundary condition working. It needs to have a volScalarField representing the compressibility psi. For a two phase flow, you can add this to createFields.H : volScalarField DrhoDp ( IOobject ( "DrhoDp", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), alpha1*psi1 + alpha2*psi2 ); The be sure to update it in alphaEqns.H after alpha2 is set. In the boundary condition, you could have something like: boundaryFieldName { type waveTransmissive; field p; phi phi; rho rho; psi DrhoDp; fieldInf 101325; gamma 1.0; lInf 0.025; value uniform 101325; } I have set gamma = 1.0 (the ratio of specific heats), since this problem is isothermal. Does that sound like a correct thing to do? -STM |
|
February 26, 2010, 06:10 |
compressibleInterFoam
|
#5 |
Member
Stefano
Join Date: Jul 2009
Posts: 36
Rep Power: 17 |
Hi guys,
For "compressibleInterFoam" (multiphase) how can i simulate an ideal gas? Regards |
|
February 26, 2010, 09:06 |
|
#6 |
Member
|
Dear Scott
Thank you very much. The part in createFields was what I was missing. It certainly does the trick now. I had it working using inletOutlet as a boundary condition for pressure and velocity (giving their values of course), but I expect waveTransmissive to give better results. Thanks again. Costas |
|
February 26, 2010, 09:35 |
|
#7 |
New Member
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 17 |
Stefano,
compressibleInterFoam uses an isothermal equation of state, so you cannot do a "real" ideal gas. The density for phase i is rho_i = rho0_i + psi_i P, where psi_i = d(rho_i)/dP = 1/(c_i)^2, and c_i is the wavespeed of that phase. Hope that helps. |
|
February 26, 2010, 10:54 |
|
#8 |
Member
|
By the way, how do I update psi after alpha2 is set?
|
|
February 26, 2010, 11:28 |
|
#9 |
New Member
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 17 |
Costas,
You need to update the volume scalar field you created after the line "alpha2 = scalar(1) - alpha1;" line in alphaEqns.H. Adding a line such as "DrhoDp = psi1*alpha1 + psi2*alpha2;" should do the trick. Let me know if you are getting good results using waveTransmissive BCs with this solver. -STM |
|
February 26, 2010, 11:48 |
|
#10 | |
Member
|
Quote:
Code:
max(U) 395539.76 Cheers. |
||
March 2, 2010, 08:57 |
|
#11 |
Member
|
It is working OK. Max Courant number is set to reach 0.25. The simulation is not fast, as expected, but it carries on properly until the end. I have made a stupid mistake in the first set (blowing liquid in air, instead of air on a liquid droplet ), so I will have to re run, unforunately. Please let me know what kind of data you want me to share by any chance.
Thanks again Scott! |
|
March 2, 2010, 09:19 |
|
#12 |
New Member
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 17 |
Hi Costas,
That's good things are working well. What BCs do you use on U and alpha when you use waveTransmissive on p? -Scott |
|
March 2, 2010, 09:31 |
|
#13 |
Member
|
In file 0/p.org:
Code:
inlet { type fixedValue; value uniform 101325; } outlet { type waveTransmissive; field p; phi phi; rho rho; psi DrhoDp; fieldInf 101325; gamma 1.0; lInf 0.025; value uniform 101325; } wall { type zeroGradient; } In file 0/U: Code:
inlet { type fixedValue; value uniform (20 0 0); } outlet { type waveTransmissive; field p; phi phi; rho rho; psi DrhoDp; fieldInf (0 0 0); gamma 1.0; lInf 0.025; value uniform (20 0 0); } wall { type fixedValue; value uniform (0 0 0); } Code:
dimensions [0 0 0 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type calculated; value uniform 0; } outlet { type calculated; value uniform 0; } wall { type zeroGradient; } Cheers. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Flow Simulation Crash with Trajectories | D.Castle | FloEFD, FloWorks & FloTHERM | 2 | August 5, 2009 15:50 |
multiphase simulation crash | austin | FLUENT | 2 | February 25, 2009 09:38 |
CFX Solver : Sudden crash | Hervé | CFX | 2 | June 16, 2008 07:40 |
how to recover trn files after crash? | pi | CFX | 4 | August 25, 2004 06:45 |
track cause of crash | Matt | Phoenics | 2 | October 5, 2001 10:16 |