CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   rhoSimpleFoam (https://www.cfd-online.com/Forums/openfoam/74380-rhosimplefoam.html)

claco March 31, 2010 04:03

rhoSimpleFoam
 
Dear Sirs,
my name is Claudio Comis, and I am a PhD candidate in Energetic at the Department of Mechanical Engineering of University di Padova. I deal with aerodynamic shape optimization, and recently I’ve heard about OPENFOAM as CFD solver.
Bearing in mind that I am not "well experienced", anyhow, I'm starting using Openfoam (1.6 release) for my calculations.
I chose rhoSimpleFoam as solver for my calculations (external, compressible aerodynamics, i.e. fuselage aerodynamics).
I used to use Fluent, where I imposed pressureinlet and pressureoutlet as b.c.s.: what are exactly the equivalent conditions in Openfoam (that is, I have to impose total pressure and static pressure at inlet, while static pressure at outlet of my domain)?
Moreover, in Fluent I used to set an operating pressure (equal to 0): where can I set this value in Openfoam?
Finally, when I launch the solver, the following message appears, but I can't understand where is the problem:

Build : 1.6-f802ff2d6c5a
Exec : rhoSimpleFoam
Date : Mar 30 2010
Time : 14:40:33
Host : claudio-laptop
PID : 14087
Case : /home/claudio/OpenFOAM/claudio-1.6/run/tutorials/caso_mio
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Reading thermophysical properties

Selecting thermodynamics package hPsiThermo<pureMixture<sutherlandTransport<specieT hermo<hConstThermo<perfectGas>>>>>
Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting RAS turbulence model kOmegaSST
#0 Foam::error::printStack(Foam::Ostream&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib/libc.so.6"
#3 Foam::divide(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 void Foam::divide<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libcompressibleRASModels.so"
#5 Foam::tmp<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> > Foam::operator/<Foam::fvPatchField, Foam::volMesh>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libcompressibleRASModels.so"
#6 Foam::compressible::RASModels::kOmegaSST::F2() const in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libcompressibleRASModels.so"
#7 Foam::compressible::RASModels::kOmegaSST::kOmegaSS T(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::basicThermo const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libcompressibleRASModels.so"
#8 Foam::compressible::RASModel::adddictionaryConstru ctorToTable<Foam::compressible::RASModels::kOmegaS ST>::New(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::basicThermo const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libcompressibleRASModels.so"
#9 Foam::compressible::RASModel::New(Foam::GeometricF ield<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::basicThermo const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libcompressibleRASModels.so"
#10 main in "/home/claudio/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/rhoSimpleFoam"
#11 __libc_start_main in "/lib/libc.so.6"
#12 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116
Floating point exception
************************************************** **
Can you please help me?
I want to make it clear first that non-zero values were assigned to both k and omega.
Moreover, I took fvSchemes and fvSolution from others tutorials, but I'm not sure they are correct for my case.
I think it is not a mesh problem, since I have already performed a calculation with potentialFoam solver.
I hope I didn't bore you.

Yours sincerely,

Claudio Comis
--
Ing. Claudio Comis Da Ronco
University of Padova
Department of Mechanical Engineering
Via Venezia, 1 - 35131 Padova, Italy
Phone 3494552408
claudio.comis@unipd.it
claudio.comis@alice.it

chandramurthy March 31, 2010 10:37

what is order of Mach number in the free stream region? if it is supersonic, dont use rhosimplefoam, better to use sonicFoam. fix all outlet variables with zerogradient bc (extrapolate from upstream). if u can explain your problem setup with all case files, i can suggest better.

claco March 31, 2010 11:07

Thank you,
Mach number is below 1, since this is a subsonic case.
I would like to simulate a flux of 50 m/s impinging my fuselage
I post the U,p,T, k,and omega files.
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [1 -1 -2 0 0 0 0];

internalField uniform 101325;

boundaryField
{
symmetry
{
type symmetryPlane;
}

coda
{
type zeroGradient;
}
cabina
{
type zeroGradient;
}

fusoliera
{
type zeroGradient;
}

muso
{
type zeroGradient;
}

inlet
{
type totalPressure;//zeroGradient;
p0 uniform 1531.25;
gamma 1.4;
U U;
phi phi;
psi none;//si;
rho none;//rho;
//value uniform 1531.25;

}

outlet
{
type fixedValue;
value uniform 101325;
}
}


FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 1 -1 0 0 0 0];

internalField uniform (50 0 0);

boundaryField
muso
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type outletInlet;
// phi phi;
//rho rho;
outletValue uniform (0 0 0);//(50 0 0);
}
outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
//value uniform (0 0 0);
}
}{
symmetry
{
type symmetryPlane;
}
coda
{
type fixedValue;
value uniform (0 0 0);
}
fusoliera
{
type fixedValue;
value uniform (0 0 0);
}
cabina
{
type fixedValue;
value uniform (0 0 0);
}
muso
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type outletInlet;
// phi phi;
//rho rho;
outletValue uniform (0 0 0);
}
outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
//value uniform (0 0 0);
}
}

FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 0 1 0 0 0];

internalField uniform 289;

boundaryField
{
symmetry
{
type symmetryPlane;
}

inlet
{
//type fixedValue;
type totalTemperature;
T0 uniform 289;
U U;
phi phi;
psi psi;
gamma 1.4;
value uniform 289;
}

outlet
{
type inletOutletTotalTemperature;
T0 uniform 289;
U U;
phi phi;
psi psi;
gamma 1.4;
//type fixedValue;
//value uniform 289;
}
muso
{
type zeroGradient;//inletOutlet;
//inletValue uniform 289;
//value uniform 289;
}

cabina
{
type zeroGradient;//inletOutlet;
//inletValue uniform 289;
// value uniform 289;

}
fusoliera
{
type zeroGradient;//inletOutlet;
// inletValue uniform 289;
//value uniform 289;
}
coda
{
type zeroGradient;//inletOutlet;
// inletValue uniform 289;
// value uniform 289;
}
}


FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -2 0 0 0 0];

internalField uniform 0.37;

boundaryField
{
symmetry
{
type symmetryPlane;
}
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.01;
value uniform 0.37;
// type fixedValue;
// value uniform 0.37;
}
outlet
{
type inletOutlet;
inletValue uniform 0.37;
value uniform 0.37;
}
coda
{
type compressible::kqRWallFunction;
value uniform 1e-20;
}
fusoliera
{
type compressible::kqRWallFunction;
value uniform 1e-20;
}
cabina
{
type compressible::kqRWallFunction;
value uniform 1e-20;
}
muso
{
type compressible::kqRWallFunction;
value uniform 1e-20;
}
}


FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 0 -1 0 0 0 0];

internalField uniform 1.11;

boundaryField
{
symmetry
{
type symmetryPlane;
}
inlet
{
type fixedValue;
value uniform 1.11;
}
outlet
{
// type zeroGradient;
type inletOutlet;
inletValue uniform 1.11;
value uniform 1.11;
}
coda
{
type compressible::omegaWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 1.11;
}
fusoliera
{
type compressible::omegaWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 1.11;
}
cabina
{
type compressible::omegaWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 1.11;
}
muso
{
type compressible::omegaWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 1.11;
}
}


I'm not sure that the 0 files are correct. I have taken the values of p, U, k, T and the omega from the Fluent case, just to be sure. (the operating pressure in Fluent is 1012325, but I don't know where to set this value in OF)
Finally, the question remains:
I chose rhoSimpleFoam as solver for my calculations (external, compressible aerodynamics, i.e. fuselage aerodynamics).
I used to use Fluent, where I imposed pressureinlet (po=1531 [Pa] and an initial gauge pressure of 0 [Pa]) and pressureoutlet (p=0 [Pa]
) as b.c.s.: what are exactly the equivalent conditions in Openfoam (that is, I have to impose total pressure and static pressure at inlet, while static pressure at outlet of my domain)?
Thank You in Advance.
Claudio

claco April 6, 2010 12:49

Dear Sirs,

now I have slightly changed my boundary conditions, but I always get this message:

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / 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 : rhoSimpleFoam
Date : Apr 06 2010
Time : 18:34:31
Host : claudio-laptop
PID : 10703
Case : /home/claudio/OpenFOAM/claudio-1.6/run/tutorials/caso_mio
nProcs : 1
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Reading thermophysical properties

Selecting thermodynamics package hPsiThermo<pureMixture<sutherlandTransport<specieT hermo<hConstThermo<perfectGas>>>>>
Reading field U

Reading/calculating face flux field phi

Creating turbulence model

Selecting RAS turbulence model kEpsilon
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
C3 -0.33;
sigmak 1;
sigmaEps 1.3;
Prt 1;
}


Starting time loop

Time = 1



incompatible dimensions for operation
[U[0 1 -2 0 0 0 0] ] + [U[1 -2 -2 0 0 0 0] ]#0 Foam::error::printStack(Foam::Ostream&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/claudio/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 void Foam::checkMethod<Foam::Vector<double> >(Foam::fvMatrix<Foam::Vector<double> > const&, Foam::fvMatrix<Foam::Vector<double> > const&, char const*) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/rhoSimpleFoam"
#3 Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > > Foam::operator+<Foam::Vector<double> >(Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > > const&, Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > > const&) in "/home/claudio/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/rhoSimpleFoam"
#4 main in "/home/claudio/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/rhoSimpleFoam"
#5 __libc_start_main in "/lib/libc.so.6"
#6 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116


From function checkMethod(const fvMatrix<Type>&, const fvMatrix<Type>&)
in file /home/dm2/henry/OpenFOAM/OpenFOAM-1.6/src/finiteVolume/lnInclude/fvMatrix.C at line 1195.

FOAM aborting

Aborted



I cannot find what is wrong with my settings.
Moreover I would like to know what is the meaning of rho,phi, U and psi in the totalPressure boundary condition type.
Thank You in advance.
Claudio

FloK April 8, 2010 08:30

Hi,
the "incompatible dimensions" error occurs at my simulations when i copy the p file of an incompressible case to a compressible one.
In incompressible cases, the dimensions of pressure are m^2/s^2, its "density normalized pressure".
In compressible cases the dimensions are kg/(m*s^2) = Pa.
Check your dimensions, if there is anything right.

Regards,
FloK

claco April 15, 2010 10:39

Hi all,

I checked the dimensions of p, and they are correct ([1 -1 -2 0 0 0 0]).
However, an incompatible dimensions error occurs.
I check all the other dimensions, and they are correct.

alberto April 16, 2010 02:44

Try to have your case running using the rhoPimpleFoam tutorial as reference (you'll probably benefit of pimpleFoam capability of performing iterations in each time step anyway).

Best,

eugene April 20, 2010 04:32

Hi,

There are two fields for which the dimensions change between compressible and incompressible: p and phi. It looks to me as if you are using the phi field from the incompressible run. Simply delete phi from your starting directory (it will be recreated automatically and correctly) and try again.


All times are GMT -4. The time now is 14:54.