示例#1
0
class DynmatTask(QETask):
    def __init__(self, filename = None,configString = None, cleanOutDir = False,\
                                                            sectionName = None):
        QETask.__init__(self, filename, configString, cleanOutDir)

        self.setSerial()

        configDic = {
        'dynmatInput': 'dyn.in',
        'dynmatOutput': 'dyn.out',
 #       'dynmatfildyn': None,
 #       'dynmatfilout': None,
 #       'dynmatfilmol': None,
 #       'dynmatfilxsf': None,
        }

        # QE input file's path containing variables' defaults (will be moved to
        # QE input parser)
        self._path_defaults = {
        'fildyn': 'matdyn',
        'filout': 'dynmat.out',
        'filmol': 'dynmat.mold',
        'filxsf': 'dynmat.axsf',
        }
        
        if sectionName == None:
            name = self.name()
        else:
            name = sectionName

        self.setting.section(name, configDic)
        
        self.input = QEInput(filename = self.setting.get('dynmatInput'), type = 'dynmat')
        self.output = QEOutput(self.setting, type = 'dynmat')
        #self._cmdStr = "dynmat.x < " + self.setting.dynmatInput
        #+ " > " + \
        #               self.setting.dynmatOutput

        
    def cmdLine(self):
        if self.setting.get('dynmatOutput') == self.setting.get('filout'):
            raise NameError('Naming conflict: Change dynmatOutput value')
        return self._getCmdLine('dynmat.x', 'dynmatInput', 'dynmatOutput')


    def name(self):
        return 'dynmat.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 DynmatTask(QETask):
    def __init__(self, filename = None,configString = None, cleanOutDir = False,\
                                                            sectionName = None):
        QETask.__init__(self, filename, configString, cleanOutDir)

        self.setSerial()

        configDic = {
            'dynmatInput': 'dyn.in',
            'dynmatOutput': 'dyn.out',
            #       'dynmatfildyn': None,
            #       'dynmatfilout': None,
            #       'dynmatfilmol': None,
            #       'dynmatfilxsf': None,
        }

        # QE input file's path containing variables' defaults (will be moved to
        # QE input parser)
        self._path_defaults = {
            'fildyn': 'matdyn',
            'filout': 'dynmat.out',
            'filmol': 'dynmat.mold',
            'filxsf': 'dynmat.axsf',
        }

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

        self.setting.section(name, configDic)

        self.input = QEInput(filename=self.setting.get('dynmatInput'),
                             type='dynmat')
        self.output = QEOutput(self.setting, type='dynmat')
        #self._cmdStr = "dynmat.x < " + self.setting.dynmatInput
        #+ " > " + \
        #               self.setting.dynmatOutput

    def cmdLine(self):
        if self.setting.get('dynmatOutput') == self.setting.get('filout'):
            raise NameError('Naming conflict: Change dynmatOutput value')
        return self._getCmdLine('dynmat.x', 'dynmatInput', 'dynmatOutput')

    def name(self):
        return 'dynmat.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)
示例#3
0
class DOSTask(QETask):
    def __init__(self, filename = None,configString = None, cleanOutDir = False,\
                                                            sectionName = None):
        QETask.__init__(self, filename, configString, cleanOutDir)

        self.setSerial()

        configDic = {
        'dosInput' : 'dos.in',
        'dosOutput': 'dos.out',
        #'dosfldos' : None
        }

        # QE input file's path containing variables' defaults (will be moved to
        # QE input parser)
        self._path_defaults = {
        'fldos': 'fldos.dos',
        'outdir': './',
        'prefix': 'pwscf',
        }
        
        if sectionName == None:
            name = self.name()
        else:
            name = sectionName

        self.setting.section(name, configDic)
        self.input = QEInput(self.setting.get('dosInput'), type = 'dos')
        self.output = QEOutput(self.setting, type='dos')
#        self._cmdStr = self.setting.paraPrefix + " dos.x " +  \
#                       " -inp " + \
#                       self.setting.dosInput + " > " + \
#                       self.setting.dosOutput + "< /dev/null"


    def cmdLine(self):
        return self._getCmdLine('dos.x', 'dosInput', 'dosOutput')


    def name(self):
        return 'dos.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, 'inputpp', varName, \
                                                self.input, self._path_defaults)
示例#4
0
class Q2RTask(QETask):
    def __init__(self, filename = None,configString = None, cleanOutDir = False,\
                                                            sectionName = None):
        QETask.__init__(self, filename, configString, cleanOutDir)

        self.setSerial()

        configDic = {
            'q2rInput': 'q2r.in',
            'q2rOutput': 'q2r.out',
            #        'fildyn': None,
            #        'flfrc': None
        }

        # QE input file's path containing variables' defaults (will be moved to
        # QE input parser)
        self._path_defaults = {
            'fildyn': None,
            'flfrc': None,
        }

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

        self.setting.section(name, configDic)

        self.input = QEInput(filename=self.setting.get('q2rInput'), type='q2r')
        self.output = QEOutput(self.setting, type='q2r')
        #self._cmdStr = "q2r.x < " + self.setting.q2rInput + " > " + \
        #                self.setting.q2rOutput

    def cmdLine(self):
        return self._getCmdLine('q2r.x', 'q2rInput', 'q2rOutput')

    def name(self):
        return 'q2r.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)