pyiron.testing.randomatomistic module¶
-
class
pyiron.testing.randomatomistic.
AtomisticExampleJob
(project, job_name)[source]¶ Bases:
pyiron.testing.randomatomistic.ExampleJob
,pyiron.atomistics.job.interactive.GenericInteractive
ExampleJob generating a list of random numbers to simulate energy fluctuations.
- Parameters
project (ProjectHDFio) – ProjectHDFio instance which points to the HDF5 file the job is stored in
job_name (str) – name of the job, which has to be unique within the project
-
.. attribute:: job_name
name of the job, which has to be unique within the project
-
.. attribute:: status
- execution status of the job, can be one of the following [initialized, appended, created, submitted, running,
aborted, collect, suspended, refresh, busy, finished]
-
.. attribute:: job_id
unique id to identify the job in the pyiron database
-
.. attribute:: parent_id
job id of the predecessor job - the job which was executed before the current one in the current job series
-
.. attribute:: master_id
job id of the master job - a meta job which groups a series of jobs, which are executed either in parallel or in serial.
-
.. attribute:: child_ids
list of child job ids - only meta jobs have child jobs - jobs which list the meta job as their master
-
.. attribute:: project
Project instance the jobs is located in
-
.. attribute:: project_hdf5
ProjectHDFio instance which points to the HDF5 file the job is stored in
-
.. attribute:: job_info_str
short string to describe the job by it is job_name and job ID - mainly used for logging
-
.. attribute:: working_directory
working directory of the job is executed in - outside the HDF5 file
-
.. attribute:: path
path to the job as a combination of absolute file system path and path within the HDF5 file.
-
.. attribute:: version
Version of the hamiltonian, which is also the version of the executable unless a custom executable is used.
-
.. attribute:: executable
Executable used to run the job - usually the path to an external executable.
-
.. attribute:: library_activated
For job types which offer a Python library pyiron can use the python library instead of an external executable.
-
.. attribute:: server
Server object to handle the execution environment for the job.
-
.. attribute:: queue_id
the ID returned from the queuing system - it is most likely not the same as the job ID.
-
.. attribute:: logger
logger object to monitor the external execution and internal pyiron warnings.
-
.. attribute:: restart_file_list
list of files which are used to restart the calculation from these files.
-
.. attribute:: job_type
- Job type object with all the available job types: [‘ExampleJob’, ‘SerialMaster’, ‘ParallelMaster’, ‘ScriptJob’,
‘ListMaster’]
-
from_hdf
(hdf=None, group_name=None)[source]¶ Restore the ExampleJob object in the HDF5 File
- Parameters
hdf (ProjectHDFio) – HDF5 group object - optional
group_name (str) – HDF5 subgroup name - optional
-
get_structure
(iteration_step=- 1, wrap_atoms=True)[source]¶ Gets the structure from a given iteration step of the simulation (MD/ionic relaxation). For static calculations there is only one ionic iteration step :param iteration_step: Step for which the structure is requested :type iteration_step: int
- Returns
atomistics.structure.atoms.Atoms object
-
run_if_interactive
()[source]¶ Run the job as Python library and store the result in the HDF5 File.
- Returns
job ID
- Return type
int
-
set_input_to_read_only
()[source]¶ This function enforces read-only mode for the input classes, but it has to be implement in the individual classes.
-
property
structure
¶ Returns:
-
to_hdf
(hdf=None, group_name=None)[source]¶ Store the ExampleJob object in the HDF5 File
- Parameters
hdf (ProjectHDFio) – HDF5 group object - optional
group_name (str) – HDF5 subgroup name - optional
-
class
pyiron.testing.randomatomistic.
ExampleInput
(input_file_name=None)[source]¶ Bases:
pyiron.base.generic.parameters.GenericParameters
Input class for the ExampleJob based on the GenericParameters class.
- Parameters
input_file_name (str) – Name of the input file - optional
-
class
pyiron.testing.randomatomistic.
ExampleJob
(project, job_name)[source]¶ Bases:
pyiron.base.job.generic.GenericJob
ExampleJob generating a list of random numbers to simulate energy fluctuations.
- Parameters
project (ProjectHDFio) – ProjectHDFio instance which points to the HDF5 file the job is stored in
job_name (str) – name of the job, which has to be unique within the project
-
.. attribute:: job_name
name of the job, which has to be unique within the project
-
.. attribute:: status
- execution status of the job, can be one of the following [initialized, appended, created, submitted, running,
aborted, collect, suspended, refresh, busy, finished]
-
.. attribute:: job_id
unique id to identify the job in the pyiron database
-
.. attribute:: parent_id
job id of the predecessor job - the job which was executed before the current one in the current job series
-
.. attribute:: master_id
job id of the master job - a meta job which groups a series of jobs, which are executed either in parallel or in serial.
-
.. attribute:: child_ids
list of child job ids - only meta jobs have child jobs - jobs which list the meta job as their master
-
.. attribute:: project
Project instance the jobs is located in
-
.. attribute:: project_hdf5
ProjectHDFio instance which points to the HDF5 file the job is stored in
-
.. attribute:: job_info_str
short string to describe the job by it is job_name and job ID - mainly used for logging
-
.. attribute:: working_directory
working directory of the job is executed in - outside the HDF5 file
-
.. attribute:: path
path to the job as a combination of absolute file system path and path within the HDF5 file.
-
.. attribute:: version
Version of the hamiltonian, which is also the version of the executable unless a custom executable is used.
-
.. attribute:: executable
Executable used to run the job - usually the path to an external executable.
-
.. attribute:: library_activated
For job types which offer a Python library pyiron can use the python library instead of an external executable.
-
.. attribute:: server
Server object to handle the execution environment for the job.
-
.. attribute:: queue_id
the ID returned from the queuing system - it is most likely not the same as the job ID.
-
.. attribute:: logger
logger object to monitor the external execution and internal pyiron warnings.
-
.. attribute:: restart_file_list
list of files which are used to restart the calculation from these files.
-
.. attribute:: job_type
- Job type object with all the available job types: [‘ExampleJob’, ‘SerialMaster’, ‘ParallelMaster’, ‘ScriptJob’,
‘ListMaster’]
-
collect_logfiles
()[source]¶ Collect the errors from the info.log file and store them in the HDF5 file
-
collect_output
()[source]¶ Parse the output files of the example job and store the results in the HDF5 File.
-
collect_output_log
(file_name='output.log')[source]¶ general purpose routine to extract output from logfile
- Parameters
file_name (str) – output.log - optional
-
collect_warnings
()[source]¶ Collect the warnings if any were written to the info.log file and store them in the HDF5 file
-
from_hdf
(hdf=None, group_name=None)[source]¶ Restore the ExampleJob object in the HDF5 File
- Parameters
hdf (ProjectHDFio) – HDF5 group object - optional
group_name (str) – HDF5 subgroup name - optional
-
interactive_close
()[source]¶ For jobs which executables are available as Python library, those can also be executed with a library call instead of calling an external executable. This is usually faster than a single core python job. After the interactive execution, the job can be closed using the interactive_close function.
-
run_if_interactive
()[source]¶ Run the job as Python library and store the result in the HDF5 File.
- Returns
job ID
- Return type
int
-
set_input_to_read_only
()[source]¶ This function enforces read-only mode for the input classes, but it has to be implement in the individual classes.
-
to_hdf
(hdf=None, group_name=None)[source]¶ Store the ExampleJob object in the HDF5 File
- Parameters
hdf (ProjectHDFio) – HDF5 group object - optional
group_name (str) – HDF5 subgroup name - optional