CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Compressible 2D airfoil rhoSimpleFoam fatal error volScalarField none

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By wyldckat

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 22, 2016, 12:01
Default Compressible 2D airfoil rhoSimpleFoam fatal error volScalarField none
  #1
New Member
 
Join Date: May 2016
Posts: 4
Rep Power: 10
jfournier is on a distinguished road
Hello everyone,

note: there might be a number of writing errors, but my spelling checker isn't in English and as such isn't much help here.

I'm trying to bring the incompressible 2D airfoil tutorial into the compressible solver.

To begin with, I don't really care for the results. If it diverges because my conditions are off it's ok, for now i'm just trying to figure how to make it get past the first iteration.

In an effort to keep it simple, I tried to re-use the rhoSimpleFoam tutorial, only changing the mesh and boundary conditions.

To that end, I copied the constant/polymesh folder from the 2D airfoil
I changed the boundary conditions in the 0/ folder.

I also added the pRefCell and pRefVAlue to the fvSolution file.

When i submit the job (via the rhoSimpleFoam comand), I get the following error message:

Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create mesh for time = 0

SIMPLE: convergence criteria
    field p      tolerance 0.001
    field U      tolerance 0.0001
    field e      tolerance 0.001
    field "(k|epsilon|omega)"    tolerance 0.001
Reading thermophysical properties
Selecting thermodynamics package
{
    type            hePsiThermo;
    mixture         pureMixture;
    transport       sutherland;
    thermo          hConst;
    equationOfState perfectGas;
    specie          specie;
    energy          sensibleInternalEnergy;
}
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;
}
No MRF models present
No finite volume options present

Starting time loop
Time = 1
GAMG:  Solving for Ux, Initial residual = 1, Final residual = 0.099384, No Iterations 1
GAMG:  Solving for Uy, Initial residual = 1, Final residual = 0.0794446, No Iterations 1
GAMG:  Solving for e, Initial residual = 1, Final residual = 0.0101396, No Iterations 1

--> FOAM FATAL ERROR:
    request for volScalarField none from objectRegistry region0 failed
    available objects of type volScalarField are
15
(
thermo:mu
thermo:psi
nut
rho
k
rhorAtU
(1|A(U))
(1|((1|(1|A(U)))-H(1)))
thermo:psi_0
alphat
p
T
e
epsilon
thermo:alpha
)

    From function const Type& Foam::objectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>]
    in file /opt/OpenFOAM/OpenFOAM-v3.0+/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193.
FOAM aborting
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/lib/libOpenFOAM.so"
#1  Foam::error::abort() in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/lib/libOpenFOAM.so"
#2  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const& Foam::objectRegistry::lookupObject<Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> >(Foam::word const&) const in "/opt/OpenFOAM/OpenFOAM-v3.0+/platfo
rms/linux64Gcc48DPInt32Opt/lib/libfluidThermophysicalModels.so"
#3  Foam::freestreamPressureFvPatchScalarField::updateCoeffs() in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/lib/libfiniteVolume.so"
#4  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::updateCoeffs() in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/bin/rhoSimpleFoam"
#5  Foam::fvMatrix<double>::fvMatrix(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::dimensionSet const&) in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/bin/rhoSimpleFoam"
#6  Foam::tmp<Foam::fvMatrix<double> > Foam::fv::optionList::operator()<double>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::word const&) in
"/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/bin/rhoSimpleFoam"
#7  ? in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/bin/rhoSimpleFoam"
#8  __libc_start_main in "/lib64/libc.so.6"
#9  ? in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/bin/rhoSimpleFoam"
Aborted
I can't figure out where the "none" volscalarfield comes from, my boundary conditions are the following:
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      alphat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [1 -1 -1 0 0 0 0];
internalField   uniform 0;
boundaryField
{
    walls
    {
        type            compressible::alphatWallFunction;
        Prt             0.85;
        value           uniform 0;
    }
    inlet
    {
        type            calculated;
        value           uniform 0;
    }
    outlet
    {
        type            calculated;
        value           uniform 0;
    }
 frontAndBack
 {
  type   empty;
 }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -3 0 0 0 0];
internalField   uniform 200;
boundaryField
{
    walls
    {
        type            epsilonWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 200;
    }
    inlet
    {
        type            freestream;
        freestreamValue  uniform 200;
    }
    outlet
    {
        type            freestream;
        freestreamValue      uniform 200;
    }
 frontAndBack
 {
  type   empty;
 }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -2 0 0 0 0];
internalField   uniform 1;
boundaryField
{
    walls
    {
        type            kqRWallFunction;
        value           uniform 1;
    }
    inlet
    {
        type            freestream;
        freestreamValue      uniform 1;
    }
    outlet
    {
        type            freestream;
        freestreamValue      uniform 1;
    }
 frontAndBack
 {
  type   empty;
 }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 2 -1 0 0 0 0];
internalField   uniform 0.14;
boundaryField
{
    wall
    {
        type            nutkWallFunction;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        value           uniform 0;
    }
    inlet
    {
        type            freestream;
        freestreamValue           uniform 0.14;
    }
    outlet
    {
        type            freestream;
        freestreamValue           uniform 0.14;
    }
 frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [1 -1 -2 0 0 0 0];
internalField   uniform 33000;
boundaryField
{
    walls
    {
        type            zeroGradient;
    }
    inlet
    {
        type            freestreamPressure;
    }
    outlet
    {
        type            freestreamPressure;
    }
 frontAndBack
    {
        type            empty;
    }
}

// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    object      T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 0 0 1 0 0 0];
internalField   uniform 229;
boundaryField
{
    walls
    {
        type            zeroGradient;
    }
    inlet
    {
        type            freestream;
  freestreamValue uniform 229;
    }
    outlet
    {
        type            freestream;
  freestreamValue uniform 229;
    }
 frontAndBack
    {
        type            empty;
    }
}
// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v3.0+                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    object      U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions      [0 1 -1 0 0 0 0];
internalField   uniform (25.75 3.62 0);
boundaryField
{
    walls
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    inlet
    {
        type            freestream;
  freestreamValue uniform (25.75 3.62 0);
    }
    outlet
    {
        type            freestream;
  freestreamValue uniform (25.75 3.62 0);
    }
}

// ************************************************************************* //
From what I read on the other threads, it probably is linked to one of my boundary conditions but I don't know which and, more importantly, why.

Thank you for any information you might provide

JF
jfournier is offline   Reply With Quote

Old   August 1, 2016, 05:01
Default
  #2
New Member
 
Join Date: May 2016
Posts: 4
Rep Power: 10
jfournier is on a distinguished road
Hello,

Has no one had that issue yet or any hint as to how to fix it?

Thanks
jfournier is offline   Reply With Quote

Old   August 20, 2016, 19:18
Default
  #3
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quick answer:
Quote:
Originally Posted by jfournier View Post
When i submit the job (via the rhoSimpleFoam comand), I get the following error message:

Code:
GAMG:  Solving for e, Initial residual = 1, Final residual = 0.0101396, No Iterations 1

--> FOAM FATAL ERROR:
    request for volScalarField none from objectRegistry region0 failed
    available objects of type volScalarField are

[...]

#3  Foam::freestreamPressureFvPatchScalarField::updateCoeffs() in "/opt/OpenFOAM/OpenFOAM-v3.0+/platforms/linux64Gcc48DPInt32Opt/lib/libfiniteVolume.so"
The reason I chose the lines above is as follows:
  1. The crash occurred after the equation for "e" was already solved. This means that the crash occurred while solving the next equation.
  2. The next equation isn't fully known, unless we run one of the tutorial cases that use this solver. Nonetheless, the stack trace, in the entry #3, does provide a hint: the "freestreamPressure" boundary condition is the one that failed.
  3. From the files you provided, only the "p" file is using this boundary condition.
So, how to solve this? There are at least 2 approaches:
  1. Check the code documentation. Since you're using OpenFOAM+ 3.0+, the page is this: http://openfoam.com/documentation/cpp-guide/html/ - use the search box on the top right of the page and use the keyword "freestreamPressure". Then you'll find a few more details about optional parameters.
  2. The other trick is to use command line search commands, which are commonly used on Linux Distributions (e.g. Ubuntu). In this case, you can use:
    Code:
    find $FOAM_TUTORIALS -name "p*" -type f | xargs grep freestream
    This will tell you about a few files that use this boundary condition. One of them is the tutorial case "compressible/rhoCentralFoam/LadenburgJet60psi", which in the file "0.org/p" has the following entry:
    Code:
        freestream
        {
            type            totalPressure;
            value           uniform 101325;
            p0              uniform 101325;
            U               U;
            phi             phi;
            rho             none;
            psi             thermo:psi;
            gamma           1.4;
        }
    As you might notice, the boundary condition isn't the same type as you're using, but it is using something similar to what you're using. Therefore, the following might work:
    Code:
        inlet
        {
            type            freestream;
            freestreamValue  uniform 200;
            psi             thermo:psi;
        }
        outlet
        {
            type            freestream;
            freestreamValue      uniform 200;
            psi             thermo:psi;
        }
    The name "thermo:psi" is in the list given by the solver when it crashed. Nonetheless, it doesn't mean this will work with this simple change, since there are other optional parameters that might be needed, such as "rho".
fedvasu and ashishmagar600 like this.
__________________
wyldckat is offline   Reply With Quote

Old   January 12, 2017, 11:18
Default
  #4
New Member
 
Joshua
Join Date: Oct 2016
Posts: 5
Rep Power: 10
firev1 is on a distinguished road
Spot on, I have the exact same problem and took to comparing the source code between openfoam 3.0+ and 3.0.x and found that the field rhoName has been set to ("none") in freestreamPressure. The script in 3.0.x defines the fields by their names and sets defaults whereas it doesn't in 3.0+

From 3.0.x

Code:
Foam::freestreamPressureFvPatchScalarField::
freestreamPressureFvPatchScalarField
(
    const fvPatch& p,
    const DimensionedField<scalar, volMesh>& iF
)
:
    zeroGradientFvPatchScalarField(p, iF),
    UName_("U"),
    phiName_("phi"),
    rhoName_("rho")
{}
From 3.0+

Code:
Foam::freestreamPressureFvPatchScalarField::
freestreamPressureFvPatchScalarField
(
    const fvPatch& p,
    const DimensionedField<scalar, volMesh>& iF
)
:
    zeroGradientFvPatchScalarField(p, iF),
    UName_("U"),
    phiName_("phi"),
    rhoName_("none")
{}
Edit: Managed to solve it simply by defining rho as rho
Edit: It runs find in serial but the error shows up again in parallel runs, totally at lost for what to do aside from changing all freestreamPressure boundaries to zeroGradient.

Code:
inlet
    {
        type            freestreamPressure;
        rho rho;
    }
After decomposePar
Code:
inlet
    {
        type            freestreamPressure;
    }
Got a friend to help me with this, here is a little sh script to add rho rho; to all freestreamPressure fields in parallel folders. Just make sure it is outside of your case dir.
Code:
#!/bin/sh
clear

grep -rl 'freestreamPressure; *'/home/vmw_ubuntu/Desktop/case_dir | xargs sed -i '/freestreamPressure;/a \ \ \ \ \ \ \ \ \ rho rho;' 

# replace /home/vmw_ubuntu/Desktop/case_dir with the directory of your file.

Last edited by firev1; January 14, 2017 at 02:47.
firev1 is offline   Reply With Quote

Old   September 28, 2017, 07:28
Default
  #5
Member
 
Join Date: Oct 2013
Posts: 92
Rep Power: 13
fedvasu is on a distinguished road
Quote:
Originally Posted by wyldckat View Post
Quick answer:


The reason I chose the lines above is as follows:
  1. The crash occurred after the equation for "e" was already solved. This means that the crash occurred while solving the next equation.
  2. The next equation isn't fully known, unless we run one of the tutorial cases that use this solver. Nonetheless, the stack trace, in the entry #3, does provide a hint: the "freestreamPressure" boundary condition is the one that failed.
  3. From the files you provided, only the "p" file is using this boundary condition.
So, how to solve this? There are at least 2 approaches:
  1. Check the code documentation. Since you're using OpenFOAM+ 3.0+, the page is this: http://openfoam.com/documentation/cpp-guide/html/ - use the search box on the top right of the page and use the keyword "freestreamPressure". Then you'll find a few more details about optional parameters.
  2. The other trick is to use command line search commands, which are commonly used on Linux Distributions (e.g. Ubuntu). In this case, you can use:
    Code:
    find $FOAM_TUTORIALS -name "p*" -type f | xargs grep freestream
    This will tell you about a few files that use this boundary condition. One of them is the tutorial case "compressible/rhoCentralFoam/LadenburgJet60psi", which in the file "0.org/p" has the following entry:
    Code:
        freestream
        {
            type            totalPressure;
            value           uniform 101325;
            p0              uniform 101325;
            U               U;
            phi             phi;
            rho             none;
            psi             thermo:psi;
            gamma           1.4;
        }
    As you might notice, the boundary condition isn't the same type as you're using, but it is using something similar to what you're using. Therefore, the following might work:
    Code:
        inlet
        {
            type            freestream;
            freestreamValue  uniform 200;
            psi             thermo:psi;
        }
        outlet
        {
            type            freestream;
            freestreamValue      uniform 200;
            psi             thermo:psi;
        }
    The name "thermosi" is in the list given by the solver when it crashed. Nonetheless, it doesn't mean this will work with this simple change, since there are other optional parameters that might be needed, such as "rho".

This post just saved me 3 days of bewilderment!

It is absolutely important to know what your BCs require and what values they use implicitly!!
fedvasu is offline   Reply With Quote

Reply

Tags
rhosimplefoam error, volscalarfield none


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Airfoil with simpleFoam and kOmegaSST: high drag values? Tsiolkovsky OpenFOAM Running, Solving & CFD 6 November 21, 2018 06:56
compressible flow calculation error using rhoSimpleFoam solver student4326 OpenFOAM Running, Solving & CFD 7 November 2, 2015 12:34
rhoSimpleFoam for compressible fluid through an orifice WillemvdM OpenFOAM Running, Solving & CFD 2 June 20, 2012 04:54
Compressible flow over airfoil student123a FLUENT 2 October 1, 2009 20:07
Compressible transonic airfoil RAE2822 simulation Stefano Siemens 9 June 21, 2006 11:47


All times are GMT -4. The time now is 13:50.