# Add Work due to body force in the energy equation for a lagrangian solver

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

 April 15, 2015, 04:09 Add Work due to body force in the energy equation for a lagrangian solver #1 New Member   Matthias Neben Join Date: Oct 2011 Posts: 21 Rep Power: 5 Dear Foamers, for multiphase flows with disperse particles the literature recommends the usage of a source term in the energy equation (Multiphase flows with droplets and particles, Crowe et.al., p. 445). This term shall mention the work due to body forces acting on the particle, mainly the work due to the drag force. To get this I have to multiply the momentum source term with each cell’s number averaged particle velocity. Now there is the problem: How do I get an appropriate inner product of the momentum equation source term with a volVectorField? An Example: The momentum equation of the reactingParcelFoam-solver has on the left side a momentum source called parcels.SU(U). Additionally one needs a volVectorField Up which corresponds to a averaged particle velocity in each cell. Now I thought lets do something like Up&parcels.SU(U) and add this to the right side of the energy equation, but this fails because parcels.SU(U)is a Foam::tmp. Greetings Matthias Last edited by mneben; April 16, 2015 at 03:36.

April 15, 2015, 11:34
#2
Senior Member

Armin
Join Date: Feb 2011
Location: Helsinki, Finland
Posts: 152
Rep Power: 10
Quote:
 Originally Posted by mneben Now I thought lets do something like Up&parcels.SU(U) and add this to the left side of the energy equation, but this fails because because parcels.SU(U)is a Foam::tmp.
Jep you cannot take the inner product of a volVectorField and fvVectorMatrix.

But you can get UTrans, which is a DimensionedField, and use that one to compute what you want since you are not interested in the boundary field anyways.
Have a look at:
Code:
`src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloudI.H`
-Armin

 April 27, 2015, 09:04 #3 New Member   Matthias Neben Join Date: Oct 2011 Posts: 21 Rep Power: 5 Hello Armin, thanks for your quick response. According to your recommendation I checked UTrans, especially the function calcVelocity written in KinematicParcel.C: dUTrans += dt*(Feff.Sp()*(Ures.average() - Uc_) - Fcp.Su()); whereas Utrans will be calculated by td.cloud().UTrans()[cellI] += np0*dUTrans When there is no lift force Fcp.SU() should be zero and UTrans should be the drag force times the timestep. To check this I created a test case with only one particle that is accelerated by the drag force. I added in uncoupledKinematicParcelFoam some lines Info<

April 28, 2015, 05:10
#4
Senior Member

Armin
Join Date: Feb 2011
Location: Helsinki, Finland
Posts: 152
Rep Power: 10
Quote:
 Originally Posted by mneben Why is Utrans zero? Where is my mistake?
Sorry, I cannot help you right much further since I would have to dig through the code and see what is really done there and I don't have time for that.

A couple of hints though:
• Are you running time-accurate or steady state?
• If you use a fully explicit coupling between Lagrangian and continuous phase, the source term in the momentum equation is (see KinematicCloudI.H):
Code:
`fvm.source() = -UTrans()/(this->db().time().deltaT());`

 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 Mihail CFX 7 September 7, 2014 06:27 chaolian OpenFOAM Programming & Development 4 November 8, 2012 23:22 hsieh OpenFOAM Running, Solving & CFD 2 July 26, 2010 11:43 Joseph CFX 14 April 20, 2010 15:45 jane FLUENT 0 March 28, 2004 00:13

All times are GMT -4. The time now is 15:23.