Exemple #1
0
def test_mech_SOFT2():
    soft = ctrl.DegreeOfFreedom(SOFT, 'pitch')
    tf1 = katTF.getMechTF(SOFT, soft, doftype='pitch')
    tf2 = katTF.getMechTF(soft, SOFT, doftype='pitch')
    ref = data['mech_SOFT']
    c1 = close.allclose(tf1, ref)
    c2 = close.allclose(tf2, ref)
    assert np.all([c1, c2])
Exemple #2
0
 def test_freqI(self):
     laser = DegreeOfFreedom('Laser', 'freq')
     laser2 = DegreeOfFreedom('Laser', probes='REFL_I', doftype='freq')
     tf1 = self.katFR.getTF('REFL_I', 'Laser', doftype='freq')
     tf2 = self.katFR.getTF('REFL_I', laser)
     tf3 = self.katFR.getTF(laser2)
     c1 = close.allclose(tf1, data['tfI_freq'])
     c2 = close.allclose(tf2, data['tfI_freq'])
     c3 = close.allclose(tf3, data['tfI_freq'])
     assert np.all([c1, c2])
Exemple #3
0
 def test_ampI(self):
     am = DegreeOfFreedom('AM', 'drive')
     am2 = DegreeOfFreedom('AM', probes='REFL_I', doftype='drive')
     tf1 = self.opt.getTF('REFL_I', 'AM', doftype='drive')
     tf2 = self.opt.getTF('REFL_I', am)
     tf3 = self.opt.getTF(am2)
     c1 = close.allclose(tf1, data['tfI_amp'])
     c2 = close.allclose(tf2, data['tfI_amp'])
     c3 = close.allclose(tf3, data['tfI_amp'])
     assert np.all([c1, c2, c3])
Exemple #4
0
 def test_phaseI(self):
     pm = DegreeOfFreedom('PM', 'drive')
     pm2 = DegreeOfFreedom('PM', probes='REFL_I', doftype='drive')
     tf1 = self.opt.getTF('REFL_I', 'PM', doftype='drive')
     tf2 = self.opt.getTF('REFL_I', pm)
     tf3 = self.opt.getTF(pm2)
     c1 = close.allclose(tf1, data['tfI_phase'])
     c2 = close.allclose(tf2, data['tfI_phase'])
     c3 = close.allclose(tf3, data['tfI_phase'])
     assert np.all([c1, c2, c3])
Exemple #5
0
 def test_tfQ(self):
     ex = DegreeOfFreedom(name='EX', drives='EX', doftype='pos')
     ex2 = DegreeOfFreedom(name='EX', drives='EX', doftype='pos',
                           probes='REFL_Q')
     tfQ1 = self.opt.getTF('REFL_Q', 'EX')
     tfQ2 = self.opt.getTF('REFL_Q', ex)
     tfQ3 = self.opt.getTF(ex2)
     c1 = close.allclose(tfQ1, data['tfQ'])
     c2 = close.allclose(tfQ2, data['tfQ'])
     c3 = close.allclose(tfQ3, data['tfQ'])
     assert np.all([c1, c2])
Exemple #6
0
def test_REFLI_HARD():
    hard = ctrl.DegreeOfFreedom(HARD, 'pitch')
    hard2 = ctrl.DegreeOfFreedom(HARD, 'pitch', probes='REFL_I')
    tf1 = katTF.getTF('REFL_I', HARD, doftype='pitch')
    tf2 = katTF.getTF('REFL_I', hard)
    tf3 = katTF.getTF(hard2)
    ref = data['tf_REFLI_HARD']
    c1 = close.allclose(tf1, ref)
    c2 = close.allclose(tf2, ref)
    c3 = close.allclose(tf3, ref)
    assert np.all([c1, c2, c3])
Exemple #7
0
 def test_po(self):
     qnoise = self.kat_po.getQuantumNoise('AS_DIFF')
     tf = self.kat_po.getTF('AS_DIFF', DARM)
     rslt1 = close.allclose(qnoise,
                            self.chk_data['po']['qnoise_DIFF'],
                            rtol=1e-2,
                            atol=1e-2)
     rslt2 = close.allclose(tf,
                            self.chk_data['po']['tf_DIFF'],
                            rtol=1e-2,
                            atol=1e-2)
     assert all([rslt1, rslt2])
Exemple #8
0
def test_mMech_EX_EX2():
    ex = ctrl.DegreeOfFreedom('EX', doftype='pitch')
    mMech1 = katTF.getMechMod('EX', ex, doftype='pitch')
    mMech2 = katTF.getMechMod(ex, 'EX', doftype='pitch')
    mMech3 = katTF.getMechMod(ex, ex, doftype='pitch')
    mMech4 = katTF.getMechMod(ex, ex)
    ref = data['mMech_EX_EX']
    c1 = close.allclose(mMech1, ref)
    c2 = close.allclose(mMech2, ref)
    c3 = close.allclose(mMech3, ref)
    c4 = close.allclose(mMech4, ref)
    assert np.all([c1, c2, c3, c4])
Exemple #9
0
 def test_tfI(self):
     ex = DegreeOfFreedom('EX')
     ex2 = DegreeOfFreedom('EX', probes='REFL_I')
     ex3 = DegreeOfFreedom('EX', probes='REFL_DC')
     tfI1 = self.katFR.getTF('REFL_I', 'EX')
     tfI2 = self.katFR.getTF('REFL_I', ex)
     tfI3 = self.katFR.getTF(ex2)
     tfI4 = self.katFR.getTF('REFL_I', ex3)
     c1 = close.allclose(tfI1, data['tfI'])
     c2 = close.allclose(tfI2, data['tfI'])
     c3 = close.allclose(tfI3, data['tfI'])
     c4 = close.allclose(tfI4, data['tfI'])
     assert np.all([c1, c2, c3, c4])
Exemple #10
0
def test_drive_open():
    rslt = []
    for dof_to in dofs:
        for drive in cs.drives:
            tf = cs.getTF(dof_to, 'err', drive, 'drive', closed=False)
            rslt.append(
                close.allclose(tf, data['drive_open'][()][dof_to][drive]))
    assert all(rslt)
Exemple #11
0
def test_sense_closed():
    rslt = []
    for dof_to in dofs:
        for probe in cs.probes:
            tf = cs.getTF(dof_to, 'err', probe, 'sens', closed=True)
            rslt.append(
                close.allclose(tf, data['sense_closed'][()][dof_to][probe]))
    assert all(rslt)
Exemple #12
0
def test_cltfs():
    rslt = []
    for dof_to in dofs:
        for dof_from in dofs:
            rslt.append(
                close.allclose(cs.getCLTF(dof_to, dof_from, 'err'),
                               data['cltfs'][()][dof_to][dof_from]))
    assert all(rslt)
Exemple #13
0
def test_cal_open():
    rslt = []
    for dof_to in dofs:
        for dof_from in dofs:
            tf = cs.getTF(dof_to, 'err', dof_from, 'cal', closed=False)
            rslt.append(
                close.allclose(tf, data['calTFs_open'][()][dof_to][dof_from]))
    assert all(rslt)
Exemple #14
0
 def test_2(self):
     k2 = self.k2
     p2 = self.p2
     filt2b = ctrl.Filter(
         lambda ss: k2/((ss + 2*np.pi*p2[0])*(ss + 2*np.pi*p2[1])))
     data1 = self.filt2a.computeFilter(self.ff)
     # data2 = self.filt2b.computeFilter(self.ff)
     data2 = filt2b.computeFilter(self.ff)
     assert close.allclose(data1, data2)
Exemple #15
0
def assert_power(optic, ePos, powers_ref):
    # opt = computeSweep({optic: 180 * 1064e-9/360})
    opt = computeSweep(ePos)
    _, powers = getSweepPowers(opt, optic)
    rslt = [
        close.allclose(powers[key]['f0'], powers_ref[key]['f0'])
        for key in powers.keys()
    ]
    return rslt
Exemple #16
0
 def test_cat3(self):
     k2 = self.k2
     p2 = self.p2
     filt2b = ctrl.Filter(
         lambda ss: k2/((ss + 2*np.pi*p2[0])*(ss + 2*np.pi*p2[1])))
     filt3d = ctrl.catfilt(self.filt1a, filt2b)
     data1 = self.filt3a.computeFilter(self.ff)
     # data2 = self.filt3d.computeFilter(self.ff)
     data2 = filt3d.computeFilter(self.ff)
     assert close.allclose(data1, data2)
Exemple #17
0
def test_sensing_noise():
    shotNoise = {probe: opt.getQuantumNoise(probe) for probe in cs.probes}
    sensingNoise = {}
    calDARM = cs.getTF('DARM', 'err', 'DARM', 'cal', closed=False)
    cltfDARM = cs.getCLTF('DARM', 'DARM', 'err')
    for probe, sn in shotNoise.items():
        tf = cs.getTF('DARM', 'err', probe, 'sens') / cltfDARM
        sensingNoise[probe] = np.abs(tf * sn / calDARM)
    rslt = [
        close.allclose(noise, data['sensingNoise'][()][probe])
        for probe, noise in sensingNoise.items()
    ]
    assert all(rslt)
Exemple #18
0
def test_residuals2():
    res1 = cs.getTotalNoiseTo('EX.pos', 'pos', 'drive', seismic_noise)
    res2 = cs.getTotalNoiseTo(EX_dof, 'pos', 'drive', seismic_noise)
    assert close.allclose(res1, res2)
Exemple #19
0
 def test_tfQ_IM(self):
     tfQ_IM = self.opt.getTF('AS_Q', {'IX': 0.5, 'IY': -0.5})
     assert close.allclose(tfQ_IM, data['tfQ_IM'])
Exemple #20
0
 def test_tfI_EM(self):
     tfI_EM = self.opt.getTF('AS_I', {'EX': 0.5, 'EY': -0.5})
     assert close.allclose(tfI_EM, data['tfI_EM'])
Exemple #21
0
def test_load_mech_SOFT():
    tf = katTF2.getMechTF(SOFT, SOFT, doftype='pitch')
    ref = data['mech_SOFT']
    assert close.allclose(tf, ref)
Exemple #22
0
 def test_powfl(self):
     assert close.allclose(self.powfl, data['powfl'])
Exemple #23
0
 def test_powfu(self):
     assert close.allclose(self.powfu, data['powfu'])
Exemple #24
0
 def test_powf0(self):
     assert close.allclose(self.powf0, data['powf0'])
Exemple #25
0
def test_load_mMech_IX_EX():
    mMech = katTF2.getMechMod('IX', 'EX', doftype='pitch')
    ref = data['mMech_IX_EX']
    assert close.allclose(mMech, ref)
Exemple #26
0
def get_results(tst_data, chk_data):
    return [
        close.allclose(chk_data[key], val) for key, val in tst_data.items()
    ]
Exemple #27
0
def test_load_bsm_EX_EX():
    bsm = katTF2.computeBeamSpotMotion('EX_fr', 'EX', 'pitch')
    ref = data['bsm_EX_EX']
    assert close.allclose(bsm, ref)
Exemple #28
0
 def test_ss3(self):
     ss = self.filt3a.get_state_space()
     data1 = self.filt3a.computeFilter(self.ff)
     _, data2 = sig.freqresp(ss, 2*np.pi*self.ff)
     assert close.allclose(data1, data2)
Exemple #29
0
def test_mech_HARD():
    tf = katTF.getMechTF(HARD, HARD, doftype='pitch')
    ref = data['mech_HARD']
    assert close.allclose(tf, ref)
Exemple #30
0
def test_REFLI_SOFT():
    tf = katTF.getTF('REFL_I', SOFT, doftype='pitch')
    ref = data['tf_REFLI_SOFT']
    assert close.allclose(tf, ref)