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)
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
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()
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()
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()
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()
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()
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
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()])
def test__create_base_directories(): engine = PyposmatEngine(filename_in=_pyposmat_config_fn, filename_out='pyposmat.config.out') engine.create_base_directories()
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:']
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()
def test__configure(): engine = PyposmatEngine(filename_in=config_fn, filename_out='pyposmat.config.out') engine.configure() cleanup_simulation_directories()
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()
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')
('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'])
def test__configure(): engine = PyposmatEngine(filename_in=_pyposmat_config_fn, filename_out='pyposmat.config.out') engine.configure()
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)
def test__init__(): engine = PyposmatEngine(filename_in=config_fn, filename_out='pyposmat.config.out')