private void fixPIMPLE_CENTRALSolver(Model model) { State state = model.getState(); if (state.isTransient() && state.isCompressible() && state.isHighMach()) { SystemFolder systemFolder = model.getProject().getSystemFolder(); if (isCENTRAL() && state.getSolverFamily().isPimple()) { state.setSolverFamily(SolverFamily.CENTRAL); solversTable.updateSolver(state); ModulesUtil.updateSolver(modules, state); Dictionary stateData = model.getDefaults().getDefaultsFor(state); Dictionary solutionDict = stateData.subDict(SYSTEM).subDict(FV_SOLUTION); Dictionary schemesDict = stateData.subDict(SYSTEM).subDict(FV_SCHEMES); systemFolder.setFvSolution(solutionDict); systemFolder.setFvSchemes(schemesDict); model.solverChanged(); } else if (isPIMPLE() && state.getSolverFamily().isCentral()) { state.setSolverFamily(SolverFamily.PIMPLE); solversTable.updateSolver(state); ModulesUtil.updateSolver(modules, state); Dictionary stateData = model.getDefaults().getDefaultsFor(state); Dictionary solutionDict = stateData.subDict(SYSTEM).subDict(FV_SOLUTION); Dictionary schemesDict = stateData.subDict(SYSTEM).subDict(FV_SCHEMES); systemFolder.setFvSolution(solutionDict); systemFolder.setFvSchemes(schemesDict); model.solverChanged(); } } }
private void fixPIMPLE_PISOSolver(Model model) { State state = model.getState(); if (state.isTransient() && state.isIncompressible()) { SystemFolder systemFolder = model.getProject().getSystemFolder(); Dictionary fvSolution = systemFolder.getFvSolution(); Dictionary stateData = model.getDefaults().getDefaultStateData(); Dictionary pisoSolution = stateData.subDict("pisoFoamRAS").subDict(SYSTEM).subDict(FV_SOLUTION); Dictionary pimpleSolution = stateData.subDict("pimpleFoamRAS").subDict(SYSTEM).subDict(FV_SOLUTION); if (isPISO() && fvSolution.found(SolverFamily.PIMPLE.getKey())) { systemFolder.setFvSolution(pisoSolution); state.setSolverFamily(SolverFamily.PISO); solversTable.updateSolver(state); ModulesUtil.updateSolver(modules, state); model.solverChanged(); } else if (isPIMPLE() && fvSolution.found(SolverFamily.PISO.getKey())) { systemFolder.setFvSolution(pimpleSolution); state.setSolverFamily(SolverFamily.PIMPLE); solversTable.updateSolver(state); ModulesUtil.updateSolver(modules, state); model.solverChanged(); } } }