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

Simulation axial fan - error

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

Reply
 
LinkBack Thread Tools Display Modes
Old   July 24, 2015, 16:22
Arrow Simulation axial fan - error
  #1
New Member
 
Itsme
Join Date: Apr 2014
Posts: 4
Rep Power: 3
Clmkite is on a distinguished road
Hi Everyone,

I' new to openFoam but already work on StarCCM+. My company want to develop CFD but with opensource but I'm kind of alon for this point and I find it hard to find great tutorials about the method with Linux/OpenFoam (not about CFD). It was kind of long to install everything first and run one tutorial.

I used ANSYS to create my mesh: wich I'll probably refine when I will succeed my first simulation.
You can find it here : http://we.tl/iMd0hE2YDj

So I copied the folder tutorials/incopressible/SRFSimpleFoam/mixer in my running folder.
Copy my mesh in it and run: fluent3DMeshToFoam fans.msh

Then I changes boundary so cyclic_half0 (&1) are like in the tutorials, nu = 33.10-6 (Hydrogene at 0.3MPa)
I also change the velocity inlet to 17m.s-1

For the first try, I didn't change anything else.

So I tried to launch SFRSimpleFoam but I have tho following message which I don't know what to do with :

Quote:
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.1.1-221db2718bbb
Exec : SRFSimpleFoam
Date : Jul 24 2015
Time : 15:53:39
Host : "clement-VirtualBox"
PID : 3810
Case : /home/clement/OpenFOAM/clement-2.1.1/run/fans
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

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

Create mesh for time = 0

#0 Foam::error:rintStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigSegv::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
#3 Foam:olyPatch::faceCellCentres() const in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam::cyclicPolyPatch::calcGeometry(Foam::PstreamB uffers&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 Foam:olyBoundaryMesh::calcGeometry() in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#6 Foam:olyMesh:olyMesh(Foam::IOobject const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#7 Foam::fvMesh::fvMesh(Foam::IOobject const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#8
in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/SRFSimpleFoam"
#9 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#10
in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/SRFSimpleFoam"
Segmentation fault (core dumped)

I don't really know what to do.
So if somebody can help me on tell me where I sould go find informations to resolve this case.

Thanks a lot
Clement
Clmkite is offline   Reply With Quote

Old   July 25, 2015, 02:57
Default
  #2
Senior Member
 
linnemann's Avatar
 
Niels Nielsen
Join Date: Mar 2009
Location: NJ - Denmark
Posts: 449
Rep Power: 15
linnemann will become famous soon enough
Hi

Well firstly your "innerwall" and "outerwall" BC had to be "innerWall" and "outerWall"

Then your cyclics dont match perfectly which is why the cyclic BC is completely useless unless using fully structured mesh. So the cyclics need to be of type cyclicAMI.

And also cyclicAMI in all the 0 files.

Code:
cyclic_half0
    {
        type 		cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          13819;
        startFace       2617836;
	matchTolerance  0.0001;
        neighbourPatch  cyclic_half1;
        transform 	rotational;
        rotationAxis 	(0 0 1);
        rotationCentre 	(0 0 0);
    }
    cyclic_half1
    {
        type 		cyclicAMI;
        inGroups        1(cyclicAMI);
        nFaces          13819;
        startFace       2631655;
	matchTolerance  0.0001;
        neighbourPatch  cyclic_half0;
        transform 	rotational;
    	rotationAxis 	(0 0 1);
        rotationCentre 	(0 0 0);
    }
I have tweaked the fvSolution and fvSchemes a couple of places to better match unstructured meshes.

But you have a much bigger problem

The mesh is not sutiable for solving

chechMesh gives this

Code:
   Mesh non-orthogonality Max: 84.2138 average: 15.006
   *Number of severely non-orthogonal (> 70 degrees) faces: 199.
    Non-orthogonality check OK.
  <<Writing 199 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK.
 ***Max skewness = 14.4396, 146 highly skew faces detected which may impair the quality of the results
  <<Writing 146 skew faces to set skewFaces
    Coupled point location match (average 0) OK.
Your skewness should be below 3 and non-ortho below 75.

Link to Case
__________________
Linnemann

PS. I do not do personal support, so please post in the forums.
linnemann is offline   Reply With Quote

Old   July 25, 2015, 09:19
Default
  #3
New Member
 
Itsme
Join Date: Apr 2014
Posts: 4
Rep Power: 3
Clmkite is on a distinguished road
Hi Linnemann.

Thanks a lot for your time.
First, where could if find the information for cyclic boundary like cyclicAMI ?

I thought my face matched because I used match control in Ansys...

Furthermore, I thought I could try a first run (no or bad convergence) with this mesh and later work on it. OpenFOAM don't start run if it considered the mesh too bad ?

I will work on my mesh and take in consideration your comments and let you know
Clmkite is offline   Reply With Quote

Old   July 25, 2015, 09:22
Default
  #4
Senior Member
 
linnemann's Avatar
 
Niels Nielsen
Join Date: Mar 2009
Location: NJ - Denmark
Posts: 449
Rep Power: 15
linnemann will become famous soon enough
Google cyclicAMI

I tried running it and it starts to diverge immediately.

Checked in Paraview and the bad cells are causing velocities in the 5e6.

So no the current mesh is no good.
__________________
Linnemann

PS. I do not do personal support, so please post in the forums.
linnemann is offline   Reply With Quote

Old   Yesterday, 10:58
Default
  #5
New Member
 
Itsme
Join Date: Apr 2014
Posts: 4
Rep Power: 3
Clmkite is on a distinguished road
Hi Linnemann,

I watched your folder on Drive and I have some questions.
(for the moment, and I'm not oworking on the mesh but more about understanding and using great controls in OpenFoam).

I see that you havec a blockmeshdict in your system folder. I don't understant because we used an external mesh...

Also, you change many points in fvSchemes and I'd like to know where I can find documentation to explain each keywords you use because in the user guide, I didn't see a list of keywords we can use.

Thanks a lot for your help

PS: When I try to lauch you case, I also have this error :

Quote:
/
clement@clement-VirtualBox:~/OpenFOAM/clement-2.4.0/run/fan$ SRFSimpleFoam
*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.4.0-f0842aea0e77
Exec : SRFSimpleFoam
Date : Jul 27 2015
Time : 13:17:35
Host : "clement-VirtualBox"
PID : 12725
Case : /home/clement/OpenFOAM/clement-2.4.0/run/fan
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

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

Create mesh for time = 0

Reading field p

AMI: Creating addressing and weights between 13819 source faces and 13819 target faces
AMI: Patch source sum(weights) min/max/average = 1, 1, 1
AMI: Patch target sum(weights) min/max/average = 1, 1, 1
Reading field Urel

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting RAS turbulence model kOmegaSST
kOmegaSSTCoeffs
{
alphaK1 0.85;
alphaK2 1;
alphaOmega1 0.5;
alphaOmega2 0.856;
gamma1 0.555556;
gamma2 0.44;
beta1 0.075;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
b1 1;
c1 10;
F3 false;
}

Creating SRF model

Selecting SRFModel rpm
No finite volume options present


SIMPLE: no convergence criteria found. Calculations will run for 1000 steps.


Starting time loop

Time = 1



--> FOAM FATAL IO ERROR:
keyword div((nuEff*dev(T(grad(Urel))))) is undefined in dictionary "/home/clement/OpenFOAM/clement-2.4.0/run/fan/system/fvSchemes.divSchemes"

file: /home/clement/OpenFOAM/clement-2.4.0/run/fan/system/fvSchemes.divSchemes from line 32 to line 39.

From function dictionary::lookupEntry(const word&, bool, bool) const
in file db/dictionary/dictionary.C at line 442.

FOAM exiting

Last edited by Clmkite; Yesterday at 13:19.
Clmkite is offline   Reply With Quote

Old   Today, 13:05
Default
  #6
Senior Member
 
linnemann's Avatar
 
Niels Nielsen
Join Date: Mar 2009
Location: NJ - Denmark
Posts: 449
Rep Power: 15
linnemann will become famous soon enough
The blockmesh dict is not needed, just something that followed when copying from another case.

The error is because you need to add div((nuEff*dev(T(grad(Urel))))) under the divSchemes section. Why my case does not complain I do not know.

Code:
divSchemes
{
    default         none;
    div(phi,Urel)   bounded Gauss upwind;
    div(phi,k)      bounded Gauss upwind;
    div(phi,epsilon) bounded Gauss upwind;
    div(phi,omega)  bounded Gauss upwind;
    div(phi,R)      bounded Gauss upwind;
    div(R)          Gauss linear;
    div(phi,nuTilda) bounded Gauss upwind;
    div((nuEff*dev2(T(grad(Urel))))) Gauss linear;
    div((nuEff*dev(T(grad(Urel))))) Gauss linear;
}
as for the other options in fvSchems.

1. Search the forum
2. Search Google
3. Search the OpenFOAM git page
3. Read Hrvoje Jasak's PhD thesis section 3 and 4
4. Read "Computational Methods for Fluid Dynamics by Joel H. Ferziger and Milovan Peric"
5. Read the Fluent Manual

for example searching the OpenFOAM github for cellMDLimited gives me this in the header file.

Code:
Description
    cellMDLimitedGrad gradient scheme applied to a runTime selected base
    gradient scheme.
    The scalar limiter based on limiting the extrapolated face values
    between the maximum and minimum cell and cell neighbour values and is
    applied to the gradient in each face direction separately.
If you want to know which solvers and schemes are avaliable just write a garbage name and run the case the OpenFOAM will spit out the available options for you.

Code:
gradSchemes
{
    default         Gauss linear;
    grad(Urel)      WHAY Gauss linear 1;
    grad(U)         cellMDLimited Gauss linear 1;
}
Code:
Unknown grad scheme WHAY

Valid grad schemes are :

9
(
Gauss
cellLimited
cellMDLimited
edgeCellsLeastSquares
faceLimited
faceMDLimited
fourth
leastSquares
pointCellsLeastSquares
)

Unfortunately there are no "all about openfoam" written anywhere. There are bits and pieces everywhere. The good thing is that all the source code is available so if you can read C++ you can deduce whats going on.


The settings I use is what I have found is ok settings for an unstructured mesh.
__________________
Linnemann

PS. I do not do personal support, so please post in the forums.
linnemann is offline   Reply With Quote

Old   Today, 14:10
Default
  #7
New Member
 
Itsme
Join Date: Apr 2014
Posts: 4
Rep Power: 3
Clmkite is on a distinguished road
Hi Linnemann,

I finally understood why I didn't work and I learn everyday
I change my mesh (skewness and ortho is ok) and try this case :

Link to drive
The case / The mesh / First results 50 and 100

In fact, for the moment I was using virtualbox but now for computing it slows so much that I'm going to install Linux on dualboot.

I tried to search but I'm not sure about the information I've found so maybe you can help me:

Where can I change between first order and second order of discretization ?
How can I really control how may wall function works ?
Why do we initialize omege and epsilon if we chosse the k-omega model ?

I understood your point of writing and see the help but after I need to see which every schemes means (I don't know all in your example). But for sure I start looking this way too.

Otherwise, if you have any comments on my case you are welcome. In fact, even if I hace a good knowledge in fluid mechanics and quite good in CFD, I'm still junior

Once again, thanks for your help.

Clement
Clmkite is offline   Reply With Quote

Reply

Tags
ansys, foam, frame, rotating, srfsimplefoam

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
Compile OF 2.3 on Mac OS X .... the patch gschaider OpenFOAM Installation on Windows, Mac and other Unsupported Platforms 217 Today 17:47
Undeclared Identifier Errof UDF SteveGoat Fluent UDF and Scheme Programming 7 October 15, 2014 07:11
Version 15 on Mac OS X gschaider OpenFOAM Installation 120 December 2, 2009 11:23
Installation OF1.5-dev ttdtud OpenFOAM Installation 46 May 5, 2009 02:32
Problem with compile the setParabolicInlet ivanyao OpenFOAM Running, Solving & CFD 6 September 5, 2008 20:50


All times are GMT -4. The time now is 21:48.