diff --git a/doc/source/User_Guide/arbitrary_scalar_fields.txt b/doc/source/User_Guide/arbitrary_scalar_fields.txt index de6e56de..78946f85 100644 --- a/doc/source/User_Guide/arbitrary_scalar_fields.txt +++ b/doc/source/User_Guide/arbitrary_scalar_fields.txt @@ -255,6 +255,14 @@ Active scalar fields :math:`\frac{\partial\chi_{a_i}}{\partial \phi}` 10010+200*(i-1) longitudinal derivative of active scalar field i :math:`\frac{\partial\chi_{a_i}^\prime}{\partial \phi}` 10011+200*(i-1) longitudinal derivative of the active scalar field i perturbation :math:`\frac{\partial\overline{\chi_{a_i}}}{\partial \phi}` 10012+200*(i-1) longitudinal derivative of the active scalar field i mean + :math:`d_{7_i}\mathrm{g}_{7_i}\chi` 10071+200*(i-1) chi\_buoyancy\_force for active scalar field i + :math:`d_{7_i}\mathrm{g}_{7_i}\chi'` 10072+200*(i-1) chi\_buoyancy\_pforce for active scalar field i perturbation + :math:`d_{7_i}\mathrm{g}_{7_i}\overline{\chi}` 10073+200*(i-1) chi\_buoyancy\_mforce for active scalar field i mean + :math:`d_{7_i}\mathrm{g}_{7_i}\chi_{00}` 10074+200*(i-1) chi\_buoyancy\_force\_ell0 for active scalar field i l0 + :math:`d_{7_i}v_r\mathrm{g}_{7_i}\chi` 10171+200*(i-1) chi\_buoy\_work for active scalar field i + :math:`d_{7_i}v'_r\mathrm{g}_{7_i}\chi'` 10072+200*(i-1) chi\_buoy\_work\_pp for active scalar field i perturbation + :math:`d_{7_i}\overline{v_r}\mathrm{g}_{7_i}\overline{\chi}` 10073+200*(i-1) chi\_buoy\_work\_mm for active scalar field i mean + :math:`d_{7_i}\mathrm{g}_{7_i}{\chi^\prime}{v^\prime}_r` 10181+200*(i-1) chi\_production\_buoyant\_pKE for active scalar field i =============================================================== =================== ================================================================ Passive scalar fields diff --git a/src/Diagnostics/Diagnostics_Scalars.F90 b/src/Diagnostics/Diagnostics_Scalars.F90 index 7c0454ae..e22a92ff 100644 --- a/src/Diagnostics/Diagnostics_Scalars.F90 +++ b/src/Diagnostics/Diagnostics_Scalars.F90 @@ -139,6 +139,75 @@ Subroutine Compute_Scalars(buffer) END_DO Call Add_Quantity(qty) Endif + + ! only valid for active scalars + if (ii .le. n_active_scalars) then + ! NOTE: The ell=0 component of the r-momentum equation is entirely described by + ! hydrostatic balance between the pressure and entropy and composition perturbations + ! (the reference state is assumed to also be in hydrostatic balance). + ! As such, the ell=0 buoancy force is uninteresting from the point of + ! view of the flow. We explicitly separate the ell=0 component for this + ! term (as with the entropy and pressure terms). + ! -- full buoyancy + If (compute_quantity(chi_buoyancy_force+scoff) .or. compute_quantity(chi_buoy_work+scoff)) Then + DO_PSI + qty(PSI) = ref%chi_buoyancy_coeff(ii,r)*(buffer(PSI,chivar)-& + & ell0_values(r,chivar)) + END_DO + If (compute_quantity(chi_buoyancy_force+scoff))Call Add_Quantity(qty) + If (compute_quantity(chi_buoy_work+scoff)) Then + DO_PSI + qty(PSI)=buffer(PSI,vr)*qty(PSI) + END_DO + Call Add_Quantity(qty) + Endif + Endif + + ! -- fluctuating buoyancy (ell = 0, m =0 already subtracted) + If (compute_quantity(chi_buoyancy_pforce+scoff) .or. compute_quantity(chi_buoy_work_pp+scoff)) Then + DO_PSI + qty(PSI) = ref%chi_buoyancy_coeff(ii,r)*fbuffer(PSI,chivar) + END_DO + If (compute_quantity(chi_buoyancy_pforce+scoff)) Call Add_Quantity(qty) + If (compute_quantity(chi_buoy_work_pp+scoff)) Then + DO_PSI + qty(PSI)=buffer(PSI,vr)*qty(PSI) + END_DO + Call Add_Quantity(qty) + Endif + Endif + + ! -- mean buoyancy + If (compute_quantity(chi_buoyancy_mforce+scoff) .or. compute_quantity(chi_buoy_work_mm+scoff)) Then + DO_PSI + qty(PSI) = ref%chi_buoyancy_coeff(ii,r)*(m0_values(PSI2,chivar)-& + & ell0_values(r,chivar)) + END_DO + If (compute_quantity(chi_buoyancy_mforce+scoff)) Call Add_Quantity(qty) + If (compute_quantity(chi_buoy_work_mm+scoff)) Then + DO_PSI + qty(PSI)=buffer(PSI,vr)*qty(PSI) + END_DO + Call Add_Quantity(qty) + Endif + Endif + + If (compute_quantity(chi_buoyancy_force_ell0+scoff)) Then + DO_PSI + qty(PSI) = ref%chi_buoyancy_coeff(ii,r)*ell0_values(r,chivar) + END_DO + Call Add_Quantity(qty) + Endif + + ! Chi Buoyant Production of turbulent kinetic energy. + If (compute_quantity(chi_production_buoyant_pKE+scoff)) Then + DO_PSI + qty(PSI) = ref%chi_buoyancy_coeff(ii,r)*fbuffer(PSI,chivar)*fbuffer(PSI,vr) + END_DO + Call Add_Quantity(qty) + Endif + endif + Enddo End Subroutine Compute_Scalars diff --git a/src/Diagnostics/scalars_field_codes.F b/src/Diagnostics/scalars_field_codes.F index 60e570e6..db5daa85 100644 --- a/src/Diagnostics/scalars_field_codes.F +++ b/src/Diagnostics/scalars_field_codes.F @@ -24,33 +24,186 @@ Integer, Parameter :: a_scalar_offset = 10000 ! :OFFSET CODE: Integer, Parameter :: p_scalar_offset = 20000 ! :OFFSET CODE: + Integer, Parameter :: chi_off = 0 ! :OFFSET CODE: !------------ Fields ---------------------! ! Full - Integer, Parameter :: chi = 1 ! :tex: $\chi$ + Integer, Parameter :: chi = chi_off + 1 ! :tex: $\chi$ ! Fluctuating - Integer, Parameter :: chi_p = 2 ! :tex: $\chi'$ + Integer, Parameter :: chi_p = chi_off + 2 ! :tex: $\chi'$ ! Mean - Integer, Parameter :: chi_m = 3 ! :tex: $\overline{\chi}$ + Integer, Parameter :: chi_m = chi_off + 3 ! :tex: $\overline{\chi}$ !------------ Radial Derivatives --------------! ! Full - Integer, Parameter :: chi_dr = 4 ! :tex: $\frac{\partial \chi}{\partial r}$ + Integer, Parameter :: chi_dr = chi_off + 4 ! :tex: $\frac{\partial \chi}{\partial r}$ ! Fluctuating - Integer, Parameter :: chi_p_dr = 5 ! :tex: $\frac{\partial \chi'}{\partial r}$ + Integer, Parameter :: chi_p_dr = chi_off + 5 ! :tex: $\frac{\partial \chi'}{\partial r}$ ! Mean - Integer, Parameter :: chi_m_dr = 6 ! :tex: $\frac{\partial \overline{\chi}}{\partial r}$ + Integer, Parameter :: chi_m_dr = chi_off + 6 ! :tex: $\frac{\partial \overline{\chi}}{\partial r}$ !------------ Theta Derivatives ---------------! - Integer, Parameter :: chi_dtheta = 7 ! :tex: $\frac{\partial \chi}{\partial \theta}$ + Integer, Parameter :: chi_dtheta = chi_off + 7 ! :tex: $\frac{\partial \chi}{\partial \theta}$ + Integer, Parameter :: chi_p_dtheta = chi_off + 8 ! :tex: $\frac{\partial \chi'}{\partial \theta}$ + Integer, Parameter :: chi_m_dtheta = chi_off + 9 ! :tex: $\frac{\partial \overline{\chi}}{\partial \theta}$ - Integer, Parameter :: chi_p_dtheta = 8 ! :tex: $\frac{\partial \chi'}{\partial \theta}$ + !------------ Phi Derivatives -----------------! + Integer, Parameter :: chi_dphi = chi_off + 10 ! :tex: $\frac{\partial \chi}{\partial \phi}$ + Integer, Parameter :: chi_p_dphi = chi_off + 11 ! :tex: $\frac{\partial \chi'}{\partial \phi}$ + Integer, Parameter :: chi_m_dphi = chi_off + 12 ! :tex: $\frac{\partial \overline{\chi}}{\partial \phi}$ - Integer, Parameter :: chi_m_dtheta = 9 ! :tex: $\frac{\partial \overline{\chi}}{\partial \theta}$ - !------------ Phi Derivatives -----------------! - Integer, Parameter :: chi_dphi = 10 ! :tex: $\frac{\partial \chi}{\partial \phi}$ + ! FIXME: placeholder + ! !------------ (1/r) * Theta Derivatives --------! + ! Integer, Parameter :: chi_dtr = chi_off + 13 ! :tex: $\frac{1}{r}\frac{\partial \chi}{\partial \theta}$ + ! Integer, Parameter :: chi_p_dtr = chi_off + 14 ! :tex: $\frac{1}{r}\frac{\partial \chi'}{\partial \theta}$ + ! Integer, Parameter :: chi_m_dtr = chi_off + 15 ! :tex: $\frac{1}{r}\frac{\partial \overline{\chi}}{\partial \theta}$ + ! !--- (1/{r sintheta}) * Phi Derivatives ---------! + ! Integer, Parameter :: chi_dprs = chi_off + 16 ! :tex: $\frac{1}{r\mathrm{sin}\theta} \frac{\partial \chi}{\partial \phi}$ + ! Integer, Parameter :: chi_p_dprs = chi_off + 17 ! :tex: $\frac{1}{r\mathrm{sin}\theta} \frac{\partial \chi'}{\partial \phi}$ + ! Integer, Parameter :: chi_m_dprs = chi_off + 18 ! :tex: $\frac{1}{r\mathrm{sin}\theta} \frac{\partial \overline{\chi}}{\partial \phi}$ + ! !------------ Radial Second Derivatives --------------! + ! Integer, Parameter :: chi_d2r = chi_off + 19 ! :tex: $\frac{\partial^2 \chi}{\partial r^2}$ + ! Integer, Parameter :: chi_p_d2r = chi_off + 20 ! :tex: $\frac{\partial^2 \chi'}{\partial r^2}$ + ! Integer, Parameter :: chi_m_d2r = chi_off + 21 ! :tex: $\frac{\partial^2 \overline{\chi}}{\partial r^2}$ + ! !------------ Theta Second Derivatives --------------! + ! Integer, Parameter :: chi_d2t = chi_off + 22 ! :tex: $\frac{\partial^2 \chi}{\partial \theta^2}$ + ! Integer, Parameter :: chi_p_d2t = chi_off + 23 ! :tex: $\frac{\partial^2 \chi'}{\partial \theta^2}$ + ! Integer, Parameter :: chi_m_d2t = chi_off + 24 ! :tex: $\frac{\partial^2 \overline{\chi}}{\partial \theta^2}$ + ! !------------ Phi Second Derivatives --------------! + ! Integer, Parameter :: chi_d2p = chi_off + 25 ! :tex: $\frac{\partial^2 \chi}{\partial \phi^2}$ + ! Integer, Parameter :: chi_p_d2p = chi_off + 26 ! :tex: $\frac{\partial^2 \chi'}{\partial \phi^2}$ + ! Integer, Parameter :: chi_m_d2p = chi_off + 27 ! :tex: $\frac{\partial^2 \overline{\chi}}{\partial \phi^2}$ + ! !------------ Radial-Theta Second Derivatives --------------! + ! Integer, Parameter :: chi_d2rt = chi_off + 28 ! :tex: $\frac{\partial^2 \chi}{\partial r \partial \theta}$ + ! Integer, Parameter :: chi_p_d2rt = chi_off + 29 ! :tex: $\frac{\partial^2 \chi'}{\partial r \partial \theta}$ + ! Integer, Parameter :: chi_m_d2rt = chi_off + 30 ! :tex: $\frac{\partial^2 \overline{\chi}}{\partial r \partial \theta}$ + ! !------------ Radial-Phi Derivatives --------------! + ! Integer, Parameter :: chi_d2rp = chi_off + 31 ! :tex: $\frac{\partial^2 \chi}{\partial r \partial \phi}$ + ! Integer, Parameter :: chi_p_d2rp = chi_off + 32 ! :tex: $\frac{\partial^2 \chi'}{\partial r \partial \phi}$ + ! Integer, Parameter :: chi_m_d2rp = chi_off + 33 ! :tex: $\frac{\partial^2 \overline{\chi}}{\partial r \partial \phi}$ + ! !------------ Theta-Phi Derivatives --------------! + ! Integer, Parameter :: chi_d2tp = chi_off + 34 ! :tex: $\frac{\partial^2 \chi}{\partial \theta \partial \phi}$ + ! Integer, Parameter :: chi_p_d2tp = chi_off + 35 ! :tex: $\frac{\partial^2 \chi'}{\partial \theta \partial \phi}$ + ! Integer, Parameter :: chi_m_d2tp = chi_off + 36 ! :tex: $\frac{\partial^2 \overline{\chi}}{\partial \theta \partial \phi}$ + + + ! FIXME: placeholder - NOTE definitions are not correct/finalized + Integer, Parameter :: chim_off = chi_off + 50 ! :OFFSET CODE: + ! !--- Masses + ! Integer, Parameter :: compositional_mass_full = chim_off + 1 ! rho_bar chi :tex: $\mathrm{f}_1\mathrm{f}_4\Theta$ + ! Integer, Parameter :: compositional_mass_p = chim_off + 2 ! rho_bar chi' :tex: $\mathrm{f}_1\mathrm{f}_4\Theta$ + ! Integer, Parameter :: compositional_mass_m = chim_off + 3 ! rho_bar chi_bar :tex: $\mathrm{f}_1\mathrm{f}_4\overline{\Theta}$ + + ! !--- Quadratics + ! Integer, Parameter :: compositional_mass_sq = chim_off + 4 ! rho_bar T_bar S :tex: $\left(\mathrm{f}_1\mathrm{f}_4\Theta\right)^2$ + ! Integer, Parameter :: compositional_massp_sq = chim_off + 5 ! rho_bar T_bar S' :tex: $\left(\mathrm{f}_1\mathrm{f}_4\Theta\right)^2$ + ! Integer, Parameter :: compositional_massm_sq = chim_off + 6 ! rho_bar T_bar :tex: $\left(\mathrm{f}_1\mathrm{f}_4\overline{\Theta}\right)^2$ + + ! !--- Momentum equation Chi contributions + Integer, Parameter :: chi_mom_eq_off = chim_off + 20 ! :OFFSET CODE: + Integer, Parameter :: chi_buoyancy_force = chi_mom_eq_off+1 ! :tex: $d_{7_i}\mathrm{g}_{7_i}\chi$ + Integer, Parameter :: chi_buoyancy_pforce = chi_mom_eq_off+2 ! :tex: $d_{7_i}\mathrm{g}_{7_i}\chi'$ + Integer, Parameter :: chi_buoyancy_mforce = chi_mom_eq_off+3 ! :tex: $d_{7_i}\mathrm{g}_{7_i}\overline{\chi}$ + + ! FIXME: placeholder + ! ! ell=0 pressure and buoyancy forces (r-direction only) + ! ! These are substracted out from the radial terms above + ! ! because they do not contribute to the dynamics. + ! ! The ell=0 chi buoyancy force is determined by the mean chi profile. + ! ! The ell=0 pressure force is DEFINED such that it exactly balances the ell=0 buoyancy + Integer, Parameter :: chi_buoyancy_force_ell0 = chi_mom_eq_off+4 ! :tex: $d_{7_i}\mathrm{g}_{7_i}\chi_{00}$ + + + ! FIXME: placeholder - NOTE definitions are not correct/finalized + ! !--- Chi equations contributions + Integer, Parameter :: chi_eq_off = chi_mom_eq_off + 10 ! :OFFSET CODE: + ! ! Advection (Full) + ! Integer, Parameter :: rhotv_grad_chi = chi_eq_off+1 ! :tex: $\mathrm{f}_1\mathrm{f}_4\boldsymbol{v}\cdot\boldsymbol{\nabla}\Theta$ + ! Integer, Parameter :: rhotvp_grad_chip = chi_eq_off+2 ! :tex: $\mathrm{f}_1\mathrm{f}_4\boldsymbol{v'}\cdot\boldsymbol{\nabla}\Theta'$ + ! Integer, Parameter :: rhotvp_grad_chim = chi_eq_off+3 ! :tex: $\mathrm{f}_1\mathrm{f}_4\boldsymbol{v'}\cdot\boldsymbol{\nabla}\overline{\Theta}$ + ! Integer, Parameter :: rhotvm_grad_chim = chi_eq_off+4 ! :tex: $\mathrm{f}_1\mathrm{f}_4\overline{\boldsymbol{v}}\cdot\boldsymbol{\nabla}\overline{\Theta}$ + ! Integer, Parameter :: rhotvm_grad_chip = chi_eq_off+5 ! :tex: $\mathrm{f}_1\mathrm{f}_4\overline{\boldsymbol{v}}\cdot\boldsymbol{\nabla}\Theta'$ + ! ! Advection (Pieces) + ! Integer, Parameter :: rhotvr_grad_chi = chi_eq_off+6 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_r\frac{\partial s}{\partial r}$ + ! Integer, Parameter :: rhotvpr_grad_chip = chi_eq_off+7 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_r'\frac{\partial \Theta'}{\partial r}$ + ! Integer, Parameter :: rhotvpr_grad_chim = chi_eq_off+8 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_r'\frac{\partial \overline{\Theta}}{\partial r}$ + ! Integer, Parameter :: rhotvmr_grad_chim = chi_eq_off+9 ! :tex: $\mathrm{f}_1\mathrm{f}_4\overline{v_r}\frac{\partial \overline{\Theta}}{\partial r}$ + ! Integer, Parameter :: rhotvmr_grad_chip = chi_eq_off+10 ! :tex: $\mathrm{f}_1\mathrm{f}_4\overline{v_r}\frac{\partial \Theta'}{\partial r}$ + + ! Integer, Parameter :: rhotvt_grad_chi = chi_eq_off+11 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{v_\theta}{r}\frac{\partial \Theta}{\partial \theta}$ + ! Integer, Parameter :: rhotvpt_grad_chip = chi_eq_off+12 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{v_\theta'}{r}\frac{\partial \Theta'}{\partial \theta}$ + ! Integer, Parameter :: rhotvpt_grad_chim = chi_eq_off+13 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{v_\theta'}{r}\frac{\partial \overline{\Theta}}{\partial \theta}$ + ! Integer, Parameter :: rhotvmt_grad_chim = chi_eq_off+14 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{\overline{v_\theta}}{r}\frac{\partial \overline{\Theta}}{\partial \theta}$ + ! Integer, Parameter :: rhotvmt_grad_chip = chi_eq_off+15 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{\overline{v_\theta}}{r}\frac{\partial \Theta'}{\partial \theta}$ + + ! Integer, Parameter :: rhotvp_grad_chi = chi_eq_off+16 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{v_\phi}{r \mathrm{sin}\theta}\frac{\partial \Theta}{\partial \phi}$ + ! Integer, Parameter :: rhotvpp_grad_chip = chi_eq_off+17 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{v_\phi'}{r \mathrm{sin}\theta}\frac{\partial \Theta'}{\partial \phi}$ + ! Integer, Parameter :: rhotvpp_grad_chim = chi_eq_off+18 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{v_\phi'}{r \mathrm{sin}\theta}\frac{\partial \overline{\Theta}}{\partial \phi}$ + ! Integer, Parameter :: rhotvmp_grad_chim = chi_eq_off+19 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{\overline{v_\phi}}{r \mathrm{sin}\theta}\frac{\partial \overline{\Theta}}{\partial \phi}$ + ! Integer, Parameter :: rhotvmp_grad_chip = chi_eq_off+20 ! :tex: $\mathrm{f}_1\mathrm{f}_4\frac{\overline{v_\phi}}{r \mathrm{sin}\theta}\frac{\partial \Theta'}{\partial \phi}$ + + ! ! Diffusion + ! Integer, Parameter :: chi_diff = chi_eq_off+21 ! :tex: $-c_6\boldsymbol{\nabla}\cdot\boldsymbol{F}_{cond}$ + ! Integer, Parameter :: chip_diff = chi_eq_off+22 ! :tex: $-c_6\boldsymbol{\nabla}\cdot\boldsymbol{F'}_{cond}$ + ! Integer, Parameter :: chim_diff = chi_eq_off+23 ! :tex: $-c_6\boldsymbol{\nabla}\cdot\boldsymbol{\overline{F}}_{cond}$ + + ! Integer, Parameter :: chi_diff_r = chi_eq_off+24 ! :tex: $c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\left(\frac{\partial^2 \Theta}{\partial r^2}+\frac{\partial \Theta}{\partial r}\left[\frac{2}{r}+\frac{\mathrm{d}}{\mathrm{dr}}\mathrm{ln}\left\{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\right\} \right]\right)$ + ! Integer, Parameter :: chip_diff_r = chi_eq_off+25 ! :tex: $c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\left(\frac{\partial^2 \Theta'}{\partial r^2}+\frac{\partial \Theta'}{\partial r}\left[\frac{2}{r}+\frac{\mathrm{d}}{\mathrm{dr}}\mathrm{ln}\left\{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\right\} \right]\right)$ + ! Integer, Parameter :: chim_diff_r = chi_eq_off+26 ! :tex: $c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\left(\frac{\partial^2 \overline{\Theta}}{\partial r^2}+\frac{\partial \overline{\Theta}}{\partial r}\left[\frac{2}{r}+\frac{\mathrm{d}}{\mathrm{dr}}\mathrm{ln}\left\{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\right\} \right]\right)$ + + ! Integer, Parameter :: chi_diff_theta = chi_eq_off+27 ! :tex: $c_6\frac{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5}{r^2}\left(\frac{\partial^2 \Theta}{\partial \theta^2}+\mathrm{cot}\theta\frac{\partial s}{\partial\theta}\right)$ + ! Integer, Parameter :: chip_diff_theta = chi_eq_off+28 ! :tex: $c_6\frac{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5}{r^2}\left(\frac{\partial^2 \Theta'}{\partial \theta^2}+\mathrm{cot}\theta\frac{\partial \Theta'}{\partial\theta}\right)$ + ! Integer, Parameter :: chim_diff_theta = chi_eq_off+29 ! :tex: $c_6\frac{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5}{r^2}\left(\frac{\partial^2 \overline{\Theta}}{\partial \theta^2}+\mathrm{cot}\theta\frac{\partial \overline{\Theta}}{\partial\theta}\right)$ + + ! Integer, Parameter :: chi_diff_phi = chi_eq_off+30 ! :tex: $c_6\frac{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5}{r^2\mathrm{sin^2}\theta}\frac{\partial^2 \Theta}{\partial \phi^2}$ + ! Integer, Parameter :: chip_diff_phi = chi_eq_off+31 ! :tex: $c_6\frac{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5}{r^2\mathrm{sin^2}\theta}\frac{\partial^2 \Theta'}{\partial \phi^2}$ + ! Integer, Parameter :: chim_diff_phi = chi_eq_off+32 ! :tex: $c_6\frac{\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5}{r^2\mathrm{sin^2}\theta}\frac{\partial^2 \overline{\Theta}}{\partial \phi^2}$ + + ! ! Mass sources... + ! ! Q + ! Integer, Parameter :: chi_vol_mass_flux = chi_eq_off+33 ! :tex: $F_Q(r)$ + ! Integer, Parameter :: chi_vol_source = chi_eq_off+34 ! :tex: $\mathrm{f}_6(r)$ + + + ! ! Advective Fluxes (mass) + ! Integer, Parameter :: rhot_vr_chi = chi_eq_off+40 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_r\Theta$ + ! Integer, Parameter :: rhot_vrp_chip = chi_eq_off+41 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_r'\Theta'$ + ! Integer, Parameter :: rhot_vrp_chim = chi_eq_off+42 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_r'\overline{\Theta}$ + ! Integer, Parameter :: rhot_vrm_chip = chi_eq_off+43 ! :tex: $\mathrm{f}_1\mathrm{f}_4\,\overline{v_r}\Theta'$ + ! Integer, Parameter :: rhot_vrm_chim = chi_eq_off+44 ! :tex: $\mathrm{f}_1\mathrm{f}_4\,\overline{v_r}\,\overline{\Theta}$ + + ! Integer, Parameter :: rhot_vt_chi = chi_eq_off+45 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_\theta \Theta$ + ! Integer, Parameter :: rhot_vtp_chip = chi_eq_off+46 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_\theta'\Theta'$ + ! Integer, Parameter :: rhot_vtp_chim = chi_eq_off+47 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_\theta'\overline{\Theta}$ + ! Integer, Parameter :: rhot_vtm_chip = chi_eq_off+48 ! :tex: $\mathrm{f}_1\mathrm{f}_4\,\overline{v_\theta}\Theta'$ + ! Integer, Parameter :: rhot_vtm_chim = chi_eq_off+49 ! :tex: $\mathrm{f}_1\mathrm{f}_4\,\overline{v_\theta}\,\overline{\Theta}$ + + ! Integer, Parameter :: rhot_vp_chi = chi_eq_off+50 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_\phi \Theta$ + ! Integer, Parameter :: rhot_vpp_chip = chi_eq_off+51 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_\phi'\Theta'$ + ! Integer, Parameter :: rhot_vpp_chim = chi_eq_off+52 ! :tex: $\mathrm{f}_1\mathrm{f}_4v_\phi'\overline{\Theta}$ + ! Integer, Parameter :: rhot_vpm_chip = chi_eq_off+53 ! :tex: $\mathrm{f}_1\mathrm{f}_4\,\overline{v_\phi}\Theta'$ + ! Integer, Parameter :: rhot_vpm_chim = chi_eq_off+54 ! :tex: $\mathrm{f}_1\mathrm{f}_4\,\overline{v_\phi}\,\overline{\Theta}$ + + ! ! Diffusive Fluxes + ! Integer, Parameter :: chi_cond_flux_r = chi_eq_off+70 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{\partial \Theta}{\partial r}$ + ! Integer, Parameter :: chi_cond_flux_theta = chi_eq_off+71 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{1}{r}\frac{\partial \Theta}{\partial \theta}$ + ! Integer, Parameter :: chi_cond_flux_phi = chi_eq_off+72 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{1}{r \mathrm{sin}\theta}\frac{\partial \Theta}{\partial \phi}$ + + ! Integer, Parameter :: chi_cond_fluxp_r = chi_eq_off+73 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{\partial \Theta'}{\partial r}$ + ! Integer, Parameter :: chicond_fluxp_theta = chi_eq_off+74 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{1}{r}\frac{\partial \Theta'}{\partial \theta}$ + ! Integer, Parameter :: chi_cond_fluxp_phi = chi_eq_off+75 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{1}{r \mathrm{sin}\theta}\frac{\partial \Theta'}{\partial \phi}$ + + ! Integer, Parameter :: chi_cond_fluxm_r = chi_eq_off+76 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{\partial \overline{\Theta}}{\partial r}$ + ! Integer, Parameter :: chi_cond_fluxm_theta = chi_eq_off+77 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{1}{r}\frac{\partial \overline{\Theta}}{\partial \theta}$ + ! Integer, Parameter :: chi_cond_fluxm_phi = chi_eq_off+78 ! :tex: $-c_6\mathrm{f}_1\mathrm{f}_4\mathrm{f}_5\frac{1}{r \mathrm{sin}\theta}\frac{\partial \overline{\Theta}}{\partial \phi}$ - Integer, Parameter :: chi_p_dphi = 11 ! :tex: $\frac{\partial \chi'}{\partial \phi}$ + ! Kinetic energy chi contributions + Integer, Parameter :: chi_keq_off = chi_eq_off + 90 ! :OFFSET CODE: - Integer, Parameter :: chi_m_dphi = 12 ! :tex: $\frac{\partial \overline{\chi}}{\partial \phi}$ + Integer, Parameter :: chi_buoy_work = chi_keq_off+1 ! :tex: $d_{7_i}v_r\mathrm{g}_{7_i}\chi$ + Integer, Parameter :: chi_buoy_work_pp = chi_keq_off+2 ! :tex: $d_{7_i}v'_r\mathrm{g}_{7_i}\chi'$ + Integer, Parameter :: chi_buoy_work_mm = chi_keq_off+3 ! :tex: $d_{7_i}\overline{v_r}\mathrm{g}_{7_i}\overline{\chi}$ + ! Turbulent kinetic energy chi contributions + Integer, Parameter :: chi_turbke_offset = chi_keq_off + 10 ! :OFFSET CODE: + Integer, Parameter :: chi_production_buoyant_pKE = chi_turbke_offset + 1 ! :tex: $\mathrm{g}_{7_i}{\chi^\prime}{v^\prime}_r$ \ No newline at end of file