Skip to content
Snippets Groups Projects
Select Git revision
  • fde37877c105e5cd8a758d3fe8ecc3a0c29b866d
  • master default
2 results

test_2d_plot.py

Blame
  • Forked from finesse / pykat
    390 commits behind the upstream repository.
    Daniel Brown's avatar
    Daniel Brown authored
    adding string conversion for detectors and components to return its name, you can then get outputs like out[kat.pd1] or out['pd1']
    056dd5ed
    History
    test_2d_plot.py 1.03 KiB
    from pykat import finesse
    from pykat.utilities.optics.gaussian_beams import gauss_param
    from pykat.detectors import *
    from pykat.components import *
    from pykat.commands import *
    from pykat.structs import *
    import matplotlib.image as mpimg
    from mpl_toolkits.mplot3d.axes3d import Axes3D
    
    import numpy as np
    import pylab as pl
    
    code = """
    l l1 1 0 0 n1
    s s1 10 1 n1 n2
    
    ad ad1 0 n2
    beam b1 0 n2
    maxtem 0 
    
    xaxis b1 x lin -10.0 10 100
    x2axis b1 y lin -6 6 100
    
    """
    
    kat = finesse.kat()
    
    kat.parseCommands(code)
    kat.s1.n1.q = gauss_param(w0=1e-3, z=0)
    
    out = kat.run(printout=0,printerr=0)
    
    fig = pl.figure()
    ax = fig.add_subplot(1, 1, 1, projection='3d')
    x, y = np.meshgrid(out.x, out.y)
    p = ax.plot_wireframe(x, y, out["b1"])   
    pl.xlabel(out.xlabel)
    pl.ylabel(out.ylabel)
    pl.show()
    
    pl.figure()
    extent = [np.min(out.x),np.max(out.x),np.min(out.y),np.max(out.y)]
    imgplot = pl.imshow(out["b1"], extent=extent)
    #imgplot.set_interpolation('bicubic')
    imgplot.set_interpolation('nearest')
    pl.colorbar()
    pl.xlabel(out.xlabel)
    pl.ylabel(out.ylabel)
    pl.show()