#!/usr/bin/env python

# definition of CALCULATORS for qmx-setup
#
# Torsten Kerber, ENS LYON: 2011, 07, 11
#
# This work is supported by Award No. UK-C0017, made by King Abdullah
# University of Science and Technology (KAUST)

from qmxDEF import Definition

#-------------------------------------------------------------------------------
#--- PRG DEFINITIONS -----------------------------------------------------------
#-------------------------------------------------------------------------------
class VASPCalcDefinition(Definition):
    def __init__(self):
        self.name='VASP'
        self.keywords = {}
        self.keywords['import']='ase.calculators.vasp'
        self.keywords['class']='Vasp'
        self.keywords['class.options']='write_input=False'

#-------------------------------------------------------------------------------
class TURBOMOLECalcDefinition(Definition):
    def __init__(self):
        self.name='TURBOMOLE'
        self.keywords = {}
        self.keywords['import']='ase.calculators.turbomole'
        self.keywords['class']='Turbomole'

#-------------------------------------------------------------------------------
class MOPACCalcDefinition(Definition):
    def __init__(self):
        self.name='MOPAC'
        self.keywords = {}
        self.keywords['import']='ase.calculators.mopac'
        self.keywords['class']='Mopac'
        self.keywords['class.options']='functional="PM6"'

#-------------------------------------------------------------------------------
class QmxCalcDefinition(Definition):
    def __init__(self):
        self.name='QMX'
        self.system='Qmx'
        self.keywords = {}
        self.keywords['import']='ase.calculators.qmx'
        self.keywords['class']='Qmx'
        self.keywords['class.options']='high_level, low_level'

#-------------------------------------------------------------------------------
calcDefinitions = [VASPCalcDefinition(), TURBOMOLECalcDefinition(), MOPACCalcDefinition()]
