CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

0 concentration specie impacting viscosity value

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 15, 2013, 17:57
Default 0 concentration specie impacting viscosity value
  #1
Member
 
Chris
Join Date: Aug 2012
Location: Calgary, Alberta, Canada
Posts: 77
Rep Power: 14
ChrisA is on a distinguished road
I'm running a version of rhoCentralFoam that has been modified to run with multiplespecies. The case is laminar and I'm looking at boundary layer effects so viscosity is very important. Firstly, I'm getting an incorrect freestream viscosity when I run with my modified rhoCentralFoam. The freestream consists of one specie (air) only. The value for the other specie is zero in all the output files and should be zero for the case.

Further to this issue is if I change the other specie viscosity parameters (LJ potential and collision diameter in this case) the freestream viscosity changes. This is also true for the thermal conductivity which comes from the viscosity code.

I have used the viscosity definition I have now with the origional rhoCentralFoam and got the correct freestream viscosity.

I get the correct density in the freestream.

I don't quite understand how the other species parameters are impacting the freestream viscosity, given that the concentration is zero. The error is 50% or more depending on the specie so its not something like machine precision. There's something wonky going on in the mixture calculation and I can't seem to find it.

My Modified rhoCentralFoam uses hsCombustionThermo, psiChemistryModel and hsPsiMixtureThermo as it's thermo models and the thermotype I'm using is:

hsPsiMixtureThermo<reactingMixture<gasThermoPhysic s

Gases being used are air for the freestream, I2 and Kr for the specie present in the boundary layer.

I should note that the thermo models mentioned have not been altered except to allow for my viscosity equations to be used, which were implemented based on the sutherland code. I'm relatively confident in the viscosity code given that rhoCentralFoam gave me the correct freestream values.

I've started outputting the minimum viscosity for each timestep (freestream is the minimum) and if I change the transport parameters of the other specie to match that of air I get the right viscosity.

Edit:

Scratch that confidence in the viscosity code, after playing around with some of the parameters I'm not sure what the issue is. For example, changing the molecular weight of air changes the freestream viscosity, while changing the molecular weight of the 2nd specie, which if it was contributing to the calculation would change the viscosity... does not... molecular weight is a specie data entry so I'm not sure the error is in the mixing anymore.

I'm combing through the viscosity code now to see if anythings wonky with it, but I didn't write it, we had a summer student prior to my time here do it... and I'm not very familiar with the way the lower level thermo libraries work beyond being able to spot and modify the equations; so I'd appreciate a second set of eyes on it. It's attached here. Equations are based on kinetic theory and I suppose could be useful to someone else as well, assuming theres no errors.

Edit2:

I'm combing through the tutorials that use Sutherland viscosity for a mixture and I'm noticing that all the transport properties are defined the same for all the gases. Is this by design? As in viscosity libraries arn't set up to handle gasses with different viscosity? Or is it for some other reason?

hollis.zip

Last edited by ChrisA; March 15, 2013 at 20:15.
ChrisA is offline   Reply With Quote

Old   March 16, 2013, 20:58
Default
  #2
Member
 
Chris
Join Date: Aug 2012
Location: Calgary, Alberta, Canada
Posts: 77
Rep Power: 14
ChrisA is on a distinguished road
I switched my case over to sutherland viscosity and am getting the same behavior. Changing the transport constants for the specie that is not present in the freestream changes the freestream viscosity. I wonder if my thermo.compressiblegas dict is setup properly, it's shown below:

Code:
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      thermo.compressibleGas;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //


N2
{
    // normalised gas
    specie
    {
        nMoles              1;
        molWeight       28.966;
    }

    thermodynamics
    {
        //Cv              720.5018;
        Hf              2.544e+06;
        Tlow            2;
        Thigh           2000;
        Tcommon         75;
        highCpCoeffs    ( 1.005706903e3 -9.64078e-2 9.78624e-4 -4.709066e-6 1.068439e-8 -8.055963e-12 -922.798 5.98053 );
        lowCpCoeffs     ( 1.486993e3 -2.562421e1 5.111536e-1 -4.558775e-3 1.533249e-5 0 -1020.9 3.95037 );
	//last 2 coeffs for high and low are for h and s calculations. Values taken from N2 for the time being.
        
    }
    transport
    {
        sigma           3.689;
        TEpsilon        84;
    }
}

I2
{
    // normalised gas
    specie
    {
        nMoles              1;
        molWeight       253.82;
    }

    thermodynamics
    {
        //Cv              720.5018;
        Hf              62.438e+03;
        Tlow            2;
        Thigh           2000;
        Tcommon         75;
        highCpCoeffs    ( 1.00355236e2 4.427589e-1 -1.68128e-3 2.926785e-6 -1.915019e-9 0 -922.798 5.98053 );
        lowCpCoeffs     ( 1.00355236e2 4.427589e-1 -1.68128e-3 2.926785e-6 -1.915019e-9 0 -1020.9 3.95037 );
	//last 2 coeffs for high and low are for h and s calculations. Values taken from N2 for the time being.
        
    }
    transport
    {
        sigma           5.16;
        TEpsilon        474.2;
    }
}
The thermodynamics section is a bit wonky for other reasons.

I'm completely stumped as to why this behavior is occurring, its starting to seem like the transport library is doing some sort of averaging over the constants (the operators + and - seem to indicate this? but I'm not sure, that's a bit beyond my C++ knowledge) If this is the case I'm also perplexed as to why it would do this given that the mixture libraries are present higher up to handle mixing...

I should also note that I've tried to attain the erroneous freestream viscosity value through some combination of averages for the viscosity constants, while I can get close (within 20% by averaging both the values) I can't seem to get the exact value. (I can get the exact single species value)

Does anyone have any ideas as to why this behavior is occurring and what I can do to solve the issue?
ChrisA is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with divergence TDK FLUENT 13 December 14, 2018 07:00
Too low temperature at combustor outlet romekr FLUENT 2 February 6, 2012 11:02
modelling solids viscosity in eulerian multiphase model derkaiser FLUENT 1 December 5, 2011 04:42
Total specie mass instead of local concentration tsencic OpenFOAM Running, Solving & CFD 2 May 12, 2006 04:37
kinematic viscosity at diff temperatures,pressures Mecobio Main CFD Forum 0 November 7, 2005 13:55


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