e2e : overview
Post on 09-Jan-2016
52 views
Embed Size (px)
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 PresentationTRANSCRIPT
E2E : Overviewe2e Overview : Hiro YamamotoWhat is e2eSoftware organizationSimple examplePhysics tools in e2e : Biplab BhawalLIGO I simulation : Matt Evans Hiro YamamotoLIGO Laboratory / California Institute of Technology
LIGO Scientific Collaboration - YOUR UNIVERSITY
What is e2e : 1
General purpose GW interferometer simulation packageOriginal version designed and developed by M.EvansGeneric tool like matlab or mathematicaEasy to simulate a wide range of configuration without modifying and revalidating codesSimulation programTime domain simulation written in C++Optics, mechanics, servo ...Easy to add new phenomena by concentrating on physics, not on programming
e2e workshop Oct.18,2000
What is e2e : 2e2e vs matlab
e2ematlabGeneral purpose calculatorLaser+2 mirrors = FPLIGO1 model by M.Evans1+2 = 3Melody b R.BeausoleilLanguageEasy construction of LIGO like opto-mechanical systemQuick prototyping of wide variety of problemsBuilt-in functionPrimitive modules :Mirror, michelson cavity, 3d mass, digital_filter, etcmath functions, strings, graphics, etc User programsExecute box files in modeler,(compound module)execute m-files in matlabGUIAlfisimulink
e2e workshop Oct.18,2000
Simulation setupSetup a configurationusing Graphical Interfaceor Text EditorConfiguration filesdescribing what to simulateTime domainsimulationSimulatedtime series of dataAuxiliary inputsFlexibilityEase of use
e2e workshop Oct.18,2000
Box filesSimulation setupAdd_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 fileLaserPhoto diodemirrormirror
e2e workshop Oct.18,2000
Mirror primitiveInput field to coated sideoutput field from coated sideInput field to substrate sideoutput field from substrate sideMass 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 BinAout= t Bin - r e-ikz AinABStatic parameters : Reflectivity, transmittance, surface curvature, etc
e2e workshop Oct.18,2000
Fabry-Perot cavity dynamicsETMz = -10-8 + 10-6 tResonant atPower = 1 W, TITM=0.03, TETM=100ppm,Lcavity = 4000mReflected PowerTransmitted PowerX 1001 m / s
e2e workshop Oct.18,2000
Suspended masswith controlForceMass positionSuspensionpointSuspForce= filter * mass positionMasspositionPendulumPendulumres. at 1HzControl on at 10mixerF/m + w2 dz S2 + a S + w2Zmass =
e2e workshop Oct.18,2000
- FUNC primitive module- command liner in GUI -GUI is not always the best toolFUNC is an expression parser, based on c-like syntaxall basic c functions, bessel, hermitespecial 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()
Time domain simulationAnalog 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 filtere2e DF = PFs pziir.m (bilinear trans (s->z) + SOS) + CDS filter.cTransfer function -> digital filterPendulum motionAnalog electronicsEasy to include non linear effectSaturation, e.g.A loop should have a delayNeed to put explicit delay when neededNeed to choose small enough time step
e2e workshop Oct.18,2000
Fields and opticsTime domain modal modelfield is expanded using Hermite-Gaussian eigen statesCompletely modularBuild planar optics configuration by combining mirrors and propagatorsPhoto diodes with arbitrary shapes can be attached anywhere
e2e workshop Oct.18,2000
Mechanics simulationSeismic motion from measurementNeed improvemention including correlations among stacks(2) Parameterized HYTEC stackEd Daw(3) Simple single suspended mirrorMalik4 sensors and actuatorscouple between LSC and ASC(4) Thermal noise added in an ad hoc wayusing Sam Finns model4
e2e workshop Oct.18,2000
Mechanical noise of one mirrorseismic & thermal noisesseismic motion(power spectral density)seismic isolation system(transfer function)suspended mirror(transfer function or 3d model)(power spectral density)
e2e workshop Oct.18,2000
Sensing noiseShot noise for an arbitrary inputAverage number of photons
Actual integer number of photons
Simulation optionShot noise can be turned on or off for each photo diode separately.Average number of photons by the input power of arbitrary time dependenceActual number of photons which thedetector senses.time#photons
e2e workshop Oct.18,2000
LIGO Simulation modelIOptics systemMechanical systemLaserx,Feedback forcePrimitive optics : any planar, slowFP, MC, PRM, LIGO,advanced LIGO,Summation cavity : fast, case-by-caseFP, MC, PRM* Digital filter* Single Suspended* MSE(later)sensoractuator
e2e workshop Oct.18,2000
LIGO simulation modelIIEtmRItmREtmTItmTBSRectrrtrtpobpotasyrefporPSL/IOOcorner station strong correlation in the low frequency seismic motiondetectors with shot noise6 suspended mirrors with seismic and thermal noiseactuator with saturation
e2e workshop Oct.18,2000
Simulated sensitivity curvebaseline fundamental noise by realistic simulationInterferometerMechanicsSensor-actuatorServo electronicsSignal extractionNoisesMechanicalSensorLaserMode CleanerElectronicsSimulation can include
e2e workshop Oct.18,2000
E2E simulation packageComponentsalfimodelermodeler_freqe2ecalcdetmape2emacrosimulationhelperGUIe2eDB.mcr*.par*.dat*.dhr*.in*.set*.prm*.xbm*.cc(mirror2)(mirror2.prm)*.box*.mapmatlabemacs
e2e workshop Oct.18,2000
Time domain simulation engineModule base classInitialize()Action()LaserMirrorPhoto diodeBased on the description file, module objects are created and placed in the order of executionLaserMirror1Mirror2PhotodiodeLaser.action()Mirror1.action()Mirror2.action()Photodiode.action()outputKnows how to be put in a time loopDerived class code adds a specific new physicsClass structureEvent queueTime loop
e2e workshop Oct.18,2000
Simulation engine frameworktime and frequency domainmodelert1 x1 y1t2 x2 y2t3 x3 y3...analyzeLIGO.dattimexvalyvalLIGO.dhrtime loopLIGO.boxmodeler_freq (a.la. spectrum analyzer)t1 x1 y1t2 x2 y2analyzeLIGO _dump.dat (optional)time loopf=f1,f2,...f1 Xamp1 Xphi1 Yamp1 Yphi1f2 Xamp2 Xphi2 Yamp2 Yphi2f3 Xamp3 Xphi3 Yamp3 Yphi3...LIGO.dattimeyvalxvalLIGO.dhrforce to arrange the columns this orderseed=100param1=3.14a connected to bmacro definitions...LIGO.setFFT
e2e workshop Oct.18,2000
Helper applicationsdetmap :generates data file for photo detectorwith arbitrary shape with non uniform efficiencyE2E> 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 workshop Oct.18,2000
Auxiliary inputs Power = sqrt(100-2*pow(E01,2)),E01,E01CavLength = 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 runmacro definition as runtime option> -param name = value> e.g., modeler -param distz = -0.1
e2e workshop Oct.18,2000
Simulation enginehow to runLoading 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? >> noc.ininteraction is recordablemodeler < c.in@(fname ~ @)chance to edit par file
e2e workshop Oct.18,2000
e2e documentsT980051 : Getting startedT970193 : Overview of e2eT970194 : Orga