|
[Sponsors] |
August 22, 2016, 08:10 |
Can not add force to Equn in interFoam,Help
|
#1 |
New Member
zhibin wang
Join Date: Aug 2016
Posts: 1
Rep Power: 0 |
Dear OpenFoam users
I am a new openFoam user. These days, I am trying to simulating the droplet deformation and breakup in gas air flow.The droplet will move because of the drag force exerted by air stream.In order to decrease the field gemotry and computation cost,I plan to give a force to keep the drop at a constant position or slow it down. The force only exert to water phase according the alpha1. I have tried two schmes.The both scheme can compile and run without any error, but the result is not what I want,no matter the value of the force, the droplet is still move with the same velocity as before. It seems that the force don’t exert on the drop successfuly. So I think there is some problem with my schemes. The first Scheme: add the force to the UEqn, like the way how the gravity is added. This scheme was used by the former OpenFoam users. http://www.cfd-online.com/Forums/ope...y-gravity.html. The revised code as follow: MRF.correctBoundaryVelocity(U); fvVectorMatrix UEqn ( fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + MRF.DDt(rho, U) + turbulence->divDevRhoReff(rho, U) == fvOptions(rho, U) //- gg*alpha1*rho//I also try to add it here, but failed. ); UEqn.relax(); fvOptions.constrain(UEqn); if (pimple.momentumPredictor()) { solve ( UEqn == fvc::reconstruct ( ( mixture.surfaceTensionForce() - ghf*fvc::snGrad(rho) - fvc::snGrad(p_rgh) ) * mesh.magSf() ) - gg*alpha1*rho // Where gg is a uniformdimensionedVectorfield as g (Graviy field). ); fvOptions.correct(U); } [COLOR="red"]In this Scheme, I also tried from “- gg*alpha1*rho” to “+ gg*alpha1*rho”, and try to change the value from (0 -9.81, 0) to (0 -9810, 0),but the results are same. [/COLOR] The second scheme is to creative a surfaceScalarField gggf as ghf ,and add it to UEqn and PEqn. The revised code as follow: MRF.correctBoundaryVelocity(U); fvVectorMatrix UEqn ( fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + MRF.DDt(rho, U) + turbulence->divDevRhoReff(rho, U) == fvOptions(rho, U) ); UEqn.relax(); fvOptions.constrain(UEqn); if (pimple.momentumPredictor()) { solve ( UEqn == fvc::reconstruct ( ( mixture.surfaceTensionForce() - (ghf +gggf)*fvc::snGrad(rho)//where the gggf is a surfaceScalarField - fvc::snGrad(p_rgh) ) * mesh.magSf() ) ); fvOptions.correct(U); gggf was created as follow. surfaceScalarField gggf ( IOobject ( "gggf", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), fvc::interpolate(alpha1)*(gg & mesh.Cf())// where gg is also a is a uniformdimensionedVectorfield same as g (Graviy field).In this scheme,the PEqn is also revised as follows. surfaceScalarField phig ( ( mixture.surfaceTensionForce() - (ghf + gggf)*fvc::snGrad(rho) // //- (fvc::interpolate(VectorFF) & mesh.Sf())/pow(mesh.magSf(),2) )*rAUf*mesh.magSf() ); I am not sure whether is it correct to revise the PEqn.Because the ghf appear in PEqn,so I think it is necessary to revise it, because the gggf is same as ghf. The droplet diameter is 2mm. blockMeshDict Code blockMeshDict; convertToMeters 1; vertices ( (0 0 0) (0.01 0 0) (0.01 0.01 0) (0 0.01 0) (0 0 0.01) (0.01 0 0.01) (0.01 0.01 0.01) (0 0.01 0.01) ); blocks ( hex (0 1 2 3 4 5 6 7) (10 10 10) simpleGrading (1 1 1) ); patches ( patch inlet ( (1 5 4 0) ) patch outlet ( (3 7 6 2) ) wall walls ( (0 4 7 3) (2 6 5 1) ) ); U boundary condition code dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 5 0); boundaryField { inlet { type fixedValue; value uniform (0 5 0); } outlet { type zeroGradient; } walls { type zeroGradient; // value uniform (0 0 0); } } P_rgh boundary condition code dimensions [1 -1 -2 0 0 0 0]; internalField uniform 100; boundaryField { inlet { type fixedValue; value uniform 100; } outlet { type zeroGradient; //value uniform 1e-05; } walls { type zeroGradient; value uniform 0; } transportPropertied code phases (water air); water { transportModel Newtonian; nu [0 2 -1 0 0 0 0] 1e-06; rho [1 -3 0 0 0 0 0] 1000; } air { transportModel Newtonian; nu [0 2 -1 0 0 0 0] 1.48e-05; rho [1 -3 0 0 0 0 0] 1; } sigma [1 0 -2 0 0 0 0] 0.07; I am working on the problem for two weeks, but I still don’t know what wrong with my Schemes or code.Would you like give me some suggestions? Thank you. Best regards. Zhibin wang |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
add brownian force to twophaseEulerFoam solver | hoseinhd | OpenFOAM Running, Solving & CFD | 0 | August 21, 2016 08:40 |
Force on moving body | joechorn | Fluent UDF and Scheme Programming | 5 | April 2, 2015 12:25 |
Add time-dependent force | paul_oborin | OpenFOAM Running, Solving & CFD | 0 | April 2, 2013 05:41 |
how to add a force in the momentum equation | guillaumem | OpenFOAM | 0 | June 14, 2010 04:49 |
DEFINE_CG_MOTION and pressure force | Teo Fumagalli | FLUENT | 0 | April 11, 2008 11:25 |