def mpirun(options_obj): print(COMM.rank) if COMM.rank == 0: from optavc.optimize import Optimization optimization_obj = Optimization(options_obj) optimization_obj.run() else: worker(compute)
'program': "molpro", 'prep_cmd': "module load molpro", 'command': "molpro -n 8 --nouse-logfile --no-xml-output -o {}/output.dat {}/input.dat", 'time_limit': "08:00:00", 'memory': "4GB", # 'num_cores' : 1, 'energy_regex': r" ENERGY\(1\)\s+=\s+(-\d+\.\d+)", 'dask': "/global/cscratch1/sd/md38294/scheduler.json", 'success_regex': r" Variable memory released", 'input_name': "input.dat", 'output_name': "output.dat", 'submitter': submitoptavc, 'maxiter': 20, 'findif': { 'points': 3 }, 'job_array': True, 'optking': { 'max_force_g_convergence': 1e-7, 'rms_force_g_convergence': 1e-7, } } from optavc.options import Options options_obj = Options(**options_kwargs) from optavc.optimize import Optimization optimization_obj = Optimization(options_obj) optimization_obj.run()
sync=True, job_array=optns.job_array_range) # 2. build an options object from optavc.options import Options options_kwargs = { 'template_file_path': "template.dat", 'energy_regex': r"@DF-RHF Final Energy:\s+(-\d+\.\d+)", 'success_regex': r"\*\*\* P[Ss][Ii]4 exiting successfully.", 'queue': "gen4.q", 'program': "psi4@master", 'input_name': "input.dat", 'output_name': "output.dat", 'submitter': submit, 'maxiter': 20, 'job_array': True, 'g_convergence': "gau_verytight", 'findif': { 'points': 3 } } options_obj = Options(**options_kwargs) # 3. call optimizer from optavc.optimize import Optimization optimization_obj = Optimization(options_obj) optimization_obj.run(restart_iteration=4)