How to impose a normal velocity to an embeded boundary ?

52 views
Skip to first unread message

pierre maes

unread,
Dec 5, 2025, 10:21:30 AM (3 days ago) Dec 5
to basilisk-fr
Hi everyone,

I'm working with E.Cipriano on solid particle combustion. In this context we need to set up a stefan flow at the solid boundary. One of the easier ways to do it is to impose a value to the velocity field through a dirichlet boundary condition.

In our case the particle is spherical, so a circle in 2D. Unfortunately we are missing something and cannot make this work. I've design a basic test case in my sandbox : 


In which I try to just make a radial velocity but unsuccessfully. From what I understood u.n and u.t are defined as u.x and u.y when we set up the boundary conditions in embed since on my local tests when I change u.n to u.x there is no new compilation. Following this observation I would like to impose :

u.n[embed] = dirichlet(n.x)
u.y[embed] = dirichlet(n.y)

to get a radial profile. But I did not succeed. The current test displayed in the sandbox is also very curious because we can observe a change of direction of the velocity field which is non physical.

We know there is something we are missing there because it's possible to impose a rotation to the fluid around the solid (like in neumann.c). If someone has already done something like this (with a non vertical embed wall) we would be very happy to learn about it.

Also feel free to modify the test case in my sandbox if needed.

Best regards,

MAËS Pierre-Antoine

Stephane Popinet

unread,
Dec 6, 2025, 4:53:14 AM (yesterday) Dec 6
to basil...@googlegroups.com
Hi Pierre-Antoine,

In its current formulation you cannot use src/embed.h to impose normal
flow because you would need to include the corresponding volume flux in
the divergence of the Poisson equation, in the transport of scalars etc.
and this is not implemented. Arthur Ghigo's moving embedded boundary
code does this.

cheers,

Stephane


Reply all
Reply to author
Forward
0 new messages