MicroNanoFlows/OpenFOAM-2.4.0-MNF

I found a mistake in dsmcCLLWallPatch

hpleskun opened this issue · 0 comments

Hello,

I made some simulations on the Couette flow using the dsmcCLLWallPatch and was wondering about unphysical results.
After regarding the input files several times I looked into the code dsmcCLLWallPatch.C and there is a mistake regarding the TMAC for the tangential wall velocity in lines 249 and 250 concerning the alphaT with the definition in line 152:
const scalar& alphaT = tangentialAccommodationCoefficient_*(2.0 - tangentialAccommodationCoefficient_);

The tangential wall velocity must be multiplied by tangentialAccommodationCoefficient_ not by alphaT. Otherwise the simulated wall velocity is unphysically increased. I did simulations with both the dsmcMixedDiffuseSpecularWallPatch and the CLL model. After the correction I got similar results with both models on the trivial case of an isothermal Couette flow. Before this correction the results of the CLL model could generate a higher mass flow rate than can be indicated by the wall speed. I give a snipped of the current code and my proposal of the correction below from lines 245 to 252:

Current code:

vector uWallNormal = (velocity_ & nw) * nw;
vector uWallTangential1 = (velocity_ & tw1) * tw1; 
vector uWallTangential2 = (velocity_ & tw2) * tw2;
vector UNormal = ((U & nw) * nw) + uWallNormal*alphaN;  
vector UTangential1 = (U & tw1) * tw1 + uWallTangential1*alphaT;
vector UTangential2 = (U & tw2) * tw2 + uWallTangential2*alphaT;

U = UNormal + UTangential1 + UTangential2;

Corrected Code:

vector uWallNormal = (velocity_ & nw) * nw;
vector uWallTangential1 = (velocity_ & tw1) * tw1; 
vector uWallTangential2 = (velocity_ & tw2) * tw2;
vector UNormal = ((U & nw) * nw) + uWallNormal*alphaN;  
vector UTangential1 = (U & tw1) * tw1 + uWallTangential1*tangentialAccommodationCoefficient_;
vector UTangential2 = (U & tw2) * tw2 + uWallTangential2*tangentialAccommodationCoefficient_;

U = UNormal + UTangential1 + UTangential2;