CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   anisotropic porosity in CFX (

Chander April 10, 2012 12:20

anisotropic porosity in CFX

CFX 13 manual states that CFX does not allow anisotropic porosity i.e. the area porosity tensor is isotropic.
I model microchannels as porous medium and to force the liquid in only one direction (the axial direction of channels), I use anisotropic permeability and Kloss values. I impose about 10 times smaller permeability in transverse direction to flow to inhibit the flow in that direction. This works.

However, I just wanted to check if there is any hidden CCL by which one can impose anisotrpic porosity in porous medium (actual porosity in direction of flow and zero porosity in direction transverse to flow) and avoid using anisotropic permeability. I guess if it is indeed possible to do this, this will be a closer approximation of the flow physics.
Thanks for your inputs.

singer1812 April 11, 2012 17:45

There is no trick. I think you misread something. Read up on Full Porous Model.

Chander April 12, 2012 05:06

Hello Edmund,

Thanks for your reply.
My question was regarding anisotropic porosity regarding which the CFX manual clearly states that the area available for flow is assumed to be A'= K.A where K is the area porosity tensor which is presently allowed in CFX to be only isotropic.
That is K is the matrix
gamma 0 0
0 gamma 0
0 0 gamma

Now CFX allows anisotropy in case of thermal conductivity through a hidden CCL. One can modify the thermal conductivity of a material to be anisotropic using command editor.
My question is that is a similar CCL available for porosity also?

singer1812 April 12, 2012 09:07

Ahh. I see what you mean now. I dont think you are going to have much luck on the setting for porosity.

If you do find a solution please post as I would be interested in how you dealt with it.

Chander April 13, 2012 04:55

Ok. I'll ask CFX support and see what they reply.

Chander January 4, 2013 11:15

Hello Everyone,

I am reviving this thread after a long time because now I have a situation where an isotropic porosity model will be of great use.
I want to model pin fin heat sinks using porous medium model in CFX. The pin fins have different pitch in x and y direction.
Does anyone know of a way to model anisotropy in porosity in the porous medium model. CFX 13 does not allow this and this was also confirmed by CFX support back when I asked them. It only allows anisotropy in permeability.
Does anyone know of any such feature in newer CFX versions or a way around this problem?


cdegroot January 5, 2013 01:45

Up to 14.5 official support is only for isotopic area porosity. However, I think there is a beta feature for orthotropic area porosity. Check the knowledge base on the ANSYS customer portal for more details. I think it was available in 13.0.

rainer_kit June 11, 2014 03:07

Orthotropic and variable permeability
Hello everyone,
I am currently working on a similar problem.
I have a orthotropic porosity i.e. also orthotropic permeability.
But when I implement the permeability there is only isotropic option.
Is it possible to use an "Expression" or UDF to make permeability a tensor?

Futhermore my porous media mesh is deforming under pressure. So the porosity changes during the simulation? So as the pressure rises the cavity of the fluid region get bigger. Are there any recommendations on how to deal with this issue.
I am quite new in using Ansys. So sorry for asking potentially stupid questions.


Chander June 11, 2014 11:08

For anisotropic permeability, you have to select the 'Directional loss ' option in Loss model section of Porosity settings. Then you can input streamwise and transverse components for permeability

Chander June 11, 2014 11:12

If your permeability is changing as a function of pressure and you know the function dependence, then you can consider including an expression which specifies permeability as a function of local pressure. Then while inputting the permeability value in the porosity section, you can enter the output of that expression there instead of using a fixed value of porosity. You can do this by clicking the alpha symbol next to the input field.
In this way, the solver will calculate permeability in each mesh cell (of the porous domain) in each iteration

rainer_kit June 13, 2014 03:06

Problem specification
I thoght about doing something like that. But I think I have to specify my problem a bit more.

I am doing a molding simulation of a carbon fibre filled cavity that is filled with Resin.
I want so simulate the filling process of the cavity.
So I modeled a porous domain and a multiflow (Air and Resin) through this domain.
As initial condition the cavity is filled with Air (100%) and trough the inlet only Resin enters the cavity.
I simulate with a transient simulation with total time=10s, timestep=0.1s and starting time=0s

The special thing that comes up in my simulation is that, because of the presse induced by the resin the mold deforms, i.e. the cavity also deforms and induces LOCAL change of porosity which also leads to change of permeability.

I wanted to model this with Fluid-Structure Interaction but unfortunately Porous media can not be modelled deformable.

So now my idea is calculating the change of porosity and permeability analytically by calculating the deformation of the mold by the pressure.
So I can not change porosity value globally but have to calculate it more or less for every node in the part.
So far I havenīt found a possibility to adress all the nodes after another and then change their specific parameters.

Is there any way of doing this?


Chander June 13, 2014 06:08

If I understand you correctly, you need the porosity and permeability to change independently at each node as a function of local /global pressure.
Then..IF you know the analytical dependence of porosity and permeability on pressure i.e.
porosity (x,y,z) = f_1(pressure(x,y,z))
permeability (x,y,z) = f_2(porosity(x,y,z), pressure(x,y,z),...)
where F_1 and F_2 are the analytical functions of local porosity and local permeability in terms of local pressure, then u could simple use these as two CEL expressions and specify the name of the expression as the input in the respective input fields in porosity settings. This way your porosity and permeability will wary both spatially as well as temporally.

I think I have almost repeated what I repeated in my last reply.
Isn't this what you want the solver to do or am I still missing something there?

rainer_kit June 16, 2014 05:44

Thank you,
that is exactly what I want to do.
If have been trying to figure out how to use the Expressions but I canīt find too much help in the user manual and in this forum. So I have a questions concerning the CEL.

If I want an expression like this:
porosity (x,y,z) = f_1(pressure(x,y,z))

I would create a new expression and then type:

A * Pressure@DOMAIN1
A * Pressure@Region:DOMAIN1

but when I apply this I will get this error message:

Parameter 'Volume Porosity' in object '/FLOW:Flow Analysis 1/DOMAIN:Default Domain/POROSITY MODELS/VOLUME POROSITY' has been assigned an expression that references the following unavailable variables: Pressure

Am I using the wrong variable for Pressure?
I set initial conditions and afterwards pressure is calculated every timestep for every point.
Do I have to specify somehow that I want this expression to be evaluated for every position (X,Y,Z) in my domain?
fuctions like areaAve do not apply as the permeability depends just on the local pressure.

Opaque June 16, 2014 07:13

You can type

Volume Porosity = A * Pressure

That's all. The volume porosity parameter is evaluated within the domain given by the context of the parameter.

rainer_kit June 16, 2014 07:45

3 Attachment(s)
I still get the same error message

Parameter 'Volume Porosity' in object '/FLOW:Flow Analysis 1/DOMAIN:Default Domain/POROSITY MODELS/VOLUME POROSITY' has been assigned an expression that references the following unavailable variables: Pressure

When I plot the expressions between 1 and 5 bar I get reasonable graphs and I canīt find any error in the porosity settings.
Any Idea what my mistake is?

Attachment 31675

Attachment 31676

Attachment 31677

Opaque June 16, 2014 08:55

Ooops!!. If you look carefully at the <install_dir>/etc/RULES file you will find that Volume Porosity can only be a function of X, Y, Z, and Time.


  PARAMETER: Volume Porosity
    Description = Volume of void divided by total volume
    Solver Name          = FLUPOROV
    Parameter Type        = Real
    Dependency List      = XYZT
    Quantity Type        = Dimensionless
    Lower Bound          = 1.E-30
    Upper Bound          = 1.
    Dynamic Reread Item  = Yes

You may try removing the limitation by creating a text file (myrules.ccl) with the following content


  PARAMETER: Volume Porosity
    Dependency List      = ANY

and later submit this file during the solver execution using

cfx5solve -def myfile.def -ccl myrules.ccl

from the command line (or in the advanced Solver Tab in the SolverManager) and see if the solver can handle such dependency. If it fails , you are out of luck and should contact ANSYS CFX support.

rainer_kit June 16, 2014 10:46

that doesnīt sound too promising but I will try nevertheless.
Can I just change this "rules" file save the original and try with the changed one?

Chander June 16, 2014 13:03

I think the issue may be quiet simple here.
Pressure variable is available for Fluid and Porous domains. Are you sure you are specifying the correct domain or that the domain over which you are requesting the pressure value contains only fluid and porous regions and not any solid regions?

rainer_kit June 17, 2014 02:49

The domain, i.e. the whole part exists only of one porous domain.
This contains a solid that is porous, and a multifluid (air and resin) that both enter though the inlet. As an initial condition the mold is filled with vf=1 air and a pressure of 1013kPa.

When I run the simulation with constant porosity and permeability I get a reasonable solution and I can also plot pressure.

Chander June 17, 2014 04:51

"When I run the simulation with constant porosity and permeability I get a reasonable solution and I can also plot pressure."

This means then that there is something wrong with your CEL. May be it is trying to access pressure outside this porous domain . You need to carefully check your CEL expressions

All times are GMT -4. The time now is 19:42.