def createFvSolution(runTime): USolver = ref.dictionary() USolver.add(ref.word("preconditioner"), ref.word("DILU")) USolver.add(ref.word("minIter"), 0) USolver.add(ref.word("maxIter"), 1000) USolver.add(ref.word("tolerance"), 1E-5) USolver.add(ref.word("relTol"), 0) pSolver = ref.dictionary() pSolver.add(ref.word("preconditioner"), ref.word("DIC")) pSolver.add(ref.word("minIter"), 0) pSolver.add(ref.word("maxIter"), 1000) pSolver.add(ref.word("tolerance"), 1E-6) pSolver.add(ref.word("relTol"), 0) piso = ref.dictionary() piso.add(ref.word("nCorrectors"), 2) piso.add(ref.word("nNonOrthogonalCorrectors"), 0) fvSolnDict = ref.dictionary() fvSolnDict.add(ref.word("PISO"), piso) soln=ref.ext_solution(runTime, ref.fileName("fvSolution"), fvSolnDict) soln.setWriteOpt(ref.IOobject.AUTO_WRITE) soln.addSolver(ref.word("U"), ref.word("PBiCG"), USolver) soln.addSolver(ref.word("p"), ref.word("PCG"), pSolver) return soln
def _createFvSolution(self): """ Creates fvSolution dictionary Currently not fully functional, format of "solvers" entries currently can't be written to file unless using stream objects. We need a workaround for this. """ USolver = ref.dictionary() USolver.add(ref.word("preconditioner"), ref.word("DILU")) USolver.add(ref.word("minIter"), 0) USolver.add(ref.word("maxIter"), 1000) USolver.add(ref.word("tolerance"), 1e-5) USolver.add(ref.word("relTol"), 0) pSolver = ref.dictionary() pSolver.add(ref.word("preconditioner"), ref.word("DIC")) pSolver.add(ref.word("minIter"), 0) pSolver.add(ref.word("maxIter"), 1000) pSolver.add(ref.word("tolerance"), 1e-6) pSolver.add(ref.word("relTol"), 0) piso = ref.dictionary() piso.add(ref.word("nCorrectors"), 2) piso.add(ref.word("nNonOrthogonalCorrectors"), 0) fvSolnDict = ref.dictionary() fvSolnDict.add(ref.word("PISO"), piso) soln = ref.ext_solution(self.run_time, ref.fileName("fvSolution"), fvSolnDict) soln.setWriteOpt(ref.IOobject.AUTO_WRITE) soln.addSolver(ref.word("U"), ref.word("PBiCG"), USolver) soln.addSolver(ref.word("p"), ref.word("PCG"), pSolver) return soln