Esempio n. 1
0
File: run.py Progetto: ro21han/hifun
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()
Esempio n. 2
0
    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)
Esempio n. 3
0
    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()
Esempio n. 4
0
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)