Velocity Gradient Boundary Condition

Numerical methods and mathematical models of Elmer
Post Reply
Posts: 7
Joined: 04 Jan 2010, 19:22

Velocity Gradient Boundary Condition

Post by Emilie » 21 Feb 2010, 00:40

Dear Elmer users,

I'm running a pipe flow test case, and I would like to impose a high pressure at the inlet and a zero pressure at the outlet.
The problem is that in addition to the condition on pressure, I would also like to impose a Neumann boundary condition on the velocity at the inlet and the outlet as for example : dV/dn = 0. How can I impose such condition with Elmer? What is the syntax in the sif file to do this?
I´m wondering if I could replace this kind of condition by imposing a zero volume flux. I wanted to try "impose with linear restriction" from the tutorials, but the testcase does not work.

Thank you.


P. S. I read several times that Elmer can use GMRES solver. Can you confirm this information and give me eventually and example piece of sif file?

Site Admin
Posts: 3264
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland

Re: Velocity Gradient Boundary Condition

Post by raback » 21 Feb 2010, 23:49

Hi Emilie

To impose Dirichlet conditions for pressure you can not use the default discretization. In the solver section say,

Code: Select all

GradP Discretization = Logical True
See viewtopic.php?f=3&t=68&start=0 for more details.

The Neumann condition of N-S relates to forces and not for velocities directly. In fact, there is a risk in overdetermining the problem if you set pressures at both ends, and also the normal velocity. Maybe you could set the tangential velocity u_t to zero (or constant value) then incompressibility forces your desired condition since u_t,t+u_n,n=0.

GMres is activated by

Code: Select all

Linear System Iterative Method = gmres

Posts: 7
Joined: 04 Jan 2010, 19:22

Re: Velocity Gradient Boundary Condition

Post by Emilie » 24 Feb 2010, 01:11

Dear Peter,

thank you for your answer. I really appreciate your help.

The idea of using the option "GradP discretization" in the NS solver helped me a lot. In fact I was using these pressure boundary conditions first on a pipe with rigid walls, but now I'm trying to run a testcase with elastic walls. The final goal being a validation of the FSI-Elmer solver in a blood flow testcase, I would like to compare the Elmer result with a "straight flexible tube"-case presented in the article of C.J.Greenshield [1]. In this paper, the initial condition is a uniform pressure and velocity field: p = 0, v = 0. At the inlet, a pressure step of 5kPa is prescribed, generating a pulse of pressure which propagates along the pipe. The outlet bc is constat pressure p = 0. On the outer wall of the artery, a zero traction condition is prescribed. I'm imposing similar boundary conditions in Elmer (at least I think), but unfortunately the wave propagates much faster than predicted by the Moens-Korteweg formula and it seems to get reflected from the outlet. I'm using gmres solver for NS equations and direct solver for elastic equations and mesh update. My time step = 0.1 ms
I also have the paper of E.Järvinen et al. [2], but I did not manage to solve my problem anyway.

The boundary conditions I'm imposing are listed below. I attached a picture with boundary numbering.

Code: Select all

!!!! INLET Blood !!!!
Boundary Condition 1
  Target Boundaries = 1
  Pressure = 5000.0
  Velocity 1 = 0.0
  Mesh Update 2 = 0.0

!!! Bottom artery skin
Boundary Condition 2
  Target Boundaries = 2 
  Displacement 2 = 0

Boundary Condition 3
  Target Boundaries = 3
  Mesh Update 2 = 0.0

!!! Top artery skin
Boundary Condition 4
  Target Boundaries = 4
  Displacement 2 = 0

!!!! OUTLET Blood !!!!
Boundary Condition 5
  Target Boundaries = 5
  Velocity 1 = 0
  Pressure = 0 !I know this might be a strange condition,  but it is used in the first article
  Mesh Update 2 = Real 0

!!!! SYMMETRY axis !!!!
Boundary Condition 6
  Target Boundaries = 6
  Velocity 1 = 0
  Mesh Update 1 = Real 0
  Mesh Update 2 = Real 0

!!!! FSI interface boundary INNER Wall
Boundary Condition 7
  Target Boundaries = 7
  Velocity 1 = 0
  Velocity 2 = 0
  FSI BC = True
  !Velocity 1 = Equals Mesh Velocity 1
  !Velocity 2 = Equals Mesh Velocity 2
  Mesh Update 1 = Equals Displacement 1
  Mesh Update 2 = Equals Displacement 2
  Force BC = Logical True
I would like to ask you if you could be so kind and look at my BCs and tell me if you see an obvious mistake. I tried to play with many parameters and I re-checked the material properties, but the pulse wave velocity is anyway several times higher than it should be and I am stuck. Desperately stuck. If you want, I can send you the whole sif file.
I did not use any 1D model so far (request of my supervisor :) )
I also tried to use a simple fortran file to impose zero inlet pressure for several iteratinos, and then make a jump to the value 5000 Pa. I am wondering if this could be a problem for Elmer, since I impose the change in pressure as a sudden step (as described in article [1]). I noticed that in [2], the change in pressure was linear.

Thank you very much for your help.


The articles I refer to are:
[1] C. J. Greenshields, H. G. Weller: A unified formulation for continuum mechanics applied to fluid-structure interaction in flexible tubes, Int. Journal for Num. Methods in Engineering, 2005
[2] E. Järvinen, M. Lyly, J. Ruokolainen, P. Raback: Three-dimensional fluid-structure interaction modelling of blood flow in elastic arteries, ECCOMAS Conference, 2001
(8.65 KiB) Downloaded 177 times

Posts: 1
Joined: 16 Dec 2017, 17:35
Antispam: Yes

Re: Velocity Gradient Boundary Condition

Post by Elias_Zhang » 20 Dec 2017, 18:51

Hi,dear Emilie :
I'm a student in college,and I have met the same question as yours.Have you solve your problem?Can you please tell me how do you do for adding NM bc in elmer?
Thank you very much!


Posts: 1096
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: Velocity Gradient Boundary Condition

Post by annier » 20 Dec 2017, 22:13

The implementation of BCs in N-S equations is a challenging task.
You can search your query by typing the relevant keywords in or and when you get the relevant mathematical literature on that aspect, you can again put forward the technical side of implementing it within Elmer software's framework.

Yours Sincerely,
Anil Kunwar

Post Reply