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] About the moving immersed boundary tutorial: icoDyMIbFoam+movingCylinderInChannelIco (https://www.cfd-online.com/Forums/openfoam-community-contributions/162111-about-moving-immersed-boundary-tutorial-icodymibfoam-movingcylinderinchannelico.html)

wyldckat October 10, 2015 06:49

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:

Originally Posted by utkunun (Post 566471)
Dr. Jasak announced a tutorial including a moving immersed boundary in the following:

https://twitter.com/hrvoje_jasak/sta...57532137705472

For a few more details, please read the announcement thread: http://www.cfd-online.com/Forums/ope...end-3-2-a.html

@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:

DaniB1989 October 21, 2015 10:40

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

wyldckat October 24, 2015 14:30

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

DaniB1989 October 24, 2015 15:01

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

wyldckat October 24, 2015 16:00

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

utkunun November 3, 2015 16:50

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

utkunun November 3, 2015 22:46

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.

RobertG November 6, 2015 06:04

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
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | foam-extend: Open Source CFD                    |
|  \\    /  O peration    | Version:    3.2                                |
|  \\  /    A nd          | Web:        http://www.foam-extend.org        |
|    \\/    M anipulation  | For copyright notice see file Copyright        |
\*---------------------------------------------------------------------------*/
Build    : 3.2-ac4abdca3de8
Exec    : icoDyMIbFoam -parallel
Date    : Nov 06 2015
Time    : 10:52:17
Host    : PC
PID      : 29531
CtrlDict : "/home/user/foam/foam-extend-3.2/tutorials/immersedBoundary/movingCylinderInChannelIco/system/controlDict"
Case    : /home/user/foam/foam-extend-3.2/tutorials/immersedBoundary/movingCylinderInChannelIco
nProcs  : 10
Slaves :
9
(
PC.29532
PC.29533
PC.29534
PC.29535
PC.29536
PC.29537
PC.29538
PC.29539
PC.29540
)

Pstream initialized with:
    floatTransfer    : 0
    nProcsSimpleSum  : 16
    commsType        : blocking
SigFpe  : Enabling floating point exception trapping (FOAM_SIGFPE).

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

Create dynamic mesh for time = 0

Selecting dynamicFvMesh immersedBoundarySolidBodyMotionFvMesh
Selecting solid-body motion function linearOscillation
Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi


Starting time loop

Time = 0.01

solidBodyMotionFunctions::linearOscillation::transformation(): Time = 0.01 transformation: ((0.012565 0 0) (1 (0 0 0)))
Moving immersed boundary points for patch ibCylinder
Mesh update1
Create immersed boundary cell mask
Create immersed boundary face mask
Found immersed boundary patch 0 named ibCylinder
External flow
[4] Number of IB cells: 0
[9] Number of IB cells: 0
[0] Number of IB cells: 0
[3] Number of IB cells: 0
[1] Number of IB cells: 14
[5] Number of IB cells: 0
[2] Number of IB cells: 5
[6] Number of IB cells: 13
[7] Number of IB cells: 4
[8] Number of IB cells: 0
Courant Number mean: 0.125864 max: 0.5 velocity magnitude: 1
BiCGStab:  Solving for Ux, Initial residual = 0.0890341, Final residual = 1.33291e-09, No Iterations 3
[PC:29538] *** Process received signal ***
[PC:29538] Signal: Floating point exception (8)
[PC:29538] Signal code:  (-6)
[PC:29538] Failing at address: 0x3e800007362
[PC:29539] *** Process received signal ***
[PC:29539] Signal: Floating point exception (8)
[PC:29539] Signal code:  (-6)
[PC:29539] Failing at address: 0x3e800007363
[PC:29540] *** Process received signal ***
[PC:29540] Signal: Floating point exception (8)
[PC:29540] Signal code:  (-6)
[PC:29540] Failing at address: 0x3e800007364
[PC:29531] *** Process received signal ***
[PC:29531] Signal: Floating point exception (8)
[PC:29531] Signal code:  (-6)
[PC:29531] Failing at address: 0x3e80000735b
[PC:29532] *** Process received signal ***
[PC:29532] Signal: Floating point exception (8)
[PC:29532] Signal code:  (-6)
[PC:29532] Failing at address: 0x3e80000735c
[PC:29533] *** Process received signal ***
[PC:29533] Signal: Floating point exception (8)
[PC:29533] Signal code:  (-6)
[PC:29533] Failing at address: 0x3e80000735d
[PC:29534] *** Process received signal ***
[PC:29534] Signal: Floating point exception (8)
[PC:29534] Signal code:  (-6)
[PC:29534] Failing at address: 0x3e80000735e
[PC:29535] *** Process received signal ***
[PC:29535] Signal: Floating point exception (8)
[PC:29535] Signal code:  (-6)
[PC:29535] Failing at address: 0x3e80000735f
[PC:29536] *** Process received signal ***
[PC:29536] Signal: Floating point exception (8)
[PC:29536] Signal code:  (-6)
[PC:29536] Failing at address: 0x3e800007360
[PC:29537] *** Process received signal ***
[PC:29537] Signal: Floating point exception (8)
[PC:29537] Signal code:  (-6)
[PC:29537] Failing at address: 0x3e800007361
[PC:29537] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f5a802a9d40]
[PC:29537] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f5a802a9cc9]
[PC:29537] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f5a802a9d40]
[PC:29537] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7f5a81f21090]
[PC:29537] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29537] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29532] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f22d0cccd40]
[PC:29532] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f22d0ccccc9]
[PC:29532] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f22d0cccd40]
[PC:29532] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7f22d2944090]
[PC:29532] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29532] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29532] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f22d0cb7ec5]
[PC:29532] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29532] *** End of error message ***
[PC:29536] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f09e7b13d40]
[PC:29536] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f09e7b13cc9]
[PC:29536] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f09e7b13d40]
[PC:29536] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7f09e978b090]
[PC:29536] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29536] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29536] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f09e7afeec5]
[PC:29536] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29536] *** End of error message ***
[PC:29539] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fe621ce8d40]
[PC:29539] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7fe621ce8cc9]
[PC:29539] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fe621ce8d40]
[PC:29539] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7fe623960090]
[PC:29539] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29539] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29539] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fe621cd3ec5]
[PC:29539] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29539] *** End of error message ***
[PC:29540] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fec63ab1d40]
[PC:29540] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7fec63ab1cc9]
[PC:29540] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fec63ab1d40]
[PC:29540] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7fec65729090]
[PC:29540] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29540] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29540] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fec63a9cec5]
[PC:29540] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29540] *** End of error message ***
[PC:29531] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fdd8bdfed40]
[PC:29531] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7fdd8bdfecc9]
[PC:29531] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fdd8bdfed40]
[PC:29531] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7fdd8da76090]
[PC:29531] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29531] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29531] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fdd8bde9ec5]
[PC:29531] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29531] *** End of error message ***
[PC:29537] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f5a80294ec5]
[PC:29537] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29537] *** End of error message ***
[PC:29533] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f954e509d40]
[PC:29533] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f954e509cc9]
[PC:29533] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f954e509d40]
[PC:29533] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7f9550181090]
[PC:29533] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29533] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29533] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f954e4f4ec5]
[PC:29533] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29533] *** End of error message ***
[PC:29534] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fb65579fd40]
[PC:29534] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7fb65579fcc9]
[PC:29534] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7fb65579fd40]
[PC:29534] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7fb657417090]
[PC:29534] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29534] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29534] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fb65578aec5]
[PC:29534] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29534] *** End of error message ***
[PC:29535] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f6f7b903d40]
[PC:29535] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f6f7b903cc9]
[PC:29535] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f6f7b903d40]
[PC:29535] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7f6f7d57b090]
[PC:29535] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29535] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29535] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f6f7b8eeec5]
[PC:29535] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29535] *** End of error message ***
[PC:29538] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f5baff47d40]
[PC:29538] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f5baff47cc9]
[PC:29538] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f5baff47d40]
[PC:29538] [ 3] /home/user/foam/foam-extend-3.2/lib/linux64GccDPOpt/liblduSolvers.so(_ZNK4Foam14bicgStabSolver5solveERNS_5FieldIdEERKS2_j+0x870) [0x7f5bb1bbf090]
[PC:29538] [ 4] icoDyMIbFoam(_ZN4Foam8fvMatrixINS_6VectorIdEEE5solveERKNS_10dictionaryE+0x4ab) [0x4300eb]
[PC:29538] [ 5] icoDyMIbFoam() [0x41ac22]
[PC:29538] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f5baff32ec5]
[PC:29538] [ 7] icoDyMIbFoam() [0x41c6a3]
[PC:29538] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 8 with PID 29539 on node PC exited on signal 8 (Floating point exception).

Can some one help me?

DaniB1989 November 6, 2015 11:14

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

wyldckat November 7, 2015 13:44

Greetings to all!

@utkunun
Quote:

Originally Posted by utkunun (Post 571767)
I posted a very similar thread before actually reading this one. I apologize for this in advance.

Actually, thanks for creating a new thread about this. I've moved all posts related to this topic into your thread, as mentioned at the current first post #1.

Quote:

Originally Posted by utkunun (Post 571767)
I have the same question in mind: are the entries under 0/U ok for this moving immersed boundary tutorial?

In principle, the boundary condition is correctly defined in the "0/U" file.

Quote:

Originally Posted by utkunun (Post 571767)
If so, why is the velocity equal to zero on the moving immersed boundary at all times (in saved time folders) during the simulation?

As I mentioned in a previous post, you'll need to compare with other similar solvers, namely icoFoam and icoDyMFoam. It's very likely because there is an important step still missing in the solver icoDyMIbFoam, something that should update the flow fluxes between the boundaries. I believe that Hrvoje implemented this mostly as a proof of concept and possibly as part of a work in progress at Wikki.

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 ;)

maalan November 25, 2015 08:26

Quote:

As I mentioned in a previous post, you'll need to compare with other similar solvers, namely icoFoam and icoDyMFoam. It's very likely because there is an important step still missing in the solver icoDyMIbFoam, something that should update the flow fluxes between the boundaries. I believe that Hrvoje implemented this mostly as a proof of concept and possibly as part of a work in progress at Wikki.
Did someone solve the velocity issue? I had a look at the immersedBoundaryFvPatchField class and it is supposed that there is a velocity update as indicated by some HJ's comments.

Antonio

wyldckat November 28, 2015 15:56

Greetings Antonio,

Quote:

Originally Posted by maalan (Post 574924)
Did someone solve the velocity issue? I had a look at the immersedBoundaryFvPatchField class and it is supposed that there is a velocity update as indicated by some HJ's comments.

I guess you're referring to this comment at the end of the method "correctOffDiag(...)", in file "src/immersedBoundary/immersedBoundary/immersedBoundaryFvPatchField/immersedBoundaryFvPatchField.C"?
Code:

    // Note: potentially deal with face flux correction ptr.
    // HJ, 16/Apr/2012

The closest I can think of on where to look for ideas is the boundary condition "movingWallVelocityFvPatchVectorField", where in the method "updateCoeffs()" it does calculations taking into account the previous mesh position, for calculating the needed adjustments for the patch moving through the fluid. The file is: "src/finiteVolume/fields/fvPatchFields/derived/movingWallVelocity/movingWallVelocityFvPatchVectorField.C"


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

CFD-kasutaja December 4, 2015 08:54

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:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | foam-extend: Open Source CFD                    |
|  \\    /  O peration    | Version:    3.2                                |
|  \\  /    A nd          | Web:        http://www.foam-extend.org        |
|    \\/    M anipulation  | For copyright notice see file Copyright        |
\*---------------------------------------------------------------------------*/
Build    : 3.2-ac4abdca3de8
Exec    : icoDyMIbFoam
Date    : Dec 04 2015
Time    : 13:30:21
Host    : simuxubuntu2
PID      : 18907
CtrlDict : "/home/student/Dokumente/foam.extend/Tutorials/immersedBoundary/movingCylinderInChannelIco/system/controlDict"
Case    : /home/student/Dokumente/foam.extend/Tutorials/immersedBoundary/movingCylinderInChannelIco
nProcs  : 1
SigFpe  : Enabling floating point exception trapping (FOAM_SIGFPE).
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh immersedBoundarySolidBodyMotionFvMesh
Selecting solid-body motion function linearOscillation
Reading transportProperties

Reading field p

Reading field U

Reading/calculating face flux field phi


Starting time loop

--> FOAM Warning :
    From function polyBoundaryMesh::patchSet(const wordList&)
    in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 444
    Cannot find any patch names matching ibCylinder
Time = 0.01



--> FOAM FATAL ERROR:
Patch ibCylinder not found.  Available patch names:
5
(
in
out
top
bottom
frontAndBack
)


    From function void movingImmersedBoundary::movePoints() const
    in file movingImmersedBoundary/movingImmersedBoundary.C at line 75.

FOAM aborting

When I use the icoIbFoam solver, this solver is running without any problem, but when I call ParaFoam, the initial picture (frame 1) is actually something I expected - the pressure and velocity changes around a round cylinder. But when I press "play", then the animation acts, as there isn't any cylinder at all - the flows are simple moving through with no interaction with the cylinder. When I open ibCylinder_..stl from the newly created "VTK" folder, it shows proper oscillation movements of the cylinder back and forth.

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.

wyldckat December 6, 2015 15:57

Greetings CFD-kasutaja and welcome to the forum!

Quote:

Originally Posted by CFD-kasutaja (Post 576202)
After that, I run ./Allrun, blockMesh and checkMesh. There are no errors during these steps.

:confused: You only need to run the Allrun script, as you did:
Code:

./Allrun
you don't need to run any more commands after that. Edit the file "Allrun" to see the commands it needs to use for running this tutorial case.

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

RobertG January 18, 2016 08:19

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:

From function void immersedBoundaryFvPatch::makeIbSamplingWeights()
in file immersedBoundaryFvPatch/immersedBoundaryFvPatchSamplingWeights.C at line 151
Insufficient live neighbourhood for IB cell 13635.
Please adjust radiusFactor, angleFactor or immersedBoundaryMaxCellCellRows in immersedBoundaryFvPatch.
I'm pretty sure, it is caused, because the immresed boundary field did not got updated.
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

wyldckat March 6, 2016 17:08

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:

Originally Posted by wyldckat (Post 575385)
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!

These issues were actually already solved when I wrote this, but the commits were still on Hrvoje's repository and I didn't check his repository before I wrote the post.
The commits that seem to contain the necessary fixes are as follows:
In addition, Hrvoje mentioned the following recently in another thread:
Quote:

Originally Posted by hjasak (Post 588054)
We have published laminar and turbulent flow validation results at ERCOFTAC last year and did a validation study on a moving immersed boundary this December.

Why don't you start from those cases and find out where you made q mistake. All validation cases are public


Quote:

Originally Posted by RobertG (Post 581376)
Is there a class/function I can use to update a dynamic/moving immersed boundary field?

A few questions:
  1. Which commit of foam-extend 3.2 are you using? You can see this by running:
    Code:

    git log -1
  2. The previous commits that I mentioned seem to mostly relate to dynamic mesh motion. I don't know if they will work with dynamic mesh refinement. But if you have the build for the latest commit on the nextRelease of foam-extend-3.2, then you'll have to look at those commits that I mentioned to get some ideas on what needs to be fixed.
  3. If you cannot figure out how to fix this, can you please provide a test case for anyone else to check this issue along with you?
Best regards,
Bruno

ariane_vieira April 7, 2016 16:11

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

afrotimy September 7, 2016 16:07

Quote:

Originally Posted by wyldckat (Post 588346)
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:

These issues were actually already solved when I wrote this, but the commits were still on Hrvoje's repository and I didn't check his repository before I wrote the post.
The commits that seem to contain the necessary fixes are as follows:
In addition, Hrvoje mentioned the following recently in another thread:




A few questions:
  1. Which commit of foam-extend 3.2 are you using? You can see this by running:
    Code:

    git log -1
  2. The previous commits that I mentioned seem to mostly relate to dynamic mesh motion. I don't know if they will work with dynamic mesh refinement. But if you have the build for the latest commit on the nextRelease of foam-extend-3.2, then you'll have to look at those commits that I mentioned to get some ideas on what needs to be fixed.
  3. If you cannot figure out how to fix this, can you please provide a test case for anyone else to check this issue along with you?
Best regards,
Bruno

Hi Foamers,

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.

ShinyRiver September 8, 2016 05:03

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

ShinyRiver September 14, 2016 06:14

SKA (Sea keeping Analysis)


All times are GMT -4. The time now is 07:27.