CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[ImmersedBoundary] Immersed Boundary Method in OpenFOAM-3.1-ext

Register Blogs Community New Posts Updated Threads Search

Like Tree29Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 26, 2015, 15:15
Default
  #21
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
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
Quote:
Originally Posted by singhfme View Post
Has foam-extend-3.2 been released?
Unfortunately it hasn't, at least not as far as I can figure out.
From what I've seen so far, there was a somewhat silent release of foam-extend 3.1.1, which is dated as having the last commit marked at 2014-11-07. I don't know what happened exactly, but I guess that the foam-extend team did not have enough time to take care of it during December .
wyldckat is offline   Reply With Quote

Old   March 7, 2015, 13:25
Default
  #22
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
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
Quote:
Originally Posted by wyldckat View Post
Sorry about this, apparently I misunderstood what they meant. The major releases are planned only for the "OpenFOAM® Workshop" in each year, therefore foam-extend 3.2 will likely only be released this year for the 10th workshop: http://www.cfd-online.com/Forums/ope...or-mi-usa.html
wyldckat is offline   Reply With Quote

Old   March 12, 2015, 07:14
Default immersedBoundaryOmegaWallFunction
  #23
Member
 
Join Date: May 2014
Posts: 40
Rep Power: 11
Phil_ is on a distinguished road
Thank's for the update wyldckat

Did anyone get the immersedBoundaryOmegaWallFunction to work in ext-3.1?

The epsilon-wall function does work and is used in one of the tutorial cases, but I'd like to use the one for omega. So I included it in the Make/file of the simpleIbFoam, corrected a typo in the .H-files, recompiled and... well...

Code:
[...]
+ wmake simpleIbFoam
In file included from /opt/OpenFOAM/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrices.H:40:0,
                 from /opt/OpenFOAM/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchFields.H:33,
                 from /opt/OpenFOAM/foam-extend-3.1/src/finiteVolume/lnInclude/volFields.H:41,
                 from /opt/OpenFOAM/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrix.H:40,
                 from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.C:29,
                 from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:367,
                 from wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.H:55,
                 from wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.C:27:
/opt/OpenFOAM/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:56:1: error: invalid use of incomplete type ‘class Foam::fvMatrix<double>’
 );
 ^
In file included from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:42:0,
                 from wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.H:55,
                 from wallFunctions/immersedBoundaryOmegaWallFunctions/immersedBoundaryOmegaWallFunctionFvPatchScalarField.C:27:
/opt/OpenFOAM/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘class Foam::fvMatrix<double>’
 class fvMatrix;
       ^
[...]
That's the beginning of the nearly 1000 lines of error-messages...

Any idea?
Phil_ is offline   Reply With Quote

Old   April 5, 2015, 08:40
Default
  #24
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
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
Greetings Phil_,

I've finally managed to test this. It seems that the "immersedBoundaryOmegaWallFunction" was developed in a previous development iteration and was not updated for the version they released later on.
In other words, the source code I started with for my repository did not yet have this boundary condition fully working. You might want to contact Wikki: http://wikki.co.uk/ - for getting a clearer response on whether this has already been fixed in the version they're planning on releasing in foam-extend 3.2.

Either way, I did the code updates I could quickly see that needed to be updated and I've pushed the changes to the branch "fe31" on my repository: https://github.com/wyldckat/ImmersedBoundary/tree/fe31

Please try it out and let me/us know if it worked. If it doesn't, then please provide a test case I can work with, so that I can test it.

Best regards,
Bruno
__________________
wyldckat is offline   Reply With Quote

Old   April 9, 2015, 03:49
Default Seems to work
  #25
Member
 
Join Date: May 2014
Posts: 40
Rep Power: 11
Phil_ is on a distinguished road
Dear Bruno,

thank you very much for the updated version I did a quick test with one of the tutorial cases (tutorials_HJ/pitzDailyTurbulentsimpleIbFoam/) and it ran without an error message.

In my case however I get a singular matrix error, but I guess I'm doing something wrong, just don't know what Any hints what I should look for?

Best regards,
Philip
Phil_ is offline   Reply With Quote

Old   April 9, 2015, 16:34
Default
  #26
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
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
Hi Philip,

Well, there are a few details here:
  1. I did a few more updates to the code, so I'm not sure which commit you're using now.
  2. I didn't have the time to create a test case for the omega wall function, based on the one already provided in the toolkit. If you could provide one, it would help speed things a bit on my side.
  3. The code I've based myself is from the 2012 workshop, as detailed on the README file: https://github.com/wyldckat/Immersed...mersedboundary - which after I've taken a better look into the code, has a very incomplete implementation of the wall treatment for the k-epsilon model... which in turn means that I can't do much on my own here, since I only took care of making the code easier to be built with 1.6-ext and 3.1-ext.
  4. Hrvoje was kind enough to find a little bit of time to take a quick look at the changes I had made the other day and pointed out a flaw: https://twitter.com/hrvoje_jasak/sta...30429965766656
    • He today also sent me the two files for the omega wall from his latest development line and the differences are waaaaay too many for me to implement on my repository. This to say that his latest code is able to properly handle the wall treatment for the IBM-related surfaces, which has dedicated code for it. The example given on the workshop did not have yet this specific work done.


Therefore, as far as I can figure out, there are only a few options left:
  1. If your case worked without problems with the k-epsilon turbulence model and wall treatment, I can try and figure out what's missing on my changes. But for that, I'll need a test case to work with that reproduces your problem and that has the k-epsilon version as well, so that I can compare and isolate the problem. But be warned: these wall functions are not fully working as intended. They can only be used in a situation similar to the example case.
  2. Or you wait for foam-extend 3.2 to be released.
  3. Or you can contact Wikki.co.uk to know under which terms you can get early access to their latest developments for the IBM toolkit.
Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   April 10, 2015, 02:30
Default
  #27
Member
 
Join Date: May 2014
Posts: 40
Rep Power: 11
Phil_ is on a distinguished road
Dear Bruno,

thank you for the clarification on the implementation of the wall functions.

It's true, I noticed some strange behaviour with the k-epsilon model in my test case. So I think it's best to wait for the new release. Anyway I'll give it a shot and test the latest update of your code.

Many thank's for your effort.

Best regards,
Philip
Phil_ is offline   Reply With Quote

Old   April 21, 2015, 04:09
Default Regarding interIbFoam
  #28
New Member
 
Tsuyoshi Koyama
Join Date: Oct 2012
Posts: 6
Rep Power: 13
t.koyama is on a distinguished road
I am currently testing the immersed boundary implementation of interIbFoam
in OpenFoam and found some strange behaviors in the example in the directory,

ImmersedBoundary/tutorials/damBreakWithCylinder

When you change the initial conditions of the water by setting the line
in "setFieldsDict" from

box (-1 0 -1) (-0.46 1 1);

to

box (-1 0 -1) (1 0.1 1);

which leaves a part of the cylinder above water level, instead of seeing the
water stay still, the water level starts to increase. This increase
can be checked by computing the total amount of water. This problem seems to
arise in any case whenever the water interface interacts with the immersed boundary.
I suspect that the problem lies in the polynomial interpolation scheme implemented
at the immersed boundary which acts as a source for the volume fraction,
increasing the total amount of water in the simulated domain.

If anyone has a nice fix for this problem it would be of great help.

Many thanks in advance.
t.koyama is offline   Reply With Quote

Old   May 27, 2015, 09:33
Default
  #29
New Member
 
Join Date: Oct 2013
Posts: 12
Rep Power: 12
Nigò is on a distinguished road
Quote:
Originally Posted by singhfme View Post
I also get similar messages during compilation of libraries, e.g.
Code:
 SOURCE=immersedBoundaryForces.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-200 -I/opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude     -I/opt/foam/foam-extend-3.1/src/postProcessing/functionObjects/forces/lnInclude     -I/opt/foam/foam-extend-3.1/src/surfMesh/lnInclude     -I/opt/foam/foam-extend-3.1/src/triSurface/lnInclude     -I/opt/foam/foam-extend-3.1/src/meshTools/lnInclude     -I/opt/foam/foam-extend-3.1/src/sampling/lnInclude     -I../immersedBoundary/lnInclude -IlnInclude -I. -I/opt/foam/foam-extend-3.1/src/foam/lnInclude -I/opt/foam/foam-extend-3.1/src/OSspecific/POSIX/lnInclude   -fPIC -c $SOURCE -o Make/linux64GccDPOpt/immersedBoundaryForces.o
In file included from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrices.H:40:0,
                 from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchFields.H:33,
                 from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/volFields.H:41,
                 from /opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvMatrix.H:40,
                 from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.C:29,
                 from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:367,
                 from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchFields.H:30,
                 from immersedBoundaryForces.C:29:
/opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvScalarMatrix.H:56:1: error: invalid use of incomplete type ‘class Foam::fvMatrix<double>’
 );
 ^
In file included from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchField.H:42:0,
                 from ../immersedBoundary/lnInclude/immersedBoundaryFvPatchFields.H:30,
                 from immersedBoundaryForces.C:29:
/opt/foam/foam-extend-3.1/src/finiteVolume/lnInclude/fvPatchField.H:75:7: error: declaration of ‘class Foam::fvMatrix<double>’
 class fvMatrix;
       ^
How to get over this problem?
I have also the same problem in compilation.
There is someone able to solve it ?
Nigò is offline   Reply With Quote

Old   May 27, 2015, 13:21
Default
  #30
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,905
Rep Power: 33
hjasak will become famous soon enough
Are you compiling the nextRelease branch? Try adding

#include "fvMatrices.H"

at the top of immersedBoundaryForces.C

Please let me know,

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   May 28, 2015, 05:34
Default
  #31
New Member
 
Join Date: Oct 2013
Posts: 12
Rep Power: 12
Nigò is on a distinguished road
Thank you for your fast reply.
I'm compiling the master branch, I have made the change that you have suggest but the output it's the same.
Nigò is offline   Reply With Quote

Old   June 24, 2015, 23:28
Default
  #32
Member
 
Francisco T
Join Date: Nov 2011
Location: Melbourne, Australia
Posts: 64
Blog Entries: 1
Rep Power: 14
frantov is on a distinguished road
Hello
Im trying to complie Immersed Boundary method according to this instructions:
http://openfoamwiki.net/index.php/Ex...oam-extend_3.1

Code:
mkdir -p $FOAM_RUN
cd $FOAM_RUN/..
git clone git@github.com:wyldckat/ImmersedBoundary.git ImmersedBoundary
cd ImmersedBoundary
git checkout fe31
cd src
./Allwmake
but when I do
Code:
>>./Allwmake
I get this:

Code:
wmake error: environment variable $WM_OPTIONS not set
+ wmake surfaceInvertNormal
wmake error: environment variable $WM_OPTIONS not set
+ wmake libso immersedBoundary
wmake error: environment variable $WM_OPTIONS not set
+ wmake libso immersedBoundaryForce
wmake error: environment variable $WM_OPTIONS not set
+ wmake makeTriSurfaceMesh
wmake error: environment variable $WM_OPTIONS not set
+ wmake refineImmersedBoundaryMesh
wmake error: environment variable $WM_OPTIONS not set
+ wmake potentialIbFoam
wmake error: environment variable $WM_OPTIONS not set
+ wmake icoIbFoam
wmake error: environment variable $WM_OPTIONS not set
+ wmake interIbFoam
wmake error: environment variable $WM_OPTIONS not set
+ wmake simpleIbFoam
wmake error: environment variable $WM_OPTIONS not set
I have also run
Code:
>>export
and this is the output:

Code:
WM_OPTIONS="darwinIntel64GccDPOpt"
Im running on a MacOX with a spase image. I have also OF2.2 and OF2.3 running OK. I have installed the foam extend in a different spase image, and it is where I have clonned the IB. What could I be missing?

Regards and thanks for your help
Fran

Last edited by wyldckat; June 28, 2015 at 16:17. Reason: Added [CODE][/CODE] markers
frantov is offline   Reply With Quote

Old   July 27, 2015, 06:31
Default IBM in foam-extend next release
  #33
Member
 
Join Date: May 2014
Posts: 40
Rep Power: 11
Phil_ is on a distinguished road
Dear all,

so foam-extend next release (release 3.2) is available and I ran a small test for the immersed boundary.

For the kEpsilon turbulence model it works like a charm, but with the kOmegaSST model it complains about "tauWall not set for IB patch ibChannel for field U". In the kEpsilon model tauWall is set by the immersedBoundaryEpsilonWallFunction. This wall function is replaced by immersedBoundaryOmegaWallFunction where tauWall is not defined.

Any ideas?

In the meantime I'll dig in a little more and try to find out what's going on.

Phil
Phil_ is offline   Reply With Quote

Old   August 9, 2015, 18:16
Default Immersed Boundary on buoyantBoussinesqPisoFoam
  #34
Member
 
Manjura Maula Md. Nayamatullah
Join Date: May 2013
Location: San Antonio, Texas, USA
Posts: 42
Rep Power: 12
mmmn036 is on a distinguished road
Dear all,

Tutorials are working good for IBM in foam-extend-3.1.

I was trying to derive a new solver from buoyantBossinesqPisoFoam using IBM on foam-extend 3.1. I followed the SOLVER_COOKBOOK provided by wildckat and InterIbFoam solver. It compiled just fine. But when I ran a test case, it is not getting the immersed boundary. I was trying to find out the reason. What I have got is that the commaned line "immersedBoundaryAdjustPhi(phi,U)" is not working in pressure equation (pEqn.H) and that's why the phi is not adjusted for immersed boundary by the command adhustPhi(phi,U,p).

There is no error in solver compilation, but in results i can not see the effect of immersed boundary that I provided.

Here I have attached the solver if anyone wants to look.


Any ideas? It would be appreciated.
MMMN
Attached Files
File Type: gz buoyantBoussinesqPisoIBFoam.gz (3.1 KB, 16 views)
mmmn036 is offline   Reply With Quote

Old   August 10, 2015, 11:51
Default
  #35
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,905
Rep Power: 33
hjasak will become famous soon enough
Not to be rude, but the cook-bok was written by me.
Have a look at

constant/polyMesh/boundary

Do you have an immersed boundary patch in there with zero faces?
mmmn036 likes this.
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   August 10, 2015, 17:45
Default
  #36
Member
 
Manjura Maula Md. Nayamatullah
Join Date: May 2013
Location: San Antonio, Texas, USA
Posts: 42
Rep Power: 12
mmmn036 is on a distinguished road
Quote:
Originally Posted by hjasak View Post
Not to be rude, but the cook-bok was written by me.
Have a look at

constant/polyMesh/boundary

Do you have an immersed boundary patch in there with zero faces?
Thanks for your quick reply and I am sorry not to give you credit for the solver cook-book. It was really helpful.

You are right I was missing that part to change the boundary for immersed boundary.

Now the case is running, but I am getting some unphysical results. As I mentioned I compiled the solver from buoyantBoussinesqPisoFoam, I left the DEqn.H unchanged. Is that might be source of my unrealistic results?
Or other words, do I need to do anything for immersed boundary treatment for transport equation (in my case D.Eqn.H)?
You mentioned in the solver cook-book to mask with faceIbMask on calculation of face fluxes. How can I do that for transport equation?

I checked the boundary conditions, they are ok, as I run the case without IBM and it gives good results and I also added the boundary for immersed boundary for all the fields.

I would appreciate your support if look into my attached solver. Thanks
Attached Files
File Type: gz buoyantBoussinesqPisoIBFoam.gz (3.1 KB, 10 views)
File Type: gz density_PISO_2D_IBM.gz (16.7 KB, 12 views)

Last edited by mmmn036; August 10, 2015 at 19:01.
mmmn036 is offline   Reply With Quote

Old   August 12, 2015, 21:48
Default
  #37
Member
 
Manjura Maula Md. Nayamatullah
Join Date: May 2013
Location: San Antonio, Texas, USA
Posts: 42
Rep Power: 12
mmmn036 is on a distinguished road
Quote:
Originally Posted by hjasak View Post
Not to be rude, but the cook-bok was written by me.
Have a look at

constant/polyMesh/boundary

Do you have an immersed boundary patch in there with zero faces?
Dear hjasak,

Did you developed buoyantBoussinesqPisoFoam solver and test cases with IBM?

I am looking forward for it.

Thanks
mmmn036 is offline   Reply With Quote

Old   August 15, 2015, 22:24
Default
  #38
Member
 
Manjura Maula Md. Nayamatullah
Join Date: May 2013
Location: San Antonio, Texas, USA
Posts: 42
Rep Power: 12
mmmn036 is on a distinguished road
Hello All,

I have complied a solver for buoyantBoussinesqPisoIbFoam following the instructions from Hjasak's solver-cookbook. It compiled ok and I run a taste case which runs good too. But I can see some strange behavior around the immersed boundary I attached a glyph plot for velocity below.

The scaling for imposing zero net-flux through the IB faces around immersed boundary is not working, what I believe. Does this problem sources from boundary conditions? I checked all the boundary and play around with different combination, but this behavior prevails. Any one can give me some ideas on that?

Thanks
Attached Images
File Type: png U_1st_time1.png (55.4 KB, 82 views)
mmmn036 is offline   Reply With Quote

Old   August 28, 2015, 23:55
Default
  #39
Member
 
Ali
Join Date: Oct 2013
Location: St John's Canada
Posts: 31
Rep Power: 12
ashim is on a distinguished road
Hello foamers,

Is there anyone, who is trying to use immersed boundary method in foam-extend-3.2. I have compiled foam-extend-3.2 to test this method. But it seems that there is some problem in interIbFoam solver. It diverge after few seconds with exploding alpha values . I have also tried explicit MULES solver for alpha, which has the same outcome. I hope someone will share experience.

Ali
ashim is offline   Reply With Quote

Old   August 29, 2015, 01:47
Default
  #40
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,905
Rep Power: 33
hjasak will become famous soon enough
What exactly are you trying to run? Are you running the solver I wrote or a modified one?

There are tutorials provided with the release and they are running every day, so I *know* they work. Can you run the tutorials without errors?

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Reply

Tags
immersed boundary method, openfoam-1.6-ext, openfoam-3.1-ext


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
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 07:38
Radiation in semi-transparent media with surface-to-surface model? mpeppels CFX 11 August 22, 2019 07:30
implementation of the Immersed Boundary Method mi_cfd Main CFD Forum 19 April 24, 2019 01:24
Wrong flow in ratating domain problem Sanyo CFX 17 August 15, 2015 06:20
[ImmersedBoundary] who has the paper about immersed boundary method in openfoam blueshit OpenFOAM Community Contributions 1 November 18, 2013 07:16


All times are GMT -4. The time now is 17:53.