plasmaReactingFoam electron wall flux corrected and reflex added

This commit is contained in:
ignis 2016-10-17 23:29:45 +09:00
parent ac1a56fd3d
commit aeecf0e0c1
2 changed files with 7 additions and 7 deletions

View file

@ -35,12 +35,12 @@ tmp<fv::convectionScheme<scalar> > mvConvection
forAll(Y, i)
{
volScalarField& Yi = Y[i];
const volScalarField& Di = D[i];
if (Y[i].name() == electronSpecie)
{
volScalarField& Yi = Y[i];
Udrift = - linearInterpolate(mue*E/ng);
ve = (Udrift & mesh.Sf()) + q;
@ -50,19 +50,19 @@ tmp<fv::convectionScheme<scalar> > mvConvection
forAll (wallPatcheIDs, pidx)
{
label patchID = wallPatcheIDs[pidx];
scalar pReflex = wallReflexes[pidx]; // Probability of electron reflex
fvsPatchScalarField &wallFlux = ve.boundaryField()[patchID];
const fvsPatchScalarField &wallMSf = msf.boundaryField()[patchID];
const fvPatchScalarField &wallTe = Te.boundaryField()[patchID];
scalarField vt(sqrt((8.0/pi)*(2.0/3.0)/16.0*eCharge.value()/eMass.value()*wallTe));
scalarField vt(sqrt(8.0*kB.value()/pi/eMass.value()*wallTe));
// remove negative wallFlux value (flux from wall)
wallFlux = max(wallFlux, 0.0);
// add flux by thermal velocity
wallFlux += vt * wallMSf;
wallFlux += vt * wallMSf * max((1.0-max(pReflex,1.0)),1.0) / 4.0;
}
tmp<fvScalarMatrix> electronR(
@ -92,7 +92,6 @@ tmp<fv::convectionScheme<scalar> > mvConvection
}
else if (Y[i].name() != inertSpecie)
{
volScalarField& Yi = Y[i];
fvScalarMatrix YiEqn
(

View file

@ -63,6 +63,7 @@ word TeName(wallElectronFlux.lookup("TeName"));
wordList wallPatcheNames (wallElectronFlux.lookup("wallPatches"));
labelList wallPatcheIDs (wallPatcheNames.size(), 0);
scalarList wallReflexes (wallElectronFlux.lookup("wallReflexes"));
forAll (wallPatcheNames, pi)
{