Skip to content
Snippets Groups Projects
Select Git revision
  • 19e1eeb124fbdbfe5b7ac6fe76100925141a60dc
  • master default
  • mingw_gcc44
  • release_ABP1_012
  • release_ABP1_008
  • release_ABP1_006
  • release_ABP1_007
  • release_ABP1_005
  • release_ABP1_004
  • release_ABP1_003
  • pre_release_0.15
  • release_ABP1_001
  • release_ABP1_002
  • pre_release_0.13
  • pre_release_0.14
  • pre_release_0.11
  • pre_release_0.12
  • pre_release_0.10
  • pre_release_0.09
  • pre_release_0.08
20 results

toolchain-linux-mingw.oglft.cmake

Blame
  • Forked from einsteinathome / graphicsframework
    Source project has a limited visibility.
    asc_pd_phase.py 1.07 KiB
    import copy
    import sys
    import scipy.optimize
    
    from pykat import finesse
    
    def run(tmpkat):
    
        kat = copy.deepcopy(tmpkat)
        
        code_det = """
        pd1 PDrefl_q 9M 90 nWFS1
        %scale 2 PDrefl_q
        """
        
        kat.parseKatCode(code_det)
        kat.noxaxis= True
    
        # function for root finding
        def PD_q_test(x):
            kat.PDrefl_q.phi[0]=x
            out = kat.run(printout=0,printerr=0)
            print '\r root finding: function value %g                    ' % out.y,
            sys.stdout.flush()
            return out.y
    
        # do root finding
        xtol=1e-8
        (result, info)=scipy.optimize.bisect(PD_q_test,80.0,100.0, xtol=xtol, maxiter=500, full_output=True)
    
        print ""
        if info.converged:
            p_phase=result-90.0
            q_phase=result
            print " Root has been found:"
            print " p_phase %8f" % (p_phase)
            print " q_phase %8f" % (q_phase)
            print " (%d iterations, %g tolerance)" % (info.iterations, xtol)
            return (p_phase, q_phase)
        else:
            raise Exception("Root has not been found")