Arithmetic exception from relax()

29 views
Skip to first unread message

HANGPENG JIANG

unread,
Oct 18, 2025, 12:29:40 PMOct 18
to basilisk-fr
Hi Basilisk users,

I am currently simulation a droplet evaporation/combustion which has a super high density ratio( 2000 to 0.4).
The simulation went safely at the beginning, but always ended up somewhere saying:

Program terminated with signal SIGFPE, Arithmetic exception.

#0  0x0000000000418a02 in relax (al=<optimized out>, bl=<optimized out>, l=10, data=<optimized out>) at /home/hjiang/edoSandbox/basilisk/src/poisson.h:315

315       n += alpha.x[1]*a[1] + alpha.x[]*a[-1];


more details are like:

#0  0x0000000000418a02 in relax (al=<optimized out>, bl=<optimized out>, l=10, data=<optimized out>) at /home/hjiang/basilisk/src/poisson.h:315

#1  0x0000000000455bb5 in mg_cycle (a=a@entry=0x7ffddb9f33a0, res=res@entry=0x1d34890, da=da@entry=0x1d2c930, relax=relax@entry=0x418280 <relax>, 

    data=data@entry=0x7ffddb9f33f0, nrelax=nrelax@entry=24, minlevel=1, maxlevel=10) at /home/hjiang/basilisk/src/poisson.h:79

#2  0x0000000000456369 in mg_solve (a=a@entry=0x7ffddb9f33a0, b=b@entry=0x7ffddb9f33a8, residual=residual@entry=0x439010 <residual>, 

    relax=relax@entry=0x418280 <relax>, data=data@entry=0x7ffddb9f33f0, nrelax=<optimized out>, res=0x1d34890, minlevel=1, tolerance=1e-08)

    at /home/hjiang/basilisk/src/poisson.h:182

#3  0x00000000004566d3 in poisson (a=a@entry=..., b=b@entry=..., alpha=..., alpha@entry=..., lambda=..., tolerance=tolerance@entry=0, nrelax=nrelax@entry=4, 

    minlevel=0, res=0x0, flux=0x0) at /home/hjiang/basilisk/src/poisson.h:451


The tolerance I am using for diffusion() is 1e-8.


I have no idea why this relax() causes arithmetic exception, does it relevant to the super high density ratio?


Could anyone please help me with this issue?


Best,

Hangpeng

Reply all
Reply to author
Forward
0 new messages