e2e : overviewe2e/pdfs/e2eoverview.pdf · e2e school at llo 9 func primitive module - command liner...

of 24 /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

Author: others

Post on 14-Aug-2020

5 views

Category:

Documents


0 download

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