Post on 09-Jan-2016
description
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 Bhawal
3. LIGO I simulation : Matt Evans
Hiro YamamotoLIGO Laboratory / California Institute of Technology
E2e school at LLO 2
What is e2e : 1
General purpose GW interferometer simulation package» 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 codes
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
e2e matlab
General purpose calculator
Laser+2 mirrors = FP
LIGO1 model by M.Evans
1+2 = 3
Melody b R.Beausoleil
Language Easy construction of LIGO like opto-mechanical system
Quick prototyping of wide variety of problems
Built-in function Primitive modules :
Mirror, michelson cavity, 3d mass, digital_filter, etc
math functions, strings, graphics, etc
User programs Execute box files in modeler,
(compound module)
execute m-files in matlab
GUI Alfi simulink
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 orientationstruct 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 B
Static 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 / 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 10
mixer
F/m + 2 dz
S2 + a S + 2Zmass =
E2e school at LLO 9
FUNC primitive module- command liner in GUI -
GUI is not always the best tool FUNC is an expression parser, based on c-like syntax all basic c functions, bessel, hermite special functions : time_now(), white_noise,
digital_filter(poles, zeros), fp_guoypahse(L,R1,R2), … predefined constants : PI, LIGHT_SPEED, … inline functions : leng(x,y) = sqrt(x*x+y*y); L = leng(2,3);
gain = -5; lockTime = 10;
out0 = if ( time_now()<lockTime , in0, in0+gain*in1 );
mixer module
E2e school at LLO 10
Time domain simulation
Analog process is simulated by a discritized process with a very small time step (10-7~ 10-3 s)
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
Easy to include non linear effect» Saturation, e.g.
A loop should have a delay» Need to put explicit delay when needed
» Need to choose small enough time step
x=1
s2 +γs+ω02
fm
+ω02xsus
⎛ ⎝
⎞ ⎠
xsus(t)f(t)x
+
G
E2e school at LLO 11
Fields and optics
Time domain modal model» field is expanded using Hermite-Gaussian eigen states
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)
coating
coating
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 ad hoc 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
ncti
on)
suspended mirror(transfer function
or 3d model)
€
xseismic+δxthermal(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)=η ⋅P(t)⋅Δt
h⋅ν
€
n(t)=Poisson(n0(t))
Shot noise can be turned on or off for each photo diode 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,
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 strong correlation in the low frequency seismic motion
detectors with shot noise
6 suspended mirrors with seismic and thermal noise
+z
z=0
Psus
Popt
zVdamp
sig_MASSzFopt
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 simulation engine
Module base class
Initialize()Action()
Laser
Mirror
Photo diode
Based on the description file, module objects are created and placed in the order of execution
Laser
Mirror1
Mirror2
Photodiode
Laser.action()
Mirror1.action()
Mirror2.action()
Photodiode.action()
output
Knows how to be put in a time loop
Derived class code adds a 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.dat
time
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 the columns this order
seed=100
param1=3.14
a connected to b
macro definitions
...
LIGO.set
FFT
E2e school at LLO 21
Helper applications
detmap : generates data file for photo detectorwith arbitrary shape with non uniform efficiency
E2E> Define the detector shape (lengths are in units 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 file E2E> 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. (0 to 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 is recordable
modeler < c.in@(fname ~ @)
chance to edit par file
E2e school at LLO 24
e2e documents
T980051 : Getting started T970193 : Overview of e2e T970194 : Organization of e2e T000047 : e2e primitive module - Reference manual T990081 : Time domain modal model T000094 : Han2k - end users manual