def fn(x): if unit == None: r = x elif x == None: r = unit else: r = x * unit return remove_unit(r, new_unit)
def fn(x): if unit == None: r = x elif x == None: r = unit else: r = x*unit return remove_unit(r, new_unit)
def advance_time(self, target_time, max_it=-1, exact_tstop=False): target_time = remove_unit(target_time, self.time_unit) if self.need_reinitialise: self.initialise() final_t_su = \ ocaml.lam_ts_advance(self.get_lam(), self.get_full_name(), exact_tstop, target_time, max_it) return self._ret_time(final_t_su)
def _remove_unit_rec(data, unit, new_unit): if isinstance(data, (types.FunctionType, numpy.ndarray)): u = unit if unit != None else 1.0 scale_factor = remove_unit(u, new_unit) return (data, scale_factor) else: def fn(x): if unit == None: r = x elif x == None: r = unit else: r = x*unit return remove_unit(r, new_unit) new_data = rec_apply(fn, data) return (new_data, 1.0)
def _remove_unit_rec(data, unit, new_unit): if isinstance(data, (types.FunctionType, numpy.ndarray)): u = unit if unit != None else 1.0 scale_factor = remove_unit(u, new_unit) return (data, scale_factor) else: def fn(x): if unit == None: r = x elif x == None: r = unit else: r = x * unit return remove_unit(r, new_unit) new_data = rec_apply(fn, data) return (new_data, 1.0)
def initialise(self, initial_time=None, rtol=None, atol=None, pc_rtol=None, pc_atol=None): self.rtol = self.rtol if rtol == None else rtol self.atol = self.atol if atol == None else atol self.pc_rtol = self.pc_rtol if pc_rtol == None else pc_rtol self.pc_atol = self.pc_atol if pc_atol == None else pc_atol if initial_time == None: if self.initialised: initial_time = self.get_time() else: initial_time = self.initial_time if self._is_vivified(): initial_time = remove_unit(initial_time, self.time_unit) ocaml.lam_ts_init(self.get_lam(), self.get_full_name(), initial_time, self.rtol, self.atol) nlam.lam_ts_set_tols(self.get_lam(), self.get_full_name(), self.rtol, self.atol, pc_rtol=self.pc_rtol, pc_atol=self.pc_atol, pc_dtol=self.pc_dtol, pc_maxits=self.pc_maxits) self.initialised = True self.need_reinitialise = False