Example #1
0
def get_taito_configs():
    scf_presub = '''
    module purge
    module load gcc
    module load openmpi
    module load openblas
    module load hdf5-serial
    '''

    pmc_presub = '''
    module purge
    module load gcc
    module load mkl
    module load intelmpi
    module load hdf5-par
    module load fftw
    module load boost
    module load cmake   
    '''

    qe = 'pw.x'
    qe2 = 'qmcpack_taito_cpu_cpu_comp_SoA'
    # 4 processes
    scf = job(cores=4, minutes=30, user_env=False, presub=scf_presub, app=qe)
    # 24 processes (1 node = 24 processors at taito)
    #scf  = job(nodes=1,hours=1,user_env=False,presub=scf_presub,app=qe)
    vmc = job(cores=16,
              minutes=10,
              user_env + False,
              presub=qmc_presub,
              qpp=qe2)

    jobs = {'scf': scf, 'vmc': vmc}

    return jobs
Example #2
0
def get_taito_configs():
    scf_presub = '''
    module purge
    module load gcc
    module load openmpi
    module load openblas
    module load hdf5-serial
    '''
    qmc_presub = '''
    module purge
    module load gcc
    module load mkl
    module load intelmpi
    module load hdf5-par
    module load fftw
    module load boost
    module load cmake
    '''

    qe = 'pw.x'
    qe2 = 'qmcpack.x'
    qe3 = 'pw2qmcpack.x'

    # 4 processes
    scf = job(cores=16, minutes=30, user_env=False, presub=scf_presub, app=qe)
    # 24 processes (1 node = 24 processors at taito)
    #scf  = job(nodes=1,hours=1,user_env=False,presub=scf_presub,app=qe)
    qmc = job(cores=16,
              minutes=30,
              threads=4,
              user_env=False,
              presurb=scf_presub,
              app=qe2)
    conv = job(cores=1, minutes=30, user_env=False, presub=scf_presub, app=qe3)

    jobs = {'scf': scf, 'qmc': qmc, 'conv': conv}

    return jobs
Example #3
0
def get_puhti_configs():
    # remember to load the modules used in compiling the code
    # these are needed in running the code
    scf_presub = '''
module load intel/19.0.4
module load hpcx-mpi/2.4.0
module load intel-mkl/2019.0.4
module load StdEnv
module load hdf5/1.10.4
    '''
    # what modules are needed for qmcpack
    qmc_presub = '''
    '''

    # application that performs the calculations
    qe_app='pw.x'
    conv_app='pw2qmcpack.x'
    qmc_app='qmcpack'

    # csc queue
    # https://docs.csc.fi/computing/running/batch-job-partitions/
    csc_queue = 'small' # test, small, large, ...

    # define jobs
    # 4 processes for scf, 1 for conv, 20 for vmc, 20 for optim, 20 for dmc
    scf  = job(cores=4,minutes=10,user_env=False,presub=scf_presub,app=qe_app,queue=csc_queue)
    conv = job(cores=1,minutes=10,user_env=False,presub=scf_presub,app=conv_app,queue=csc_queue)
    vmc  = job(cores=20,minutes=10,user_env=False,presub=qmc_presub,app=qmc_app,queue=csc_queue)
    optim  = job(cores=20,minutes=10,user_env=False,presub=qmc_presub,app=qmc_app,queue=csc_queue)
    dmc  = job(cores=20,minutes=20,user_env=False,presub=qmc_presub,app=qmc_app,queue=csc_queue)

    # 40 processes (1 node = 40 processors at Puhti)
    #scf  = job(nodes=1,hours=1,user_env=False,presub=scf_presub,app=qe,queue=csc_queue)
    
    jobs = {'scf' : scf, 'conv': conv, 'vmc': vmc, 'optim': optim, 'dmc': dmc}

    return jobs
Example #4
0
def get_taito_configs():
    scf_presub = '''
    module purge
    module load gcc
    module load openmpi
    module load openblas
    module load hdf5-serial
    '''

    qe = 'pw.x'
    # 4 processes
    scf = job(cores=4, minutes=30, user_env=False, presub=scf_presub, app=qe)
    # 24 processes (1 node = 24 processors at taito)
    #scf  = job(nodes=1,hours=1,user_env=False,presub=scf_presub,app=qe)

    jobs = {'scf': scf}

    return jobs
Example #5
0
# allow max of one job at a time (lab only)
vesta = get_machine('vesta')
vesta.queue_size = 1

# locations of pwscf, pw2qmcpack and qmcpack executables
pwscf = '/soft/applications/qmcpack/Binaries/pw.x'
pw2qmcpack = '/soft/applications/qmcpack/Binaries/pw2qmcpack.x'
qmcpack = '/soft/applications/qmcpack/Binaries/qmcpack'

# run directory and pseudopotentials
directory = 'bcc-beryllium'  # directory to perform runs
dft_pps = ['Be.ncpp']  # pwscf pseudopotentials
qmc_pps = ['Be.xml']  # qmcpack pseudopotentials

# job details
dft_job = job(cores=16, hours=2, queue="qmcpack", app=pwscf)
p2q_job = job(cores=1, hours=2, queue="qmcpack", app=pw2qmcpack)
qmc_job = job(nodes=32, hours=2, threads=16, queue="qmcpack", app=qmcpack)

# specify k-point grids
kgrids = [(2, 2, 2), (3, 3, 3)]

sims = []
first = True
for kgrid in kgrids:
    ks = '{0}{1}{2}'.format(*kgrid)

    # create conventional cell tiled from primitive one
    bcc_Be = generate_physical_system(lattice='cubic',
                                      cell='primitive',
                                      centering='I',
Example #6
0
    axes     = '''1.785   1.785   0.000
                  0.000   1.785   1.785
                  1.785   0.000   1.785''',
    elem_pos = '''
               C  0.0000  0.0000  0.0000
               C  0.8925  0.8925  0.8925
               ''',
    kgrid    = (1,1,1),
    kshift   = (0,0,0),
    C        = 4,
    )

scf = generate_pyscf(
    identifier = 'scf',                      # log output goes to scf.out
    path       = 'diamond_pp_dft_gamma',     # directory to run in
    job        = job(serial=True,threads=16),# pyscf must run w/o mpi
    template   = './dft_template.py',        # pyscf template file
    system     = system,
    cell       = obj(                        # used to make Cell() inputs
        basis         = 'bfd-vdz',
        ecp           = 'bfd',
        drop_exponent = 0.1,
        verbose       = 5,
        ),
    save_qmc   = True,                # save wfn data for qmcpack
    )

c4q = generate_convert4qmc(
    identifier   = 'c4q',
    path         = 'diamond_pp_dft_gamma',
    job          = job(cores=1),
Example #7
0
from nexus import settings,job,run_project
from nexus import generate_physical_system
from nexus import generate_pwscf
from nexus import generate_pw2qmcpack
from nexus import generate_qmcpack,vmc

settings(
    pseudo_dir    = './pseudopotentials',
    status_only   = 0,
    generate_only = 1,
    sleep         = .3,
    machine       = 'oic5'
    )

if settings.machine=='ws16':
    scf_job  = job(cores=16,app='pw.x')
    conv_job = job(cores=1,app='pw2qmcpack.x')
    qmc_job  = job(cores=16,threads=4,app='qmcpack')
elif settings.machine=='oic5':
    pwscf_modules = '''
module ()
{
    eval `/opt/modules/3.1.6/bin/modulecmd bash $*`
}
module purge
module load mpi/openmpi-1.4.5-pgi
module load PGI/2013-64bit
module load composerxe/2013.5.192
module load hdf5/1.8.8-pgi-parallel
'''
    qmcpack_modules = '''
Example #8
0
# allow max of one job at a time (lab only)
vesta = get_machine('vesta')
vesta.queue_size = 1

# locations of pwscf, pw2qmcpack and qmcpack executables
pwscf = '/soft/applications/qmcpack/Binaries/pw.x'
pw2qmcpack = '/soft/applications/qmcpack/Binaries/pw2qmcpack.x'
qmcpack = '/soft/applications/qmcpack/Binaries/qmcpack_comp'

# run directory and pseudopotentials
directory = 'bcc-beryllium'  # directory to perform runs
dft_pps = ['Be.ncpp']  # pwscf pseudopotentials
qmc_pps = ['Be.xml']  # qmcpack pseudopotentials

# job details
dft_job = job(cores=16, minutes=10, queue="qmcpack", app=pwscf)
p2q_job = job(cores=1, minutes=10, queue="qmcpack", app=pw2qmcpack)
qmc_job = job(nodes=32, minutes=10, threads=16, queue="qmcpack", app=qmcpack)

# specify k-point grids
kgrids = [(2, 2, 2), (3, 3, 3)]

sims = []
first = True
for kgrid in kgrids:
    ks = '{0}{1}{2}'.format(*kgrid)

    # create conventional cell tiled from primitive one
    bcc_Be = generate_physical_system(lattice='cubic',
                                      cell='primitive',
                                      centering='I',
Example #9
0
                  1.785   0.000   1.785''',
    elem_pos = '''
               C  0.0000  0.0000  0.0000
               C  0.8925  0.8925  0.8925
               ''',
    tiling   = (2,1,1),
    kgrid    = (1,1,1),
    kshift   = (0,0,0),
    C        = 4,
    )
system.change_units('B') # currently a bug in pyscf with A units

scf = generate_pyscf(
    identifier = 'scf',                      # log output goes to scf.out
    path       = 'diamond/scf',              # directory to run in
    job        = job(serial=True,threads=16),# pyscf must run w/o mpi
    template   = './scf_template.py',        # pyscf template file
    system     = system,
    cell       = obj(                        # used to make Cell() inputs
        basis         = 'bfd-vdz',
        ecp           = 'bfd',
        drop_exponent = 0.1,
        verbose       = 5,
        ),
    save_qmc   = True,                # save wfn data for qmcpack
    )

c4q = generate_convert4qmc(
    identifier   = 'c4q',
    path         = 'diamond/scf',
    job          = job(cores=1),
Example #10
0
from nexus import generate_quantum_package

# note: you must source the QP config file before running this script
#   source /your/path/to/quantum_package.rc

settings(
    results       = '',
    status_only   = 0,
    generate_only = 0,
    sleep         = 3,
    machine       = 'ws12',
    qprc          = \
'/home/j1k/apps/quantum_package/qp2-2.0.0-beta/quantum_package.rc',
    )

scf_job = job(cores=12, threads=12)

system = generate_physical_system(structure='H2O.xyz', )

scf = generate_quantum_package(
    identifier='hf',  # log output goes to hf.out
    path='h2o_ae_hf',  # directory to run in
    job=scf_job,
    system=system,
    prefix='h2o',  # create/use h2o.ezfio
    run_type='scf',  # qprun scf h2o.ezfio
    ao_basis='cc-pvtz',  # use cc-pvtz basis
)

run_project()
Example #11
0
from nexus import generate_physical_system
from nexus import generate_quantum_package

# note: you must source the QP config file before running this script
#   source /home/ubuntu/apps/qp2/quantum_package.rc

settings(
    results='',
    status_only=0,
    generate_only=0,
    sleep=3,
    machine='ws16',
    qprc='/home/ubuntu/apps/qp2/quantum_package.rc',
)

scf_job = job(cores=16, threads=16)

system = generate_physical_system(structure='H2O.xyz', )

scf = generate_quantum_package(
    identifier='hf',  # log output goes to hf.out
    path='h2o_ae_hf',  # directory to run in
    job=scf_job,
    system=system,
    prefix='h2o',  # create/use h2o.ezfio
    run_type='scf',  # qprun scf h2o.ezfio
    ao_basis='cc-pvtz',  # use cc-pvtz basis
)

run_project()
Example #12
0
settings(
    pseudo_dir='./pseudopotentials',
    results='',
    status_only=0,
    generate_only=0,
    sleep=3,
    machine='ws16',
    #machine       = 'eos',
    #account       = 'mat151',
)

on_desktop = settings.machine == 'ws16'
on_cluster = settings.machine == 'eos'

if on_desktop:
    scf_job = job(cores=16, app='pw.x')
    conv_job = job(cores=1, app='pw2qmcpack.x')
    qmc_job = job(cores=1)  # fake/placeholder job
elif on_cluster:
    scf_job = job(nodes=1)  # fake/placeholder job
    conv_job = job(nodes=1)  # fake/placeholder job
    modules = '''
source $MODULESHOME/init/bash
if (echo $LOADEDMODULES | grep -q pgi)
then
module unload PrgEnv-pgi
fi
if (echo $LOADEDMODULES | grep -q gnu)
then
module unload PrgEnv-gnu
fi
Example #13
0
                 [ 0.   ,  1.785,  1.785],
                 [ 1.785,  0.   ,  1.785]],
    elem      = ['C','C'],
    pos       = [[ 0.    ,  0.    ,  0.    ],
                 [ 0.8925,  0.8925,  0.8925]],
    use_prim  = True,    # Use SeeK-path library to identify prim cell
    tiling    = [3,1,3], # Tile the cell
    kgrid     = (1,1,1), 
    kshift    = (0,0,0), # Assumes we study transitions from Gamma. For non-gamma tilings, use kshift appropriately
    C         = 4
    )

scf = generate_pwscf(
    identifier   = 'scf',
    path         = 'scf',
    job          = job(cores=16,app='pw.x'),
    input_type   = 'generic',
    calculation  = 'scf',
    nspin        = 2,
    input_dft    = 'lda', 
    ecutwfc      = 200,   
    conv_thr     = 1e-8, 
    nosym        = False,
    wf_collect   = False,
    system       = dia,
    kgrid        = (4,4,4),
    kshift       = (0,0,0),
    tot_magnetization = 0,
    pseudos      = ['C.BFD.upf'], 
    )
Example #14
0
    generate_only   = 0,
    status_only     = 0,
    machine         = 'ws1',
    )

# Executables (Indicate Path If Needed)
pwscf               = 'pw.x'
pw2qmcpack          = 'pw2qmcpack.x'
qmcpack             = 'qmcpack'

# Pseudopotentials
dft_pps             = ['Li.TN-DF.upf','H.TN-DF.upf']
qmc_pps             = ['Li.pp.data','H.pp.data']

# job Definitions (MPI Tasks, MP Threading, PBS Queue, Time, etc.)
scf_job             = job(app=pwscf,serial=True)
nscf_job            = job(app=pwscf,serial=True)
p2q_job             = job(app=pw2qmcpack,serial=True)
opt_job             = job(threads=4,app=qmcpack,serial=True)
dmc_job             = job(threads=4,app=qmcpack,serial=True)

# System To Be Simulated
rocksalt_LiH = generate_physical_system(
    lattice         = 'cubic',
    cell            = 'primitive',
    centering       = 'F',
    atoms           = ('Li','H'),
    basis           = [[0.0,0.0,0.0],
                       [0.5,0.5,0.5]],
    basis_vectors   = 'conventional',
    constants       = 7.1,
Example #15
0
                  0.000   1.785   1.785
                  1.785   0.000   1.785''',
    elem_pos='''
               C  0.0000  0.0000  0.0000
               C  0.8925  0.8925  0.8925
               ''',
    tiling=[[1, -1, 1], [1, 1, -1], [-1, 1, 1]],
    kgrid=(1, 1, 1),
    kshift=(0, 0, 0),
    C=4,
)

scf = generate_pwscf(
    identifier='scf',
    path='diamond/scf',
    job=job(cores=16, app='pw.x'),
    input_type='generic',
    calculation='scf',
    input_dft='lda',
    ecutwfc=200,
    conv_thr=1e-8,
    system=system,
    pseudos=['C.BFD.upf'],
    kgrid=(4, 4, 4),
    kshift=(0, 0, 0),
)

nscf = generate_pwscf(
    identifier='nscf',
    path='diamond/nscf',
    job=job(cores=16, app='pw.x'),
Example #16
0
# allow max of one job at a time (lab only)
vesta = get_machine('vesta')
vesta.queue_size = 1

# locations of pwscf, pw2qmcpack and qmcpack executables
pwscf = '/soft/applications/qmcpack/Binaries/pw.x'
pw2qmcpack = '/soft/applications/qmcpack/Binaries/pw2qmcpack.x'
qmcpack = '/soft/applications/qmcpack/Binaries/qmcpack'

# run directory and pseudopotentials
directory = 'graphene'  # directory to perform runs
dft_pps = ['C.BFD.upf']  # pwscf pseudopotentials
qmc_pps = ['C.BFD.xml']  # qmcpack pseudopotentials

# job details
dft_job = job(nodes=1, minutes=20, queue="qmcpack", app=pwscf)
p2q_job = job(cores=1, minutes=20, queue="qmcpack", app=pw2qmcpack)
qmc_job = job(nodes=32, minutes=20, threads=16, queue="qmcpack", app=qmcpack)

# create 2 atom sheet of graphene
graphene = generate_physical_system(
    axes=[[9.30501148, 0.00000000, 0.0000000],
          [-4.6525058, 8.05837632, 0.0000000],
          [0.00000000, 0.00000000, 15.0000000]],
    elem=['C', 'C', 'C', 'C', 'C', 'C', 'C', 'C'],
    pos=[[0.00000000, 0.00000000, 7.50000000],
         [2.32625287, 1.34306272, 7.50000000],
         [4.65250574, 0.00000000, 7.50000000],
         [6.97875861, 1.34306272, 7.50000000],
         [-2.32625290, 4.02918816, 7.50000000],
         [-0.00000003, 5.37225088, 7.50000000],
Example #17
0
         generate_only=0,
         sleep=3,
         machine='oic5')

# vasp job information
modules = '''
module ()
{
    eval `/opt/modules/3.1.6/bin/modulecmd bash $*`
}
module purge
module load composerxe/2011.10.319
module load mpi/openmpi-1.4.5-intel
'''
vasp = '/home/j1k/apps/vasp/vasp53/5.3.3/vasp.oic_opt'
vjob = job(nodes=2, hours=2, presub=modules, user_env=False, app=vasp)

# vasp inputs used by all runs
shared_inputs = obj(
    encut=550,
    ediff=1e-8,
    algo='Normal',
    nelm=400,
    nwrite=2,
    prec='Accurate',
    ismear=-5,
    lwave=False,
    lcharg=False,
    lreal='.FALSE.',
    nbands=200,
    ispin=2,
Example #18
0
         machine='ws16')

dia16 = generate_physical_system(units='A',
                                 axes=[[1.785, 1.785, 0.], [0., 1.785, 1.785],
                                       [1.785, 0., 1.785]],
                                 elem=['C', 'C'],
                                 pos=[[0., 0., 0.], [0.8925, 0.8925, 0.8925]],
                                 tiling=(2, 2, 2),
                                 kgrid=(1, 1, 1),
                                 kshift=(0, 0, 0),
                                 C=4)

scf = generate_pwscf(
    identifier='scf',
    path='diamond/scf',
    job=job(cores=12, app='pw.x'),
    input_type='generic',
    calculation='scf',
    input_dft='lda',
    ecutwfc=200,
    conv_thr=1e-8,
    nosym=True,
    wf_collect=True,
    system=dia16,
    pseudos=['C.BFD.upf'],
)

conv = generate_pw2qmcpack(
    identifier='conv',
    path='diamond/scf',
    job=job(cores=1, app='pw2qmcpack.x'),
Example #19
0
supercell_kgrids = [
    (1, 1, 1),  #   1 k-point
    (2, 2, 2),  #   8 k-points
    (4, 4, 4),  #  64 k-points
    (6, 6, 6)
]  # 216 k-points

# describe the relaxation calculations
# and link them together into a simulation cascade
relaxations = []  # list of relax simulation objects
for kgrid in supercell_kgrids:  # loop over supercell kgrids
    relax = generate_pwscf(  # make each relax simulation
        identifier='relax',  # file prefix
        # run directory
        path='relax/kgrid_{0}{1}{2}'.format(*kgrid),
        job=job(cores=16),  # will run with mpirun -np 16
        input_type='relax',  # this is a relax calculation
        input_dft='pbe',  # PBE functional
        ecut=50,  # 50 Ry planewave cutoff
        conv_thr=1e-6,  # convergence threshold
        kgrid=kgrid,  # supercell k-point grid
        kshift=(1, 1, 1),  # grid centered at supercell L point
        pseudos=['Ge.pbe-kjpaw.UPF'],  # PBE pseudopotential
        system=T_system,  # the interstitial system
    )
    # link together the simulation cascade
    #   current relax gets structure from previous
    if len(relaxations) > 0:  #   if it exists
        relax.depends(relaxations[-1], 'structure')
    #end if
    relaxations.append(relax)  # add relax simulation to the list
Example #20
0
'''

system = generate_physical_system(
    structure = 'geom.xyz',
    Be         = 2,                    # Zeff=7 for ccECP
    H          = 1,
    net_spin   = 0,   # 2S
    net_charge = 0,
    )

sims = []
# perform Hartree-Fock
scf = generate_pyscf(
    identifier = 'scf',               # log output goes to scf.out
    path       = 'scf',            # directory to run in
    job          = job(serial=True, nodes=4, queue='debug', hours=0.5, constraint='knl', presub=scf_presub),
    #job        = job(serial=True, nodes=1, threads=4, presub=scf_presub),
    template   = 'scf_guess/scf_template.py', # pyscf template file
    system     = system,
    mole       = obj(                 # used to make Mole() inputs
        verbose  = 4,
        #symmetry = 'D2h',
        ),
    save_qmc   = True,                # save wfn data for qmcpack
    )
sims.append(scf)

#### convert orbitals to QMCPACK format
c4q = generate_convert4qmc(
    identifier   = 'c4q',
    path         = 'scf',
Example #21
0
#Standardized Primitive cell -- run rest of the calculations on this cell
dia2_structure = get_primitive_cell(structure=dia.structure)['structure']
dia2_kpath = get_kpath(structure=dia2_structure)
#get_band_tiling and get_kpath require "SeeK-path" python3 libraries

dia2 = generate_physical_system(
    structure=dia2_structure,
    kgrid=(4, 4, 4),
    kshift=(0, 0, 0),
    C=4,
)

scf = generate_pwscf(
    identifier='scf',
    path='diamond/scf',
    job=job(nodes=1, app='pw.x', hours=1),
    input_type='generic',
    calculation='scf',
    nspin=2,
    input_dft='lda',
    ecutwfc=200,
    conv_thr=1e-8,
    nosym=True,
    wf_collect=True,
    system=dia2,
    tot_magnetization=0,
    pseudos=['C.BFD.upf'],
)
#K-path of the standardized primitive cell
dia2_structure.clear_kpoints()
dia2_kpts = generate_physical_system(
Example #22
0
                 [ 0.   ,  1.785,  1.785],
                 [ 1.785,  0.   ,  1.785]],
    elem      = ['C','C'],
    pos       = [[ 0.    ,  0.    ,  0.    ],
                 [ 0.8925,  0.8925,  0.8925]],
    use_prim  = True,    # Use SeeK-path library to identify prim cell
    tiling    = [3,1,3], # Tile the cell
    kgrid     = (1,1,1), 
    kshift    = (0,0,0), # Assumes we study transitions from Gamma. For non-gamma tilings, use kshift appropriately
    C         = 4
    )

scf = generate_pwscf(
    identifier   = 'scf',
    path         = 'scf',
    job          = job(cores=16,app='pw.x'),
    input_type   = 'generic',
    calculation  = 'scf',
    nspin        = 2,
    input_dft    = 'lda', 
    ecutwfc      = 200,   
    conv_thr     = 1e-8, 
    nosym        = False,
    wf_collect   = False,
    system       = dia,
    kgrid        = (4,4,4),
    kshift       = (0,0,0),
    tot_magnetization = 0,
    pseudos      = ['C.BFD.upf'], 
    )
Example #23
0
    units     = 'A',              # in Angstrom
    atoms     = ('C','C'),        # C primitive atoms
    basis     = [[ 0  , 0  , 0],  # basis vectors
                 [2./3,1./3, 0]],
    tiling    = (2,2,1),          # tiling of primitive cell
    kgrid     = (1,1,1),          # Monkhorst-Pack grid
    kshift    = (.5,.5,.5),       # and shift
    C         = 4                 # C has 4 valence electrons
    ) 

# scf run produces charge density
scf = generate_pwscf(
    # nexus inputs
    identifier   = 'scf',           # identifier/file prefix
    path         = 'graphene/scf',  # directory for scf run
    job          = job(cores=16),   # run on 16 cores
    pseudos      = ['C.BFD.upf'],   # pwscf PP file
    system       = graphene,        # run graphene
    # input format selector
    input_type   = 'scf',           # scf, nscf, relax, or generic
    # pwscf input parameters
    input_dft    = 'lda',           # dft functional
    ecut         =  150 ,           # planewave energy cutoff (Ry)
    conv_thr     =  1e-6,           # scf convergence threshold (Ry)
    mixing_beta  =    .7,           # charge mixing factor
    kgrid        = (8,8,8),         # MP grid of primitive cell
    kshift       = (1,1,1),         #  to converge charge density
    wf_collect   = False,           # don't collect orbitals
    use_folded   = True,            # use primitive rep of graphene
    )
Example #24
0
#! /usr/bin/env python

from nexus import settings,job,run_project,obj
from nexus import generate_physical_system
from nexus import generate_pyscf

settings(
    results = '',
    sleep   = 3,
    machine = 'ws16',
    )

system = generate_physical_system(
    structure = 'H2O.xyz',
    )

scf = generate_pyscf(
    identifier = 'scf',               # log output goes to scf.out
    path       = 'h2o_ae_hf',         # directory to run in
    job        = job(serial=True),    # pyscf must run serially         
    template   = './scf_template.py', # pyscf template file
    system     = system,
    mole       = obj(                 # used to make Mole() inputs
        basis    = 'ccpvtz',
        symmetry = True,
        ),
    )

run_project()
Example #25
0
# Nexus settings
settings(
    pseudo_dir='./pseudopotentials',
    runs='',
    results='',
    status_only=0,
    generate_only=0,
    sleep=3,
    #machine       = 'ws4',
    machine='vesta',
    account='QMCPACK-Training',
)

# specify job details
if settings.machine.startswith('ws'):  # running on workstation
    dftjob = job(cores=4, app='pw.x')
    p2qjob = job(cores=1, app='pw2qmcpack.x')
    qmcjob = job(cores=4, app='qmcpack')
else:  # running on Vesta
    appdir = '/soft/applications/qmcpack/Binaries/'
    dftjob = job(nodes=4,
                 threads=1,
                 hours=1,
                 queue='qmcpack',
                 app=appdir + 'pw.x')
    p2qjob = job(cores=1,
                 threads=1,
                 hours=1,
                 queue='qmcpack',
                 app=appdir + 'pw2qmcpack.x')
    qmcjob = job(nodes=32,
from nexus import generate_qmcpack

# note: you must source the QP config file before running this script
#   source /home/ubuntu/apps/qp2/quantum_package.rc

settings(
    results       = '',
    status_only   = 0,
    generate_only = 0,
    sleep         = 3,
    machine       = 'ws16',
    qprc          = '/home/ubuntu/apps/qp2/quantum_package.rc',
    )

# define run details
qp_job  = job(cores=16,threads=16)
c4q_job = job(cores=1)
qmc_job = job(cores=16,threads=16)

# read in structure for oxygen dimer
dimer = generate_physical_system(
    structure = './O2.xyz',
    net_spin  = 2,
    )

# path, job, system details are shared across runs
qp_shared = dict(
    path   = 'O_dimer/selci',
    job    = qp_job,
    system = dimer,
    prefix = 'fci', # single shared ezfio
Example #27
0
from nexus import settings,job,run_project,obj
from nexus import generate_physical_system
from nexus import generate_gamess

settings(
    pseudo_dir    = './pseudopotentials',
    results       = '',
    status_only   = 0,
    generate_only = 0,
    sleep         = 3,
    machine       = 'ws16',
    ericfmt       = '/your/path/to/ericfmt.dat'
    )

gms_job = job(cores=16,app='gamess.x')

h2o = generate_physical_system(
    # full atomic/electronic structure
    elem        = ['O','H','H'], 
    pos         = [[0.000000, 0.000000, 0.000000],
                   [0.000000,-0.757160, 0.586260],
                   [0.000000, 0.757160, 0.586260]],
    units       = 'A', # Angstroms
    net_spin    = 0,   # multiplicity=1, nup-ndown=0
    O           = 6,   # Zeff=6 for BFD ECP
    H           = 1,   # Zeff=1 for BFD ECP
    # C2v symmetry structure
    folded_elem = ['O','H'],     
    folded_pos  = [[0.000000, 0.000000, 0.000000],
                   [0.000000, 0.757160, 0.586260]],
Example #28
0
system = generate_physical_system(
    units='A',
    elem_pos='''
               C  0.00000000  0.00000000  0.00000000
               H  0.00000000  0.00000000  1.10850000
               H  1.04510382  0.00000000 -0.36950000
               H -0.52255191  0.90508646 -0.36950000
               H -0.52255191 -0.90508646 -0.36950000
               ''',
)

scf = generate_pyscf(
    identifier='scf',
    path='rhf',
    job=job(serial=True),
    template='./scf_template.py',
    system=system,
    mole=obj(basis='sto-3g', ),
    checkpoint=True,
)

p2a = generate_pyscf_to_afqmc(
    identifier='p2a',
    path='rhf',
    job=job(serial=True),
    cholesky_threshold=1e-5,
    verbose=True,
    dependencies=(scf, 'wavefunction'),
)
Example #29
0
#get_band_tiling requires "SeeK-path" python3 libraries

dia2 = generate_physical_system(
    structure=dia2_structure,
    kgrid=(1, 1, 1),
    kshift=(
        0, 0, 0
    ),  # Assumes we study transitions from Gamma. For non-gamma tilings, use kshift appropriately
    tiling=[3, 1, 3],
    C=4,
)

scf = generate_pwscf(
    identifier='scf',
    path='diamond/scf',
    job=job(nodes=1, app='pw.x', hours=1),
    input_type='generic',
    calculation='scf',
    nspin=2,
    input_dft='lda',
    ecutwfc=200,
    conv_thr=1e-8,
    nosym=True,
    wf_collect=True,
    system=dia2,
    tot_magnetization=0,
    pseudos=['C.BFD.upf'],
)

nscf = generate_pwscf(
    identifier='nscf',
Example #30
0
from nexus import generate_pyscf
from nexus import generate_convert4qmc
from nexus import generate_qmcpack

settings(
    results='',
    sleep=3,
    machine='ws16',
)

system = generate_physical_system(structure='H2O.xyz', )

scf = generate_pyscf(
    identifier='scf',  # log output goes to scf.out
    path='h2o_ae_hf',  # directory to run in
    job=job(serial=True),  # pyscf must run serially         
    template='./scf_template.py',  # pyscf template file
    system=system,
    mole=obj(  # used to make Mole() inputs
        verbose=5,
        basis='ccpvtz',
        symmetry=True,
    ),
    save_qmc=True,  # save wfn data for qmcpack
)

c4q = generate_convert4qmc(
    identifier='c4q',
    path='h2o_ae_hf',
    job=job(cores=1),
    no_jastrow=True,