import PyFoam import math import time import numpy as np from PyFoam.RunDictionary.SolutionDirectory import SolutionDirectory from PyFoam.RunDictionary.SolutionFile import SolutionFile from PyFoam.RunDictionary.ParsedParameterFile import ParsedParameterFile from PyFoam.Execution.AnalyzedRunner import AnalyzedRunner from PyFoam.LogAnalysis.StandardLogAnalyzer import StandardLogAnalyzer from PyFoam.Execution.BasicRunner import BasicRunner from PyFoam.Execution.GnuplotRunner import GnuplotRunner case = "polarStudy" caseDir = SolutionDirectory(".",archive="polars") caseDir.addBackup("postProcessing/forceCoeffs/0/forceCoeffs.dat") caseDir.addBackup("PyFoamSolve.logfile") caseDir.addBackup("PyFoamSolve.analyzed") parameters = ParsedParameterFile("boundaryConditions",noHeader=True,preserveComments=False) vRange = np.arange(25,31,2.5) alphaRange = np.arange(0,11,1) print vRange caseDir.clearResults() caseDir.clear(functionObjectData=True) valueList = [] for i in range(len(vRange)): for j in range(len(alphaRange)): valueList.append({'velocity':vRange[i],'alpha':alphaRange[j]})
Collects some results""" from PyFoam.Execution.ConvergenceRunner import ConvergenceRunner from PyFoam.Execution.UtilityRunner import UtilityRunner from PyFoam.LogAnalysis.BoundingLogAnalyzer import BoundingLogAnalyzer from PyFoam.RunDictionary.SolutionFile import SolutionFile from PyFoam.RunDictionary.SolutionDirectory import SolutionDirectory solver="simpleFoam" case="pitzDaily" pCmd="calcPressureDifference" mCmd="calcMassFlow" dire=SolutionDirectory(case,archive="InletVariation") dire.clearResults() dire.addBackup("PyFoamSolve.logfile") dire.addBackup("PyFoamSolve.analyzed") dire.addBackup("Pressure.analyzed") dire.addBackup("MassFlow.analyzed") sol=SolutionFile(dire.initialDir(),"U") maximum=1. nr=10 f=dire.makeFile("InflowVariationResults") for i in range(nr+1): # Set the boundary condition at the inlet val=(maximum*i)/nr print "Inlet velocity:",val