Poisson solver fails to converge in CLSVOF simulations

50 views
Skip to first unread message

Nicolò Scapin

unread,
Mar 16, 2026, 4:38:45 PMMar 16
to basilisk-fr
Dear Basilisk users,

I have been working on simulations of gas-filament breakup in Basilisk using a two-dimensional axisymmetric setup, both with the standard VOF method and with the CLSVOF implementation.

The simulation file is available here:

https://basilisk.fr/sandbox/nscapin/ligament.c

The code compiles and runs correctly for the VOF case with:

qcc -grid=quadtree -events -autolink -O2 -Wall -pipe -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -o ligament ligament.c -L$BASILISK/gl -lfb_tiny -lm

For a CLSVOF simulation, one can create the executable simply adding the flag -DCLSVOF, e.g.

qcc -grid=quadtree -events -autolink -O2 -Wall -pipe -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -DCLSVOF -o ligament ligament.c -L$BASILISK/gl -lfb_tiny -lm

In the first case, using VOF, the code runs as expected. In the second case, using CLSVOF, the Poisson solver diverges after the first time step and the simulation stops.

In both cases, the initial filament shape appears to be initialized correctly as shown in the pic below

image.png

Has anyone experienced a similar issue when switching from VOF to CLSVOF in Basilisk, especially in an axisymmetric two-phase simulation?

Any suggestions would be greatly appreciated.

Thanks in advance,


Best regards,
Nicolò Scapin



Nicolò Scapin

unread,
Mar 16, 2026, 4:51:24 PMMar 16
to basilisk-fr
Shortly after having posted this message, I think I understood the main issue: the distance function for CLSVOF simulation is initialized to too large value away from the interface, i.e. nodata. Reducing this value seems to solve the problem.
Thanks anyway,

Nicolo

Reply all
Reply to author
Forward
0 new messages