e2e : overviewe2e/pdfs/e2eoverview.pdf · e2e school at llo 9 func primitive module - command liner...
Embed Size (px)
TRANSCRIPT
-
E2e school at LLO 1Mar. 18, 2002
E2E : Overview
1. e2e Overview : Hiro Yamamotoß What is e2eß Software organizationß Simple example
2. Physics tools in e2e : Biplab Bhawal3. LIGO I simulation : Matt Evans
Hiro YamamotoLIGO Laboratory / California Institute of Technology
-
E2e school at LLO 2
What is e2e : 1
u General purpose GW interferometer simulationpackage» Original version designed and developed by M.Evans» Generic tool like matlab or mathematica» Easy to simulate a wide range of configuration without modifying
and revalidating codesu Simulation program
» Time domain simulation written in C++» Optics, mechanics, servo ...» Easy to add new phenomena by concentrating on physics, not on
programming
-
E2e school at LLO 3
What is e2e : 2e2e vs matlab
1+2 = 3Melody b R.Beausoleil
Laser+2 mirrors = FPLIGO1 model by M.Evans
General purposecalculator
Quick prototyping of widevariety of problems
Easy construction of LIGOlike opto-mechanical system
Language
simulinkAlfiGUI
execute m-files in matlabExecute box files in modeler,(compound module)
User programs
math functions, strings,graphics, etc
Primitive modules :Mirror, michelson cavity, 3dmass, digital_filter, etc
Built-in function
matlabe2e
-
E2e school at LLO 4
Simulation setup
Setup a configurationusing Graphical Interface
or Text Editor
Configuration filesdescribing what to
simulate
Time domainsimulation
Simulatedtime series of data
Auxiliary inputs
•Flexibility•Ease of use
-
E2e school at LLO 5
Box filesSimulation setup
Add_Submodules{ field_gen Laser; mirror2 ITM; mirror2 ETM; propagator I2E; propagator E2I; data_in Power; ...}Settings Laser{ max_mode_order = 2 distance_waist_X = distz compute_mismatch_curvature = yes; ...}Settings I2E { length = CavLength }Settings E2I { length = CavLength }Settings Power {init = 1; type = vector_real}...Add_Connections{ Power 0 -> Laser power; Laser 0 -> ITM Bin; ITM Aout -> I2E 0; I2E 0 -> ETM Ain ETM Aout -> E2I 0; E2I 0 -> ITM Ain ETM Bout -> TransPower 0; TransPower 0 -> this Tran0 ...}
Content of box file
Laser
Photo diode
mirrormirror
-
E2e school at LLO 6
Mirror primitive
Input field to coated side
output field from coated side
Input field to substrate side
output field from substrate side
Mass position and orientation struct clamp{ double x, y, z; double thetax,… int statusBits;}
struct field{ double amps[n]; int mode; int polarization; double waistPos;}
Bout= t Ain + r eikz Bin
Aout= t Bin - r e-ikz Ain
A BStatic parameters : Reflectivity, transmittance, surface curvature, etc
-
E2e school at LLO 7
Fabry-Perot cavity dynamics
ETMz = -10-8 + 10-6 t
Resonant at
Power = 1 W, TITM=0.03, TETM=100ppm,Lcavity = 4000m
Reflected Power
Transmitted PowerX 100
1 m / s
-
E2e school at LLO 8
Suspended masswith control
Force
Mass position
Suspensionpoint
Susp
Force= filter * mass position
Massposition
Pendulum Pendulumres. at 1Hz
Control on at 10mixer
F/m + w2 dz S2 + a S + w2
Zmass =
-
E2e school at LLO 9
FUNC primitive module- command liner in GUI -
u GUI is not always the best toolu FUNC is an expression parser, based on c-like syntaxu all basic c functions, bessel, hermiteu special functions : time_now(), white_noise,
digital_filter(poles, zeros), fp_guoypahse(L,R1,R2), …u predefined constants : PI, LIGHT_SPEED, …u inline functions : leng(x,y) = sqrt(x*x+y*y); L = leng(2,3);
gain = -5; lockTime = 10;out0 = if ( time_now()
-
E2e school at LLO 10
Time domain simulationu Analog process is simulated by a discritized process
with a very small time step (10-7~ 10-3 s)u Linear system response is handled using digital filter
» e2e DF = PF’s pziir.m (bilinear trans (s->z) + SOS) + CDS filter.c» Transfer function -> digital filter» Pendulum motion» Analog electronics
u Easy to include non linear effect» Saturation, e.g.
u A loop should have a delay» Need to put explicit delay when needed» Need to choose small enough time step
x = 1s 2 +gs +w0
2fm
+ w02 xsus
Ê Ë
ˆ ¯
+
G
-
E2e school at LLO 11
Fields and optics
u Time domain modal model» field is expanded using Hermite-Gaussian eigen states
u Completely modular» Build planar optics configuration by combining mirrors and
propagators» Photo diodes with arbitrary shapes can be attached anywhere
w0
z(w0,z)
(w0,-z)waist position
w(z)
coatingcoating
substrate(w0’,-z’)
(w0’,z’)
-
E2e school at LLO 12
Mechanics simulation(1) Seismic motion from
measurement» Need improvemention including
correlations among stacks(2) Parameterized HYTEC stack
» Ed Daw(3) Simple single suspended mirror
» Malik» 4 sensors and actuators» couple between LSC and ASC
(4) Thermal noise added in an adhoc way» using Sam Finn’s model
1
2 3 4
-
E2e school at LLO 13
Mechanical noise of one mirrorseismic & thermal noises
seismic motion(power spectral density)
seis
mic
isol
atio
n sy
stem
(tra
nsfe
r fu
nctio
n)
suspended mirror(transfer function
or 3d model)
†
xseismic +dxthermal(power spectral density)
-
E2e school at LLO 14
Average number of photons
Actual integer number of photons
Simulation option
Sensing noiseShot noise for an arbitrary input
†
n0(t) =h ⋅ P(t ) ⋅ Dt
h ⋅n
†
n(t) = Poisson(n0 (t))
Shot noise can be turnedon or off for each photodiode separately.
Average number of photons by the input power of arbitrary time dependence
Actual number of photons which thedetector senses.
time
#pho
tons
-
E2e school at LLO 15
LIGO Simulation modelI
Optics system Mechanical systemLaser
x,f
Feedback force
Primitive optics : any planar, slowFP, MC, PRM, LIGO,advanced LIGO,…
Summation cavity : fast, case-by-caseFP, MC, PRM
* Digital filter* Single Suspended* MSE(later)
sensor
actuator
-
E2e school at LLO 16
LIGO simulation modelII
EtmR
ItmR
EtmTItmTBSRec
trr
trtpob
pot
asyref
por
PSL/IOO
corner station strongcorrelation in thelow frequencyseismic motion
detectors with shot noise
6 suspended mirrorswith seismic andthermal noise
+z
z=0
Psus
Popt
zVdampsig_MASS
zFopt
actuator with saturation
-
E2e school at LLO 17
Simulated sensitivity curvebaseline fundamental noise by realistic simulation
•Interferometer•Mechanics•Sensor-actuator•Servo electronics•Signal extraction•Noises
•Mechanical•Sensor•Laser•Mode Cleaner•Electronics
Simulation can include
-
E2e school at LLO 18
E2E simulation packageComponents
alfimodeler
modeler_freq
e2ecalc
detmap
e2emacro
simulation helperGUI
e2eDB.mcr *.par
*.dat
*.dhr
*.in*.set
*.prm*.xbm *.cc
(mirror2)(mirror2.prm)
*.box
*.mapmatlab
emacs
-
E2e school at LLO 19
Time domain simulationengine
Module base class
Initialize()Action()
LaserMirror
Photo diode
Based on the descriptionfile, module objects arecreated and placed in theorder of execution
Laser
Mirror1
Mirror2
Photodiode
Laser.action()
Mirror1.action()
Mirror2.action()
Photodiode.action()
output
Knows how to beput in a time loop
Derived class code addsa specific new physics
Class structure Event queue Time loop
-
E2e school at LLO 20
Simulation engine frameworktime and frequency domain
modeler
t1 x1 y1
t2 x2 y2
t3 x3 y3
...
analyze
LIGO.dattime
xval
yval
LIGO.dhrtime loop
LIGO.boxmodeler_freq (a.la. spectrum analyzer)
t1 x1 y1
t2 x2 y2analyze
LIGO _dump.dat(optional)time loop
f=f1,f2,...
f1 Xamp1 Xphi1 Yamp1 Yphi1
f2 Xamp2 Xphi2 Yamp2 Yphi2
f3 Xamp3 Xphi3 Yamp3 Yphi3
...
LIGO.dat
time
yval
xval
LIGO.dhr
force to arrange thecolumns this order
seed=100
param1=3.14
a connected to b
macro definitions
...
LIGO.set
FFT
-
E2e school at LLO 21
Helper applicationsdetmap : generates data file for photo detector
with arbitrary shape with non uniform efficiency
E2E> Define the detector shape (lengths are inunits of beam size on detector)E2E>E2E> r_min [0:INF] = 0E2E> r_max [0:INF] = 5E2E> phi_begin [-180:360] = 0E2E> phi_end [0:INF] = 360E2E> gap [0:INF] = 0E2E> dx0 [0:INF] = 0E2E> dy0 [0:INF] = 0E2E>E2E> "name = val", "?" for help or OK >> okE2E> max of m+n (def=3,[0:INF]) >> 3E2E> Do you want to define non uniformity ?E2E> none *one line def read fileE2E> Type "name" to toggle on/off or OK >> okE2E> Equation >> 1-0.1*(x*x+y*y)
-
E2e school at LLO 22
Auxiliary inputs
Power = sqrt(100-2*pow(E01,2)),E01,E01
<% This is a macro db for Curv.box>CavLength = 2.655 [m] "arm length"distz = 0.1 [m] "waist displacement"E01 = 0.1 [W] "TEM01 mode power"
e2eDB.mcr> macros defined here can be used anywhere in the simulation
*.par> out most input port value> data_in values can be redefined here> data_in module name = value> They can change during a run
macro definition as runtime option> -param name = value> e.g., modeler -param distz = -0.1
-
E2e school at LLO 23
Simulation enginehow to run
Loading data from "./e2eDB.mcr"% This is a macro db for Curv.boxE2E> Description file >> Curv.boxE2E> Parameter file ('.' for none)(def="Curv.par") >> Curv.parE2E> Output File Name ('.' to halt):(def="Curv.dat") >> Curv.datE2E> Setting File Name ('.' for no output):(def="Curv.set") >> Curv.setE2E> Model time step (def=1e-05,[0:INF]) >>8.856e-9Current time is 0.000 (s).E2E> Simulation time (s) (def=1,[0:INF]) >>1e-4This will require 11291 steps.E2E> Write one data point every N steps. (0to halt) (def=1,[0:INF]) >> 100Rereading parameter values...Running...Done Running.E2E> Continue? >> noDone.
running modeler
% Description file >>Curv.box% Parameter file ('.' for none) >>Curv.par% Output File Name ('.' to halt): >>Curv.dat% Setting File Name ('.' for no output): >>Curv.set% Model time step (def=1e-05,[0:INF]) >>8.856e-9% Simulation time (s) (def=1,[0:INF]) >>1e-4% Write one data point every N steps. >>100% Continue? >>no
c.in
interaction isrecordable
modeler < [email protected](fname ~ @)
chance toedit par file
-
E2e school at LLO 24
e2e documents
u T980051 : Getting startedu T970193 : Overview of e2eu T970194 : Organization of e2eu T000047 : e2e primitive module - Reference manualu T990081 : Time domain modal modelu T000094 : Han2k - end users manual