# Adding a momentum source term

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

 May 19, 2005, 12:43 Hi, I'm trying to model air f #1 Member   David Segersson Join Date: Mar 2009 Posts: 39 Rep Power: 17 Hi, I'm trying to model air flow through vegetation and need to add a negative source term to the momentum equation in simpleFoam. I would appreciate some advice to get this right (I'm quite new to OpenFOAM...). For the different directions the source term is: Sx = -0.5*rho*Cd*abs(u)*u Sy = -0.5*rho*Cd*abs(v)*v Sz = ... ,where Cd is a constant. My questions are: 1. After I have created a volScalarField for Cd, how can I express the term in OpenFOAM in a nice way? ( S = -0.5*rho*Cd*U&U gives me the wrong sign I guess...) 3. Is it correct to insert the source term in simpleFoam.C as: solve(UEqn() == S -fvc::grad(p)); Do I have to include the source term anywhere else in the SIMPLE algorithm? 3. If I want the term to be explicit, are there any advantage in using the SuSp(..,..) function? Regards David

 May 19, 2005, 12:53 Basically you are adding a dra #2 Senior Member   Join Date: Mar 2009 Posts: 854 Rep Power: 22 Basically you are adding a drag term in which case you should make it implicit using fvm::Sp. Is the drag coefficient a scalar or should it be tensorial to take into account anisotropy? If scalar I think your source term should be -fvm::Sp(0.5*rho*Cd*mag(U), U) and remember to include it in the momentum equation construction not in solve(UEqn() == S -fvc::grad(p)); otherwise the pressure equation will not "see" the drag term at all. utkunun likes this.

 May 20, 2005, 11:17 hi, I added the energy equati #3 chafi_fatima_zohra Guest   Posts: n/a hi, I added the energy equation in icoFoam, this equation depends, obviously, the rates of flow: u, v and w. my questions are: 1- how to add a source term in the momentum equation only in z direction? 2- this source term does not depend on velocity but it depends on the temperature: g*beta*(T-Tref) (approximation of Boussinesq), icoFoam can it solve equation(equation of movement coupled with the equation of energy)? thank you in advance for your assistance zohra

 May 20, 2005, 11:31 Create g as a dimensionedVecto #4 Senior Member   Join Date: Mar 2009 Posts: 854 Rep Power: 22 Create g as a dimensionedVector then g*beta*(T-Tref) will be a volVectorField containing components only in the g-direction and this can be added as a source term to the momentum equation. You will have to think carefully about the pressure boundary conditions because zero-gradient on walls will no longer be appropriate. Alternatively you can use the approach in the buoyant-flow codes I have already written in which a "dynamic-pressure" pd is used which is p - rho*(g&h) which avoids some of the issues to do with the pressure boundary conditions as well as potential solution staggering that can occur on collocated meshes. meth likes this.

 May 20, 2005, 13:23 hi, I will apply what you h #5 chafi_fatima_zohra Guest   Posts: n/a hi, I will apply what you have suggest me. thank you

 March 2, 2006, 23:06 Dear chafi fatima zohra: I #6 Senior Member   Guoxiang Join Date: Mar 2009 Posts: 109 Rep Power: 17 Dear chafi fatima zohra: I have the same question about how to add the source term in cavity case of icoFoam. Could you please give some advice please? Thanks a lot. Best wishes, Guoxiang