# viscoelastic flow with free surface

 Register Blogs Members List Search Today's Posts Mark Forums Read

March 29, 2011, 12:03
viscoelastic flow with free surface
#1
New Member

Martin/Run DU
Join Date: Mar 2009
Location: Hong Kong
Posts: 25
Rep Power: 17
I am interested in the viscoelastic flow with free surface.

Thanks Favero, who gives me a way to solve it.

But I have tried the numerical algorithm, and have not get the right solution.

I combined the interFoam and viscoelasticFluidFoam, and using the Giesekus constitutive model for viscoelastic flow.

The attachment is my combined source. I think the critical part is the constitutive correction of tauP ( in the source, it is tau_), and divTau(U)

the tauP correction is
fvSymmTensorMatrix tauEqn
(
etaP()*lambda()*fvm::ddt(tau_)
+ etaP()*lambda()*fvm::div(phi(), tau_)
==
sqr(etaP())*twoD
+ etaP()*lambda()*twoSymm(C)
- lambda()*(alpha())*(tau_ & tau_)
- etaP()*fvm::Sp(scalar(1), tau_)
)

where the etaP, lambda and alpha is respectively the combined two phase value with respectively gamma.

the divTau(U) is

fvc::div(tau_)
- fvm::laplacian(etaPf(), U)
+ fvm::laplacian( (etaPf()+etaSf()), U)

Thank you very much!

Martin
Attached Files
 viscoelasticInterFoam.v2.tar.gz (18.6 KB, 188 views)

March 30, 2011, 19:08
#2
New Member

Martin/Run DU
Join Date: Mar 2009
Location: Hong Kong
Posts: 25
Rep Power: 17
When I compute, The tau is divergent at the position circled. It becomes very larger than its vicinity.

How to correct it?

Thank you very much!

-------------------
Martin
Attached Images
 tau-divergence.jpg (17.6 KB, 185 views)

January 2, 2013, 04:12
#3
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 841
Rep Power: 18
Quote:
 Originally Posted by chnrdu When I compute, The tau is divergent at the position circled. It becomes very larger than its vicinity. How to correct it? Thank you very much! ------------------- Martin
Hi,Martin

Have this problem been handled?

 December 11, 2013, 02:13 #4 New Member   thejaraju Join Date: Dec 2010 Posts: 8 Rep Power: 15 Hi chandru this is theja from bangalore.... actually i am also working on viscoelasticinterfoam for simulating blow moulding analysis from past one month..... The current OF which i am working is OF2.2.x. can your share how did you couple the above solver i.e., viscoelasticInterfoam.v2 in the existing OF. thanking you in advance and waiting eagerly for reply theja

December 25, 2013, 13:13
#5
Retired Super Moderator

Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
Greetings to all!

@thejaraju:
Quote:
 Originally Posted by thejaraju The current OF which i am working is OF2.2.x. can your share how did you couple the above solver i.e., viscoelasticInterfoam.v2 in the existing OF.

Best regards,
Bruno
__________________

March 4, 2014, 18:10
Viscoelastic Free Surface Flows
#6
Member

Ovie Doro
Join Date: Jul 2009
Posts: 99
Rep Power: 16
Hi Foamers:

Has anyone been able to reproduce the numerical results for viscoelastic free surface flows reported by Favero et al in their paper: "Viscoelastic fluid analysis in internal and in free surface flows using the software OpenFOAM". I have been working on this for some time now but havent had any success getting the same results.

Let me provide some background to my implementation and workflow.

1.) First, I coupled interFoam with viscoelasticFluidFoam by defining a viscoelasticTwoPhaseMixture class similar to what was done by chnrdu in the first post on this thread.

2.) In the new class, I implemented the correct() function for solving the stress transport equations and divTau() function for coupling momentum equation with viscoelastic stress contribution.

3.) Finally UEqn.H in the viscoelasticInterFoam solver is modified accordingly to include contribution from viscoelastic effects.

My source files are attached.

In the paper there were 4 cases i.e case A - D corresponding to a combination of different values for alpha, lambda and etaP.

For case A, where the relaxation time is 0.03s, my simulations run without any problems. However, I canot reproduce the die-swell phenomenon at the channel exit.

When I increase the relaxation time to 0.3s, the computation runs for a while and then stops as velocity becomes unbounded at the inlet even though Dirichlet conditions were specified. Mules solver fails and gives a floating

So my question is has anyone been able to reproduce these results without any problems? If yes, could please shed some light on how to solve some of the challenges I am dealing with?

Thanks.
Attached Files
 viscoelasticInterFoam.tar.gz (4.5 KB, 123 views) viscoelasticTwoPhaseMixture.tar.gz (3.5 KB, 96 views)

 February 6, 2015, 07:07 compiling viscoelasticMultiphaseMixture #7 Senior Member     Mostafa Mahmoudi Join Date: Jan 2012 Posts: 322 Rep Power: 15 hi everybody, I'm trying to compile the viscoelasticMultiphaseMixture that Ovie placed here earlier and adding Giesekus constitutive equation to it. When I compiled the code the following error was appeared which I can't solve it: Code: ```viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C: In constructor ‘Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture(const volVectorField&, const surfaceScalarField&, const Foam::word&)’: viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:76:41: error: ‘lookup’ was not declared in this scope phase1Name_(wordList(lookup("phases"))[0] : "phase1"), ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:84:32: error: ‘subDict’ was not declared in this scope subDict(phase1Name_), ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:142:27: error: ‘found’ was not declared in this scope found("phases") ? word("alpha" + phase1Name_) : alpha1Name, ^ In file included from viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:26:0: viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H:114:14: warning: ‘Foam::viscoelasticTwoPhaseMixture::viscosityType_’ will be initialized after [-Wreorder] word viscosityType_; ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H:86:27: warning: ‘Foam::dimensionedScalar Foam::viscoelasticTwoPhaseMixture::etaS1_’ [-Wreorder] dimensionedScalar etaS1_; ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:65:1: warning: when initialized here [-Wreorder] Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture ^ In file included from viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:26:0: viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H:120:27: warning: ‘Foam::viscoelasticTwoPhaseMixture::k_’ will be initialized after [-Wreorder] dimensionedScalar k_; ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H:74:31: warning: ‘const volVectorField& Foam::viscoelasticTwoPhaseMixture::U_’ [-Wreorder] const volVectorField& U_; ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:65:1: warning: when initialized here [-Wreorder] Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:197:5: error: no matching function for call to ‘Foam::transportModel::transportModel(const volVectorField&, const surfaceScalarField&)’ ) ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:197:5: note: candidates are: In file included from viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H:38:0, from viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:26: /home/mostafa/OpenFOAM/OpenFOAM-2.3.1/src/transportModels/incompressible/transportModel/transportModel.H:72:9: note: Foam::transportModel::transportModel() transportModel ^ /home/mostafa/OpenFOAM/OpenFOAM-2.3.1/src/transportModels/incompressible/transportModel/transportModel.H:72:9: note: candidate expects 0 arguments, 2 provided /home/mostafa/OpenFOAM/OpenFOAM-2.3.1/src/transportModels/incompressible/transportModel/transportModel.H:57:9: note: Foam::transportModel::transportModel(const Foam::transportModel&) transportModel(const transportModel&); ^ /home/mostafa/OpenFOAM/OpenFOAM-2.3.1/src/transportModels/incompressible/transportModel/transportModel.H:57:9: note: candidate expects 1 argument, 2 provided viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C: In member function ‘virtual bool Foam::viscoelasticTwoPhaseMixture::read()’: viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:334:49: error: ‘subDict’ was not declared in this scope nuModel1_().read(subDict(phase1Name_)) ^ viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C:382:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make: *** [Make/linux64GccDPOpt/viscoelasticTwoPhaseMixture.o] Error 1``` the red bolded lines are referring to: Code: ```Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture ( const volVectorField& U, const surfaceScalarField& phi, const word& alpha1Name ) : transportModel(U, phi), phase1Name_(found("phases") ? wordList(lookup("phases"))[0] : "phase1"), phase2Name_(found("phases") ? wordList(lookup("phases"))[1] : "phase2"), nuModel1_ ( viscosityModel::New ( "nu1", subDict(phase1Name_), U, phi ) ), nuModel2_ ( viscosityModel::New ( "nu2", subDict(phase2Name_), U, phi ) ), . . .``` and I don't know how can I define for it catching the viscoelastic properties from the user. Actually the structure of transportPropertis file is changed and I should define the way that code can reach the data in the new structure. anybody is here knows what should I do? Regards, Mostafa

February 6, 2015, 08:53
#8
Retired Super Moderator

Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
Quote:
 Originally Posted by adambarfi anybody is here knows what should I do?
Quick question: Which OpenFOAM version are you using?

February 6, 2015, 09:19
#9
Senior Member

Mostafa Mahmoudi
Join Date: Jan 2012
Posts: 322
Rep Power: 15
Quote:
 Originally Posted by wyldckat Quick question: Which OpenFOAM version are you using?
hi Bruno,

OF-231!

Is it important which version I'm using?

February 7, 2015, 06:23
#10
Retired Super Moderator

Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
Hi Mostafa,
Quote:
 Originally Posted by adambarfi OF-231! Is it important which version I'm using?
Because from the test I just made, the source code seems to have been designed to be compiled with OpenFOAM 2.2.2 or 2.2.x.
Apparently for this particular code, the new additions and evolutions in OpenFOAM 2.3.x were too many and the code needs to be adapted.

In specific, the "transportModel" class in OpenFOAM 2.3 does not inherit from "IOdictionary", therefore it does not have a dictionary ready to be used, which is the main reason for the current problems you're having.

The changes I needed to do were as follows:
Code:
```diff -Nur viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C viscoelasticTwoPhaseMixture23/viscoelasticTwoPhaseMixture.C
--- viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.C    2014-03-04 21:27:47.000000000 +0000
+++ viscoelasticTwoPhaseMixture23/viscoelasticTwoPhaseMixture.C    2015-02-07 11:19:25.269367298 +0000
@@ -69,7 +69,18 @@
const word& alpha1Name
)
:
-    transportModel(U, phi),
+    IOdictionary
+    (
+        IOobject
+        (
+            "transportProperties",
+            U.time().constant(),
+            U.db(),
+            IOobject::NO_WRITE
+        )
+    ),
+    twoPhaseMixture(U.mesh(), *this),

phase1Name_(found("phases") ? wordList(lookup("phases"))[0] : "phase1"),
phase2Name_(found("phases") ? wordList(lookup("phases"))[1] : "phase2"),
diff -Nur viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H viscoelasticTwoPhaseMixture23/viscoelasticTwoPhaseMixture.H
--- viscoelasticTwoPhaseMixture/viscoelasticTwoPhaseMixture.H    2014-02-26 18:58:47.000000000 +0000
+++ viscoelasticTwoPhaseMixture23/viscoelasticTwoPhaseMixture.H    2015-02-07 11:15:46.281375065 +0000
@@ -35,10 +35,11 @@
#ifndef viscoelasticTwoPhaseMixture_H
#define viscoelasticTwoPhaseMixture_H

-#include "incompressible/transportModel/transportModel.H"
-#include "incompressible/viscosityModels/viscosityModel/viscosityModel.H"
#include "dimensionedScalar.H"
#include "volFields.H"
+#include "incompressible/transportModel/transportModel.H"
+#include "incompressible/viscosityModels/viscosityModel/viscosityModel.H"
+#include "twoPhaseMixture.H"
#include "fvm.H"
#include "fvc.H"
#include "fvMatrices.H"
@@ -55,7 +56,9 @@

class viscoelasticTwoPhaseMixture
:
-    public transportModel
+    public IOdictionary,
+    public transportModel,
+    public twoPhaseMixture
{
protected:```
The source code is attached. I based my code changes on the class "src/transportModels/incompressible/incompressibleTwoPhaseMixture".

Best regards,
Bruno
Attached Files
 viscoelasticTwoPhaseMixture23.tar.gz (3.8 KB, 65 views)
__________________

 February 16, 2015, 05:25 #11 Senior Member     Mostafa Mahmoudi Join Date: Jan 2012 Posts: 322 Rep Power: 15 Thanks Bruno, I will try it, and thanks again for the comprehensive explanation. Regards, Mostafa

 March 17, 2015, 06:41 #12 Member   Join Date: Oct 2011 Posts: 36 Rep Power: 14 Hi Bruno, I am trying to compile ovie's viscoelasticInterFoam with your viscoelasticTwoPhaseMixture, however, some errors occur during the compilation process. When compiling the viscoelasticTwoPhaseMixture model from within the solver directory by running "wmake libso viscoelasticTwoPhaseMixture", I got following error: Code: ```In file included from viscoelasticTwoPhaseMixture.C:26:0: viscoelasticTwoPhaseMixture.H: In member function ‘virtual Foam::tmp > Foam::viscoelasticTwo viscoelasticTwoPhaseMixture.H:205:10: warning: no return statement in function returning non-void [-Wreturn-type] {} ^ viscoelasticTwoPhaseMixture.H: In constructor ‘Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture(const volVectorField&, const surfaceScalarFiel viscoelasticTwoPhaseMixture.H:116:14: warning: ‘Foam::viscoelasticTwoPhaseMixture::viscosityType_’ will be initialized after [-Wreorder] word viscosityType_; ^ viscoelasticTwoPhaseMixture.H:88:27: warning: ‘Foam::dimensionedScalar Foam::viscoelasticTwoPhaseMixture::etaS1_’ [-Wreorder] dimensionedScalar etaS1_; ^ viscoelasticTwoPhaseMixture.C:65:1: warning: when initialized here [-Wreorder] Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture ^ In file included from viscoelasticTwoPhaseMixture.C:26:0: viscoelasticTwoPhaseMixture.H:122:27: warning: ‘Foam::viscoelasticTwoPhaseMixture::k_’ will be initialized after [-Wreorder] dimensionedScalar k_; ^ viscoelasticTwoPhaseMixture.H:76:31: warning: ‘const volVectorField& Foam::viscoelasticTwoPhaseMixture::U_’ [-Wreorder] const volVectorField& U_; ^ viscoelasticTwoPhaseMixture.C:65:1: warning: when initialized here [-Wreorder] Foam::viscoelasticTwoPhaseMixture::viscoelasticTwoPhaseMixture ^ /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -ltwoPhaseInterfaceProperties collect2: error: ld returned 1 exit status``` I was able to resolve that problem by adjusting the options file within the model's Make directory, though, I'm still getting the above stated warning messages. Code: ```diff -Nur viscoelasticTwoPhaseMixture/Make/OLDoptions viscoelasticTwoPhaseMixture/Make/options --- viscoelasticTwoPhaseMixture/Make/OLDoptions 2015-02-07 12:18:15.000000000 +0100 +++ viscoelasticTwoPhaseMixture/Make/options 2015-03-17 12:21:07.383486910 +0100 @@ -7,7 +7,7 @@ -I\$(LIB_SRC)/finiteVolume/lnInclude LIB_LIBS = \ - -ltwoPhaseInterfaceProperties \ + -linterfaceProperties \ -lincompressibleTransportModels \ -lincompressibleTurbulenceModel \ -lincompressibleRASModels \``` After adjusting the solver's option file as follows Code: ```--- Make/OLDoptions 2015-03-17 12:34:32.901429259 +0100 +++ Make/options 2015-03-17 12:27:47.210504016 +0100 @@ -1,5 +1,7 @@ EXE_INC = \ + -IviscoelasticTwoPhaseMixture/lnInclude \ -I\$(LIB_SRC)/transportModels \ + -I\$(LIB_SRC)/transportModels/twoPhaseMixture/lnInclude \ -I\$(LIB_SRC)/transportModels/incompressible/lnInclude \ -I\$(LIB_SRC)/transportModels/interfaceProperties/lnInclude \ -I\$(LIB_SRC)/turbulenceModels/incompressible/turbulenceModel \``` I get following error messages: Code: ```In file included from viscoelasticInterFoam.C:47:0: viscoelasticTwoPhaseMixture/lnInclude/viscoelasticTwoPhaseMixture.H: In member function ‘virtual Foam::tmp > Foam::viscoelasticTwoPhaseMixture::nu() const’: viscoelasticTwoPhaseMixture/lnInclude/viscoelasticTwoPhaseMixture.H:205:10: warning: no return statement in function returning non-void [-Wreturn-type] {} ^ In file included from viscoelasticInterFoam.C:63:0: createFields.H: In function ‘int main(int, char**)’: createFields.H:33:33: error: cannot declare variable ‘twoPhaseProperties’ to be of abstract type ‘Foam::viscoelasticTwoPhaseMixture’ viscoelasticTwoPhaseMixture twoPhaseProperties(U, phi); ^ In file included from viscoelasticInterFoam.C:47:0: viscoelasticTwoPhaseMixture/lnInclude/viscoelasticTwoPhaseMixture.H:57:7: note: because the following virtual functions are pure within ‘Foam::viscoelasticTwoPhaseMixture’: class viscoelasticTwoPhaseMixture ^ In file included from viscoelasticTwoPhaseMixture/lnInclude/viscoelasticTwoPhaseMixture.H:40:0, from viscoelasticInterFoam.C:47: /software/OpenFOAM/OpenFOAM-2.3.1/src/transportModels/incompressible/transportModel/transportModel.H:86:34: note: virtual Foam::tmp > Foam::transportModel::nu(Foam::label) const virtual tmp nu(const label patchi) const = 0; ^ In file included from viscoelasticInterFoam.C:95:0: pEqn.H:12:9: error: ‘ddtPhiCorr’ is not a member of ‘Foam::fvc’ + fvc::ddtPhiCorr(rAU, rho, U, phi) ^ In file included from viscoelasticInterFoam.C:64:0: /software/OpenFOAM/OpenFOAM-2.3.1/src/finiteVolume/lnInclude/readTimeControls.H:38:8: warning: unused variable ‘maxDeltaT’ [-Wunused-variable] scalar maxDeltaT =``` Do you happen to have an idea how to solve this problem? Best regards, Victor

April 4, 2015, 17:31
#13
Retired Super Moderator

Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
Greetings Victor,

Well, this was a bit of a mess of a code... I only managed to take care of the building problems, by taking into account how the original OpenFOAM source code evolved. I do not have a test case (nor the time) to test this.

Attached are the updated packages, built to work with OpenFOAM 2.3.1 and 2.3.x.
Make sure you unpack the two packages in the same folder, not one inside the other, before building them.

Best regards,
Bruno
Attached Files
 viscoelasticInterFoam231.tar.gz (4.4 KB, 124 views) viscoelasticTwoPhaseMixture231.tar.gz (3.9 KB, 112 views)
__________________

 April 5, 2015, 15:23 #14 Member   Join Date: Oct 2011 Posts: 36 Rep Power: 14 Bruno, it's working Thank you very much!!! Best easter present this year!! Based on that, I'm now gonna try to implement the multimode model into the existing solver. wyldckat likes this.

 April 13, 2015, 10:31 ???? #15 New Member   arash Join Date: Jan 2015 Posts: 14 Rep Power: 11 hi fomers what is gamma in this solver? does any one have a case which have been solved with this solver(viscointerfoam)? i would be really thanksfull if anyone answer. thanks

 April 15, 2015, 23:14 #16 New Member   Sasa Goran Join Date: Feb 2015 Location: Japan Posts: 23 Rep Power: 11 Hi vigges, do you maybe have a test case for this solver?

 April 22, 2015, 10:38 #17 Senior Member     Mostafa Mahmoudi Join Date: Jan 2012 Posts: 322 Rep Power: 15 Hi everybody, I've compiled the viscoelasticTwoPhaseMixture and the solver succressfully , but I have some problems with transportProperties file what should I write next to the transportModel? I tested the it like below: Code: ```phases (water air); water { // transportModel Newtonian; // nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; rho rho [ 1 -3 0 0 0 0 0 ] 998.2; rheology { type FENE-P; rho rho [1 -3 0 0 0 0 0] 998.2; etaS etaS [1 -1 -1 0 0 0 0] 8.9e-04; etaP etaP [1 -1 -1 0 0 0 0] 8.9e-04; lambda lambda [0 0 1 0 0 0 0] 0.04; L2 L2 [0 0 0 0 0 0 0] 6.0; } 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; } } air { // transportModel Newtonian; // nu nu [ 0 2 -1 0 0 0 0 ] 1.48e-05; rho rho [ 1 -3 0 0 0 0 0 ] 1.225; rheology { type FENE-P; rho rho [1 -3 0 0 0 0 0] 1.225; etaS etaS [1 -1 -1 0 0 0 0] 1.789e-05; etaP etaP [1 -1 -1 0 0 0 0] 1.789e-05; lambda lambda [0 0 1 0 0 0 0] 1e-5; L2 L2 [0 0 0 0 0 0 0] 6.0; } 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;``` but it said that the presence of transportModel is necessary! Does anybody know what should I do? Regards, Mostafa Supersale likes this.

 April 22, 2015, 14:33 #18 Senior Member     Mostafa Mahmoudi Join Date: Jan 2012 Posts: 322 Rep Power: 15 Solved! the transportProperties should be like this: Code: ```phases (water air); water { transportModel Newtonian; nu nu [ 0 2 -1 0 0 0 0 ] 1e-06; rho rho [ 1 -3 0 0 0 0 0 ] 998.2; rheology FENE-P; viscosityType "else"; rho rho [1 -3 0 0 0 0 0] 998.2; etaS etaS [1 -1 -1 0 0 0 0] 8.9e-04; etaP etaP [1 -1 -1 0 0 0 0] 8.9e-04; lambda lambda [0 0 1 0 0 0 0] 0.04; L2 L2 [0 0 0 0 0 0 0] 6.0; epsilon epsilon [0 0 0 0 0 0 0] 0; zeta zetta [0 0 0 0 0 0 0] 0; Alpha Alpha [0 0 0 0 0 0 0] 0; mu0 mu0 [1 -1 -1 0 0 0 0] 0; muInf mu0 [1 -1 -1 0 0 0 0] 0; a mu0 [1 -1 -1 0 0 0 0] 0; b mu0 [1 -1 -1 0 0 0 0] 0; k mu0 [1 -1 -1 0 0 0 0] 0; // } 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; } } air { transportModel Newtonian; nu nu [ 0 2 -1 0 0 0 0 ] 1.789e-05; rho rho [ 1 -3 0 0 0 0 0 ] 1.225; rheology FENE-P; viscosityType "else"; rho rho [1 -3 0 0 0 0 0] 1.225; etaS etaS [1 -1 -1 0 0 0 0] 1.789e-05; etaP etaP [1 -1 -1 0 0 0 0] 1.789e-05; lambda lambda [0 0 1 0 0 0 0] 1e-5; L2 L2 [0 0 0 0 0 0 0] 6.0; epsilon epsilon [0 0 0 0 0 0 0] 0; zeta zetta [0 0 0 0 0 0 0] 0; Alpha Alpha [0 0 0 0 0 0 0] 0; mu0 mu0 [1 -1 -1 0 0 0 0] 0; muInf mu0 [1 -1 -1 0 0 0 0] 0; a mu0 [1 -1 -1 0 0 0 0] 0; b mu0 [1 -1 -1 0 0 0 0] 0; k mu0 [1 -1 -1 0 0 0 0] 0; // } 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;``` But I still don't know what to do with transportModel?? Supersale likes this.

 April 22, 2015, 16:04 #19 Member   Join Date: Oct 2011 Posts: 36 Rep Power: 14 Supersale, I had to turn my attention to single phase viscoelastic flow. So, unfortunately, my efforts regarding the multiphase problem will be somewhat reduced for the time being, but I will get back to this thread when I have something presentable. Supersale likes this.

 April 24, 2015, 03:26 #20 New Member   arash Join Date: Jan 2015 Posts: 14 Rep Power: 11 thanks Mr mahmoudi it was really helpfull....

 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post qtian OpenFOAM Running, Solving & CFD 17 August 10, 2010 10:15 mark_l CFX 3 February 17, 2010 16:57 Ken CFX 1 February 18, 2008 19:43 phsieh2005 Main CFD Forum 0 September 14, 2005 11:52 vineet FLUENT 2 April 1, 2002 05:56

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