From 35258c77d0f31181f784f0fcf7cde7a011cf1a1e Mon Sep 17 00:00:00 2001 From: Patrick Mullen Date: Mon, 24 Mar 2025 17:13:13 -0400 Subject: [PATCH] Add unit conversion inside mean opacity calls --- singularity-opac/photons/non_cgs_photons.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/singularity-opac/photons/non_cgs_photons.hpp b/singularity-opac/photons/non_cgs_photons.hpp index 36aff7e..a7222b1 100644 --- a/singularity-opac/photons/non_cgs_photons.hpp +++ b/singularity-opac/photons/non_cgs_photons.hpp @@ -249,7 +249,7 @@ class MeanNonCGSUnits { mass_unit_(mass_unit), length_unit_(length_unit), temp_unit_(temp_unit), rho_unit_(mass_unit_ / (length_unit_ * length_unit_ * length_unit_)), inv_emiss_unit_(length_unit_ * time_unit_ * time_unit_ * time_unit_ / - mass_unit_) {} + mass_unit_) {} auto GetOnDevice() { return MeanNonCGSUnits(mean_opac_.GetOnDevice(), time_unit_, @@ -291,16 +291,17 @@ class MeanNonCGSUnits { PORTABLE_INLINE_FUNCTION Real AbsorptionCoefficient(const Real rho, const Real temp, - const int gmode = Rosseland) const { - const Real alpha = mean_opac_.AbsorptionCoefficient(rho, temp, gmode); + const int gmode = Rosseland) const { + const Real alpha = mean_opac_.AbsorptionCoefficient( + rho_unit_ * rho, temp_unit_ * temp, gmode); return alpha * length_unit_; } PORTABLE_INLINE_FUNCTION - Real Emissivity(const Real rho, const Real temp, - const int gmode = Rosseland, + Real Emissivity(const Real rho, const Real temp, const int gmode = Rosseland, Real *lambda = nullptr) const { - const Real J = mean_opac_.Emissivity(rho, temp, gmode); + const Real J = + mean_opac_.Emissivity(rho_unit_ * rho, temp_unit_ * temp, gmode); return J * inv_emiss_unit_; }