Пример #1
0
    def __init__(self, parameters=None):
        """BEE2.

        parameters: array
            [transformation,0.0,[orders],[coefs]].

        """

        if parameters is None:
            parameters = ([4.0, 0.0] + list(range(30)) + [
                1.516501714304992365356, 0.441353209874497942611,
                -0.091821352411060291887, -0.023527543314744041314,
                0.034188284548603550816, 0.002411870075717384172,
                -0.014163813515916020766, 0.000697589558149178113,
                0.009859205136982565273, -0.006737855050935187551,
                -0.001573330824338589097, 0.005036146253345903309,
                -0.002569472452841069059, -0.000987495397608761146,
                0.002033722894696920677, -0.000801871884834044583,
                -0.000668807872347525591, 0.001030936331268264214,
                -0.000367383865990214423, -0.000421363539352619543,
                0.000576160799160517858, -0.000083465037349510408,
                -0.000445844758523195788, 0.000460129009232047457,
                -0.000005231775398304339, -0.000423957047149510404,
                0.000375019067938866537, 0.000021149381251344578,
                -0.000190491156503997170, 0.000073843624209823442
            ])
        else:
            assert len(parameters) > 2
            assert np.mod(len(parameters), 2) == 0
            assert parameters[1] == 0.0

        parameters = np.array(parameters, dtype=float).ravel()
        self.xc = _gpaw.XCFunctional(17, parameters)
        self.type = 'GGA'
        self.name = 'BEE2'
Пример #2
0
 def __init__(self, name):
     self.name = name
     if name == 'LDA':
         self.type = 'LDA'
     else:
         self.type = 'GGA'
     self.xc = _gpaw.XCFunctional(codes[name])
Пример #3
0
 def __init__(self, name):
     self.name = name
     if name == 'LDA':
         self.type = 'LDA'
     elif name == 'TPSS' or name == 'M06L' or name == 'revTPSS':
         self.type = 'MGGA'
     else:
         self.type = 'GGA'
     self.xc = _gpaw.XCFunctional(codes[name])
Пример #4
0
 def __init__(self, parameters=None):
     if parameters is None:
         self.name = 'BEE1'
         parameters = [0.0, 1.0]
     else:
         self.name = 'BEE1?'
     parameters = np.array(parameters, dtype=float).ravel()
     self.xc = _gpaw.XCFunctional(18, parameters)
     self.type = 'GGA'