From 21cd80038238a30bf7e983ef4b84f536d416fd45 Mon Sep 17 00:00:00 2001
From: Christopher Wipf <wipf@ligo.mit.edu>
Date: Wed, 8 Apr 2020 16:10:08 -0700
Subject: [PATCH] Fix an error in the coating brownian noise calculation

A discrepancy was found by Gabriele Vajente between the gwinc
CTN calculation and several other codes, especially in the case
of large Poisson ratio in the coating.

See: https://git.ligo.org/gabriele-vajente/thermal-noise-models

This commit resolves the discrepancy by fixing an apparent error
in the Yam et al calculation that was implemented in gwinc.
---
 gwinc/noise/coatingthermal.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/gwinc/noise/coatingthermal.py b/gwinc/noise/coatingthermal.py
index 41a642a4..19c411c0 100644
--- a/gwinc/noise/coatingthermal.py
+++ b/gwinc/noise/coatingthermal.py
@@ -89,10 +89,9 @@ def coating_brownian(f, materials, wavelength, wBeam, dOpt):
     zdir = -1
     dcdp_z = zdir * dcdp  # z-dir only matters here
 
-    # layer contrubutions (b_j in PhysRevD.91.042002)
-    brLayer = ( (1 - nN * dcdp_z / 2)**2 * (Ysub / yN) +
-                (1 - pratsub - 2 * pratsub**2)**2 * yN /
-                ((1 + pratN)**2 * (1 - 2 * pratN) * Ysub) )/ (1 - pratN)
+    # layer contributions (b_j in PhysRevD.91.042002, errors corrected)
+    brLayer = ((1-nN*dcdp_z/2)**2*((1-2*pratN)*(1+pratN)*Ysub)/((1-2*pratsub)*(1+pratsub)*yN) +
+               ((1-2*pratsub)*(1+pratsub)*yN)/((1+pratN)*Ysub))/(1-pratN)
 
     # sum them up for total
     w = 2 * pi * f
-- 
GitLab