diff --git a/gwinc/noise/substratethermal.py b/gwinc/noise/substratethermal.py index f234d52062438030b902f9b9503b60795e0b138a..0b9e86ebaf8931da1e8888a511457bc89a027b6f 100644 --- a/gwinc/noise/substratethermal.py +++ b/gwinc/noise/substratethermal.py @@ -61,8 +61,6 @@ def substrate_carrierdensity(f, materials, wBeam, exact=False): def substrate_thermorefractive(f, materials, wBeam, exact=False): """Substrate thermal displacement noise spectrum from thermorefractive fluctuations - For semiconductor substrates. - :f: frequency array in Hz :materials: gwinc optic materials structure :wBeam: beam radius (at 1 / e^2 power) diff --git a/gwinc/suspension.py b/gwinc/suspension.py index 6434d00bd5b72ebb9281b3f74fdc3c2baacda6a2..fcb74d615b25ccdfcfb7feaa250c77240db375ca 100644 --- a/gwinc/suspension.py +++ b/gwinc/suspension.py @@ -143,11 +143,13 @@ def wireGeometry(r, N, RibbonThickness=None, TaperedEndRadius=None, **kwargs): """Compute wire geometry-dependent factors r is the wire radius, or ribbon width. + N is the number of wires or ribbons RibbonThickness must be set when ribbons are used, or TaperedEndRadius when tapered fibers are used. + Other kwargs are ignored. - Returns the cross-sectional area and moment of inertia, - and the modified surface to volume ratios (vertical and horizontal). + Returns cross-sectional areas (central and end) and moment of inertia, + and modified surface to volume ratios (vertical and horizontal). """ # Usual case: round wire/fiber @@ -203,12 +205,22 @@ def wireTELoss(w, tension, xsectEnd, xII, Temp, alpha, beta, rho, C, K, Y, """Thermoelastic calculations for wires Repeated for upper and lower joint of each stage. + w = angular frequency + tension = weight supported per wire + xsectEnd = cross sectional area of wire end + xII = cross sectional moment of inertia + Temp = temperature alpha = coeff of thermal expansion beta = temp dependence of Young's modulus rho = mass density C = heat capacity K = thermal conductivity W/(m K) Y = Young's modulus + RibbonThickness must be set when ribbons are used + Other kwargs are ignored + + Returns the loss angle associated with thermoelastic damping + (wire horizontal) """ # horizontal TE time constant, wires @@ -237,6 +249,9 @@ def bladeTELoss(w, t, Temp, alpha, beta, rho, C, K, Y): """Thermoelastic calculations for blades Invoked for upper joint only (there is no lower blade) + w = angular frequency + t = blade thickness + Temp = temperature alpha = coeff of thermal expansion beta = temp dependence of Young's modulus rho = mass density @@ -244,6 +259,9 @@ def bladeTELoss(w, t, Temp, alpha, beta, rho, C, K, Y): K = thermal conductivity W/(m K) Y = Young's modulus + Returns the loss angle associated with thermoelastic damping + (blade vertical) + """ # vertical TE time constant, blades tau = (rho * C * t**2) / (K * pi**2) @@ -274,6 +292,17 @@ def bladeTELoss(w, t, Temp, alpha, beta, rho, C, K, Y): def continuumWireKh(w, N, length, tension, xsect, xII, rho, Y, phi): """Horizontal spring constant, including violin modes + w = angular frequency + N = number of wires + length = wire length + tension = weight supported per wire + xsect = wire cross sectional area + xII = cross sectional moment of inertia + rho = mass density + Y = Young's modulus + phi = loss angle + + Returns the spring constant (wire horizontal) """ Y = Y * (1 + 1j * phi) # complex Young's modulus @@ -309,6 +338,18 @@ def continuumWireKv(w, N, length, xsect, xsectEnd, rho, Y, phi, TaperedEndLength=None, **kwargs): """Vertical spring constant, including bounce mode. + w = angular frequency + N = number of wires + length = wire length + xsect = wire cross sectional area + xsectEnd = cross sectional area of wire end + rho = mass density + Y = Young's modulus + phi = loss angle + TaperedEndLength must be set when tapered fibers are used + Other kwargs are ignored + + Returns the spring constant (wire vertical) """ Y = Y * (1 + 1j * phi) # complex Young's modulus k = sqrt(rho / Y) * w