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 04:07

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

santiagomarquezd October 6, 2010 15: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 00:49

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

santiagomarquezd October 8, 2010 20: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 18: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 19: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 03: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 05: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 16: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 05: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 05: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 05: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 05: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 05: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 07: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 07: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 16: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 16: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 13: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!

marxioxyz September 16, 2022 16:15

interFoam (OFoam v10) + non-newtonian fluid
 
Dear Colleagues

I'm trying to set a non-newtonian fluid simulation with interFoam (air + material from a tailing dam).

The solution presented by Tooran with OpenFoam 6.0 does not seem to work with OpenFoam 10.
As far as I understand, the choice of a "transportModel" (e.g. HerschelBulkley) -- that was made in transportProperties file in version 6.0 -- is now made in file physicalProperties.water under the name "viscosityModel". The problem is that viscosityModel only accepts 'constant' or 'newtonian'.

I did find a interFoam tutorial in which a Maxwell non-newtonian model is set to the liquid phase, but it is set on momentumTransport.liquid as a laminar model, which is not what I want. I would like to set a RAS turbulent simulation with a non-newtonian fluid.

Any insight is very welcome.
Thanks!


All times are GMT -4. The time now is 21:06.