Can you explain the meaning of the parameters regarding the velocity boundary conditions?

328 views
Skip to first unread message

haot...@usc.edu

unread,
Feb 11, 2020, 7:04:38 PM2/11/20
to IBAMR Users
Dear professor, 
I'd like to ask what is the meaning of these terms:

VelocityBcCoefs_0 {


   acoef_function_0 = "1.0"
   acoef_function_1 = "1.0"
   acoef_function_2 = "1.0"
   acoef_function_3 = "1.0"

   bcoef_function_0 = "0.0"
   bcoef_function_1 = "0.0"
   bcoef_function_2 = "0.0"
   bcoef_function_3 = "0.0"

   gcoef_function_0 = "0.0"
   gcoef_function_1 = "0.0"
   gcoef_function_2 = "0.0"
   gcoef_function_3 = "0.0"
}

VelocityBcCoefs_1 {
   acoef_function_0 = "1.0"
   acoef_function_1 = "1.0"
   acoef_function_2 = "1.0"
   acoef_function_3 = "1.0"

   bcoef_function_0 = "0.0"
   bcoef_function_1 = "0.0"
   bcoef_function_2 = "0.0"
   bcoef_function_3 = "0.0"

   gcoef_function_0 = "0.0"
   gcoef_function_1 = "0.0"
   gcoef_function_2 = "0.0"
   gcoef_function_3 = "0.0"
}

Thank you very much.
 

Yadong Zeng

unread,
Feb 11, 2020, 9:11:27 PM2/11/20
to ibamr...@googlegroups.com
Hi Haotian,

I am not quite sure, but I guess these are coefficients for setting up the different boundary conditions for velocities. For example, you can specify the normal velocity or the normal tractions at different boundaries.  Because of different boundary conditions, this might imply how you treat the coefficients of your solvers and how to set up your equations at the boundary.  These discussions might be helpful:  https://groups.google.com/forum/#!searchin/ibamr-dev/Amneet%7Csort:date/ibamr-dev/Ko6awqHPds8/9NLGaWEoBQAJ . I think Dr. Amneet can give more specific suggestions.

Besides, it might take too much work to dig into specific variables.  Some great papers about the solver and boundary conditions in IBAMR might be a good starting point:

1. Nangia, Nishant, et al. "A robust incompressible Navier-Stokes solver for high-density ratio multiphase flows." Journal of Computational Physics 390 (2019): 548-594.
2. Griffith, Boyce E. "An accurate and efficient method for the incompressible Navier–Stokes equations using the projection method as a preconditioner." Journal of Computational Physics 228.20 (2009): 7565-7595.

Best.









--
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 on the web visit https://groups.google.com/d/msgid/ibamr-users/904393c2-0054-475f-a08d-c2279a948a35%40googlegroups.com.


--

Jordan Yadong Zeng

Ph.D. Student
Department of Mechanical Engineering,   
College of Science and Engineering, 
University of Minnesota
Office: ME 455
100 Union Street SE     
Minneapolis, MN 55455
 

Boyce Griffith

unread,
Feb 11, 2020, 10:00:15 PM2/11/20
to ibamr...@googlegroups.com
Aaron tells me that he is working on putting together a little document explaining these settings.

Aaron Barrett

unread,
Feb 12, 2020, 1:37:02 AM2/12/20
to IBAMR Users
I've attached a document that describes how to set boundary conditions. Let me know if you need more clarification. The terms you specifically ask for set zero velocity boundary conditions at all of the physical boundaries.
boundary_conditions.pdf

Boyce Griffith

unread,
Feb 12, 2020, 9:03:00 AM2/12/20
to IBAMR Users
Is there a place where we can post these kinds of documents on one of the GitHub or GitHub Pages sites?

--
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 on the web visit https://groups.google.com/d/msgid/ibamr-users/6d197102-aa20-498c-b731-7fe7fc458dfd%40googlegroups.com.
<boundary_conditions.pdf>

haot...@usc.edu

unread,
Feb 12, 2020, 1:01:21 PM2/12/20
to IBAMR Users
Thank you very much!

haot...@usc.edu

unread,
Feb 12, 2020, 1:01:50 PM2/12/20
to IBAMR Users
To unsubscribe from this group and stop receiving emails from it, send an email to ibamr...@googlegroups.com.


--

Jordan Yadong Zeng

Ph.D. Student
Department of Mechanical Engineering,   
College of Science and Engineering, 
University of Minnesota
Office: ME 455
100 Union Street SE     
Minneapolis, MN 55455
 


--
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...@googlegroups.com.

Amneet Bhalla

unread,
Feb 12, 2020, 1:03:12 PM2/12/20
to ibamr...@googlegroups.com
Perhaps we can also put the LaTeX files as well, in case somebody wants to extend the documentation further.

--
--Amneet 



Boyce Griffith

unread,
Feb 12, 2020, 1:04:43 PM2/12/20
to ibamr...@googlegroups.com
For this kind of stuff, shared markdown hosting seems like the way to go, to get the basic math notation. Perhaps one of these services that integrates well with GitHub or GitHub Pages?

Aaron Barrett

unread,
Feb 12, 2020, 1:19:12 PM2/12/20
to IBAMR Users
I've attached an updated document that fixes the definition of the viscous stress. Thanks to Nishant for pointing that out.
boundary_conditions.pdf

Haotian Hang

unread,
Feb 13, 2020, 9:00:27 AM2/13/20
to ibamr...@googlegroups.com
Thank you very much. However, I'd like to ask if you can specify the meaning of VelocityBcCoefs_0 and VelocityBcCoefs_1, which boundaries are they for individually. Also, in each boundary condition, why what does component 0,1,2,3 means? Thank you!


--
You received this message because you are subscribed to a topic in the Google Groups "IBAMR Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ibamr-users/_xF-NMCDs0M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ibamr-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ibamr-users/d5f56973-f547-44fc-b7ea-47f6f6e36f66%40googlegroups.com.

Aaron Barrett

unread,
Feb 13, 2020, 11:35:25 AM2/13/20
to ibamr...@googlegroups.com
The different databases are the different components of the velocity, i.e. VelocityBcCoefs_0 is the horizontal velocity and VelocityBcCoefs_1 is the vertical velocity. The indices inside the database correspond to the different faces of the box, so

   acoef_function_0 = "1.0" // lower 'x' face
   acoef_function_2 = "1.0" // lower 'y' face
   acoef_function_1 = "1.0" // upper 'x' face
   acoef_function_3 = "1.0" // upper 'y' face

In three spatial dimensions there would be additional components for the z directions


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 on the web visit https://groups.google.com/d/msgid/ibamr-users/CA%2BfjeR5HEd9ccVuiM03Bwif3D3%3DEZLLP0Hb68J%2BdNw%3DzhtSweA%40mail.gmail.com.

Haotian Hang

unread,
Feb 13, 2020, 12:29:59 PM2/13/20
to ibamr...@googlegroups.com

Haotian Hang

unread,
Feb 13, 2020, 4:02:09 PM2/13/20
to IBAMR Users
Dear professor, 
    Another question regarding the boundary condition I'd like to ask is whether the section VelocityInitialConditions and section VeloctiBcCoefs the only place I should change when setting my boundary conditions. I have tried to copy the boundary condition in example flow_past_cylinder into the example moving_plate but it does not work, the results seems there is not inlet flow. Thank you!
To unsubscribe from this group and all its topics, send an email to ibamr...@googlegroups.com.

--
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...@googlegroups.com.

Aaron Barrett

unread,
Feb 14, 2020, 12:28:50 PM2/14/20
to ibamr...@googlegroups.com
You probably have periodic boundaries turned on. In the input file there should be a section 'CartesianGeometry' and inside an entry called 'periodic_dimension'. Set this to 0,0.

To unsubscribe from this group and stop receiving emails from it, send an email to ibamr-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ibamr-users/d7b45b01-b7f9-40e6-aeb7-947132b3eda3%40googlegroups.com.

Haotian Hang

unread,
Feb 14, 2020, 12:59:44 PM2/14/20
to ibamr...@googlegroups.com

Dewu Yang

unread,
May 24, 2021, 12:53:45 AM5/24/21
to IBAMR Users
Dear Prof.Barrett ,
   I read the boundary condition explanation file that you gave and tried to modify the boundary condition to Neumann boundary condition: 
(∂u/∂x|x_lower,x_upper=0,∂u/∂y|y_lower,y_upper=0), 
I modified the code as shown below, but there is an error.  How should the Neumann boundary condition be modified? 
I would appreciate it if you can give me some advice about it.


VelocityBcCoefs_0 {
   acoef_function_0 = "0.0"
   acoef_function_1 = "0.0"
   acoef_function_2 = "0.0"
   acoef_function_3 = "0.0"

   bcoef_function_0 = "1.0"
   bcoef_function_1 = "1.0"
   bcoef_function_2 = "1.0"
   bcoef_function_3 = "1.0"

   gcoef_function_0 = "0.0"
   gcoef_function_1 = "0.0"
   gcoef_function_2 = "0.0"
   gcoef_function_3 = "0.0"
}

VelocityBcCoefs_1 {
   acoef_function_0 = "0.0"
   acoef_function_1 = "0.0"
   acoef_function_2 = "0.0"
   acoef_function_3 = "0.0"

   bcoef_function_0 = "1.0"
   bcoef_function_1 = "1.0"
   bcoef_function_2 = "1.0"
   bcoef_function_3 = "1.0"

   gcoef_function_0 = "0.0"
   gcoef_function_1 = "0.0"
   gcoef_function_2 = "0.0"
   gcoef_function_3 = "0.0"
}

Boyce Griffith

unread,
May 24, 2021, 8:44:40 AM5/24/21
to IBAMR Users
Dewu —

What is the error you are encountering?

One thing that you will want to do if you have normal traction boundary conditions is to make sure that NORMALIZE_PRESSURE is set to FALSE. (I wonder if we should default this to FALSE, or try to come up with a reasonable way to auto-detect when it should be TRUE / FALSE.)

— Boyce

-- 
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.

Dewu Yang

unread,
May 26, 2021, 8:10:42 AM5/26/21
to IBAMR Users
Dear Prof.Griffith,

 Thanks for your advice. As you say, the NORMALIZE_PRESSURE should be FALSE, the program worked when I set it to FALSE. When it was TRUE, there would be lots of noise on the left and right sides of the computational domain, which caused the program to terminate.  I noticed that when the boundary condition was Dirichlet, the computational domain became the wall boundary(the NORMALIZE_PRESSURE was TRUE at this moment), and I tried to set the NORMALIZE_PRESSURE to FALSE, but the results made little difference (only compared forward speed). 

Best,
Dewu
U_BC.png

Dewu Yang

unread,
Jun 12, 2021, 7:43:02 AM6/12/21
to IBAMR Users
Dear Prof.Griffith,

   It suddenly occurred to me that my previous understanding of the boundary conditions might be wrong, even after reading the explanatory documentation. My understanding is as shown in the figure and the code below. Do I think the boundary conditions are consistent with the code settings? (This boundary condition is really weird) But why would the velocity vector graph under such boundary conditions be a stable concurrent flow? Although this situation is what I want, I think I did misunderstand the code definition of boundary conditions. Then what are the corresponding boundary conditions set in the code? I would appreciate it if you can give me some advice about it.


VelocityBcCoefs_0 {
  
   acoef_function_0 = "1.0"
   acoef_function_1 = "0.0"
   acoef_function_2 = "0.0"
   acoef_function_3 = "0.0"

   bcoef_function_0 = "0.0"
   bcoef_function_1 = "1.0"
   bcoef_function_2 = "1.0"
   bcoef_function_3 = "1.0"

   gcoef_function_0 = "2.0"
   gcoef_function_1 = "0.0"
   gcoef_function_2 = "0.0"
   gcoef_function_3 = "0.0"
}

VelocityBcCoefs_1 {
   acoef_function_0 = "1.0"
   acoef_function_1 = "0.0"
   acoef_function_2 = "1.0"
   acoef_function_3 = "1.0"

   bcoef_function_0 = "0.0"
   bcoef_function_1 = "1.0"
   bcoef_function_2 = "0.0"
   bcoef_function_3 = "0.0"

   gcoef_function_0 = "0.0"
   gcoef_function_1 = "0.0"
   gcoef_function_2 = "0.0"
   gcoef_function_3 = "0.0"
}

Best,
Dewu
b.c.test.pngb.c.v.png

On Monday, May 24, 2021 at 8:44:40 PM UTC+8 boy...@gmail.com wrote:
Reply all
Reply to author
Forward
0 new messages