[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
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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).
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.
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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