54 const scalar maxDelta,
55 const scalar minDelta,
56 const scalar extrapolate
59 if (extrapolate > maxDelta + VSMALL)
61 limiter =
min(limiter, maxDelta/extrapolate);
63 else if (extrapolate < minDelta - VSMALL)
65 limiter =
min(limiter, minDelta/extrapolate);
98 scalar rk = (1.0/k_ - 1.0);
102 label own = owner[facei];
103 label nei = neighbour[facei];
105 scalar vsfOwn = vsf[own];
106 scalar vsfNei = vsf[nei];
108 scalar maxFace =
max(vsfOwn, vsfNei);
109 scalar minFace =
min(vsfOwn, vsfNei);
110 scalar maxMinFace = rk*(maxFace - minFace);
111 maxFace += maxMinFace;
112 minFace -= maxMinFace;
118 maxFace - vsfOwn, minFace - vsfOwn,
119 (Cf[facei] - C[own]) & g[own]
126 maxFace - vsfNei, minFace - vsfNei,
127 (Cf[facei] - C[nei]) & g[nei]
131 const volScalarField::GeometricBoundaryField& bsf = vsf.
boundaryField();
146 label own = pOwner[pFacei];
148 scalar vsfOwn = vsf[own];
149 scalar vsfNei = psfNei[pFacei];
151 scalar maxFace =
max(vsfOwn, vsfNei);
152 scalar minFace =
min(vsfOwn, vsfNei);
153 scalar maxMinFace = rk*(maxFace - minFace);
154 maxFace += maxMinFace;
155 minFace -= maxMinFace;
160 maxFace - vsfOwn, minFace - vsfOwn,
161 (pCf[pFacei] - C[own]) & g[own]
169 label own = pOwner[pFacei];
171 scalar vsfOwn = vsf[own];
172 scalar vsfNei = psf[pFacei];
174 scalar maxFace =
max(vsfOwn, vsfNei);
175 scalar minFace =
min(vsfOwn, vsfNei);
176 scalar maxMinFace = rk*(maxFace - minFace);
177 maxFace += maxMinFace;
178 minFace -= maxMinFace;
183 maxFace - vsfOwn, minFace - vsfOwn,
184 (pCf[pFacei] - C[own]) & g[own]
192 Info<<
"gradient limiter for: " << vsf.
name()
193 <<
" max = " <<
gMax(limiter)
194 <<
" min = " <<
gMin(limiter)
232 scalar rk = (1.0/k_ - 1.0);
236 label own = owner[facei];
237 label nei = neighbour[facei];
243 vector gradf = (Cf[facei] - C[own]) & g[own];
245 scalar vsfOwn = gradf & vvfOwn;
246 scalar vsfNei = gradf & vvfNei;
248 scalar maxFace =
max(vsfOwn, vsfNei);
249 scalar minFace =
min(vsfOwn, vsfNei);
250 scalar maxMinFace = rk*(maxFace - minFace);
251 maxFace += maxMinFace;
252 minFace -= maxMinFace;
257 maxFace - vsfOwn, minFace - vsfOwn,
263 gradf = (Cf[facei] - C[nei]) & g[nei];
265 vsfOwn = gradf & vvfOwn;
266 vsfNei = gradf & vvfNei;
268 maxFace =
max(vsfOwn, vsfNei);
269 minFace =
min(vsfOwn, vsfNei);
274 maxFace - vsfNei, minFace - vsfNei,
280 const volVectorField::GeometricBoundaryField& bvf = vvf.
boundaryField();
295 label own = pOwner[pFacei];
298 vector vvfNei = psfNei[pFacei];
300 vector gradf = (pCf[pFacei] - C[own]) & g[own];
302 scalar vsfOwn = gradf & vvfOwn;
303 scalar vsfNei = gradf & vvfNei;
305 scalar maxFace =
max(vsfOwn, vsfNei);
306 scalar minFace =
min(vsfOwn, vsfNei);
307 scalar maxMinFace = rk*(maxFace - minFace);
308 maxFace += maxMinFace;
309 minFace -= maxMinFace;
314 maxFace - vsfOwn, minFace - vsfOwn,
323 label own = pOwner[pFacei];
326 vector vvfNei = psf[pFacei];
328 vector gradf = (pCf[pFacei] - C[own]) & g[own];
330 scalar vsfOwn = gradf & vvfOwn;
331 scalar vsfNei = gradf & vvfNei;
333 scalar maxFace =
max(vsfOwn, vsfNei);
334 scalar minFace =
min(vsfOwn, vsfNei);
335 scalar maxMinFace = rk*(maxFace - minFace);
336 maxFace += maxMinFace;
337 minFace -= maxMinFace;
342 maxFace - vsfOwn, minFace - vsfOwn,
351 Info<<
"gradient limiter for: " << vvf.
name()
352 <<
" max = " <<
gMax(limiter)
353 <<
" min = " <<
gMin(limiter)