def add_work(self, parameters): from fireworks.core.firework import FireWork tasks = [] job = parameters['job'] print('adding job ' + job + ' to the workslist as ', self.fw_id) if job == 'prep': launch_spec = { 'task_type': 'Preparation job', '_category': 'cluster', '_queueadapter': 'qadapterdict' } task = VaspGWInputTask(parameters) tasks.append(task) task = VaspGWExecuteTask(parameters) tasks.append(task) task = VaspGWToDiagTask(parameters) tasks.append(task) task = VaspGWExecuteTask(parameters) tasks.append(task) fw = FireWork(tasks, spec=launch_spec, name=job, created_on=now(), fw_id=self.fw_id) self.connections[self.fw_id] = [] self.prep_id = self.fw_id self.fw_id += 1 print(self.connections) elif job in ['G0W0', 'GW0', 'scGW0']: launch_spec = { 'task_type': 'GW job', '_category': 'cluster', '_queueadapter': 'qadapterdict' } task = VaspGWInputTask(parameters) tasks.append(task) task = VaspGWGetPrepResTask(parameters) tasks.append(task) task = VaspGWExecuteTask(parameters) tasks.append(task) if parameters['spec']['converge']: task = VaspGWWriteConDatTask(parameters) tasks.append(task) task = VaspGWTestConTask(parameters) tasks.append(task) fw = FireWork(tasks, spec=launch_spec, name=job, created_on=now(), fw_id=self.fw_id) self.connections[self.fw_id] = [] self.connections[self.prep_id].append(self.fw_id) self.fw_id += 1 else: fw = [] print('unspecified job, this should have been captured before !!') exit() self.work_list.append(fw)
def create(self): from fireworks.core.firework import Workflow self.wf = Workflow(self.work_list, self.connections, name='VaspGWFWWorkFlow', created_on=now()) print('creating workflow')
def add_work(self, parameters): from fireworks.core.firework import FireWork tasks = [] job = parameters['job'] print('adding job ' + job + ' to the workslist as ', self.fw_id) if job == 'prep': launch_spec = {'task_type': 'Preparation job', '_category': 'cluster', '_queueadapter': 'qadapterdict'} task = VaspGWInputTask(parameters) tasks.append(task) task = VaspGWExecuteTask(parameters) tasks.append(task) task = VaspGWToDiagTask(parameters) tasks.append(task) task = VaspGWExecuteTask(parameters) tasks.append(task) fw = FireWork(tasks, spec=launch_spec, name=job, created_on=now(), fw_id=self.fw_id) self.connections[self.fw_id] = [] self.prep_id = self.fw_id self.fw_id += 1 print(self.connections) elif job in ['G0W0', 'GW0', 'scGW0']: launch_spec = {'task_type': 'GW job', '_category': 'cluster', '_queueadapter': 'qadapterdict'} task = VaspGWInputTask(parameters) tasks.append(task) task = VaspGWGetPrepResTask(parameters) tasks.append(task) task = VaspGWExecuteTask(parameters) tasks.append(task) if parameters['spec']['converge']: task = VaspGWWriteConDatTask(parameters) tasks.append(task) task = VaspGWTestConTask(parameters) tasks.append(task) fw = FireWork(tasks, spec=launch_spec, name=job, created_on=now(), fw_id=self.fw_id) self.connections[self.fw_id] = [] self.connections[self.prep_id].append(self.fw_id) self.fw_id += 1 else: fw = [] print('unspecified job, this should have been captured before !!') exit() self.work_list.append(fw)