About the moving immersed boundary tutorial: icoDyMIbFoam+movingCylinderInChannelIco
Through a bit of super moderator magic, I've gathered all of the posts that are related to the recent feature of Dynamic Meshing with Immersed Boundary, that was introduced in the "nextRelease" branch at the foam-extend 3.2 repository, as mentioned in the announcement thread:
Quote:
@utkunun: I hope your question doesn't get buried in all of this, since you were the first to create this specific thread (post #6). The posts till #9 (except #6) have been moved from these two threads: |
Hi
Thanks for the tutorial. I'm currently having some problems with the new code. It seems to me that the boundary condition at the cylinder is somehow strange or not updated. For example if one uses the tutorial case. As the cylinder oscillates one would expect a change of velocity at the side of the cylinder (cylinder moves against the flow, velocity must increase). That's not happening. The flow field seems to be OK when I set the refValue to the value of the velocity of the cylinder. Thats easy to do if you're just using a simple translation. However doing this leads to a new problem. The pressure field seems to oscillate. I tried using different solvers for the pressure field. Non of them could solve the problem. Have any of you encountered or solved this problem? Thanks Daniel |
Greetings Daniel,
I moved your post from the main news thread http://www.cfd-online.com/Forums/ope...end-3-2-a.html, because this current thread is dedicated to discussing IBM implemented in foam-extend. I've taken a look at the results I get and I'm not seeing this problem. The fluid has a very high viscosity of "0.01 m²/s", so it's somewhat natural that it doesn't react directly to the cylinder speed. In addition, the solver is strictly laminar, therefore the occurrence of vortices could potentially only appear with a very fine mesh. Best regards, Bruno |
Hi Bruno
I don't think this is due to the high viscosity. For example if I run the tutorial with a inlet velocity = (0 0 0). In this case I would expect that the oscillation of the cylinder induce a flow at the side of the cylinder. In my case that's not happening. The cylinder moves and the entire velocity field remains at a value of (0 0 0). A second issue are the viscous forces of the immersed boundary. If I set up a case with and run it stationary (icoIbFoam) afterwards I change to a moving case (same boundary condition but IcoDyMIbFoam), the viscous forces changes sign. I guess the IcoIbFoam and IcoDyMIbfoam are using different conventions. Is this assumption correct? We could figure out the origin of the pressure fluctuation. Those occur when the IbMask is updated. We could solve this by taking a very small time step. In this case the fluctuations are small and we post process the data. Is there an other way to avoid taking a small time step? Because I'm currently running with very small Courant number which increases the simulation time significantly. Daniel |
Hi Daniel,
Have a look into "applications/solvers/incompressible/icoDyMFoam" vs "icoFoam" and "icoIbFoam". These are the closest solvers to this and should give a better perspective on what might be missing in all of this. Because unfortunately this is still beyond my current skill set and experience with OpenFOAM and foam-extend :(. Best regards, Bruno |
About the moving immersed boundary tutorial
1 Attachment(s)
Hello everybody,
Following the moving immersed boundary tutorial called "movingCylinderInChannelIco", I set up a case with a very small inlet velocity (almost zero compared to the body velocity). My cylinder is oscillating in the y direction. Amplitude is 0.2 m and the period is 4.2 s. I attached my case to this thread. Considering that the immersed boundary velocity must be equal to the velocity of the fluid adjacent to the moving boundary, I would expect a velocity of 0.3 m/s at some instant in my domain. However the velocity never reaches this value anywhere. And the fluid velocity next to the immersed boundary stays being equal to (almost) zero. My question is, are the immersed boundary entries in the 0/U file correct? I kept them the same as in the tutorial since it's also a moving boundary case. Regards, Utku |
Dear wyldckat,
I posted a very similar thread before actually reading this one. I apologize for this in advance. I have the same question in mind: are the entries under 0/U ok for this moving immersed boundary tutorial? If so, why is the velocity equal to zero on the moving immersed boundary at all times (in saved time folders) during the simulation? Thanks in advance. |
Hello,
I run the movingCylinderInChanelIco and it worked. But if I try to run it in parallel I get the following error. Code:
user@PC:~/foam/foam-extend-3.2/tutorials/immersedBoundary/movingCylinderInChannelIco$ mpirun -np 10 icoDyMIbFoam -parallel |
Hi Robert
I'm currently working with the same tutorial. I can run it parallel without any problems. However you have to run potentialIbFoam before you use decompose the domain. Otherwise the simulation always crashes. Do you get non-physical results for the velocity field as well ? Utkunun posted a thread describing that problem: http://www.cfd-online.com/Forums/ope...hannelico.html Daniel |
Greetings to all!
@utkunun Quote:
Quote:
Quote:
Best regards, Bruno edit: For those who can, do keep in mind that you can have access to Hrvoje's live support for student projects at NUMAP-FOAM: http://www.cfd-online.com/Forums/ope...ng-2016-a.html ;) |
Quote:
Antonio |
Greetings Antonio,
Quote:
Code:
// Note: potentially deal with face flux correction ptr. Seriously, if you guys need this working as soon as possible, namely if you can't wait a few months for NUMAP-FOAM in April, or can't attend it, then either contact prof. Hrvoje Jasak directly or the organization people for NUMAP-FOAM asking for something sooner and/or with online access! I say this because I took only a quick look into the class "immersedBoundaryFvPatchField" and looks like some pretty hard-core CFD implementation in foam-extend's infrastructure, because it manipulates the equations directly! Best regards, Bruno |
Hello everybody,
as I am trying to cope with the movingCylinderInChannelIco tutorial, there is always one big problem, so I decided to post here. So, the case is the movingCylinderInChannelIco tutorial. No modifications are made to any of the files in that tutorial, I‘ve just copied it to my Documents folder from "tutorials" folder. Firstly, I open the tutorial folder in a terminal. Next, I run fe32 command to select the foam-extend 3.2 (there are also OpenFOAM-1.7 and OpenFOAM-2.2 installed on the workstation) After that, I run ./Allrun, blockMesh and checkMesh. There are no errors during these steps. The next step is where I get all the problems. When I try to use the icoDyMIbFoam solver, then it returns the following: Code:
/*---------------------------------------------------------------------------*\ I would be most thankful to know, what I am doing wrong here. Other tutorials, such as pitzDailyLaminarIcoIbFoam, are running flawlessly. I am using foam-extend 3.2 on Xubuntu 14.04.3 LTS (and yep, that‘s my very first post here) Thanks in advance. |
Greetings CFD-kasutaja and welcome to the forum!
Quote:
Code:
./Allrun For more details on how to use the tutorials, please check the FAQ "How to run the tutorials in OpenFOAM?": http://openfoamwiki.net/index.php/FA...in_OpenFOAM.3F Best regards, Bruno |
Immersed Boundary with cellrefinement
Hello,
I whould like to use moving Immersed Boundary together with dynamic cellrefinement. So far, I combinated the immersedBoundarySolidBodyMotionFvMesh library with the dynamicRefineFvMesh library. With it, I'm able to refine the immersed boundarys. But shortly, after the mesh got refined, it crushes with the error: Quote:
Is there a class/function I can use to update a dynamic/moving immersed boundary field? If not, can some one tell me, which variables I have to update to get the the this programm as described running correctly? Thanks a lot. Best regards RobertG |
Greetings to all!
I have some updates, at least for the people who are not keeping up with the latest changes on the nextRelease branch of foam-extend 3.2 and about dynamic meshes with IBM. Starting with what I wrote in a previous post: Quote:
The commits that seem to contain the necessary fixes are as follows:
Quote:
Quote:
Bruno |
Mesh Refinement
Hi!
I've been having some troubles with mesh refinement. I typed:git log -1, and got: commit 77225f292d3cb486e97933f9a7d623acd936358a Author: Hrvoje Jasak <h.jasak@wikki.co.uk> Date: Fri Mar 18 11:41:22 2016 +0000 Hotfix: traslation bug fixes So I guess I have the latest version. But every time I try to refine the mesh, increasing the number of cells on blockMeshDict and using refineImmersedBoundaryMesh, the solver gives me: --> FOAM FATAL ERROR: Patch ibCylinder not found. Available patch names: 5 ( in out top bottom frontAndBack ) What am I missing? Thanks a lot! Ariane Vieira |
Quote:
I have been finding this line of code for some time now and found it today. Already calculated the moving cylinder displacement and velocity and looking out on how to update the flow velocity U with it. Kudos. |
Time-Dependent Speed of Immeresed Boundary
Dear All,
I have recently installed foam-extent 3.2 and tried with the "moving cylinder" tutorial successfully. I use "translation" as the "solidBodyMotionFunction". QUESTION: If I want to have a time-dependent velocity of the immeresed body, let say acceleration or deceleration, how I can set it? I know if I want to have ACCELERATION from zero to the fixed value of the velocity in a certain time, I can set the "rampTime" equal to that time interval, right? But how I can set a decelerating movement? Many thanks in advance, ShinyRiver |
SKA (Sea keeping Analysis)
|
All times are GMT -4. The time now is 07:27. |