コード例 #1
0
  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();
      }
    }
  }
コード例 #2
0
 private void leaveOneSolverDictionaryOnFvSolution(Dictionary fvSolution) {
   if (fvSolution.found(SolverFamily.SIMPLE.getKey())) {
     if (fvSolution.found(SolverFamily.PIMPLE.getKey())
         || fvSolution.found(SolverFamily.PISO.getKey())
         || fvSolution.found(SolverFamily.CENTRAL.getKey())) {
       fvSolution.remove(SolverFamily.SIMPLE.getKey());
     }
   }
 }