CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Error at ??:? (https://www.cfd-online.com/Forums/openfoam-solving/132704-error.html)

Benji April 4, 2014 11:46

InterFoam problems adjusting Mesh
 
Hey everyone!
I'm sorry if this has been asked before (I haven't found it so far), but I got Problems with the interFoam solver.

You might remember the dam breaking tutorial from the OpenFoam User Guide. I completed it and then decided to extend it to a 3D case (I also had and still have to). I changed the original blockMesh to a longer rectangular volume, put a water column in one edge and started it. It worked well, but when I try to run it now (I don't think I have made any changes), the following error message appears:

Quote:

Selecting incompressible transport model Newtonian
Selecting incompressible transport model Newtonian
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigFpe::sigHandler(int) at ??:?
#2 Uninterpreted:
#3 __pow_finite in "/lib/i386-linux-gnu/libm.so.6"
#4 pow in "/lib/i386-linux-gnu/libm.so.6"
#5 Foam::pow(Foam::dimensioned<double> const&, Foam::dimensioned<double> const&) at ??:?
#6 Foam::interfaceProperties::interfaceProperties(Foa m::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::IOdictionary const&) at ??:?
#7
at /home/opencfd/OpenFOAM/OpenFOAM-2.3.0/applications/solvers/multiphase/interFoam/createFields.H:81
#8 __libc_start_main in "/lib/i386-linux-gnu/libc.so.6"
#9
at ??:?
Gleitkomma-Ausnahme (Speicherabzug geschrieben)
Has anyone of you ever had the same problems or am I just stupid? Do you know where I have to look for the mistake? Executing blockMesh and setFields works well...

Cheers, Benji


PS: If you wish, I could also post some more Code....

Benji April 7, 2014 05:02

Sorry for being annoying (I'm very new to OpenFoam), but I'm still having problems and don't see why... I went back to the original dambreak model, and just replaced the given geometry by another (simpler!) one. I'll post the code here:

Quote:

convertToMeters 1;

vertices
(
(0 0 0)
(100 -5 0)
(100 -5 10)
(0 0 10)
(0 10 0)
(100 10 0)
(100 10 10)
(0 10 10)
);

blocks
(
hex (0 1 2 3 4 5 6 7) (100 50 50) simpleGrading (1 1 1)
);

edges
(
);

boundary
(
leftWall
{
type wall;
faces
(
(0 1 5 4)
);
}
rightWall
{
type wall;
faces
(
(3 2 6 7)
);
}
lowerWall
{
type wall;
faces
(
(0 1 2 3)
);
}
atmosphere
{
type patch;
faces
(
(4 5 6 7)
);
}

);

mergePatchPairs
(
);
I'm still getting the same error message as above. Does anyone of you know why? Could it be the boundary conditions?

Cheers
Benji

alexeym April 7, 2014 05:10

Hi,

your post looks like "I've taken tutorial case, have done something to it, and now I'm not able to run it."

There can be anything (though as error appears in interface properties call, I guess, you've just modified geometry but not setFieldsDict).

Can you post your case files? This is the shortest path to solution of your problem. Otherwise it will be more-or-less: maybe the problem is there - no it is not - then maybe it is there - and so on.

Benji April 7, 2014 05:32

3 Attachment(s)
Thanks for the reply alexeym. And you're right, it is pretty much what you said, I'm not able to run it ;) I just don't get why, I've done other cases with altered volumes/geometries etc. and didn't have problems...

I will add the files in the attachment, and yes, I have change the SetFieldsDict, too (although I'm not sure if correctly :) )

alexeym April 7, 2014 05:54

Well,

In the error, you've posted, there were two keywords:

Code:

#4  pow in "/lib64/libm.so.6"
#5  Foam::pow(Foam::dimensioned<double> const&, Foam::dimensioned<double> const&) at ??:?
#6  Foam::interfaceProperties::interfaceProperties(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::IOdictionary const&) at ??:?

First one is pow, second one is interfaceProperties. So to get the origin of the error you should look into the source code of the interfaceProperties:

Here is the relevant part of the constructor:

Code:

Foam::interfaceProperties::interfaceProperties
(
    const volScalarField& alpha1,
    const volVectorField& U,
    const IOdictionary& dict
)
:
...   
    deltaN_
    (
        "deltaN",
        1e-8/pow(average(alpha1.mesh().V()), 1.0/3.0)
    ),
...

Error with pow usually means that average(alpha1.mesh().V()) is negative.

So I've rerun blockMesh and got the following output (relevant part is below):

Code:

Creating block mesh topology
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -1666.67 for face 0
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -2500 for face 1
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -2083.33 for face 2
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -2083.33 for face 3
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -2083.33 for face 4
--> FOAM Warning :
    From function cellModel::mag(const labelList&, const pointField&)
    in file meshes/meshShapes/cellModel/cellModel.C at line 128
    zero or negative pyramid volume: -2083.33 for face 5
--> FOAM Warning :
    From function blockMesh::createTopology(IOdictionary&)
    in file blockMesh/blockMeshTopology.C at line 255
    negative volume block : 0, probably defined inside-out

these errors usually appear when the definition of the mesh is wrong (i.e. you've made a mistake while numbering vertices in blocks description). And if you run checkMesh utility, it will just confirm, yes, there is BIG problem with your mesh:

Code:

Checking geometry...
    Overall domain bounding box (0 -5 0) (100 10 10)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (9.57111e-17 0 3.81162e-16) OK.
 ***High aspect ratio cells found, Max aspect ratio: 2.19333e+200, number of cells 5000
  <<Writing 5000 cells with high aspect ratio to set highAspectRatioCells
    Minimum face area = 1. Maximum face area = 2.99.  Face area magnitudes OK.
 ***Zero or negative cell volume detected.  Minimum negative volume: -2.99, Number of negative volume cells: 5000
  <<Writing 5000 zero volume cells to set zeroVolumeCells
    Mesh non-orthogonality Max: 180 average: 178.658
 ***Number of non-orthogonality errors: 13900.
  <<Writing 13900 non-orthogonal faces to set nonOrthoFaces
 ***Error in face pyramids: 30000 faces are incorrectly oriented.
  <<Writing 16100 faces with incorrect orientation to set wrongOrientedFaces
    Max skewness = 0.0951575 OK.
    Coupled point location match (average 0) OK.

Failed 4 mesh checks.

Fix your mesh.

Benji April 7, 2014 06:07

Thanks for looking at it and sorry for being an idiot xD took 1 minute to fix it, got the the net as it was and just trusted it to be right (cuz it looked right in paraView)... I'll now allways check it before, sorry again...


All times are GMT -4. The time now is 03:24.