Я хочу решить следующее модифицированное уравнение переноса для расчета чувствительности:
![https://latex.codecogs.com/gif.latex?%5Cfrac%7B%5Cpartial%7D%7B%5Cpartial%20t%7D%20%28%5Cdelta%20%5Calpha%29%20+%20%5Cnabla%20%5Ccdot%20%28%5Cvec%7Bu%7D%20%5C%20%5Cdelta%20%5Calpha%29%20+%20%5Cnabla%20%5Ccdot%20%28%5Cdelta%20%5Cvec%7Bu%7D%20%5C%20%5Calpha%29](https://i.stack.imgur.com/3hoeY.gif)
В interFoam я реализовал следующий код сразу после решенияalphaEqn.H
(вместе с начальными полями dAlpha
и dU
, вычислением dPhi
и другими модификациями):
{
word dAlphaScheme("div(phi,dAlpha)");
word dPhiScheme("div(dPhi,alpha)");
#include "alphaSuSp.H"
surfaceScalarField dAlphaPhi
(
fvc::flux(phi, dAlpha, dAlphaScheme)
+ fvc::flux(dPhi, alpha1, dPhiScheme)
);
MULES::explicitSolve
(
geometricOneField(),
dAlpha,
dAlphaPhi,
Sp,
Su
);
}
Это работает, но я не уверен, является ли MULES::explicitSolve
правильный способ решить это уравнение.Через несколько шагов раствор сильно смазывается.Что бы вы порекомендовали?