CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (http://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   Measure forces on wall with interFoam (http://www.cfd-online.com/Forums/openfoam-pre-processing/108933-measure-forces-wall-interfoam.html)

jrrygg November 5, 2012 09:20

Measure forces on wall with interFoam
 
Hi,

I'm working on a case where I want to measure the force from a nozzle on a wall. I think I know how to get the output, but I don't know how to exactly specify the transportProperties.

I have a quadratic domain with a symmetryplane in the bottom. The nozzle has an inlet of water in the bottom left corner, hitting the wall on the right side of the domain and deflecting the flow upwards along the wall and out of the domain. The rest of the domain consists of water.

I only want to measure the forces from the water beam on the wall. However, if I don't do anything special with the transportProperties interFoam gives me an error message of not having specified nu.

My controlDict script:
Code:

forces
{
type forces;
enabled                false;
functionObjectLibs ("libforces.so"); //Lib to load
patches (backWall);                  // change to your patch name
pName p;
UName U;
rhoName rhoInf;
rhoInf 1000;                          //Reference density for fluid
CofR (0 0 0);                        //Origin for moment calculations
outputControl timeStep;
outputInterval 1;
}

forceCoeffs
{
type forceCoeffs;
enabled        true;
functionObjectLibs ("libforces.so");
patches (backWall);                  //change to your patch name
pName p;
UName U;
rhoName rhoInf;
rhoInf 1000;
CofR (0 0 0);
liftDir (0 1 0);
dragDir (1 0 0);
pitchAxis (0.5 0.010 0.0005);
magUInf 10;
lRef 1;
Aref 1;
outputControl timeStep;
outputInterval 1;
}

My transportProperties:
Code:

FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    location    "constant";
    object      transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


phase1
{
    transportModel  Newtonian;
    nu              nu [ 0 2 -1 0 0 0 0 ] 1e-06;
    rho            rho [ 1 -3 0 0 0 0 0 ] 1000;
    CrossPowerLawCoeffs
    {
        nu0            nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
        nuInf          nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        m              m [ 0 0 1 0 0 0 0 ] 1;
        n              n [ 0 0 0 0 0 0 0 ] 0;
    }

    BirdCarreauCoeffs
    {
        nu0            nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515;
        nuInf          nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        k              k [ 0 0 1 0 0 0 0 ] 99.6;
        n              n [ 0 0 0 0 0 0 0 ] 0.1003;
    }
}

phase2
{
    transportModel  Newtonian;
    nu              nu [ 0 2 -1 0 0 0 0 ] 1.48e-05;
    rho            rho [ 1 -3 0 0 0 0 0 ] 1;
    CrossPowerLawCoeffs
    {
        nu0            nu0 [ 0 2 -1 0 0 0 0 ] 1e-06;
        nuInf          nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        m              m [ 0 0 1 0 0 0 0 ] 1;
        n              n [ 0 0 0 0 0 0 0 ] 0;
    }

    BirdCarreauCoeffs
    {
        nu0            nu0 [ 0 2 -1 0 0 0 0 ] 0.0142515;
        nuInf          nuInf [ 0 2 -1 0 0 0 0 ] 1e-06;
        k              k [ 0 0 1 0 0 0 0 ] 99.6;
        n              n [ 0 0 0 0 0 0 0 ] 0.1003;
    }
}

sigma          sigma [ 1 0 -2 0 0 0 0 ] 0.07;

I have found that I can run interFoam and get an output if I add
Code:

nu              nu [ 0 2 -1 0 0 0 0 ] 1e-06;
to the start of transportProperties, but won't this give me a wrong value for my air phase?


All times are GMT -4. The time now is 16:39.