A 'jump' appears in the temperature when setting non-homogeneous DIRICHLET boundary conditions in adv_diff/ex8

14 views
Skip to first unread message

张超

unread,
Nov 17, 2025, 7:37:53 AMNov 17
to IBAMR Users

Hello, I have recently been learning to use IBAMR. I encountered a problem while trying to modify the adv_diff/ex8 example. I set the temperature boundary condition of the outer circle to be an non-homogeneous DIRICHLET boundary condition. The specific code is:
birkman_adv_diff->registerInhomogeneousBC(
T_var, phi_outer_solid_var, "DIRICHLET", nullptr, nullptr, indicator_function_type, num_of_interface_cells, eta, 50);

I set the temperature to 50. When I gradually output the calculation results, I found that in the outer circle region, the temperature changes with each iteration step. Here are the results of a few steps, and I am not sure if this is normal.

step1.pngstep2.pngstep3.pngstep4.png

Ramakrishnan Thirumalaisamy

unread,
Nov 17, 2025, 10:21:24 PMNov 17
to ibamr...@googlegroups.com
Hi,

These examples will show some instability because the terms are discontinuous near the interface. Over time, the instability should subside. If you want you can increase the value of "NUMBER_OF_INTERFACE_CELLS" in input2d file and try. 

If you want to impose inhomogenous Dirichlet boundary condition, you need to use "registerInhomogeneousBC" as shown in line 635 in https://github.com/IBAMR/IBAMR/blob/master/examples/adv_diff/ex8/example.cpp. However, you should pass Dirichlet as the flag and do not need a callback function and pass the Dirichlet value that you want to impose as the function's last argument. See line 265 of https://github.com/IBAMR/IBAMR/blob/master/src/IB/BrinkmanAdvDiffBcHelper.cpp class for more details. 

Also take a look at the README file for this example. The equations are solved in non-dimensional form and imposing \Phi = 50 may cause stability issues. You can try using smaller Dirichlet values at first and then increase them gradually. 

Let me know if you have any questions.

--
You received this message because you are subscribed to the Google Groups "IBAMR Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ibamr-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ibamr-users/8231705c-6d54-445d-9689-3e7bc4c43ed6n%40googlegroups.com.


--
Best,
Rama
Reply all
Reply to author
Forward
0 new messages