CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Community Contributions (https://www.cfd-online.com/Forums/openfoam-community-contributions/)
-   -   [ImmersedBoundary] Error while running IBM solver (https://www.cfd-online.com/Forums/openfoam-community-contributions/167066-error-while-running-ibm-solver.html)

pvpnrao February 22, 2016 21:27

Error while running IBM solver
 
I downloaded the IBM solvers and turtorials from openfoamwiki.
I am encountering the following error, while running my case

--> FOAM FATAL ERROR:
allPoints.size() < 9 : 7

From function void immersedBoundaryFvPatch::makeInvDirichletMatrices( )
in file immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C at line 91.

FOAM aborting

I looked into the source code in immersedBoundaryFvPatchLeastSquaresFit.C line 91. I understand that the allpoints.size() should be grater than ncoeffs for the case to run. But I am having a hard time following the lineage to the definition of these variables.
Can somebody help.

urion April 16, 2016 12:07

i am having the same problem. did you manage to fix it somehowe??

wyldckat April 16, 2016 13:30

Quick questions:
  1. Which exact installation instructions did you two follow?
  2. Which foam-extend version are you using?

pvpnrao April 16, 2016 23:37

Wyldckat

I used the instructions given on the following webpage

https://openfoamwiki.net/index.php/E...mersedBoundary

I am using Foam Extend 3.1. Foam 3.2 was not yet released when I started working with IBM.

Although, I did not try attempting to fix this issue yet. But, from my correspondence with Prof. Jasak, I understand, this is a mesh refinement problem, the immersed boundary is not being able to find a cell centroid for interpolation.

So, if I keep refining the mesh locally using cellSet+RefineMesh do you think I should be able to fix the problem.

urion April 17, 2016 10:48

I don't think refining the mesh is the solution cause my case with a complex Ib runs perfectly on a coarse grid. The mentioned error only occurs after refining the mesh

wyldckat April 17, 2016 17:54

Quick answer: The best I can do on this topic is to suggest that you build from source code the "nextRelease" branch from foam-extend 3.2. It has several updates to IBM, including some related to dynamic meshing.

To get the correct branch, either clone directly:
Code:

git clone --branch nextRelease git://git.code.sf.net/p/foam-extend/foam-extend-3.2
Or after cloning, go into the folder "foam-extend-3.2" and run:
Code:

git checkout nextRelease
Use the latest instructions as a reference: http://openfoamwiki.net/index.php/In...oam-extend-3.2

urion April 19, 2016 10:46

Wyldckat
I now use foam-extend 3.2 but still get the same error. Any other suggestions?

wyldckat April 19, 2016 18:30

Quote:

Originally Posted by urion (Post 595757)
Any other suggestions?

Quick answer: I or anyone else will need more details on how to reproduce the same error that you are getting.

urion April 20, 2016 04:17

I'm running a case of turbulent channel flow where the IB consisting of a smooth plate represents the walls of the channel. this case is running well until i exchange the smooth plate IB with a complex structured IB. the new case is only running for a coarse grid. when i refine the mesh I'm getting the mentioned error. What further informations do you need?
I could send you the case then you could reproduce the error usingt the icoIbFoam solver though I'm using a modified version

wyldckat April 20, 2016 17:47

Quote:

Originally Posted by urion (Post 595902)
What further informations do you need?

Sorry, I should have pointed out that you should have followed the instructions on this thread: http://www.cfd-online.com/Forums/ope...-get-help.html

The idea is that without a test case, I can't reproduce the same error you're getting.
I could very easily spend 2h trying to try and reproduce the same error you're getting and always not get an error message :(.

edit: At the very least, I need detailed instructions on how to use an existing tutorial case and configure it to give the same crash you are getting.

urion April 21, 2016 03:06

icoIbFoam channel flow with komplex IB, --> FOAM FATAL ERROR: allPoints.size() < 9
 
I modified the channelFoam tutorial to run the case with icoIbFoam-solver and a complex IB as channel walls. A sketch of the geometry can be found under the link:https://www.dropbox.com/s/euwbfw0b05...leyIB.jpg?dl=0
and a screendump of the mesh under the link:https://www.dropbox.com/s/nvbpnj04n7t29li/mesh.jpg?dl=0
The output of checkmesh can be found under the link: https://www.dropbox.com/s/smhvofhqnz...kMesh.log?dl=0
Link to fvSchemes: https://www.dropbox.com/s/ciaumy6j2h...fvSchemes?dl=0
Link to fvSolution: https://www.dropbox.com/s/a7z956vzm0...vSolution?dl=0
The output of the terminal is: https://www.dropbox.com/s/3nneljz2j5...bFoam.log?dl=0
And a link to the full case: https://www.dropbox.com/sh/d5bw0xi8l...eVZJILh1a?dl=0
note that if I reduce the mesh resulotion to the half and again add the IB-statement in the boundary file the case runs without the mentioned error

wyldckat May 1, 2016 19:34

@urion - Quick answer: I only managed to take a quick look into this the other day and I haven't managed to do any tests yet.

What comes to mind is that the problem might be related to the fact that your STL files are on the borders of the mesh, which might be the reason for this problem.
At least if I understood you correctly, the problem also occurs when the whole mesh is refined, which could lead to numerical issues.

Which reminds me: please try increasing the refinement in the STL files as well.
For example, in ParaView you can use the filter "Subdivide", which will divide each triangle on the STL into several smaller triangles. This might help with numerical issues, because each point on the mesh will be able to better "see" the nearby vertices of the triangles, therefore leading to smaller numerical errors... at least in theory.

urion May 2, 2016 02:25

prevent pressure correction in IB
 
hi wyldckat thanks for your answer. i will try refining the stl-file as well. I have another question regarding the solver I am using. I expanded the icoIbFoam solver in foam extend 3.1 by the prssure-correction made in the solver channelFoam so i can use the new solver as DNS-solver for turbulent channel flow with IB. The problem is that the pressure correction seems to be performed in the whole channel but i dont want to perform the pressure correction in the IB. what changes do i have to make to the solver especially the pressure correction to prevent this.?
Link to used solver:
https://www.dropbox.com/sh/wfgf194ul...u3_FkDEAa?dl=0

what December 6, 2016 04:35

you can try to exame your surface normals in your stl file, the surface normals of all the triangles should point outward.

chung1shen June 25, 2017 19:57

Dear All,

I installed foam-extend-4.0 on Ubuntu 16.04 and tried to run the tutorial movingCynlinderInChannelIco in parallel with 8 processors.

The only thing I modified is, in system/decomposeParDict:
numberOfSubdomains 8;
method simple;
simpleCoeffs
{
n (4 2 1);
delta 0.001;
}

It failed with the following messages:
[1]
[1]
[1] --> FOAM FATAL ERROR:
[1] allPoints.size() < 5 : 3
[1]
[1] From function void immersedBoundaryFvPatch::makeInvDirichletMatrices( )
[1] in file immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C at line 95.
[1]
FOAM parallel run aborting
[1]

[5]
[5]
[5] --> FOAM FATAL ERROR:
[5] allPoints.size() < 5 : 4
[5]
[5] From function void immersedBoundaryFvPatch::makeInvDirichletMatrices( )
[5] in file immersedBoundaryFvPatch/immersedBoundaryFvPatchLeastSquaresFit.C at line 95.
[5]
FOAM parallel run aborting
[5]

How should I proceed from here? I tried subdividing the immersed boundary mesh and/or refining the domain mesh but still getting the same error.

Thanks in advance for your help.

Chung

deepthishan March 2, 2018 05:07

ibm foam extend 4.0
 
Hello,

Kindly share how you resolved the issue.
I refined the moving cylinder in channel tutorial.
Changed domain dimensions and used parallel.
I tried refining the background mesh alone and the ibCylinder points alone and together also. Almost at the same instant the case crashes with the error allPoints.size() < 5 : 4.

Thanks in advance.

ordinary October 5, 2018 18:50

Hello,

I only encounter this headache when I try to solve in parallel. I posted my question here: https://www.cfd-online.com/Forums/op...-serially.html

EDIT: I overcame this issue by decreasing simpleCoeffs () here: https://www.cfd-online.com/Forums/op...-serially.html


Regards.


All times are GMT -4. The time now is 02:31.