Transcript
Page 1: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 2: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 3: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 4: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 5: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 6: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 7: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 8: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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 =

Page 9: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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()<lockTime , in0, in0+gain*in1 );

mixer module

Page 10: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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 =1

s 2 +gs +w02

fm

+ w02 xsus

Ê Ë

ˆ ¯

+

G

Page 11: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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’)

Page 12: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 13: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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)

Page 14: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 15: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 16: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 17: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 18: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 19: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 20: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 21: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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)

Page 22: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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

Page 23: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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 < c.in@(fname ~ @)

chance toedit par file

Page 24: E2E : Overviewe2e/pdfs/e2eOverview.pdf · E2e school at LLO 9 FUNC primitive module - command liner in GUI - u GUI is not always the best tool u FUNC is an expression parser, based

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


Top Related