CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

compressibleInterFoam crash

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   February 23, 2010, 11:22
Default compressibleInterFoam crash
  #1
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
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.
And so on. Has anyone experienced an error like the above? Any suggestions on what it might be?

Cheers.
thekay is offline   Reply With Quote

Old   February 24, 2010, 21:11
Default compressibleInterFoam -- boundary conditions?
  #2
New Member
 
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 7
scttmllr is on a distinguished road
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.
scttmllr is offline   Reply With Quote

Old   February 25, 2010, 11:10
Default
  #3
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
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.
thekay is offline   Reply With Quote

Old   February 25, 2010, 16:28
Default Here is a fix...
  #4
New Member
 
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 7
scttmllr is on a distinguished road
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
scttmllr is offline   Reply With Quote

Old   February 26, 2010, 06:10
Question compressibleInterFoam
  #5
Member
 
Stefano
Join Date: Jul 2009
Posts: 34
Rep Power: 8
Whyman is on a distinguished road
Hi guys,

For "compressibleInterFoam" (multiphase) how can i simulate an ideal gas?


Regards
Whyman is offline   Reply With Quote

Old   February 26, 2010, 09:06
Default
  #6
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
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
thekay is offline   Reply With Quote

Old   February 26, 2010, 09:35
Default
  #7
New Member
 
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 7
scttmllr is on a distinguished road
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.
scttmllr is offline   Reply With Quote

Old   February 26, 2010, 10:54
Default
  #8
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
By the way, how do I update psi after alpha2 is set?
thekay is offline   Reply With Quote

Old   February 26, 2010, 11:28
Default
  #9
New Member
 
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 7
scttmllr is on a distinguished road
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
scttmllr is offline   Reply With Quote

Old   February 26, 2010, 11:48
Default
  #10
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
Quote:
Originally Posted by scttmllr View Post
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
Again, thank you very much. I was running it before and it was giving something which was strange to me:

Code:
max(U) 395539.76
Although in paraFoam I coulnd't see velocities beyond 40m/s. I have added the update for the DrhoDp and have it running again. Will come back with results, hopefully.

Cheers.
thekay is offline   Reply With Quote

Old   March 2, 2010, 08:57
Default
  #11
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
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!
thekay is offline   Reply With Quote

Old   March 2, 2010, 09:19
Default
  #12
New Member
 
Scott Miller
Join Date: Nov 2009
Posts: 15
Rep Power: 7
scttmllr is on a distinguished road
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
scttmllr is offline   Reply With Quote

Old   March 2, 2010, 09:31
Default
  #13
Member
 
Costas K
Join Date: Nov 2009
Location: UK
Posts: 51
Rep Power: 7
thekay is on a distinguished road
Send a message via ICQ to thekay Send a message via MSN to thekay
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);
    }
and in file 0/alpha1.org:

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;
    }
I have used waveTransmissive a couple of times before, but I am not sure if I use it correctly every time and what are its actual benefits, but it seems OK with the settings above. At least there's nothing I can see that could be wrong.

Cheers.
thekay is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Flow Simulation Crash with Trajectories D.Castle FloEFD, FloWorks & FloTHERM 2 August 5, 2009 14:50
multiphase simulation crash austin FLUENT 2 February 25, 2009 09:38
CFX Solver : Sudden crash Hervé CFX 2 June 16, 2008 06:40
how to recover trn files after crash? pi CFX 4 August 25, 2004 05:45
track cause of crash Matt Phoenics 2 October 5, 2001 09:16


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