From 84791178d3f0757f8cf1ad17030fc46177ff60bc 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 | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gwinc/noise/coatingthermal.py b/gwinc/noise/coatingthermal.py
index 41a642a4..3dfba514 100644
--- a/gwinc/noise/coatingthermal.py
+++ b/gwinc/noise/coatingthermal.py
@@ -89,10 +89,10 @@ 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 (eq 1) from doi:10.1103/PhysRevD.91.042002, errors corrected
+    brLayer = ( 1/(1-pratN) *
+                ( (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) ) )
 
     # sum them up for total
     w = 2 * pi * f
-- 
GitLab