Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
F
finesse3
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 100
    • Issues 100
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 4
    • Merge Requests 4
  • Requirements
    • Requirements
    • List
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • finesse
  • finesse3
  • Wiki
  • pygwinc

Last edited by Jameson Rollins Sep 06, 2019
Page history

pygwinc

pygwinc+finesse

This page outlines how finesse and pygwinc might be used together.

pygwinc no longer makes assumptions about the interferometer topology, and the transfer functions between noise sources and readout. This allows pygwinc to be used as a generic noise budgeting tool. This also allows for using other tools like finesse for generating transfer functions.

In this page we sketch out a toy "optimization" loop using pygwinc and finesse in concert, as a strawman for a useful interaction between the two packages.

The outline goes something like the following:

  1. initialize pygwinc budget
  2. initialize finesse model
  3. link finesse and pygwinc parameters
  4. in loop:
    1. evaluate finesse model
    2. update pygwinc with newly evaluated finesse transfer functions
    3. evaluate pygwinc noise terms
    4. evaluate cost function and exit condition
    5. update parameters

linked parameters

This sketch shows how parameters might be linked between a finesse model and pygwinc budget. This assumes features that don't yet exist in finesse, in particular the referencing of external variables in a kat string, and the outputting of some sort of explicit transfer function from the execution of the model.

import gwinc
import finesse

Budget, ifo = gwinc.load_ifo('...')

kat = finesse.parse('''
...
mirror m1 R @ifo.Optics.ETMY.R
...
''', ifo=ifo)

budget = Budget(ifo=ifo)

while True:
    out = kat.run(ifo=ifo)

    budget.update(ifo=ifo, model=out)

    psd = budget.calc()

    if exit_condition(psd):
        break

    ifo.Optics.ETMY.R = ...
Clone repository
  • Code Review
  • Ideas
  • Roadmap
  • Workshop
  • Home
  • pygwinc