Пример #1
0
class MatdynTask(QETask):
    def __init__(self, filename = None,configString = None, cleanOutDir = False,\
                                                            sectionName = None):
        QETask.__init__(self, filename, configString, cleanOutDir)

        self.setSerial()

        configDic = {
        'matdynInput': 'matdyn.in',
#        'flfrc': None,
        'matdynOutput': 'matdyn.out',
#        'flvec': None,
#        'flfrq': None,
#        'fldos': None
        }

        # QE input file's path containing variables' defaults (will be moved to
        # QE input parser)
        self._path_defaults = {
        'flfrc': None,
        'flvec': 'matdyn.modes',
        'flfrq': 'matdyn.freq',
        'fldos': 'matdyn.dos'
        }

        if sectionName == None:
            name = self.name()
        else:
            name = sectionName

        self.setting.section(name, configDic)

        self.input = MatdynInput(filename = self.setting.get('matdynInput'))
        self.output = QEOutput(self.setting, type = 'matdyn')
        
#        self._cmdStr = "matdyn.x -inp " + self.setting.matdynInput + " > " + \
#                        self.setting.matdynOutput

                        
    def cmdLine(self):
        return self._getCmdLine('matdyn.x', 'matdynInput', 'matdynOutput')


    def name(self):
        return 'matdyn.x'


    def syncSetting(self):
        """
        When this method is called on launch(), the input file is already
        parsed and will be saved before the run...
        """
        self.input.parse()
        
        for varName in self._path_defaults.keys():
            self.setting.syncPathInNamelist(varName, 'input', varName, \
                                                self.input, self._path_defaults)
Пример #2
0
class MatdynTask(QETask):
    def __init__(self, filename = None,configString = None, cleanOutDir = False,\
                                                            sectionName = None):
        QETask.__init__(self, filename, configString, cleanOutDir)

        self.setSerial()

        configDic = {
            'matdynInput': 'matdyn.in',
            #        'flfrc': None,
            'matdynOutput': 'matdyn.out',
            #        'flvec': None,
            #        'flfrq': None,
            #        'fldos': None
        }

        # QE input file's path containing variables' defaults (will be moved to
        # QE input parser)
        self._path_defaults = {
            'flfrc': None,
            'flvec': 'matdyn.modes',
            'flfrq': 'matdyn.freq',
            'fldos': 'matdyn.dos'
        }

        if sectionName == None:
            name = self.name()
        else:
            name = sectionName

        self.setting.section(name, configDic)

        self.input = MatdynInput(filename=self.setting.get('matdynInput'))
        self.output = QEOutput(self.setting, type='matdyn')


#        self._cmdStr = "matdyn.x -inp " + self.setting.matdynInput + " > " + \
#                        self.setting.matdynOutput

    def cmdLine(self):
        return self._getCmdLine('matdyn.x', 'matdynInput', 'matdynOutput')

    def name(self):
        return 'matdyn.x'

    def syncSetting(self):
        """
        When this method is called on launch(), the input file is already
        parsed and will be saved before the run...
        """
        self.input.parse()

        for varName in self._path_defaults.keys():
            self.setting.syncPathInNamelist(varName, 'input', varName, \
                                                self.input, self._path_defaults)