コード例 #1
0
def test__send_results_to_the_qoi_manager():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
    engine.task_manager.evaluate_tasks(
        parameters=parameters, potential=engine.configuration.potential)
    engine.qoi_manager.calculate_qois(task_results=engine.task_manager.results)
コード例 #2
0
def test__read_configuration_file():
    engine = PyposmatEngine(filename_in=_pyposmat_config_fn,
                            filename_out='pyposmat.config.out')
    engine.read_configuration_file()

    assert isinstance(engine.configuration, PyposmatConfigurationFile)
    assert engine.configuration.qois is not None
コード例 #3
0
def test__create_base_directories():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.create_base_directories()

    assert all([os.path.isdir(d) for d in simulation_directories])

    cleanup_simulation_directories()
コード例 #4
0
def test__configure():
    # this test are the submethods in the configure() method
    engine = PyposmatEngine(filename_in=_pyposmat_config_fn,
                            filename_out='pyposmat.config.out')
    engine.create_base_directories()
    engine.read_configuration_file()
    engine.configure_qoi_manager()
    engine.configure_task_manager()
コード例 #5
0
def test__initialize_w_filenames():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()

    for d in simulation_directories:
        assert os.path.isdir(d)

    cleanup_simulation_directories()
コード例 #6
0
def test__read_configuration_file():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.create_base_directories()
    engine.read_configuration_file()

    from pypospack.pyposmat.data import PyposmatConfigurationFile
    assert type(engine.configuration) is PyposmatConfigurationFile

    cleanup_simulation_directories()
コード例 #7
0
def test__configure_qoi_manager():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.create_base_directories()
    engine.read_configuration_file()
    engine.configure_qoi_manager()

    from pypospack.qoi import QoiManager
    assert type(engine.qoi_manager) is QoiManager

    cleanup_simulation_directories()
コード例 #8
0
def test__evaluate_tasks_through_the_task_mananager():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()

    assert type(parameters) is OrderedDict
    assert type(engine.configuration.potential) is OrderedDict

    engine.task_manager.evaluate_tasks(
        parameters=parameters, potential=engine.configuration.potential)

    assert type(engine.task_manager.results) is OrderedDict
コード例 #9
0
def test__evaluate_parameter_set():

    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
    results = engine.evaluate_parameter_set(parameters=parameters)

    assert 'parameters' in results
    assert 'qois' in results
    assert type(results['parameters']) is OrderedDict
    assert type(results['qois']) is OrderedDict
    assert all([v is not None for k, v in results['parameters'].items()])
    assert all([v is not None for k, v in results['qois'].items()])
コード例 #10
0
def test__create_base_directories():
    engine = PyposmatEngine(filename_in=_pyposmat_config_fn,
                            filename_out='pyposmat.config.out')
    engine.create_base_directories()
コード例 #11
0
        parameters=parameters, potential=engine.configuration.potential)

    assert type(engine.task_manager.results) is OrderedDict


def test__send_results_to_the_qoi_manager():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
    engine.task_manager.evaluate_tasks(
        parameters=parameters, potential=engine.configuration.potential)
    engine.qoi_manager.calculate_qois(task_results=engine.task_manager.results)


if __name__ == "__main__":
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
    results = engine.evaluate_parameter_set(parameters=parameters)
    print(results)
    if False:
        #print_parameters(parameters=parameters)
        m = [80 * '=', '{:^80}'.format('Potential Description'), 80 * '=']
        m += ['potential_description']
        for k, v in engine.configuration.potential.items():
            m += ['\t{} = {}'.format(k, v)]
        m += ['parameters']
        m += ['\t{} = {}'.format(k, v) for k, v in parameters.items()]
        m += [80 * '=', '{:80}'.format('Evaluate Parameter Set'), 80 * '=']
        engine.task_manager.evaluate_tasks(
            parameters=parameters, potential=engine.configuration.potential)
        m += ['engine.task_manager.results:']
コード例 #12
0
Ni_eam_parameters = OrderedDict()
Ni_eam_parameters['p_NiNi_D0'] = 0.001114
Ni_eam_parameters['p_NiNi_a'] = 3.429506
Ni_eam_parameters['p_NiNi_r0'] = 2.6813
Ni_eam_parameters['d_Ni_rho0'] = 10.0
Ni_eam_parameters['d_Ni_beta'] = 5.0
Ni_eam_parameters['d_Ni_r0'] = 2.0
Ni_eam_parameters['e_Ni_F0'] = 4.10341782e-3
Ni_eam_parameters['e_Ni_p'] = 8.96274624
Ni_eam_parameters['e_Ni_q'] = 8.95940869
Ni_eam_parameters['e_Ni_F1'] = -3.09

_structure_directory = 'test_PypospackEngine'
Ni_structures = OrderedDict()
Ni_structures['Ni_fcc_unit'] = os.path.join(
        _structure_directory,
        'Ni_fcc_unit.gga.relax.vasp')

Ni_pypospack_config = OrderedDict()
Ni_pypospack_config['qoi_info'] = Ni_qoi
Ni_pypospack_config['structures'] = Ni_structures

_pypospack_root_directory = pypospack.utils.get_pypospack_root_directory()
_pyposmat_config_fn = os.path.join(_pypospack_root_directory,'data','MgO_pareto_data','pyposmat.config.in')

engine = PyposmatEngine(
        filename_in = _pyposmat_config_fn,
        filename_out = 'pypospack.config.out')
engine.configure()

コード例 #13
0
def test__configure():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
    cleanup_simulation_directories()
コード例 #14
0
def test__evaluate_parameter_set():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
    results = engine.evaluate_parameter_set(parameters=parameters)
    cleanup_simulation_directories()
コード例 #15
0
def test__configure_qoi_manager():
    engine = PyposmatEngine(filename_in=_pyposmat_config_fn,
                            filename_out='pyposmat.config.out')
    engine.read_configuration_file()
    engine.configure_qoi_manager()
from pypospack.exceptions import LammpsSimulationError

filename_in = "pypospack.config.in"
filename_out = "pypospack.results.out"

a0 = 3.52
r0 = 1 / (2**0.5) * a0
parameters = OrderedDict()
parameters['p_NiNi_phi0'] = 1.0
parameters['p_NiNi_gamma'] = 2.0
parameters['p_NiNi_r0'] = r0
parameters['d_Ni_rho0'] = 1.0
parameters['d_Ni_beta'] = 4.0
parameters['d_Ni_r0'] = r0
parameters['e_Ni_latticetype'] = 'fcc'
parameters['e_Ni_ecoh'] = -4.45
parameters['e_Ni_B'] = 188.
parameters['e_Ni_a0'] = a0

if __name__ == "__main__":
    engine = PyposmatEngine(filename_in=filename_in, filename_out=filename_out)
    engine.read_configuration_file(
        filename=os.path.join('data', 'pyposmat.config.in'))
    engine.configure_qoi_manager()
    engine.configure_task_manager()
    try:
        engine.evaluate_parameter_set(parameters=parameters)
    except LammpsSimulationError as e:
        print('lammps_simulation_error')
コード例 #17
0
                                         ('SiSiSi_a', 1.927303534824485),
                                         ('SiSiSi_lambda', 12.109230909182934),
                                         ('SiSiSi_gamma', 2.242334213331301),
                                         ('SiSiSi_costheta0',
                                          -0.3333333333333333),
                                         ('SiSiSi_A', 19.19755654803364),
                                         ('SiSiSi_B', 0.16452955359488666),
                                         ('SiSiSi_p', 4.313046208558489),
                                         ('SiSiSi_q', 0.7433313641477534),
                                         ('SiSiSi_tol', 0.0)])


def cleanup(testing_set):
    import shutil

    if os.path.exists(testing_set['base_directory']):
        if os.path.isdir(testing_set['base_directory']):
            shutil.rmtree(testing_set['base_directory'])
        elif os.path.isfile(testing_set['base_directory']):
            os.remove(testing_set['base_directory'])
        else:
            raise ValueError('path:{}'.format(testing_set['base_directory']))


if __name__ == "__main__":
    cleanup(testing_set)
    o = PyposmatEngine(filename_in=testing_set['config_fn'],
                       base_directory=testing_set['base_directory'])
    o.configure()
    o.evaluate_parameter_set(parameters=testing_set['parameters'])
コード例 #18
0
def test__configure():
    engine = PyposmatEngine(filename_in=_pyposmat_config_fn,
                            filename_out='pyposmat.config.out')
    engine.configure()
コード例 #19
0
    from pypospack.pyposmat.engines import PyposmatEngine
    from pypospack.pyposmat.data import PyposmatDataFile
    from pypospack.pyposmat.data import PyposmatConfigurationFile
    # from pypospack.qoi import QoiManager
    # from pypospack.task import TaskManager

    filename_config = 'pypospack.config.in'

    write_configuration_file(
            filename=filename_config,
            qois=qoi_db.qois,
            potential_definition=potential_definition,
            structures=structures)

    #Ni_configuration = PyposmatConfigurationFile()
    #Ni_configuration.qois = Ni_qoi_db.qois
    #Ni_configuration.potential = potential_definition
    #Ni_configuration.structures = Ni_structures
    #Ni_configuration.write(filename='pypospack.config.in')
    #Ni_configuration.read(filename='pypospack.config.in')

    engine = PyposmatEngine(
            filename_in = 'pypospack.config.in',
            filename_out = 'pypospack.config.out')
    engine.configure()

    _parameters = potential_parameters
    results = engine.evaluate_parameter_set(parameters=_parameters)

    print(results)
コード例 #20
0
def test__init__():
    engine = PyposmatEngine(filename_in=config_fn,
                            filename_out='pyposmat.config.out')