CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Dimensionless parameters (

titio January 15, 2009 17:26

Hi all, I need to define in
Hi all,

I need to define in the transport properties dictionary that do not have dimensions. My strategy was to define them as dimensioned, but placing only zeros in the dimensions definitions. Is this correct, or there is any command that can be used?

Thanks in advance,


floooo January 16, 2009 03:59

Hi Put the following code i

Put the following code in createFields.H:

dimensionedScalar name

and then this one in transportProperties files:

name name [0 0 0 0 0 0 0] 0.5;


olesen January 16, 2009 06:11

I'd first recommend adding a s
I'd first recommend adding a subdictionary to transport properties to avoid possible collision with existing or future names and to cleanly group your variables. I'd also assume that you'd like to enter dimensionless variables without needing to enter the "[0 0 0 0 0]" dimensions, or even bother with adding the name twice (once for the dictionary keyword and once for the dimensionedScalar).

In transportProperties (or somewhere else), add your subdictionary:

firstParam 1.0;
secondParam 2.0;

Then in your code (eg, createFields.H), use the lookupOrAddToDict static member:

dimensionedScalar param1
("firstParam", antonioDict, 10)

dimensionedScalar param2
( "secondParam", antonioDict, 20 )

dimensionedScalar param3
("thirdParam", antonioDict, 30)

This approach not only saves lots of typing in the dictionary, it also lets you specify default values.

If you wish to be extra safe, you'll want to check the original dictionary (eg, transportProperties) for the "antonioSpecialDict" first, and supply the code with an alternative place to edit if necessary.

I guess that dimensionedType should actually have a normal dict lookup (eg, lookupOrDefault) that doesn't alter the dictionary. Maybe you should submit a enhancement request for that.

All times are GMT -4. The time now is 05:02.