def solve(self, model, eflist, **kwds): # set customized config parameters self._local_config = self.config(kwds) # first store all data we will need to change in original model as a tuple # [0]=Var component, [1]=external function list, [2]=config block model._tmp_trf_data = (list(model.component_data_objects(Var)), eflist, self._local_config) # now clone the model inst = model.clone() # call TRF on cloned model TRF(inst, inst._tmp_trf_data[1], inst._tmp_trf_data[2]) # copy potentially changed variable values back to original model and return for inst_var, orig_var in zip(inst._tmp_trf_data[0], model._tmp_trf_data[0]): orig_var.set_value(value(inst_var))
def solve(self, model, eflist, **kwds): assert not kwds #config = param.CONFIG(kwds) return TRF(model, eflist) #, config)