def _def_params(self): if self.start_pkl_name is not None: myparams = SFLR_TMM.load_params(self.start_pkl_name) elif os.path.exists(self.pkl_name): myparams = SFLR_TMM.load_params(self.pkl_name) else: myparams = SFLR_TMM.new_def_params() myparams.p_act1 = 15*2*pi return myparams
def _def_params(self): if self.start_pkl_name is not None: myparams = SFLR_TMM.load_params(self.start_pkl_name) elif os.path.exists(self.pkl_name): myparams = SFLR_TMM.load_params(self.pkl_name) else: myparams = SFLR_TMM.new_def_params() myparams.k_spring = 10.0 myparams.c_spring = 0.1 return myparams
def _def_params(self): if self.start_pkl_name is not None: return SFLR_TMM.load_params(self.start_pkl_name) case = 1 if case == 1: myparams = SFLR_TMM.load_params('model2b_bf_min.pkl') elif case == 2 and os.path.exists(self.pkl_name): myparams = SFLR_TMM.load_params(self.pkl_name) else: myparams = SFLR_TMM.new_def_params() myparams.k_spring = 10.0 myparams.c_spring = 0.1 return myparams
def spreadsheet_row_to_params(rowin, labels, old=False, \ pklname=None): keys = labels[0:-3] if pklname is not None: params = SFLR_TMM.load_params(pklname) else: if old: params = SFLR_TMM.SFLR_params() else: params = SFLR_TMM.new_def_params() for key, val in zip(keys, rowin[0:-3]): setattr(params, key, val) return params
def calc_and_massage_a_th_Bode(f, th_bode, a_bode, \ **kwargs): a_th_bode = a_bode/th_bode a_th_bode.seedfreq = 10.0 a_th_bode.seedphase = 0.0 a_th_bode.PhaseMassage(f) a_th_bode = SFLR_TMM.a_massage(a_th_bode, f, **kwargs) return a_th_bode
def build_Gth_TMM_model(pklpathin=None): if pklpathin is None: pklpathin = pkl_path import Gth reload(Gth) Gth_TMM = SFLR_TMM.model_w_bm_with_theta_feedback_comp(pklpathin, \ p=Gth.p, \ z=Gth.z, \ gain=Gth.gain) return Gth_TMM
def run_simulation(pkl_name, mod_name, param_dict={}, f=f2, plot=True, startfi=1, **kwargs): params = SFLR_TMM.load_params('temp_params.pkl') params.update(param_dict) print('params.c_clamp = %s' % params.c_clamp) mymod = my_import(mod_name) myfunc = mymod.Bodes th_bode, a_bode = calc_and_massage_Bodes(f, params, func=myfunc) a_th_bode = calc_and_massage_a_th_Bode(f, th_bode, a_bode) if plot: #plot_exp(startfi=startfi) plot_Bodes(f, th_bode, a_bode, a_th_bode, startfi=startfi, \ **kwargs) return th_bode, a_bode, a_th_bode
def calc_and_massage_Bodes(f, params, func=mod.Bodes, \ **kwargs): s = 2.0j*pi*f th_comp, a_comp = func(s, params) a_bode = rwkbode.rwkbode(compin=a_comp) th_bode = rwkbode.rwkbode(compin=th_comp) a_bode.seedfreq = 2.0 a_bode.seedphase = 30.0 a_bode.PhaseMassage(f) a_bode = SFLR_TMM.a_massage(a_bode, f, **kwargs) th_bode.seedfreq = 1.2 th_bode.seedphase = -90.0 th_bode.PhaseMassage(f) return th_bode, a_bode
def build_Accel_TMM_model(pklpathin=None, Ga=None): if pklpathin is None: pklpathin = pkl_path import Gth reload(Gth) import Ga5 reload(Ga5) import Unc_row reload(Unc_row) if Ga is None: Ga = Ga5.Ga5 Gth_Ga_TMM = SFLR_TMM.model_w_bm_accel_and_theta_FB(pkl_path, \ Gth=Gth.Gth, \ Ga=Ga, \ Unc_func=Unc_row.Unc_row0) return Gth_Ga_TMM
def save_params(self, pklname, params=None): if params is None: params = self.params SFLR_TMM.save_params(params, pklname)
def save_minrow(self, pklname): bfparams = self.row_to_params() SFLR_TMM.save_params(bfparams, pklname)
def _save_params(self, params=None, pkl_name=None): if pkl_name is None: pkl_name = self.pkl_name if params is None: params = self.opt_params SFLR_TMM.save_params(params, pkl_name)
def build_OL_TMM_model(pklpathin=None): if pklpathin is None: pklpathin = pkl_path OL_TMM_model = SFLR_TMM.model_w_bm(pklpathin) return OL_TMM_model