from scm.params.plams.paramsjob import ParAMSJob, ParAMSResults from scm.plams.core.functions import init, finish def setup_job(): """Returns: a ParAMSJob""" job = ParAMSJob(name="lennardjones") job.settings.input.Task = "Optimization" job.parameter_interface = "parameter_interface.yaml" job.job_collection = "job_collection.yaml" job.training_set = "training_set.yaml" job.settings.input.ParallelLevels.Optimizations = 1 job.settings.input.ParallelLevels.ParameterVectors = 1 job.settings.input.ParallelLevels.Jobs = 1 job.settings.input.ParallelLevels.Processes = 1 job.add_optimizer("Scipy", {"Algorithm": "Nelder-Mead"}) job.add_exit_condition("TimeLimit", 120) job.add_exit_condition("MaxOptimizersConverged", 1) return job def main(): init() # Must be called before any PLAMS job job = setup_job() job.run() finish() if __name__ == "__main__": main()