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;