diff --git a/src/base/SolutionArray.cpp b/src/base/SolutionArray.cpp index 33ab606532..296d4ba2e3 100644 --- a/src/base/SolutionArray.cpp +++ b/src/base/SolutionArray.cpp @@ -240,7 +240,8 @@ void SolutionArray::writeEntry(const std::string& fname, const std::string& id, std::vector prop; for (size_t i = 0; i < m_size; i++) { size_t first = offset + i * m_stride; - prop.push_back(vector_fp(&m_data[first], &m_data[first + nSpecies])); + prop.emplace_back(m_data.begin() + first, + m_data.begin() + first + nSpecies); } file.writeMatrix(id, name, prop); } else { diff --git a/src/equil/MultiPhase.cpp b/src/equil/MultiPhase.cpp index 5c7653ee6b..87c51ba3fa 100644 --- a/src/equil/MultiPhase.cpp +++ b/src/equil/MultiPhase.cpp @@ -818,7 +818,7 @@ void MultiPhase::uploadMoleFractionsFromPhases() size_t loc = 0; for (size_t ip = 0; ip < nPhases(); ip++) { ThermoPhase* p = m_phase[ip]; - p->getMoleFractions(&m_moleFractions[loc]); + p->getMoleFractions(m_moleFractions.data() + loc); loc += p->nSpecies(); } calcElemAbundances(); @@ -828,7 +828,7 @@ void MultiPhase::updatePhases() const { size_t loc = 0; for (size_t p = 0; p < nPhases(); p++) { - m_phase[p]->setState_TPX(m_temp, m_press, &m_moleFractions[loc]); + m_phase[p]->setState_TPX(m_temp, m_press, m_moleFractions.data() + loc); loc += m_phase[p]->nSpecies(); m_temp_OK[p] = true; if (m_temp < m_phase[p]->minTemp() || m_temp > m_phase[p]->maxTemp()) { diff --git a/src/oneD/Sim1D.cpp b/src/oneD/Sim1D.cpp index 90f9773210..09149b8b7b 100644 --- a/src/oneD/Sim1D.cpp +++ b/src/oneD/Sim1D.cpp @@ -221,8 +221,10 @@ AnyMap legacyH5(shared_ptr arr, const AnyMap& header={}) while (profile[ix] <= temp && ix < arr->size()) { ix++; } - out["fixed-point"]["location"] = arr->getComponent("grid")[ix - 1]; - out["fixed-point"]["temperature"] = temp; + if (ix != 0) { + out["fixed-point"]["location"] = arr->getComponent("grid")[ix - 1]; + out["fixed-point"]["temperature"] = temp; + } } return out; @@ -558,7 +560,9 @@ int Sim1D::refine(int loglevel) for (size_t n = 0; n < nDomains(); n++) { Domain1D& d = domain(n); gridsize = dsize[n]; - d.setupGrid(gridsize, &znew[gridstart]); + if (gridsize != 0) { + d.setupGrid(gridsize, &znew[gridstart]); + } gridstart += gridsize; } diff --git a/src/transport/IonGasTransport.cpp b/src/transport/IonGasTransport.cpp index f628d689e8..d6d352710d 100644 --- a/src/transport/IonGasTransport.cpp +++ b/src/transport/IonGasTransport.cpp @@ -36,9 +36,9 @@ void IonGasTransport::init(ThermoPhase* thermo, int mode, int log_level) // Find the index of electron size_t nElectronSpecies = 0; for (size_t k = 0; k < m_nsp; k++) { - if (m_thermo->molecularWeight(k) == - m_thermo->atomicWeight(m_thermo->elementIndex("E")) && - m_thermo->charge(k) == -1) { + if (m_thermo->molecularWeight(k) == getElementWeight("E") && + m_thermo->charge(k) == -1) + { m_kElectron = k; nElectronSpecies++; } diff --git a/test/kinetics/kineticsFromYaml.cpp b/test/kinetics/kineticsFromYaml.cpp index 035396f10b..5286a119b5 100644 --- a/test/kinetics/kineticsFromYaml.cpp +++ b/test/kinetics/kineticsFromYaml.cpp @@ -316,11 +316,11 @@ TEST(Reaction, FalloffFromYaml2) EXPECT_DOUBLE_EQ(rate->highRate().preExponentialFactor(), 6e11); EXPECT_DOUBLE_EQ(rate->lowRate().preExponentialFactor(), 1.04e20); EXPECT_DOUBLE_EQ(rate->lowRate().activationEnergy(), 1600); - vector_fp params(4); + vector_fp params; rate->getFalloffCoeffs(params); + ASSERT_EQ(params.size(), (size_t) 3); EXPECT_DOUBLE_EQ(params[0], 0.562); EXPECT_DOUBLE_EQ(params[1], 91.0); - EXPECT_DOUBLE_EQ(params[3], 0.0); EXPECT_EQ(R->input["source"].asString(), "somewhere"); }