embeded boundaries

509 views
Skip to first unread message

Bruno Deremble

unread,
Apr 6, 2022, 8:08:55 AM4/6/22
to basilisk-fr
Hi everyone,

I have an issue with embeded boundaries.

in karman.c, I would like to add a stress at top and bottom boundaries.
I do this with

u.t[embed] = fabs(y) > 0.25 ? neumann(1.) : dirichlet(0.);

(i.e. I just change neumann(0.) to neumann(1.))
I also took care of this issue (shifting the domain)
https://groups.google.com/g/basilisk-fr/c/SLnKb8U0BXs
as already mentioned by Antoon.

In principle, I should observe a shear near the boundary but the simulation with
neumann(1) is really the same as the one with neumann(0.).

If I remove the embeded boundaries and set the top and bottom boundary
u.t[top] = neumann(1.);
u.t[bottom] = neumann(1.);
then I do see these boundary layers.

I guess I am not using well these embeded boundary, but if you have any idea to
help me, I'd appreciate.


also, unrelated question: shouldn't we have
u.n[embed] = dirichlet(0);
everywhere? instead of
u.n[embed] = fabs(y) > 0.25 ? neumann(0.) : dirichlet(0.);

(no flux boundary condition); probably not a big deal here


Thank you

Bruno

jmlopez...@gmail.com

unread,
Apr 6, 2022, 8:38:45 AM4/6/22
to basilisk-fr
Hi bruno, 

Setting non standard BC for the velocity can be tricky in Basilisk since Basilisk only consider well a non slip BC. In case you wish to impose some sort of slipping take into account that the velocity at the BC is unknown and should be computed as part of the problem (in the general case velocity component are not independents). I made an (not very sucessful) attempt  some time ago.


Maybe you can revisit the issue...

Cheers

Pepe

j.a.v...@gmail.com

unread,
Apr 6, 2022, 9:24:31 AM4/6/22
to basilisk-fr
Hallo Bruno,

The embedded boundary does not know its orientation. You must know it and keep the follow conversion table in mind:
u.x -> u.n
u.y -> u.t
u.z -> u.z

which is never rotated, unlike the domain boundary conditions for vectors. Also the no-penetration condition is always enforced. 

so try assignming the stress to u.n (i.e. u.x) to match the channel orientation

exersize:
Prescribe a stress condition for the cylinder.

Antoon

Op woensdag 6 april 2022 om 14:38:45 UTC+2 schreef jmlopez...@gmail.com:

Stefan Bošković

unread,
Apr 6, 2022, 10:58:49 AM4/6/22
to Bruno Deremble, basilisk-fr
Hi Bruno,

I still haven't learned Basilisk, but I think that if you set boundary
condition for u.some_letter[embed] that it is only for embedded
geometries (e.g. a cylinder or a sphere). So I think that it does not
affect other boundaries (top, bottom, left, right, front and back).
I think that you might need to use:
u.t[top] = neumann(1.);
u.t[bottom] = neumann(1.);

If you want to add velocity just on the top and bottom part of the
cylinder, then you might need to use:
u.t[embed] = fabs(y) > 0.249 /*some number which is less than 0.25*/ ?
neumann(1.) : dirichlet(0.);

Best regards,
Stefan Bošković

Bruno Deremble

unread,
Apr 7, 2022, 6:32:30 AM4/7/22
to basilisk-fr

Hello,

Thank you for all your suggestions. I feel I have some work to do to make this
work the way I want. I'll keep you posted.

Cheers
Bruno

Tavares Mathilde

unread,
Jan 26, 2023, 8:38:55 AM1/26/23
to Bruno Deremble, Jose Mª López-Herrera Sánchez, basilisk-fr
Hi Bruno,

How did you end up with the Neuman BC on the Karman test?
I am trying to implement the Navier BC on an embedded boundary which is quite close to your initial problem.
Did you come up with a result?
Regarding the slip BC proposed by @Jose Mª López-Herrera Sánchez, I was wondering why the attempt on embedded boundary
was unsuccessful as you mentioned before?

Thank you,

Mathilde

--
You received this message because you are subscribed to the Google Groups "basilisk-fr" group.
To unsubscribe from this group and stop receiving emails from it, send an email to basilisk-fr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/basilisk-fr/877d81tc5p.fsf%40cnrs.fr.

Bruno Deremble

unread,
Jan 26, 2023, 11:06:56 AM1/26/23
to Tavares Mathilde, basilisk-fr
Hi Mathilde,

I think Antoon and Jose's answers were key and I am just rephrasing here: let
suppose your embeded boundary is a flat surface, e.g. y = 0. Then if you want to
prescribe the tangential flow to zero, you need to set the x component to
zero. According to Antoon's conversion table, that would be

u.n[embed] = dirichlet(0);

if your embeded boundary is no longer aligned with a coordinate vector (which is
a case I ended up not investigating), you need to know the coordinates of the
tangent vector to your boundary which is not that trivial. Jose's sandbox is the
most advanced implementation I know for this problem.

Good luck, this problem is not that simple to implement.

Bruno



On Thursday, Jan 26 2023, 14:47:00, Tavares Mathilde <tavaresm...@gmail.com> wrote:
> Hi Bruno,
>
> How did you end up with the Neuman BC on the Karman test?
> I am trying to implement the Navier BC on an embedded boundary which is
> quite close to your initial problem.
> Did you come up with a result?
> Regarding the slip BC proposed by @Jose Mª López-Herrera Sánchez
> <jml...@us.es>, I was wondering why the attempt on embedded boundary

Tavares Mathilde

unread,
Jan 27, 2023, 12:16:03 PM1/27/23
to Jose Mª López-Herrera Sánchez, Bruno Deremble, basilisk-fr
Thank you for your answers
Le jeu. 26 janv. 2023 à 18:49, Jose Mª López-Herrera Sánchez <jml...@us.es> a écrit :

Hi Mathilde,

I do not remember well (which is the indulgent way to say I do not know) why the method gives worse results if the orientation is about 135º or -45º (the second and fourth quadrant). I suspect it is due to the way the values (cell) used in the Johansen and Colella interpolation are selected.   (If you wish I have my notes in spanglish in case you wish to see what I did the (and why)). 

I have a couple of idea that can solve the above drawback.

1.- Change the system of reference and attach it to the solid (x' for example always  parallel to the solid). Furthermore, on reflection it seems to me that this approach might be easier than what I did then. Certainly the dependence on orientation must disappear.

I tried something similar (on the paper), I hope I will come up with something successful. 

2.- To use the bilinear or bilinear-corrected  I implemented in http://basilisk.fr/sandbox/lopez/src/embed_utils.h (see my electrical forces....) (I have notes also if you wish...)

Great if you have notes. It will be helpful for me and a lot of Basilisk users i guess :)

Cheers

Pepe
--

José Mª López-Herrera Sánchez

Catedrático de Universidad
www.us.es
Por favor considere el medio ambiente antes de imprimir este correo electrónico.
-
Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, contiene información de carácter confidencial exclusivamente dirigida a su destinatario o destinatarios. Si no es Vd. el destinatario del mensaje, le ruego lo destruya sin hacer copia digital o física, comunicando al emisor por esta misma vía la recepción del presente mensaje. Gracias
Reply all
Reply to author
Forward
0 new messages