e2e : overview

24
E2e school at LLO 1 Mar. 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 Yamamoto LIGO Laboratory / California Institute of Technology

Upload: tatum

Post on 09-Jan-2016

98 views

Category:

Documents


0 download

DESCRIPTION

E2E : Overview. Hiro Yamamoto LIGO Laboratory / California Institute of Technology. e2e Overview : Hiro Yamamoto What is e2e Software organization Simple example Physics tools in e2e : Biplab Bhawal LIGO I simulation : Matt Evans. What is e2e : 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: E2E : Overview

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

Page 2: E2E : Overview

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

Page 3: E2E : Overview

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

Page 4: E2E : Overview

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 : Overview

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 : Overview

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

Page 7: E2E : Overview

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

Page 8: E2E : Overview

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 =

Page 9: E2E : Overview

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

Page 10: E2E : Overview

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

Page 11: E2E : Overview

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

Page 12: E2E : Overview

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

Page 13: E2E : Overview

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)

Page 14: E2E : Overview

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

Page 15: E2E : Overview

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

Page 16: E2E : Overview

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

Page 17: E2E : Overview

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 : Overview

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 : Overview

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

Page 20: E2E : Overview

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

Page 21: E2E : Overview

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)

Page 22: E2E : Overview

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 : Overview

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

Page 24: E2E : Overview

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