Пример #1
0
 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
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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
Пример #8
0
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
Пример #9
0
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
Пример #10
0
 def save_params(self, pklname, params=None):
     if params is None:
         params = self.params
     SFLR_TMM.save_params(params, pklname)
Пример #11
0
 def save_minrow(self, pklname):
     bfparams = self.row_to_params()
     SFLR_TMM.save_params(bfparams, pklname)
Пример #12
0
 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)
Пример #13
0
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