[Gfs-users] Problem with GfsInitFraction in parallel

61 views
Skip to first unread message

Jurriaan Buist

unread,
Jun 29, 2018, 9:44:20 AM6/29/18
to GFS users discussion list
Dear Gerris community,

I have been using Gerris for the past few weeks for my masters project in Applied Physics and have been enjoying the experience. However I have a slight problem.

I have been using scraps from some online examples to paste together my own code. One of them is the rayleigh taylor easystab example: http://basilisk.fr/sandbox/easystab/rayleigh_taylor_gerris.m One of the things it demonstrates is creating a gts file from matlab data in order to define the initial condition for the VOF interface in Gerris. This gts file is fed to Gerris via the line in the gfs file

InitFraction {} T rayleigh_taylor_shape.gts

This works quite well
if the initial interface is at half height of the full domain, or higher.

However when I translate the initial interface downwards,
and additionally split the simulation into four boxes and run it in parallel, it fails. In this case an extra interface appears at half height of the domain. The area above it is filled by liquid 2 (T=1) while it should be filled by liquid 1 (T=0). The problem is shown in the attached screenshot taken of gfsview. I have attached the matlab script and gfs file with which the problem can be reproduced.

I have found that this problem also occurs if defining a gfs file with a manually split domain, instead of using the gerris option 'gerris2D -s 1' to split the domain (for parallel simulation).

In the mailing list history there are some posts on GfsInitFraction not working in parallel (
https://sourceforge.net/p/gfs/mailman/message/22925701/ ) but this bug should be patched.

Does anybody know of a solution or a good workaround? I have tried defining the tracer field using a cgd file, like for the velocities, but the interface turns out to be not nearly as smooth as when using the gts file. I want to define the interface in matlab as opposed to in the gfs file, for the added flexibility.

Sincerely,
Jurriaan Buist




rayleigh_taylor_gerris.m
rayleigh_taylor.gfs
rt.gfv
InitFraction_Problem.png

Jurriaan Buist

unread,
Nov 23, 2018, 8:59:38 AM11/23/18
to GFS users discussion list
Dear Gerris users,

Since I encountered the problem detailed below with defining the Gerris VOF interface in matlab by creating a shape file, I have developed a workaround. I thought I'd share it here in case anyone else has the same problem.

The problem occurs when the area which should be assigned T=0 traverses the line dividing the upper and lower halves of the domain. The workaround consists of avoiding this. This is done by swapping the tracer value associated with the two fluids,
if the interface is located in the lower half of the domain. This means that the densities must be swapped.

The assignment of the tracer values is done by giving a shape file to Gerris. Gerris assigns a tracer value T=0 to all points inside the shape. In order to switch the assignment of the tracer values to the different parts of the domain, the shape which is fed to Gerris should be flipped. If the interface is located in the upper half of the domain, the shape fills the area above the interface, and the upper liquid is referred to as T=0. But if the interface is located in the lower half of the domain, we flip the shape so that it fills the area below the interface, and thus the area under the interface gets the tracer value T=0.

The workaround can be found in the attached matlab file starting line 184. The image shows that the simulation has been initialized as desired.

The only limitation with this workaround is that the initialization fails when we try to define the interface to be exactly on a grid cell boundary. This can be done by uncommenting line 160 in the matlab file. Doing this, while turning off the adaptive grid in the gfs file, causes no interface to be initialized. The entire domain is filled with T=1. This only happens when the interface is situated in the lower half of the domain. I do not have a solution to this problem; I would be interested if anyone does.

Kind regards,
Jurriaan Buist


From: Jurriaan Buist [mailto:jurri...@gmail.com]
Sent: Fri, Jun 29, 2018 15:43 CEST
To: GFS users discussion list
Subject: Problem with GfsInitFraction in parallel

rayleigh_taylor_gerris_workaround.m
rayleigh_taylor_workaround.png
rayleigh_taylor.gfs
rt.gfv
Reply all
Reply to author
Forward
0 new messages