def get_inputs_scf(self): """ Initializes inputs for further iterations. """ input_scf = AttributeDict( self.exposed_inputs(FleurScfWorkChain, namespace='scf')) if 'structure' in input_scf: del input_scf.structure del input_scf.inpgen del input_scf.calc_parameters if 'wf_parameters' not in input_scf: scf_wf_dict = {} else: scf_wf_dict = input_scf.wf_parameters.get_dict() if 'inpxml_changes' in scf_wf_dict: old_changes = scf_wf_dict['inpxml_changes'] new_changes = [] for change in old_changes: if 'shift_value' not in change[0]: new_changes.append(change) scf_wf_dict['inpxml_changes'] = new_changes scf_wf_dict['mode'] = 'force' input_scf.wf_parameters = Dict(dict=scf_wf_dict) scf_wc = self.ctx.scf_res last_calc = load_node( scf_wc.outputs.output_scf_wc_para.get_dict()['last_calc_uuid']) input_scf.remote_data = last_calc.outputs.remote_folder if self.ctx.new_fleurinp: input_scf.fleurinp = self.ctx.new_fleurinp return input_scf
def get_inputs_scf(self): """ Initialize inputs for scf workflow: wf_param, options, calculation parameters, codes, structure """ input_scf = AttributeDict(self.exposed_inputs(FleurScfWorkChain, namespace='scf')) input_scf.fleurinp = self.ctx.fleurinp_banddos return input_scf