# How does MULES work?

 User Name Remember Me Password
 Register Blogs Members List Search Today's Posts Mark Forums Read

 May 23, 2013, 02:46 How does MULES work? #1 Member   Join Date: Feb 2013 Posts: 30 Rep Power: 6 Hi! Is there any reference somewhere which explains how MULES is working? Thank you, Natalie

 May 28, 2013, 12:07 #2 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 430 Rep Power: 16 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 kmou, Seweryn, rafa13 and 3 others like this. __________________ 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)

 June 4, 2013, 02:21 #3 Member   Join Date: Feb 2013 Posts: 30 Rep Power: 6 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 mbookin likes this.

 June 4, 2013, 04:48 #4 Member   Join Date: Feb 2013 Posts: 30 Rep Power: 6 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

 June 4, 2013, 06:12 #5 Member   Join Date: Feb 2013 Posts: 30 Rep Power: 6 Ok, problem solved, I'll stop troubleshooting now Natalie

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

June 4, 2013, 07:47
#7
Senior Member

Santiago Marquez Damian
Join Date: Aug 2009
Location: Santa Fe, Santa Fe, Argentina
Posts: 430
Rep Power: 16
Hi Natalie respect to you question:

Quote:
 Originally Posted by Natalie2210 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

 June 4, 2013, 11:41 #8 Member   Join Date: Feb 2013 Posts: 30 Rep Power: 6 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 likes this.

 June 5, 2013, 03:47 #9 New Member   Join Date: Mar 2013 Posts: 2 Rep Power: 0 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

June 5, 2013, 07:24
#10
Member

Join Date: Feb 2013
Posts: 30
Rep Power: 6
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

June 12, 2013, 21:57
#11
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 751
Rep Power: 10
Quote:
 Originally Posted by santiagomarquezd 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 13:37. Reason: rectified link

 June 12, 2013, 22:01 #12 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 430 Rep Power: 16 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

June 12, 2013, 22:04
#13
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 751
Rep Power: 10
Quote:
 Originally Posted by santiagomarquezd 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.

 March 22, 2014, 13:06 #14 Senior Member     Santiago Marquez Damian Join Date: Aug 2009 Location: Santa Fe, Santa Fe, Argentina Posts: 430 Rep Power: 16 Please download the final version of the thesis for reference: https://drive.google.com/file/d/0B2l...it?usp=sharing Regards sharonyue, rafa13, Andrew_Sm and 1 others like this. __________________ 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

May 15, 2017, 11:18
#15
New Member

zhaoshiyu
Join Date: Nov 2016
Posts: 8
Rep Power: 2
Quote:
 Originally Posted by Natalie2210 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
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 ?

 Thread Tools Display Modes Linear Mode

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

 Similar Threads Thread Thread Starter Forum Replies Last Post CKH OpenFOAM Running, Solving & CFD 12 March 21, 2016 14:05 wersoe OpenFOAM Running, Solving & CFD 13 June 26, 2013 08:13 sharonyue OpenFOAM Running, Solving & CFD 13 January 2, 2013 23:40 Alumna Phoenics 6 June 22, 2004 12:08 green Phoenics 2 May 27, 2004 21:03

All times are GMT -4. The time now is 08:33.

 Contact Us - CFD Online - Top