From 60985279f5ac089a552608405cd7252b73e03b2e Mon Sep 17 00:00:00 2001 From: Bang-Shiuh Chen Date: Thu, 24 Oct 2024 21:35:39 -0400 Subject: [PATCH] [plasma] improve performance of setParamaters and PlasmaPhase constructor --- src/thermo/PlasmaPhase.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/thermo/PlasmaPhase.cpp b/src/thermo/PlasmaPhase.cpp index cd49de6192..828ceed705 100644 --- a/src/thermo/PlasmaPhase.cpp +++ b/src/thermo/PlasmaPhase.cpp @@ -26,7 +26,7 @@ PlasmaPhase::PlasmaPhase(const string& inputFile, const string& id_) m_electronEnergyLevels = Eigen::ArrayXd::LinSpaced(m_nPoints, 0.0, 1.0); // initial electron temperature - setElectronTemperature(temperature()); + m_electronTemp = temperature(); // resize vectors m_cs_interp.resize(m_nPoints); @@ -228,23 +228,24 @@ void PlasmaPhase::setParameters(const AnyMap& phaseNode, const AnyMap& rootNode) m_distributionType = eedf["type"].asString(); if (m_distributionType == "isotropic") { if (eedf.hasKey("shape-factor")) { - setIsotropicShapeFactor(eedf["shape-factor"].asDouble()); + m_isotropicShapeFactor = eedf["shape-factor"].asDouble(); } else { throw CanteraError("PlasmaPhase::setParameters", "isotropic type requires shape-factor key."); } + if (eedf.hasKey("energy-levels")) { + setElectronEnergyLevels(eedf["energy-levels"].asVector().data(), + eedf["energy-levels"].asVector().size(), + false); + } if (eedf.hasKey("mean-electron-energy")) { double energy = eedf.convert("mean-electron-energy", "eV"); + // setMeanElectronEnergy() calls updateElectronEnergyDistribution() setMeanElectronEnergy(energy); } else { throw CanteraError("PlasmaPhase::setParameters", "isotropic type requires electron-temperature key."); } - if (eedf.hasKey("energy-levels")) { - setElectronEnergyLevels(eedf["energy-levels"].asVector().data(), - eedf["energy-levels"].asVector().size()); - } - setIsotropicElectronEnergyDistribution(); } else if (m_distributionType == "discretized") { if (!eedf.hasKey("energy-levels")) { throw CanteraError("PlasmaPhase::setParameters",