def editRun(project=None, runname=None): p = project or projectutils.getActiveProject() runname = runname or p.activerun p.setActiveRun(runname) treepath = os.path.join(p[runname]['path'], "run.tree") runTree = common.parseTree(treepath, root=runname) projectconfigpath = p['projectdir'] response = quickui.showConfigurationTree(title=runname, tree=runTree, savespace=p[runname]['path'], parent=tool.getToolWindow()) p.save()
def save(self): os.mkdir(self.path) treepath = resource.getResource("resource:run.tree") runTree = common.parseTree(treepath, root=self.name) bctree = self.project._getBCTree() runTree.append(bctree) cm = configuration.ConfigurationManager(savespace=self.path) cm.getConfiguration("__wall__") def write(cm, originalconfid, confid): def isCellzoneSet(): l = [item[0] for item in self.cellzone] return confid in l def check(cellzonetype): if isCellzoneSet(): index = [item[0] for item in self.cellzone].index(confid) if self.cellzone[index][1]: return cellzonetype in self.cellzone[index][1] else: return None confdata = cm.getConfiguration(originalconfid) confdata['id'] = confid path = cm._getSavedFilePath(confid) quickidmap = {} for i in confdata['ITEMS']: quickidmap[i['quickid']] = "_".join([i['quickid'], confid]) for i in confdata['ITEMS']: if i['quickid'] == "por_zone" and check("Porous Zone"): i['value'] = True elif i['quickid'] == "rotating_zone" and check("Rotating Zone"): i['value'] = True i['quickid'] = quickidmap[i['quickid']] if 'hideon' in i: hideon = i['hideon'] for k,v in quickidmap.items(): hideon = hideon.replace(k, v) i['hideon'] = hideon print i['quickid'] cm._writeConfiguration(confdata, path) [write(cm, "__fluid__", fluidid) for fluidid in self.project._getBoundaries(self.project.pfluid)] [write(cm, "__wall__", wallid) for wallid in self.project._getBoundaries(self.project.pwall)] [write(cm, "__pressure_inlet__", prinlet) for prinlet in self.project._getBoundaries(self.project.pinlet)] treepath = os.path.join(self.path, "run.tree") common.writeTree(runTree, treepath) filepath = os.path.join(self.path, self.name) storage.save(self, filepath)
def __init__(self, project=None, runname=None): self.project = projectutils.getActiveProject() self.runname=runname if not self.runname: self.runname = p.activerun path=os.path.join(self.project[self.runname]['path'],"run.tree") self.runtree=common.parseTree(path,root=self.runname) self.path= self.project[self.runname]['path'] self.bcs=self.project['bcs'] self.cellzone=self.project['cellzone'] self.configs = self._readConfigTree() solverdata=self._getSolverData() self.rans_dir=os.path.join(self.project[self.runname]['path'],'Flowsolver_input') if not os.path.isdir(self.rans_dir): os.mkdir(self.rans_dir) if not os.path.isdir(self.rans_dir): quickui.error(message='Unbale to create Flowsolver_input dorectory.') raise OSError('Unbale to create Flowsolver_input dorectory.') templatePath=self._getTemplate('userchoice.inp_template') self._writeSolverData('/userchoice.inp',solverdata,templatePath,) templatePath=self._getTemplate('freestream.inp_template') self._writeSolverData('/freestream.inp',solverdata,templatePath,) templatePath=self._getTemplate('run_option.inp_template') self._writeSolverData('run_option.inp',solverdata,templatePath,) templatePath=self._getTemplate('boundary_information.inp_template') self._writeSolverData('boundary_information.inp',solverdata,templatePath,) templatePath=self._getTemplate('lift_drag_contrib.inp_template') self._writeSolverData('lift_drag_contrib.inp',solverdata,templatePath,) templatePath=self._getTemplate('halt.inp_template') self._writeSolverData('halt.inp',solverdata,templatePath,) self.createSubdLink()
def showToolOptions(): savespace = getConfSaveSpace() treepath = resource.getResource("resource:tooloptions.tree") optionTree = common.parseTree(treepath, root="Options") quickui.showConfigurationTree(title="Tool Options", tree=optionTree, parent=tool.getToolWindow(), savespace=savespace)