def test__on_ready():
    symbols = configuration['potential']['symbols']
    task_name = configuration['task']['task_name']
    task_directory = configuration['task']['task_directory']
    structure_filename = configuration['structure']['filename']
    restart = False
    fullauto = False

    cleanup(task_directory)
    assert not os.path.exists(task_directory)
    assert 'potential' in configuration
    assert 'parameters' in configuration
    #<--- code setup
    from pypospack.task.lammps import LammpsSimulation
    lammps_task = LammpsSimulation(task_name=task_name,
                                   task_directory=task_directory,
                                   structure_filename=structure_filename)
    lammps_task.on_init(configuration)
    lammps_task.on_config(configuration)
    #<--- test setup
    assert os.path.exists(task_directory)
    assert lammps_task.status == 'READY'
    #<--- code being testing
    lammps_task.on_ready(configuration)
    #<--- expected behavior
    lammps_setfl_filename = '{}.eam.alloy'.format("".join(symbols))

    #<--- check to see if the configuration dictionaries were setup correctly
    assert type(lammps_task.conditions_INIT) == OrderedDict
    assert type(lammps_task.conditions_CONFIG) == OrderedDict
    assert type(lammps_task.conditions_READY) == OrderedDict
    assert type(lammps_task.conditions_RUNNING) == OrderedDict
    assert type(lammps_task.conditions_POST) == OrderedDict
    assert type(lammps_task.conditions_FINISHED) == OrderedDict

    assert os.path.isfile(os.path.join(task_directory, lammps_setfl_filename))

    assert lammps_task.conditions_INIT['task_directory_created']
    assert all([v for k, v in lammps_task.conditions_INIT.items()]) == True
    assert lammps_task.conditions_CONFIG['potential_initialized'] == True
    assert lammps_task.conditions_CONFIG['parameters_processed'] == True
    assert all([v for k, v in lammps_task.conditions_CONFIG.items()]) == True
    assert all([v for k, v in lammps_task.conditions_READY.items()]) == True
    assert lammps_task.conditions_RUNNING['process_initialized'] == True
    assert all([v for k, v in lammps_task.conditions_RUNNING.items()]) == True
    assert lammps_task.conditions_POST['process_finished'] == False
    assert all([v for k, v in lammps_task.conditions_POST.items()]) == False
    assert all([v
                for k, v in lammps_task.conditions_FINISHED.items()]) == False
Пример #2
0
def test__on_init():
    symbols = configuration['potential']['symbols']
    task_name = configuration['task']['task_name']
    task_directory = configuration['task']['task_directory']
    structure_filename = configuration['structure']['filename']
    restart = False
    fullauto = False

    cleanup(task_directory)
    assert not os.path.exists(task_directory)
    assert 'potential' in configuration
    assert 'parameters' in configuration
    #<--- code setup
    from pypospack.task.lammps import LammpsSimulation
    lammps_task = LammpsSimulation(task_name=task_name,
                                   task_directory=task_directory,
                                   structure_filename=structure_filename)
    #<--- test setup
    assert os.path.exists(task_directory)
    assert lammps_task.status == 'INIT'
    assert lammps_task.potential is None
    #<--- code being testing
    lammps_task.on_init(configuration)
    #<--- expected behavior
    lammps_setfl_filename = '{}.eam.alloy'.format("".join(symbols))
    #<--- check directory structure
    assert os.path.isdir(os.path.abspath(lammps_task.task_directory))
    #<--- check attributes
    assert lammps_task.task_name == task_name
    assert os.path.abspath(lammps_task.task_directory)\
            == os.path.abspath(task_directory)
    assert lammps_task.task_type == 'single_point'
    assert lammps_task.lammps_bin == os.environ['LAMMPS_BIN']
    assert lammps_task.lammps_input_filename == 'lammps.in'
    assert lammps_task.lammps_output_filename == 'lammps.out'
    assert lammps_task.lammps_structure_filename == 'lammps.structure'
    assert lammps_task.lammps_setfl_filename is None
    assert isinstance(lammps_task.potential, potential.Potential)
    assert lammps_task.structure_filename == structure_filename
    assert isinstance(lammps_task.structure, crystal.SimulationCell)
    assert lammps_task.process is None

    if len(lammps_task.conditions_READY) == 0:
        assert lammps_task.status == 'READY'
    else:
        assert lammps_task.status == 'CONFIG'
Пример #3
0
def test__on_ready():
    task_name = configuration['task']['task_name']
    task_directory = configuration['task']['task_directory']
    structure_filename = configuration['structure']['filename']
    restart = False
    fullauto = False

    cleanup(task_directory)
    assert not os.path.exists(task_directory)
    assert 'potential' in configuration
    assert 'parameters' in configuration
    #<--- code setup
    from pypospack.task.lammps import LammpsSimulation
    lammps_task = LammpsSimulation(task_name=task_name,
                                   task_directory=task_directory,
                                   structure_filename=structure_filename)
    lammps_task.on_init(configuration)
    lammps_task.on_config(configuration)
    #<--- test setup
    assert os.path.exists(task_directory)
    assert lammps_task.status == 'READY'
    #<--- code being testing
    lammps_task.on_ready(configuration)

    assert type(lammps_task.conditions_INIT) == OrderedDict
    assert type(lammps_task.conditions_CONFIG) == OrderedDict
    assert type(lammps_task.conditions_READY) == OrderedDict
    assert type(lammps_task.conditions_RUNNING) == OrderedDict
    assert type(lammps_task.conditions_POST) == OrderedDict
    assert type(lammps_task.conditions_FINISHED) == OrderedDict

    assert lammps_task.conditions_INIT['task_directory_created']
    assert all([v for k, v in lammps_task.conditions_INIT.items()]) == True
    assert lammps_task.conditions_CONFIG['potential_initialized'] == True
    assert lammps_task.conditions_CONFIG['parameters_processed'] == True
    assert all([v for k, v in lammps_task.conditions_CONFIG.items()]) == True
    assert all([v for k, v in lammps_task.conditions_READY.items()]) == True
    #assert lammps_task.conditions_RUNNING['process_initialized']== False
    #assert all([v for k,v in lammps_task.conditions_RUNNING.items()]) == False
    assert lammps_task.conditions_POST['process_finished'] == False
    assert all([v for k, v in lammps_task.conditions_POST.items()]) == False
    assert all([v
                for k, v in lammps_task.conditions_FINISHED.items()]) == False
Пример #4
0
    def on_init(self, configuration=None, results=None):
        LammpsSimulation.on_init(self, configuration=configuration)

        if 'bulk_structure' in configuration:
            self.bulk_structure_name = configuration['bulk_structure']
            self.bulk_structure_filename = configuration[
                'bulk_structure_filename']
            self.bulk_structure_lattice = OrderedDict()

            _lattice_parameter_variables = [
                'lmps_min_all.a11', 'lmps_min_all.a12', 'lmps_min_all.a13',
                'lmps_min_all.a21', 'lmps_min_all.a22', 'lmps_min_all.a23',
                'lmps_min_all.a31', 'lmps_min_all.a32', 'lmps_min_all.a33'
            ]

            self.bulk_lattice_components = OrderedDict()
            for k in _lattice_parameter_variables:
                _k = '{}.{}'.format(self.bulk_structure_name, k)
                self.bulk_lattice_components[_k] = None
Пример #5
0
def test__on_init():
    task_name = configuration['task']['task_name']
    task_directory = configuration['task']['task_directory']
    structure_filename = configuration['structure']['filename']
    restart = False
    fullauto = False

    cleanup(task_directory)
    assert not os.path.exists(task_directory)
    assert 'potential' in configuration
    assert 'parameters' in configuration
    #<--- code setup
    from pypospack.task.lammps import LammpsSimulation
    lammps_task = LammpsSimulation(task_name=task_name,
                                   task_directory=task_directory,
                                   structure_filename=structure_filename)
    #<--- test setup
    assert os.path.exists(task_directory)
    assert lammps_task.status == 'INIT'
    assert lammps_task.potential is None
    #<--- code being testing
    lammps_task.on_init(configuration)

    #<--- check directory structure
    assert os.path.isdir(os.path.abspath(lammps_task.task_directory))
    #<--- check attributes
    assert lammps_task.task_name == task_name
    assert os.path.abspath(lammps_task.task_directory)\
            == os.path.abspath(task_directory)
    assert lammps_task.task_type == 'single_point'
    assert lammps_task.lammps_bin == os.environ['LAMMPS_BIN']
    assert lammps_task.lammps_input_filename == 'lammps.in'
    assert lammps_task.lammps_output_filename == 'lammps.out'
    assert lammps_task.lammps_structure_filename == 'lammps.structure'
    # assert lammps_task.lammps_eam_filename is None
    assert isinstance(lammps_task.potential, potential.Potential)
    assert lammps_task.structure_filename == structure_filename
    assert isinstance(lammps_task.structure, crystal.SimulationCell)
    assert lammps_task.process is None
Пример #6
0
print('poscar_filename={}'.format(Ni_structure_definition['filename']))
assert os.path.isfile(Ni_structure_definition['filename'])

Ni_task_configuration = OrderedDict()
Ni_task_configuration['task'] = OrderedDict()
Ni_task_configuration['task']['task_name'] = 'Ni_fcc_unit.E_min_all'
Ni_task_configuration['task']['task_directory'] = 'Ni_fcc_.E_min_all'
Ni_task_configuration['task_type'] = 'min_none'
Ni_task_configuration['potential'] = Ni_eam_potential_definition
Ni_task_configuration['parameters'] = Ni_eam_parameters
Ni_task_configuration['structure'] = Ni_structure_definition

configuration = Ni_task_configuration

task_name = configuration['task']['task_name']
task_directory = configuration['task']['task_directory']
structure_filename = configuration['structure']['filename']
restart = False
fullauto = False

from pypospack.task.lammps import LammpsSimulation
lammps_task = LammpsSimulation(task_name=task_name,
                               task_directory=task_directory,
                               structure_filename=structure_filename)
lammps_task.on_init(configuration)
lammps_task.on_config(configuration)
lammps_task.on_ready(configuration)
lammps_task.on_running(configuration)
lammps_task.on_post(configuration)
Пример #7
0
 def on_init(self,configuration=None,results=None):
     LammpsSimulation.on_init(self,configuration=configuration)