CFD Online Discussion Forums

CFD Online Discussion Forums (
-   FLUENT (
-   -   Help for modeling of anisotropic porous media, thx (

TobeFlowMaster January 21, 2005 23:40

Help for modeling of anisotropic porous media, thx
Hi there,

I am just planning to model the flowing in highly anisotropic porous media, but I do not know how to impose the anisotropic characteristics of the media in my model. I need to specify every term of the permeability tensor cell by cell, I mean both the diagonal terms such as xx,yy,zz, and others(xy, xz, yz) . So could you please give me some suggestion? Thanks.

lisa January 24, 2005 07:16

Re: Help for modeling of anisotropic porous media,

I tried to model porous media as well. The way I do it is to separate the cell by the region adapted first and then set the parameters required in the fluid panel of boundary condition.

Hope it is useful for you and if you have any comments on it, please contact me.


tobeflowmaster January 26, 2005 16:52

Re: Help for modeling of anisotropic porous media,
Hi lisa,

Thank you very much for your suggestion. I think it will be a good way to handle the flowing in anisotropic porous media. But my case might be a little more complicated. In my case, the permeability of every element is different in x, y and z direction. I am just wondering how to perform the region adaptation? Maybe you mean to divide the whole volume into regions according to the magnitude of the permeability in one direction? So, could you please tell me some more details?

I have tried, at presence, three methods to set the parameters for the porous media zone. 1. Using DEFINE_SOURCE Macro In the section of 6.19.2 of User Guide manual, it is stated that: Porous media are modeled by the addition of a momentum source term to the standard fluid flow equations.

Si = -(Dij*mu*vj + inertial resistance) here we generally only considered the first term of the first term on the left hand side of the above equation. Here Si is acting as a momentum sink contributes to the pressure gradient in the porous cell, creating a pressure drop that is proportional to the fluid velocity in the cell. So, inspired by this note, I tried to define the functions to calculate the sink source in each direction, and link them to the appropriate fluid zone during the calculation. For example:

DEFINE_SOURCE(x_sink_source, c, t)


source = -(Dxx*mu*U + Dxy*mu*V + Dxz*mu*W)


where[Dij] = [Dxx Dxy Dxz,

Dyx Dyy Dyz

Dzx Dzy Dzz]

and [Dij] = transpose([Dij])

But when I do this, the calculation can never converge, it seems as if the negative upperdiagonal terms(Dxy, Dxz, Dyz) lead to the divergence. I am not sure, cause after the transpose of a diagonal matrix with all positive diagonal number, some components at the upper-/lowerdiagonal part might become negative.

2. By DEFINE_PROFILE macro The DEFINE_PROFILE macro can be used to define the boundary condition in the fluid panel. But it seems that this macro can only define one scalar in the principle direction, I mean, Dxx, Dyy or Dzz. Not a vector or the whole permeability tensor [Dij].

3. Using DEFINE_PROPERTY macro In the section of 6.19.6(Page 6-100) of the User Guide manual, I find: You can also define the viscous and/or inertial resistance coefficients in each direction using a user-defined function(UDF). The user defined options become available in the corresponding drop-down list when the UDF has been created and loaded into FLUENT. Note that the coefficients defined in the UDF must utilize the DEFINE_PROPERTY macro. But again, I still do not know how to set the value for every term of the permeability tensor.

So, all of my efforts failed. Since we hope our simulation to be as accurate as possible, we wanna consider the permeability property of every cell, which results in complication.

So, what's your comment and further suggestion? Thanks :)

Amir January 27, 2005 11:39

Re: Help for modeling of anisotropic porous media,
Hi, Why don't you put the resistant coefficients by the menu provided within FLUENT itself instead of writing UDF? It's possible to consider anisotropic porous media by entering different resistances for Direction-1 and Direction-2 and as you clearly mentioned they can be calculated by considering as source terms of momentum equation.


tobeflowmaster January 27, 2005 19:40

Re: Help for modeling of anisotropic porous media,
Hi, thank you.

'cause 1) I hope to model this flow mostly close to the physical reality. So I get the permeability distribution for every point in my domain. 2) The principal directions of the permeability tensor of every cell/or element in my domain is different, they vary from point to point. 3) It might be impossible for me to separate the whole porous zone into subzones of enough number for me to specify the Direction-1, Direction-2 and viscous resistance via FLUENT menu input.

so, from the above considerations, I have to resort to UDF.

What's your comment? :)


Amir January 28, 2005 11:08

Re: Help for modeling of anisotropic porous media,
ok, now I got you. It seems that it's a tough problem. may I ask what physical problem are you looking at to model? I unfortunately have no experience in UDF and would be interestd in seeing what you come up with finally in such problem but I think I can help you in calculating resitance coefficients if you think you have problem with them. Those resistance are basically function of permeability, porosity and forchheimer coefficient and I get from your explanation that these coefficients vary within your model. am I right?

let me know about it


mystic_cfd January 30, 2005 14:10

Re: Help for modeling of anisotropic porous media,
Hi there Tobeflowmaster

Which version of Fluent are you using? In my version 6.1.22 the DEFINE_SOURCE macro has 5 arguments and you only use 3?

It should be: (see the 2 extra arguments at the end)

DEFINE_SOURCE(x_sink_source, c, t, dS, eqn)

the last bit is where you add the linearised part of your source which I found essential to get convergence with anisotropic porosity.


tobeflowmaster January 30, 2005 18:32

Re: Help for modeling of anisotropic porous media,
Hi mystic_cfd,

Thx :)

I use the version 6.1.18., yes the DEFINE_SOURCE macro should have 5 arguments, I forgot the other two when typing :P

By the way, is there any improvement of version 6.1.22 to treat with anisotropic porous media flow? :)


tobeflowmaster January 30, 2005 19:20

Re: Help for modeling of anisotropic porous media,
Hi mystic_cfd,

I add the linearized part in the Fluid panel when I specify the Boundary Condition.

Define-->Boundary Condition-->Fluid

and check the Source Terms in the Fluid panel.

Is that right?


mystic_cfd January 31, 2005 09:36

Re: Help for modeling of anisotropic porous media,
hi again,

sorry to confuse you. stay away from the Fluid Panel. you need to add something to the UDF:

DEFINE_SOURCE(x_sink_source, c, t, dS, eqn)


source = -(Dxx*mu*U + Dxy*mu*V + Dxz*mu*W)

dS[eqn] = -(Dxx*mu)


this 'linearised' part of the source is described in section 4.3.15 DEFINE_SOURCE of the UDF manual (also small example). it is dS/dU in x-direction, dS/dV in y-dir and dS/dW in z-dir.

good luck

tobeflowMaster January 31, 2005 12:13

Re: Help for modeling of anisotropic porous media,
Hi mystic_cfd,

Thank you so much, it works, now my calculation can converge to the magnitude of 1.0e-6. I was previously confused with the 'linearised' part of the source, thank you for your suggestion :)


All times are GMT -4. The time now is 11:52.