CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   nonNewton Model for interFoam (https://www.cfd-online.com/Forums/openfoam/80771-nonnewton-model-interfoam.html)

nimasam October 6, 2010 05:07

nonNewton Model for interFoam
 
hi dear friends
is non Newtonian viscosity (for example cross law ) applicable in interFoam solver?

santiagomarquezd October 6, 2010 16:43

Hmm, I think actually only variation of viscosity by volume fraction is taken into account, not by non-linear viscosity laws. But it could be implemented.

Best.

nimasam October 7, 2010 01:49

could you explain more !!!!!!! :)

santiagomarquezd October 8, 2010 21:03

Nima, in UEqn.H there some lines defining the momentum equation for interFoam, basically it has same terms of usual NS equations for newtonian incompressible fluid plus the term due spatial variation of viscosity

fvc::grad(U) & fvc::grad(muEff)

and term due surface tension

fvc::interpolate(interface.sigmaK())*fvc::snGrad(a lpha1)

Treatment of spatial variation of rho depends on what version of FOAM are you using, but your most important point is to add the non newtonian terms. I'm not an expert in that topic, maybe you can post how the non-newtonian momentum looks like, so it could be possible to write it in FOAM language.

Regards.

eugene October 10, 2010 19:36

Non-newtonian viscosity is supported by interFoam just like most of the other incompressible solvers. The constitutive model for fluid viscosity is hiding inside the "twoPaseMixture" model, which is updated inside the turbulence model. At its base, the twoPhaseMixture just combines two run-time selectable viscosity models which could be any of those defined in Foam.

santiagomarquezd October 10, 2010 20:06

Aha, as Eugene said, some lines before there are these ones,

Code:

00001    surfaceScalarField muEff
00002    (
00003        "muEff",
00004        twoPhaseProperties.muf()
00005      + fvc::interpolate(rho*turbulence->nut())
00006    );

so effects of nonlinearity are taken into account in muEff and fvc::grad(U) & fvc::grad(muEff) term. This is true after solvers unification in 1.6 I think, because in 1.5 interFoam was only for laminar cases, Am I right?

Best.

nimasam October 11, 2010 04:03

hi buddies
first:
as i know the difference between linear or non linear fluid is in the relation between starin and stress so we should consider the non linearity just for viscose term in momentum Equation and it is considered in interFoam , so no more change is needed, am i right?
second :
where can i find appropriate coefficient for nonNewton fluid, it seems interFoam formula implementation is some how different from typical formulation

eugene October 11, 2010 06:54

Yes Santiago, you are probably right. In 1.5 there was rasInterFoam and lesInterFoam.

There is already a near-complete example of non-Newtonian fluid use in the interFoam tutorials. You just need to change the "transportModel" entry in phase1 or phase2 (or both) to match that you need. Unfortunately, the examples do not detail all the different viscosity models, so you might have to dig into the code to find out which coefficients need to be specified.

santiagomarquezd October 11, 2010 17:03

Hi, from CrossPowerLaw.C we have:

Code:

00051 Foam::tmp<Foam::volScalarField>
00052 Foam::viscosityModels::CrossPowerLaw::calcNu() const
00053 {
00054    return (nu0_ - nuInf_)/(scalar(1) + pow(m_*strainRate(), n_)) + nuInf_;
00055 }

this is Cross Power Law means for OpenFOAM, values of constant can be changed in ./constant/ransportProperties dictionary.

T.D. October 18, 2010 06:04

Hi
 
Hi guys,
how one can use two differnet viscosityModels in the same solver, and how to call the two viscosities from their models, lets say:
transportModel1 PowerLaw, tranportModel2 Crosspowerlaw

How is that can be done?
i don't need to use turbulence, i need something direct like icoFoam, but i'll define my transportModels in the dictionary.

Help please?

nimasam October 18, 2010 06:19

hi again
im still looking for a reference in non-Newtonain fluid in openFoam, does any body know from where i can find appropriate value for transport model?

T.D. October 18, 2010 06:22

hi
 
hi if you are looking for the viscosity, it is under fluid.nu() in the non-Newtonian fluid.

Quote:

Originally Posted by nimasam (Post 279564)
hi again
im still looking for a reference in non-Newtonain fluid in openFoam, does any body know from where i can find appropriate value for transport model?


nimasam October 18, 2010 06:39

thanks T.D but i look for appropriate values FOR EXAMPLE for crosslaw fluid in transportModels subdict in constant directory !!!!!!!!

T.D. October 18, 2010 06:46

HI
 
Hi
here are the definitions in constant/transportProperties directory

transportModel CrossPowerLaw

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] 1;
}

nimasam October 18, 2010 08:06

hi T.D thanks again :)
but what fluid do you define ?
my problem is here, i dont know where i can find these values for different material ?

T.D. October 18, 2010 08:54

HI
 
Quote:

Originally Posted by nimasam (Post 279594)
hi T.D thanks again :)
but what fluid do you define ?
my problem is here, i dont know where i can find these values for different material ?

Hi i think you can find the answer her:
http://www.cfd-online.com/Forums/ope...ity-model.html

:)

tooran August 7, 2019 17:13

Implemention of Non-Newtonian model in Interfoam
 
Hi all,
I am trying to apply non-newtonian model interfoam. In transport properties, instead of newtonian model I intered HerschelBulkley and HerschelBulkleyCoeffs. After running it shows me erro.


The transport properties file is written as below:


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

phases (water air);

water
{

transportModel HerschelBulkley;

{

HerschelBulkleyCoeffs

nu0 [ 0 2 -1 0 0 0 0 ] 1e+03;
tau0 [ 0 2 -2 0 0 0 0 ] 0.016;
k [ 0 2 -1 0 0 0 0 ] 0.02;
n [ 0 0 0 0 0 0 0 ] 1;


}

}

air

{
transportModel HerschelBulkley;

{


HerschelBulkleyCoeffs

nu0 [ 0 2 -1 0 0 0 0 ] 1e+03;
tau0 [ 0 2 -2 0 0 0 0 ] 0.001;
k [ 0 2 -1 0 0 0 0 ] 0.0023;
n [ 0 0 0 0 0 0 0 ] 1;


}

}

sigma 0.07;

// ************************************************** *********************** //




************************************************** ************************



I think interfoam solver needs to have rho for both phases as input. But I don't know where I should put rho as input?


Could you please help me?


Thanks

tooran August 7, 2019 17:59

I found my problem the correct form of transport properties should be as below :


********************************


/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 6
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

phases (water air);

water //concrete
{
rho rho [1 -3 0 0 0 0 0] 2500.0;

transportModel HerschelBulkley;
HerschelBulkleyCoeffs
{



nu0 [ 0 2 -1 0 0 0 0 ] 1e+03; //[ 0 2 -1 0 0 0 0 ]
tau0 [ 0 2 -2 0 0 0 0 ] 0.016; //[ 0 2 -2 0 0 0 0 ]
k [ 0 2 -1 0 0 0 0 ] 0.02; //[ 0 2 -1 0 0 0 0 ]
n [ 0 0 0 0 0 0 0 ] 1; //[ 0 0 0 0 0 0 0 ]


}

}

air //lubrication
{
rho rho [1 -3 0 0 0 0 0] 2000.0;


transportModel HerschelBulkley;
HerschelBulkleyCoeffs
{




nu0 [ 0 2 -1 0 0 0 0 ] 1e+03;
tau0 [ 0 2 -2 0 0 0 0 ] 0.001;
k [ 0 2 -1 0 0 0 0 ] 0.0023;
n [ 0 0 0 0 0 0 0 ] 1;


}

}

sigma 0.07;

// ************************************************** *********************** //




*************************************************

fchagas October 11, 2019 14:31

You tooran,

do you know how to insert non-newtonian behavior in compressibleInterFoam?

It seems that the insertion is different from interFoam...

Does anyone know how to do it?

Thanks!


All times are GMT -4. The time now is 01:14.