Skip to content

Commit

Permalink
Add Ledoux discriminant as option 'AA' for fgong_get and amdl_get
Browse files Browse the repository at this point in the history
  • Loading branch information
warrickball committed Jul 11, 2019
1 parent af8ceb1 commit e84e4b1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
3 changes: 3 additions & 0 deletions tomso/adipls.py
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ def amdl_get(key_or_keys, D, A, G=DEFAULT_G):
- ``g``: gravity (array)
- ``rho``: density (array)
- ``P``: pressure (array)
- ``AA``: Ledoux discriminant (array)
- ``Hp``: pressure scale height (array)
- ``G1``: first adiabatic index (array)
- ``cs2``: sound speed squared (array)
Expand Down Expand Up @@ -303,6 +304,7 @@ def amdl_get(key_or_keys, D, A, G=DEFAULT_G):
m = q*M # mass
r = x*R # radius
G1 = A[:,3] # first adiabatic index
AA = A[:,4] # Ledoux disciminant

# we can safely ignore 0/0s here
with np.errstate(invalid='ignore'):
Expand Down Expand Up @@ -337,6 +339,7 @@ def amdl_get(key_or_keys, D, A, G=DEFAULT_G):
elif key == 'g': output.append(g)
elif key == 'rho': output.append(rho)
elif key == 'P': output.append(P)
elif key == 'AA': output.append(AA)
elif key == 'Hp': output.append(Hp)
elif key == 'G1': output.append(G1)
elif key == 'cs2': output.append(cs2)
Expand Down
6 changes: 4 additions & 2 deletions tomso/fgong.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ def fgong_get(key_or_keys, glob, var, reverse=False, G=DEFAULT_G):
- ``g``: gravity (array)
- ``rho``: density (array)
- ``P``: pressure (array)
- ``AA``: Ledoux discriminant (array)
- ``Hp``: pressure scale height (array)
- ``Hrho``: density scale height (array)
- ``G1``: first adiabatic index (array)
Expand Down Expand Up @@ -195,14 +196,14 @@ def fgong_get(key_or_keys, glob, var, reverse=False, G=DEFAULT_G):
M, R, L = glob[:3]
r, lnq, T, P, rho, X, L_r, kappa, epsilon, G1 = var[:,:10].T
cp = var[:,12]
A = var[:,14]
AA = var[:,14]

x = r/R
q = np.exp(lnq)
m = q*M
g = G*m/r**2
Hp = P/(rho*g)
Hrho = 1/(1/G1/Hp + A/r)
Hrho = 1/(1/G1/Hp + AA/r)
cs2 = G1*P/rho # square of the sound speed
cs = np.sqrt(cs2)
tau = -integrate(1./cs[::-1], r[::-1])[::-1] # acoustic depth
Expand Down Expand Up @@ -230,6 +231,7 @@ def fgong_get(key_or_keys, glob, var, reverse=False, G=DEFAULT_G):
elif key == 'g': output.append(g[I])
elif key == 'rho': output.append(rho[I])
elif key == 'P': output.append(P[I])
elif key == 'AA': output.append(AA[I])
elif key == 'Hp': output.append(Hp[I])
elif key == 'Hrho': output.append(Hrho[I])
elif key == 'G1': output.append(G1[I])
Expand Down

0 comments on commit e84e4b1

Please sign in to comment.