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);
75 const Type& extrapolate
78 for(
direction cmpt=0; cmpt<Type::nComponents; cmpt++)
82 limiter.component(cmpt),
83 maxDelta.component(cmpt),
84 minDelta.component(cmpt),
85 extrapolate.component(cmpt)
121 label own = owner[facei];
122 label nei = neighbour[facei];
124 scalar vsfOwn = vsf[own];
125 scalar vsfNei = vsf[nei];
127 maxVsf[own] =
max(maxVsf[own], vsfNei);
128 minVsf[own] =
min(minVsf[own], vsfNei);
130 maxVsf[nei] =
max(maxVsf[nei], vsfOwn);
131 minVsf[nei] =
min(minVsf[nei], vsfOwn);
135 const volScalarField::GeometricBoundaryField& bsf = vsf.
boundaryField();
149 label own = pOwner[pFacei];
150 scalar vsfNei = psfNei[pFacei];
152 maxVsf[own] =
max(maxVsf[own], vsfNei);
153 minVsf[own] =
min(minVsf[own], vsfNei);
160 label own = pOwner[pFacei];
161 scalar vsfNei = psf[pFacei];
163 maxVsf[own] =
max(maxVsf[own], vsfNei);
164 minVsf[own] =
min(minVsf[own], vsfNei);
174 scalarField maxMinVsf = (1.0/k_ - 1.0)*(maxVsf - minVsf);
188 label own = owner[facei];
189 label nei = neighbour[facei];
197 (Cf[facei] - C[own]) & g[own]
206 (Cf[facei] - C[nei]) & g[nei]
217 label own = pOwner[pFacei];
224 (pCf[pFacei] - C[own]) & g[own]
231 Info<<
"gradient limiter for: " << vsf.
name()
232 <<
" max = " <<
gMax(limiter)
233 <<
" min = " <<
gMin(limiter)
273 label own = owner[facei];
274 label nei = neighbour[facei];
276 const vector& vsfOwn = vsf[own];
277 const vector& vsfNei = vsf[nei];
279 maxVsf[own] =
max(maxVsf[own], vsfNei);
280 minVsf[own] =
min(minVsf[own], vsfNei);
282 maxVsf[nei] =
max(maxVsf[nei], vsfOwn);
283 minVsf[nei] =
min(minVsf[nei], vsfOwn);
287 const volVectorField::GeometricBoundaryField& bsf = vsf.
boundaryField();
300 label own = pOwner[pFacei];
301 const vector& vsfNei = psfNei[pFacei];
303 maxVsf[own] =
max(maxVsf[own], vsfNei);
304 minVsf[own] =
min(minVsf[own], vsfNei);
311 label own = pOwner[pFacei];
312 const vector& vsfNei = psf[pFacei];
314 maxVsf[own] =
max(maxVsf[own], vsfNei);
315 minVsf[own] =
min(minVsf[own], vsfNei);
325 vectorField maxMinVsf = (1.0/k_ - 1.0)*(maxVsf - minVsf);
339 label own = owner[facei];
340 label nei = neighbour[facei];
348 (Cf[facei] - C[own]) & g[own]
357 (Cf[facei] - C[nei]) & g[nei]
368 label own = pOwner[pFacei];
375 ((pCf[pFacei] - C[own]) & g[own])
382 Info<<
"gradient limiter for: " << vsf.
name()
383 <<
" max = " <<
gMax(limiter)
384 <<
" min = " <<
gMin(limiter)