Commit 2afa43d4 authored by Daniel Brown's avatar Daniel Brown
Browse files

adding example on how to remove and add components

parent 017c399f
# Example showing how to remove and add components with Pykat.
# Commands that get parsed into a pykat object can be interacted
# with in a object orientated manner. So you can call kat.component.remove()
# to remove it for example.
#
# This example shows how a kat object can be manipulated when pykat objects
# are available.
#
# If the a Finesse command hasn't been implemented as a pykat object yet
# the command will be added as an "extra line", these can still be removed
# and added to using the kat.removeLine and kat.addLine commands.
#
# Daniel Brown 17/12/14
import pykat
from pykat.components import *
kat = pykat.finesse.kat()
kat.parseCommands("""
m m1 0.9 0.1 0 n1 n2
s s1 1 n2 n3
m m2 0.9 0.1 0 n3 n4
""")
print "Before..."
print "".join(kat.generateKatScript())
kat.s1.remove()
print "After remove..."
print "".join(kat.generateKatScript())
# Adding in with commands
kat.parseCommands("""
s s2 1 n2 n2a
m m3 0.9 0.1 0 n2a n3a
s s3 1 n3a n3
""")
print "After add with commands..."
print "".join(kat.generateKatScript())
kat.s2.remove()
kat.s3.remove()
kat.m3.remove()
# Adding in with objects
kat.add(space("s2", "n2", "n2a", L=1))
kat.add(space("s3", "n3", "n3a", L=1))
kat.add(mirror("m3", "n2a", "n3a", R=0.9, T=0.1, phi=0))
print "After add with objects..."
print "".join(kat.generateKatScript())
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment