BUG: Disallow advectionDiffusion method within advectionDiffusionCoeffs for wallDist
The example illustrates the recursive problem pitzDaily_wallDist_issue.tgz
wallDist
{
method advectionDiffusion; //meshWave, advectionDiffusion, Poisson
nRequired yes;
advectionDiffusionCoeffs
{
method advectionDiffusion; //Disallow this!
}
}
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Link issues together to show that they're related. Learn more.
Activity
- Developer
The advectionDiffusion method can use a 'predictor' Eq to improve convergence. In the advectionDiffusionCoeffs dictionary is where you must specified the method to use such as : advectionDiffusionCoeffs { method Poisson; epsilon 0.1; tolerance 1e-3; maxIter 10; }
- Sergio Ferraris Status changed to closed
Status changed to closed
- Author Developer
Sergio, I agree with you.
The issue was raised to just add an error statement in code when user tries to specify advectionDiffusion as method within advectionDiffusionCoeffs.
You may close the issue if this is obvious.
- Prashant Sonakar Status changed to reopened
Status changed to reopened
- Maintainer
In
v1812
:blockMesh && topoSet && refineMesh -overwrite -dict system/refineMeshDict && decomposePar && mpirun -np 4 potentialFoam -noFunctionObjects -initialiseUBCs -parallel
run fine.mpirun -np 4 applyBoundaryLayer -parallel -Cbl 0.5 >& log.applyBoundaryLayer
produces: log.applyBoundaryLayer - Maintainer
- replace
dict.optionalSubDict(type() + "Coeffs")
with
dict.subDict(type() + "Coeffs")
This will make sure that users will have a sub dictionary for the predictor so less likely to choose the advectionDiffusion for the predictor as well
- if the solver tolerance on yWall is larger than the 'tolerance' for the loop in advectionDiffussionPatchDistMethod it might do zero iterations and loop all the way to "maxIter" since nothing has changed.
- Mattijs Janssens assigned to @Mattijs and unassigned @andy
- Mattijs Janssens mentioned in commit f9f0a25e712514dfea00fcfdf13ce0cede8b1e52
mentioned in commit f9f0a25e712514dfea00fcfdf13ce0cede8b1e52
- Mattijs Janssens mentioned in commit 9a8b484d787fcae1385b0ad5f83d548df115f1d7
mentioned in commit 9a8b484d787fcae1385b0ad5f83d548df115f1d7
- Mattijs Janssens mentioned in commit 5d9f584f3373dc79cb9769e86bcfb8170e5ff3ee
mentioned in commit 5d9f584f3373dc79cb9769e86bcfb8170e5ff3ee
- Maintainer
With the following set of settings:
wallDist { method advectionDiffusion; //meshWave, advectionDiffusion, Poisson nRequired yes; advectionDiffusionCoeffs { method advectionDiffusion; //Disallow this! } }
mpirun -np 4 applyBoundaryLayer -parallel -Cbl 0.5 >& log.applyBoundaryLayer correctly throws FATAL ERROR: log.error
By changing the inner
advectionDiffusionCoeffs
entry as follows:wallDist { method advectionDiffusion; //meshWave, advectionDiffusion, Poisson nRequired yes; advectionDiffusionCoeffs { method meshWave; } }
mpirun -np 4 applyBoundaryLayer -parallel -Cbl 0.5 >& log.applyBoundaryLayer produces: log.2
IMHO, the ticket can be closed @Prashant .
- Author Developer
Thanks.
- Prashant Sonakar closed
closed