CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   CrossPowerLaw (http://www.cfd-online.com/Forums/openfoam-solving/58495-crosspowerlaw.html)

tommie October 6, 2008 07:45

Hi all, I want to simulate
 
Hi all,

I want to simulate a flow through vent.
The flow velocity is very small. So Reynold No. is below 2300 and I should have a laminar flow.
The behavior of the fluid is similar to "Shear thinning" fluids.
In the first step I simulated a Newtonian flow. I applied SimpleFoam and all was really fine.
Now I am testing the CrossPower- law and
at the moment at my wits' end:

As soon as I set CrossPower- exponent n <> 0 then I get the following error:

/*---------------------------------------------------------------------------*\
| ========= | |
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 1.4.1 |
| \ / A nd | Web: http://www.openfoam.org |
| \/ M anipulation | |
\*---------------------------------------------------------------------------*/

Exec : simpleFoam /opt/OpenFOAM/volker-1.4.1/run Testsimplefoam2
Date : Oct 05 2008
Time : 23:53:16
Host : localhost
PID : 5472
Root : /opt/OpenFOAM/volker-1.4.1/run
Case : Testsimplefoam2
Nprocs : 1
Create time

Create mesh for time = 0

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model CrossPowerLaw
#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Uninterpreted: [0xffffe420]
#3 pow in "/lib/i686/libm.so.6"
#4 Foam::pow(Foam::Field<double>&, Foam::UList<double> const&, double const&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#5 Foam::tmp<foam::geometricfield<double,> > Foam::pow<foam::fvpatchfield,>(Foam::tmp<foam::geo metricfield<double,> > const&, Foam::dimensioned<double> const&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libincompressibleTurbule nceModels.so"
#6 Foam::viscosityModels::CrossPowerLaw::calcNu() const in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libincompressibleTranspo rtModels.so"
#7 Foam::viscosityModels::CrossPowerLaw::CrossPowerLa w(Foam::word const&, Foam::dictionary const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libincompressibleTranspo rtModels.so"
#8 Foam::viscosityModel::adddictionaryConstructorToTa ble<foam::viscositymodels::cro sspowerlaw>::New(Foam::word const&, Foam::dictionary const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libincompressibleTranspo rtModels.so"
#9 Foam::viscosityModel::New(Foam::word const&, Foam::dictionary const&, Foam::GeometricField<foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libincompressibleTranspo rtModels.so"
#10 Foam::singlePhaseTransportModel::singlePhaseTransp ortModel(Foam::GeometricField< foam::vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double,> const&) in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libincompressibleTranspo rtModels.so"
#11 main in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/simpleFoam"
#12 __libc_start_main in "/lib/i686/libc.so.6"
#13 Foam::regIOobject::readIfModified() in "/home/volker/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/simpleFoam"


What could be wrong??

I am thankful about all suggestions.

Kind regards

lzw2003 October 7, 2008 00:41

Hi, Try to check your synt
 
Hi,

Try to check your syntax in TransportModel.
Maybe you have these errors:
(1)lost a bracket or a semicolon;
(2) m m [0 0 1 0 0 0 0] not m m [0 0 0 0 0 0 0];

tommie October 8, 2008 04:34

Yes it works. The vector fo
 
Yes it works.

The vector for the dimensions was wrong.

Many thanks.

I applied SimpleFoam in FoamX the GUI (graphic user interface) of OpenFoam.
There is a programming error. The program produces script code.
The dimension vectors in the script code for CrossPowerLaw and BirdCarreauLaw are without dimensions:

Wrong
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] ...;
nuInf nuInf [0 2 -1 0 0 0 0] ...;
m <> [0 0 0 0 0 0 0] ...;
n <> [0 0 0 0 0 0 0] ...;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] ...;
nuInf nuInf [0 2 -1 0 0 0 0] ...;
k <> [0 0 0 0 0 0 0] ...;
n <> [0 0 0 0 0 0 0] ...;
}

Works
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] ...;
nuInf nuInf [0 2 -1 0 0 0 0] ...;
m m [0 0 1 0 0 0 0] ...;
n n [0 0 0 0 0 0 0] ...;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] ...;
nuInf nuInf [0 2 -1 0 0 0 0] ...;
k k [0 0 1 0 0 0 0] ...;
n n [0 0 0 0 0 0 0] ...;
}
dimension vector general:
[a b c d e f g]

a Mass kilogram in kg
b Length metre in m
c Time second in s
d Temperature Kelvin in K
e Quantity moles in mol
f Current ampere in A
g Luminous intensity candela in cd

Example for nu in m^2/s: nu [0 2 -1 0 0 0 0] 0.0005

sandy August 1, 2009 21:17

Hi everybody, where can I find those values nu0, nuInf, m, n, k to different phase names at different temperatures about CrossPowerLawCoeffs and BirdCarreauCoeffs??

examosty January 14, 2010 07:11

Quote:

Originally Posted by sandy (Post 224970)
Hi everybody, where can I find those values nu0, nuInf, m, n, k to different phase names at different temperatures about CrossPowerLawCoeffs and BirdCarreauCoeffs??

hi everyone,
i've also met this problem. There's so many keywords in openfoam, it's difficult to find out what do they mean. Is there guide for they too?


All times are GMT -4. The time now is 23:08.