Пример #1
0
 def contains(cls, name):
     """ does this parameter class contain this value?
     """
     name = standard_case(name)
     names = pclass.all_values(cls)
     # names = [row for row in pclass.all_values(cls)]
     return name in names
Пример #2
0
def program_bases(prog):
    """ list the methods available for a given program
    """
    prog = standard_case(prog)
    return {
        row[0]: row[1][prog]
        for row in pclass.all_values(Basis) if prog in row[1]
    }
Пример #3
0
def program_methods_info(prog):
    """ list the methods available for a given program, with their information
    """
    prog = standard_case(prog)
    return {
        row[0]: row[1][prog]
        for row in pclass.all_values(Method) if prog in row[1]
    }
Пример #4
0
def program_methods_info(prog):
    """ List methods available for a given program, with their information.

        :param prog: electronic structure program name
        :type prog: str
        :rtype: dict[str: str]
    """
    prog = standard_case(prog)
    return {row[0]: row[1][prog] for row in pclass.all_values(Method)
            if prog in row[1]}
Пример #5
0
def program_bases(prog):
    """ List basis sets available for a given program.

        :param prog: electronic structure program name
        :type prog: str
        :rtype: dict[str: str]
    """
    prog = standard_case(prog)
    return {row[0]: row[1][prog] for row in pclass.all_values(Basis)
            if prog in row[1]}
Пример #6
0
    def contains(cls, name):
        """ Assess if provided basis set is a part of this class.

            :param cls: class object
            :type cls: obj
            :param name: name of basis set
            :type name: str
        """
        name = standard_case(name)
        names = [row[0] for row in pclass.all_values(cls)]
        return name in names
Пример #7
0
    def is_multiref(cls, name):
        """ Assess if a method is a multi-reference correlated method.

            :param cls: class object
            :type cls: obj
            :param name: name of method
            :type name: str
        """

        name = standard_case(name)
        multiref_names = [row[0] for row in pclass.all_values(cls.MultiRef)]

        return name in multiref_names
Пример #8
0
    def is_correlated(cls, name):
        """ Assess if a method is a single-reference correlated method.

            :param cls: class object
            :type cls: obj
            :param name: name of method
            :type name: str
        """

        name = standard_case(name)
        corr_names = [row[0] for row in pclass.all_values(cls.Corr)]

        return name in corr_names
Пример #9
0
    def is_standard_dft(cls, name):
        """ Assess if a method corresponds to a density functional
            currently defined in elstruct.

            :param cls: class object
            :type cls: obj
            :param name: name of method
            :type name: str
        """

        name = standard_case(name)
        dft_names = [row[0] for row in pclass.all_values(cls.Dft)]

        return name in dft_names
Пример #10
0
def programs():
    """ list the available electronic structure backend programs
    """
    return pclass.all_values(Program)
Пример #11
0
 def is_standard_dft(cls, name):
     """ is this a DFT method?
     """
     name = standard_case(name)
     dft_names = [row[0] for row in pclass.all_values(cls.Dft)]
     return name in dft_names
Пример #12
0
 def is_casscf(cls, name):
     """ is the method casscf or post-casscf?
     """
     name = standard_case(name)
     multiref_names = [row[0] for row in pclass.all_values(cls.MultiRef)]
     return Method.MultiRef.CASSCF in multiref_names
Пример #13
0
 def is_multiref(cls, name):
     """ is this a mulitreference method?
     """
     name = standard_case(name)
     multiref_names = [row[0] for row in pclass.all_values(cls.MultiRef)]
     return name in multiref_names
Пример #14
0
 def is_correlated(cls, name):
     """ is this a single-reference correlated method?
     """
     name = standard_case(name)
     corr_names = [row[0] for row in pclass.all_values(cls.Corr)]
     return name in corr_names
Пример #15
0
def programs():
    """ List all electronic structure backend programs that are supported.
    """
    print(pclass.all_values(Program))
    return pclass.all_values(Program)