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 read_configuration_file(self, filename=None): PyposmatEngine.read_configuration_file(self, filename=filename) # self.structure_directory = self.configuration.structures['structure_directory'] self.n_iterations = self.configuration.sampling_type['n_iterations'] self.parameter_names = [ p for p in self.configuration.sampling_distribution ] self.qoi_names = [k for k in self.configuration.qois] self.error_names = ['{}.err'.format(k) for k in self.qoi_names] self.parameter_distribution_definition =\ self.configuration.sampling_distribution try: self.free_parameter_names = [ k for k, v in self.parameter_distribution_definition.items() if v[0] != 'equals' ] except KeyError as e: print(self.parameter_distribution_definition.items()) raise if self.configuration.sampling_constraints is not None: self.parameter_constraints = copy.deepcopy( self.configuration.sampling_constraints) else: self.parameter_constraints = OrderedDict() self.constrained_parameter_names = [] for p in self.parameter_names: if p not in self.free_parameter_names: self.constrained_parameter_names.append(p)
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__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 read_configuration_file(self,filename=None): PyposmatEngine.read_configuration_file(self,filename=filename) # does this have to be removed? # self.structure_directory = self.configuration.structures['structure_directory'] if self.DEBUG: if os.path.isdir(self.structure_directory): msg = "[OK] structure_directory:".format(self.structure_directory) self.__log(msg) else: msg = "[FAIL] structure_directory:".format(self.structure_directory) raise PyposmatEngineError(msg) # set name arrays for validation qois self.qoi_validation_names = self.configuration.qoi_validation_names self.error_validation_names = self.configuration.error_validation_names self.normed_error_validation_names = self.configuration.normed_error_validation_names # set dictionaries for qoi targets self.qoi_validation_targets = self.configuration.qoi_validation_targets # set dictionary for reference potentials self.reference_potentials = self.configuration.reference_potentials
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()
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() if __name__ == "__main__": engine = PyposmatEngine(filename_in=_pyposmat_config_fn, filename_out='pyposmat.config.out') engine.read_configuration_file() #print(engine.configuration) #print(engine.configuration.read(filename=_pyposmat_config_fn)) print(engine.configuration.configuration) if False: print("structure_directory:{}".format(engine.structure_directory)) print("structures") for k, v in engine.structures['structures'].items(): print(k, v) from pypospack.potentials.MgO import MgO_LewisCatlow _parameters = MgO_LewisCatlow['parameters'] _results = engine.evaluate_parameter_set(parameters=_parameters) print(80 * '-')
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')