50 const fvMesh&
mesh = vsf.mesh();
52 tmp<volVectorField> tGrad = basicGradScheme_().calcGrad(vsf,
name);
70 scalar rk = (1.0/k_ - 1.0);
74 label own = owner[facei];
75 label nei = neighbour[facei];
77 scalar vsfOwn = vsf[own];
78 scalar vsfNei = vsf[nei];
80 scalar maxFace =
max(vsfOwn, vsfNei);
81 scalar minFace =
min(vsfOwn, vsfNei);
82 scalar maxMinFace = rk*(maxFace - minFace);
83 maxFace += maxMinFace;
84 minFace -= maxMinFace;
90 maxFace - vsfOwn, minFace - vsfOwn,
91 (Cf[facei] -
C[own]) &
g[own]
98 maxFace - vsfNei, minFace - vsfNei,
99 (Cf[facei] -
C[nei]) &
g[nei]
103 const volScalarField::Boundary& bsf = vsf.boundaryField();
110 const vectorField& pCf = Cf.boundaryField()[patchi];
114 const scalarField psfNei(psf.patchNeighbourField());
118 label own = pOwner[pFacei];
120 scalar vsfOwn = vsf[own];
121 scalar vsfNei = psfNei[pFacei];
123 scalar maxFace =
max(vsfOwn, vsfNei);
124 scalar minFace =
min(vsfOwn, vsfNei);
125 scalar maxMinFace = rk*(maxFace - minFace);
126 maxFace += maxMinFace;
127 minFace -= maxMinFace;
132 maxFace - vsfOwn, minFace - vsfOwn,
133 (pCf[pFacei] -
C[own]) &
g[own]
137 else if (psf.fixesValue())
141 label own = pOwner[pFacei];
143 scalar vsfOwn = vsf[own];
144 scalar vsfNei = psf[pFacei];
146 scalar maxFace =
max(vsfOwn, vsfNei);
147 scalar minFace =
min(vsfOwn, vsfNei);
148 scalar maxMinFace = rk*(maxFace - minFace);
149 maxFace += maxMinFace;
150 minFace -= maxMinFace;
155 maxFace - vsfOwn, minFace - vsfOwn,
156 (pCf[pFacei] -
C[own]) &
g[own]
164 Info<<
"gradient limiter for: " << vsf.name()
171 g.correctBoundaryConditions();
206 scalar rk = (1.0/k_ - 1.0);
210 label own = owner[facei];
211 label nei = neighbour[facei];
217 vector gradf = (Cf[facei] -
C[own]) &
g[own];
219 scalar vsfOwn = gradf & vvfOwn;
220 scalar vsfNei = gradf & vvfNei;
222 scalar maxFace =
max(vsfOwn, vsfNei);
223 scalar minFace =
min(vsfOwn, vsfNei);
224 scalar maxMinFace = rk*(maxFace - minFace);
225 maxFace += maxMinFace;
226 minFace -= maxMinFace;
231 maxFace - vsfOwn, minFace - vsfOwn,
237 gradf = (Cf[facei] -
C[nei]) &
g[nei];
239 vsfOwn = gradf & vvfOwn;
240 vsfNei = gradf & vvfNei;
242 maxFace =
max(vsfOwn, vsfNei);
243 minFace =
min(vsfOwn, vsfNei);
248 maxFace - vsfNei, minFace - vsfNei,
269 label own = pOwner[pFacei];
272 vector vvfNei = psfNei[pFacei];
274 vector gradf = (pCf[pFacei] -
C[own]) &
g[own];
276 scalar vsfOwn = gradf & vvfOwn;
277 scalar vsfNei = gradf & vvfNei;
279 scalar maxFace =
max(vsfOwn, vsfNei);
280 scalar minFace =
min(vsfOwn, vsfNei);
281 scalar maxMinFace = rk*(maxFace - minFace);
282 maxFace += maxMinFace;
283 minFace -= maxMinFace;
288 maxFace - vsfOwn, minFace - vsfOwn,
297 label own = pOwner[pFacei];
300 vector vvfNei = psf[pFacei];
302 vector gradf = (pCf[pFacei] -
C[own]) &
g[own];
304 scalar vsfOwn = gradf & vvfOwn;
305 scalar vsfNei = gradf & vvfNei;
307 scalar maxFace =
max(vsfOwn, vsfNei);
308 scalar minFace =
min(vsfOwn, vsfNei);
309 scalar maxMinFace = rk*(maxFace - minFace);
310 maxFace += maxMinFace;
311 minFace -= maxMinFace;
316 maxFace - vsfOwn, minFace - vsfOwn,
325 Info<<
"gradient limiter for: " << vvf.name()
332 g.correctBoundaryConditions();