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

How does MULES work?

Register Blogs Community New Posts Updated Threads Search

Like Tree43Likes
  • 22 Post By santiagomarquezd
  • 4 Post By Natalie2210
  • 6 Post By santiagomarquezd
  • 3 Post By Natalie2210
  • 8 Post By santiagomarquezd

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 23, 2013, 02:46
Default How does MULES work?
  #1
Member
 
Join Date: Feb 2013
Posts: 30
Rep Power: 13
Natalie2210 is on a distinguished road
Hi!

Is there any reference somewhere which explains how MULES is working?

Thank you,
Natalie
Natalie2210 is offline   Reply With Quote

Old   May 28, 2013, 12:07
Default
  #2
Senior Member
 
santiagomarquezd's Avatar
 
Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 452
Rep Power: 23
santiagomarquezd will become famous soon enough
Hi, check my Ph.D. thesis out. Let me know if you have problems to read it. MULES is explained in chapter 2 and its use in interFoam in chapter 5.

The link to my PhD thesis is provided in my user page at openfoamwiki.net: http://openfoamwiki.net/index.php/User:Santiagomarquezd

Regards
__________________
Santiago MÁRQUEZ DAMIÁN, Ph.D.
Research Scientist
Research Center for Computational Methods (CIMEC) - CONICET/UNL
Tel: 54-342-4511594 Int. 7032
Colectora Ruta Nac. 168 / Paraje El Pozo
(3000) Santa Fe - Argentina.
http://www.cimec.org.ar

Last edited by wyldckat; May 24, 2016 at 17:39. Reason: rectified link (twice)
santiagomarquezd is offline   Reply With Quote

Old   June 4, 2013, 02:21
Default
  #3
Member
 
Join Date: Feb 2013
Posts: 30
Rep Power: 13
Natalie2210 is on a distinguished road
Hi!

OK, I'll ask differently, but thanks to your link!

In the porousInterFoam solver, the alpha-equation reads

d(alpha)/dt + \nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha)) = 0

where alpha is the phase-fraction, U the velocity and Ur the relative velocity between the two phases.

Now in alphaEqn.H, the above equation is solved by calling

Code:
 
MULES::explicitSolve(alpha, phi, phiAlpha,1,0)
where phiAlpha contains the discretized fluxes

\nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha))

and 1 and 0 are the range of alpha. By the way, why do you need "phi" in this call?

However, for flow through porous media I need to modify the phase fraction equation which reads now

d(gamma * alpha)/dt + \nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha)) = 0

where gamma is the porosity.

The call to MULES then reads

Code:
 
MULES::explicitSolve(gamma,alpha,phi,phiAlpha,zeroField(),zeroField(),1,0);
Now I have looked into the code and it seems to me that this calls directly a function in the file MULESTemplates.C (whereas the previous call for the ordinary phase-fraction equation calls a function in MULES.C which in turn calls a function in MULESTemplates.C). However, in my code, gamma is a volScalarField and in MULESTemplates.C, this argument should be of rhoType. Does the call to MULES including gamma really solve the equation I want it to solve?

Thanks a lot for your advice,
Natalie
Natalie2210 is offline   Reply With Quote

Old   June 4, 2013, 04:48
Default
  #4
Member
 
Join Date: Feb 2013
Posts: 30
Rep Power: 13
Natalie2210 is on a distinguished road
Ok,
I have now been testing the call to MULES including gamma and there is no difference to the one without gamma, although there should be. So I guess, gamma is not taken into account at all.. Does someone have an idea how I could achieve that?

Greetings,
Natalie
Natalie2210 is offline   Reply With Quote

Old   June 4, 2013, 06:12
Default
  #5
Member
 
Join Date: Feb 2013
Posts: 30
Rep Power: 13
Natalie2210 is on a distinguished road
Ok, problem solved, I'll stop troubleshooting now

Natalie
Natalie2210 is offline   Reply With Quote

Old   June 4, 2013, 06:20
Default
  #6
New Member
 
Join Date: Mar 2013
Posts: 2
Rep Power: 0
Kirv is on a distinguished road
How did you solve it? I would like to know because I was asking myself almost the same question as you did?

Kirv
Kirv is offline   Reply With Quote

Old   June 4, 2013, 07:47
Default
  #7
Senior Member
 
santiagomarquezd's Avatar
 
Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 452
Rep Power: 23
santiagomarquezd will become famous soon enough
Hi Natalie respect to you question:

Quote:
Originally Posted by Natalie2210 View Post
Hi!

Code:
 
MULES::explicitSolve(alpha, phi, phiAlpha,1,0)
where phiAlpha contains the discretized fluxes

\nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha))

and 1 and 0 are the range of alpha. By the way, why do you need "phi" in this call?
the answer is in MULESTemplates.C

Code:
00654     surfaceScalarField phiBD(upwind<scalar>(psi.mesh(), phi).flux(psi));
phi is used to determine the upwind direction of the flux in order to construct a low order flux for the FCT method (section 2.6.1 in my Ph.D. thesis).

Regards.
__________________
Santiago MÁRQUEZ DAMIÁN, Ph.D.
Research Scientist
Research Center for Computational Methods (CIMEC) - CONICET/UNL
Tel: 54-342-4511594 Int. 7032
Colectora Ruta Nac. 168 / Paraje El Pozo
(3000) Santa Fe - Argentina.
http://www.cimec.org.ar
santiagomarquezd is offline   Reply With Quote

Old   June 4, 2013, 11:41
Default
  #8
Member
 
Join Date: Feb 2013
Posts: 30
Rep Power: 13
Natalie2210 is on a distinguished road
Hi Kirv,

well, I was actually using the wrong file in my solver and therefore wondering whether the call to

MULES::explicitSolve(gamma,alpha,phi,phiAlpha,zero Field(),zeroField(),1,0);
really solved the equation I wanted it to solve, namely,

d(gamma * alpha)/dt + nabla (...) = 0 .

Using the correct alphaEqn.H, however, showed that this is actually the case.

Thank you, Santiago, for your help! I have actually found a document (not your PhD, but before you posted the link to it) written by you on the discretization technique within OpenFOAM and functionality of the interFoam
solver. This was really, really helpful to me understanding how OF works, thank you so much for sharing it!

Kind regards,
Natalie
kmou, konangsh and FelixFebrian like this.
Natalie2210 is offline   Reply With Quote

Old   June 5, 2013, 03:47
Default
  #9
New Member
 
Join Date: Mar 2013
Posts: 2
Rep Power: 0
Kirv is on a distinguished road
Hi Natalie,

thank you for your response, so passing gamma to MULES in the way you described above should be ok?

If you were referring to "Description and utilization of interFoam multiphase solver", I have to agree with you, it is very helpful. Thank you Santiago for that!

Regards,
Kirv
Kirv is offline   Reply With Quote

Old   June 5, 2013, 07:24
Default
  #10
Member
 
Join Date: Feb 2013
Posts: 30
Rep Power: 13
Natalie2210 is on a distinguished road
Yes, passing gamma should be ok.

Quote:
If you were referring to "Description and utilization of interFoam multiphase solver", I have to agree with you, it is very helpful. Thank you Santiago for that!
This was the title of the document

Kind regards,
Natalie
Natalie2210 is offline   Reply With Quote

Old   June 12, 2013, 21:57
Default
  #11
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 839
Rep Power: 17
sharonyue is on a distinguished road
Quote:
Originally Posted by santiagomarquezd View Post
Hi, check my Ph.D. thesis out. Let me know if you have problems to read it. MULES is explained in chapter 2 and its use in interFoam in chapter 5.

https://drive.google.com/file/d/0B2l...it?usp=sharing

Regards
Hi Santiago,

I cannot download your thesis, can you send me one copy? Email: chivasbeijing@qq.com

Thanks

Last edited by wyldckat; March 22, 2014 at 12:37. Reason: rectified link
sharonyue is offline   Reply With Quote

Old   June 12, 2013, 22:01
Default
  #12
Senior Member
 
santiagomarquezd's Avatar
 
Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 452
Rep Power: 23
santiagomarquezd will become famous soon enough
Hi, it is only available for reading by now. Once I'd ended the final corrections I will free it for public downloading.

Regards.
__________________
Santiago MÁRQUEZ DAMIÁN, Ph.D.
Research Scientist
Research Center for Computational Methods (CIMEC) - CONICET/UNL
Tel: 54-342-4511594 Int. 7032
Colectora Ruta Nac. 168 / Paraje El Pozo
(3000) Santa Fe - Argentina.
http://www.cimec.org.ar
santiagomarquezd is offline   Reply With Quote

Old   June 12, 2013, 22:04
Default
  #13
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 839
Rep Power: 17
sharonyue is on a distinguished road
Quote:
Originally Posted by santiagomarquezd View Post
Hi, it is only available for reading by now. Once I'd ended the final corrections I will free it for public downloading.

Regards.
Okay, Thanks anyway bro.
sharonyue is offline   Reply With Quote

Old   March 22, 2014, 12:06
Default
  #14
Senior Member
 
santiagomarquezd's Avatar
 
Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 452
Rep Power: 23
santiagomarquezd will become famous soon enough
Please download the final version of the thesis for reference:

https://drive.google.com/file/d/0B2l...it?usp=sharing

Regards
__________________
Santiago MÁRQUEZ DAMIÁN, Ph.D.
Research Scientist
Research Center for Computational Methods (CIMEC) - CONICET/UNL
Tel: 54-342-4511594 Int. 7032
Colectora Ruta Nac. 168 / Paraje El Pozo
(3000) Santa Fe - Argentina.
http://www.cimec.org.ar
santiagomarquezd is offline   Reply With Quote

Old   May 15, 2017, 11:18
Default
  #15
New Member
 
zhaoshiyu
Join Date: Nov 2016
Posts: 8
Rep Power: 9
zhaoshiyu is on a distinguished road
Quote:
Originally Posted by Natalie2210 View Post
Hi!

OK, I'll ask differently, but thanks to your link!

In the porousInterFoam solver, the alpha-equation reads

d(alpha)/dt + \nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha)) = 0

where alpha is the phase-fraction, U the velocity and Ur the relative velocity between the two phases.

Now in alphaEqn.H, the above equation is solved by calling

Code:
 
MULES::explicitSolve(alpha, phi, phiAlpha,1,0)
where phiAlpha contains the discretized fluxes

\nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha))

and 1 and 0 are the range of alpha. By the way, why do you need "phi" in this call?

However, for flow through porous media I need to modify the phase fraction equation which reads now

d(gamma * alpha)/dt + \nabla *(U alpha)+ \nabla * (Ur alpha (1-alpha)) = 0

where gamma is the porosity.

The call to MULES then reads

Code:
 
MULES::explicitSolve(gamma,alpha,phi,phiAlpha,zeroField(),zeroField(),1,0);
Now I have looked into the code and it seems to me that this calls directly a function in the file MULESTemplates.C (whereas the previous call for the ordinary phase-fraction equation calls a function in MULES.C which in turn calls a function in MULESTemplates.C). However, in my code, gamma is a volScalarField and in MULESTemplates.C, this argument should be of rhoType. Does the call to MULES including gamma really solve the equation I want it to solve?

Thanks a lot for your advice,
Natalie
Hi
May I ask why you add
zeroField() in your MULES, what does this mean?
And what if I want to modify the alpha equation to d(gamma * alpha)/dt + \nabla *(gamma*alpha*U)+ \nabla * (gamma*Ur alpha (1-alpha)) = 0 ?
zhaoshiyu is offline   Reply With Quote

Old   September 27, 2017, 10:32
Default
  #16
Senior Member
 
Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Elham is on a distinguished road
Quote:
Originally Posted by zhaoshiyu View Post
Hi
May I ask why you add
zeroField() in your MULES, what does this mean?
And what if I want to modify the alpha equation to d(gamma * alpha)/dt + \nabla *(gamma*alpha*U)+ \nabla * (gamma*Ur alpha (1-alpha)) = 0 ?
zeroFields are for source terms.
Elham is offline   Reply With Quote

Old   September 27, 2017, 10:34
Default
  #17
Senior Member
 
Elham
Join Date: Oct 2009
Posts: 184
Rep Power: 16
Elham is on a distinguished road
Hi,

I have source terms in multiphaseMixture.C of multiphaseinterFoam that are the function of other species. Anybody knows if I can have some unknowns in source terms of MULES?

Cheers,

Elham
Elham is offline   Reply With Quote

Old   March 20, 2021, 16:55
Default
  #18
Senior Member
 
Reviewer #2
Join Date: Jul 2015
Location: Knoxville, TN
Posts: 141
Rep Power: 10
randolph is on a distinguished road
For MULESCorr, the porosity field should also be included in the fvmDdt.

Thx,
Rdf
randolph 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
Multiple floating objects CKH OpenFOAM Running, Solving & CFD 14 February 20, 2019 09:08
interFoam VOF is loosing fluid wersoe OpenFOAM Running, Solving & CFD 12 June 26, 2013 08:13
same geometry,structured and unstructured mesh,different behaviour. sharonyue OpenFOAM Running, Solving & CFD 13 January 2, 2013 22:40
Why do the Plant library cases don't work? Alumna Phoenics 6 June 22, 2004 12:08
why my In-Form doesn't work? green Phoenics 2 May 27, 2004 21:03


All times are GMT -4. The time now is 05:17.