def write_configuration_file(qoi_name,qoi_type,structures,target):
    qoidb = QoiDatabase()
    qoidb.add_qoi(
            qoi_name=qoi_name,
            qoi_type=qoi_type,
            structures=structures,
            target=target
        )
    
    potential = OrderedDict()
    potential['potential_type'] = 'buckingham'
    potential['symbols'] = ['Mg','O']
    potential['cutoff_global'] = 10.0
    
    structures = OrderedDict()
    structures['structure_directory'] = 'test_PypospackEngine'
    structures['structures'] = OrderedDict()
    structures['structures']['MgO_NaCl'] = 'MgO_NaCl_unit.gga.relax.vasp'
    
    configuration = PyposmatConfigurationFile()
    configuration.qois = qoidb.qois
    configuration.potential = potential
    configuration.structures = structures
    configuration.write(filename='pyposmat.config.in')
    MgO_qoi_constraints[qoi_name] = qoi_info['target'] * 0.20

# print out qoi performance constraints
print(80*'-')
print('{:^80}'.format('QOI PERFORMANCE CONSTRAINTS'))
print(80*'-')

for qoi_name, value in MgO_qoi_constraints.items():
    print('{:>20} {:>10}'.format(qoi_name,value))


MgO_structures = OrderedDict()
MgO_structures['structure_directory'] = 'test__PyposmatMonteCarloSampler'
MgO_structures['structures'] = OrderedDict()
MgO_structures['structures']['MgO_NaCl'] = 'MgO_NaCl_unit.gga.relax.vasp'
MgO_configuration = PyposmatConfigurationFile()
MgO_configuration.qois = MgO_qoi_db.qois
MgO_configuration.potential = MgO_potential
MgO_configuration.structures = MgO_structures
assert isinstance(MgO_configuration.configuration,OrderedDict)
MgO_configuration.write(filename='pypospack.config.in')
MgO_configuration.read(filename='pypospack.config.in')
# <---------------- end make configuration file

filename_in='pypospack.config.in'
filename_out='pypospack.results.out'
engine = PyposmatMonteCarloSampler(
        filename_in=filename_in,
        filename_out=filename_out)

# <---------------- printout for debugging purposes
Esempio n. 3
0
from pypospack.pyposmat import PyposmatConfigurationFile
from pypospack.pyposmat import QoiDatabase
from pypospack.qoi import QoiDatabase
from pypospack.io.filesystem import OrderedDictYAMLLoader
from pypospack.task.lammps import LammpsSimulationError
from pypospack.task.task_manager import PypospackTaskManagerError
import scipy.stats

import Ni__eam__morse_exp_universal as Ni_eam

filename_out = 'pypospack.results.out'

#------------------------------------------------------------------------------
# WRITE CONFIGURATION FILE
#------------------------------------------------------------------------------
Ni_eam_configuration = PyposmatConfigurationFile()
Ni_eam_configuration.qois = Ni_eam.Ni_qoi_db.qois
Ni_eam_configuration.potential = Ni_eam.Ni_eam_potential_formalism
Ni_eam_configuration.structures = Ni_eam.Ni_structure_db
Ni_eam_configuration.sampling_type = Ni_eam.Ni_eam_sampling
Ni_eam_configuration.sampling_distribution = Ni_eam.Ni_eam_parameter_distribution
Ni_eam_configuration.write(filename='pypospack.config.in')
Ni_eam_configuration.read(filename='pypospack.config.in')
# <---------------- end make configuration file

filename_in = 'pypospack.config.in'
filename_out = 'pypospack.results.out'
engine = PyposmatMonteCarloSampler(filename_in=filename_in,
                                   filename_out=filename_out)

# <---------------- printout for debugging purposes
Esempio n. 4
0
import os, shutil, sys
import numpy as np
from mpi4py import MPI
from pypospack.pyposmat import PyposmatConfigurationFile
from pypospack.pyposmat import PyposmatIterativeSampler
from pypospack.pyposmat import PyposmatDataFile
if __name__ == "__main__":
    import Ni__eam__morse_exp_fs as config

    #------------------------------------------------------------------------------
    # WRITE CONFIGURATION FILE
    #------------------------------------------------------------------------------
    configuration = PyposmatConfigurationFile()
    configuration.qois = config.qoi_db.qois
    configuration.qoi_constraints = config.qoi_constraints
    configuration.structures = config.structure_db
    configuration.potential = config.potential_formalism
    configuration.sampling_type = config.sampling
    configuration.sampling_distribution = config.parameter_distribution
    configuration.sampling_constraints = config.parameter_constraints
    configuration.write(filename='pypospack.config.in')
    configuration.read(filename='pypospack.config.in')

    import argparse
    arg_parser = argparse.ArgumentParser()
    arg_parser.add_argument('-i',
                            '--input',
                            type=str,
                            help="input file to be processed")
    args = vars(arg_parser.parse_args())
Esempio n. 5
0
MgO_structure_db['structure_directory'] = 'test__DefectFormationEnergy'
MgO_structure_db['structures'] = OrderedDict()
MgO_structure_db['structures']['MgO_NaCl'] = 'MgO_NaCl_unit.gga.relax.vasp'
MgO_structure_db['structures']['MgO_NaCl_fr_a'] = 'MgO_NaCl_fr_a.vasp'

print(80 * '-')
print('{:^80}'.format('STRUCTURE DATABASE'))
print(80 * '-')
print('Structure directory:{}'.format(MgO_structure_db['structure_directory']))
print(20 * '-' + ' ' + 59 * '-')
print('{:^20} {:^59}'.format('structure_name', 'structure_filename'))
print(20 * '-' + ' ' + 59 * '-')
for k, v in MgO_structure_db['structures'].items():
    print('{:<20} {:<59}'.format(k, v))

MgO_configuration = PyposmatConfigurationFile()
MgO_configuration.qois = MgO_qoi_db.qois
MgO_configuration.structures = MgO_structure_db

_qoi_name = 'MgO_NaCl_fr_a.defect_energy'
_structures = MgO_configuration.qois['MgO_NaCl.fr_a']['structures']
from pypospack.qoi import DefectFormationEnergy
qoi = DefectFormationEnergy(qoi_name=_qoi_name, structures=_structures)
qoi.determine_tasks()

print(80 * '-')
print('{:^80}'.format('TASKS DATABASE'))
print(80 * '-')
for k, v in qoi.tasks.items():
    tsk_name = k
    tsk_type = v['task_type']
Esempio n. 6
0
for qoi_name, value in Si_sw_qoi_constraints.items():
    print('{:>20} {:>10}'.format(qoi_name,value))


Si_sw_structures = OrderedDict()
Si_sw_structures['structure_directory'] = 'test__PyposmatMonteCarloSampler'
Si_sw_structures['structures'] = OrderedDict()
Si_sw_structures['structures']['Si'] = 'Si_dia_unit.vasp'
Si_sw_structures['structures']['Si_vac'] = 'Si_vac_333.vasp'


#------------------------------------------------------------------------------
# WRITE CONFIGURATION FILE
#------------------------------------------------------------------------------
Si_sw_configuration = PyposmatConfigurationFile()
Si_sw_configuration.qois = Si_sw_qoi_db.qois
Si_sw_configuration.potential = Si_sw_potential
Si_sw_configuration.structures = Si_sw_structures
Si_sw_configuration.sampling_type  = sampling
Si_sw_configuration.sampling_distribution = Si_sw_param_dist
Si_sw_configuration.write(filename='pypospack.config.in')
Si_sw_configuration.read(filename='pypospack.config.in')
# <---------------- end make configuration file

filename_in='pypospack.config.in'
filename_out='pypospack.results.out'
engine = PyposmatMonteCarloSampler(
        filename_in=filename_in,
        filename_out=filename_out)
for qoi_name, qoi_info in MgO_qoi_db.qois.items():
    MgO_qoi_constraints[qoi_name] = qoi_info['target'] * 0.20

# print out qoi performance constraints
print(80 * '-')
print('{:^80}'.format('QOI PERFORMANCE CONSTRAINTS'))
print(80 * '-')

for qoi_name, value in MgO_qoi_constraints.items():
    print('{:>20} {:>10}'.format(qoi_name, value))

MgO_structures = OrderedDict()
MgO_structures['structure_directory'] = 'test__PyposmatMonteCarloSampler'
MgO_structures['structures'] = OrderedDict()
MgO_structures['structures']['MgO_NaCl'] = 'MgO_NaCl_unit.gga.relax.vasp'
MgO_configuration = PyposmatConfigurationFile()
MgO_configuration.qois = MgO_qoi_db.qois
MgO_configuration.potential = MgO_potential
MgO_configuration.structures = MgO_structures
MgO_configuration.parameter_distribution_definitions = MgO_param_dist
assert isinstance(MgO_configuration.configuration, OrderedDict)
MgO_configuration.write(filename='pypospack.config.in')
MgO_configuration.read(filename='pypospack.config.in')
# <---------------- end make configuration file

filename_in = 'pypospack.config.in'
filename_out = 'pypospack.results.out'
engine = PyposmatMonteCarloSampler(filename_in=filename_in,
                                   filename_out=filename_out)

# <---------------- printout for debugging purposes