Ejemplo n.º 1
0
 def __init__(self,
              generator,
              name=None,
              run=True,
              gtxt='-',
              non_relativistic_guess=False,
              xc='PBE'):
     if isinstance(generator, str):  # treat 'generator' as symbol
         generator = Generator(generator,
                               scalarrel=True,
                               xcname=xc,
                               txt=gtxt,
                               nofiles=True)
         generator.N *= 4
     self.generator = generator
     self.rgd = AERadialGridDescriptor(generator.beta,
                                       generator.N,
                                       default_spline_points=100)
     self.name = name
     if run:
         if non_relativistic_guess:
             ae0 = AllElectron(generator.symbol,
                               scalarrel=False,
                               nofiles=False,
                               txt=gtxt,
                               xcname=xc)
             ae0.N = generator.N
             ae0.beta = generator.beta
             ae0.run()
             # Now files will be stored such that they can
             # automagically be used by the next run()
         generator.run(write_xml=False,
                       use_restart_file=False,
                       **parameters[generator.symbol])
Ejemplo n.º 2
0
    def __init__(self,
                 generator,
                 name=None,
                 run=True,
                 gtxt='-',
                 non_relativistic_guess=False,
                 xc='PBE',
                 save_setup=False):

        if isinstance(generator, str):  # treat 'generator' as symbol
            generator = Generator(generator,
                                  scalarrel=True,
                                  xcname=xc,
                                  txt=gtxt,
                                  nofiles=True)
            generator.N *= 4
        self.generator = generator
        self.rgd = AERadialGridDescriptor(generator.beta / generator.N,
                                          1.0 / generator.N,
                                          generator.N,
                                          default_spline_points=100)
        self.name = name

        if run:
            if non_relativistic_guess:
                ae0 = AllElectron(generator.symbol,
                                  scalarrel=False,
                                  nofiles=False,
                                  txt=gtxt,
                                  xcname=xc)
                ae0.N = generator.N
                ae0.beta = generator.beta
                ae0.run()
                # Now files will be stored such that they can
                # automagically be used by the next run()
            setup = generator.run(write_xml=False,
                                  use_restart_file=False,
                                  name=name,
                                  **parameters[generator.symbol])

            if save_setup:
                setup.write_xml()
        else:
            if save_setup:
                raise ValueError('cannot save setup here because setup '
                                 'was already generated before basis '
                                 'generation.')
Ejemplo n.º 3
0
Archivo: basis.py Proyecto: qsnake/gpaw
 def __init__(self, generator, name=None, run=True, gtxt='-',
              non_relativistic_guess=False, xc='PBE'):
     if isinstance(generator, str): # treat 'generator' as symbol
         generator = Generator(generator, scalarrel=True,
                               xcname=xc, txt=gtxt,
                               nofiles=True)
         generator.N *= 4
     self.generator = generator
     self.rgd = AERadialGridDescriptor(generator.beta, generator.N,
                                       default_spline_points=100)
     self.name = name
     if run:
         if non_relativistic_guess:
             ae0 = AllElectron(generator.symbol, scalarrel=False,
                               nofiles=False, txt=gtxt, xcname=xc)
             ae0.N = generator.N
             ae0.beta = generator.beta
             ae0.run()
             # Now files will be stored such that they can
             # automagically be used by the next run()
         generator.run(write_xml=False, use_restart_file=False,
                       **parameters[generator.symbol])