From 52da5ea7c6682173cae2613b37a57f4ae4b32588 Mon Sep 17 00:00:00 2001
From: Ankang Gao <ankanggao@ustc.edu.cn>
Date: Mon, 1 Jul 2024 15:17:30 +0800
Subject: [PATCH] use stod

---
 .../FieldUtils/ProcessModules/ProcessMRF.cpp  | 32 +++++++++++--------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/library/FieldUtils/ProcessModules/ProcessMRF.cpp b/library/FieldUtils/ProcessModules/ProcessMRF.cpp
index 49425dd4bd..c983807e29 100644
--- a/library/FieldUtils/ProcessModules/ProcessMRF.cpp
+++ b/library/FieldUtils/ProcessModules/ProcessMRF.cpp
@@ -79,7 +79,7 @@ void ProcessMRF::v_Process(po::variables_map &vm)
         m_f->m_variables.push_back(fieldNames[i]);
     }
     m_f->m_exp.resize(nfields + addfields);
-    std::vector<Array<OneD, NekDouble>> coords(m_spacedim);
+    vector<Array<OneD, NekDouble>> coords(m_spacedim);
     for (int i = 0; i < m_spacedim; ++i)
     {
         coords[i] = Array<OneD, NekDouble>(npoints);
@@ -117,8 +117,8 @@ void ProcessMRF::v_Process(po::variables_map &vm)
     }
 
     // tranform vectors
-    std::vector<Array<OneD, NekDouble>> data(m_spacedim);
-    std::vector<int> vars;
+    vector<Array<OneD, NekDouble>> data(m_spacedim);
+    vector<int> vars;
     if (m_config["vectors"].as<string>().compare("NotSet"))
     {
         ParseUtils::GenerateVariableVector(m_config["vectors"].as<string>(),
@@ -145,40 +145,44 @@ void ProcessMRF::v_Process(po::variables_map &vm)
 
 void ProcessMRF::ReadMRFData()
 {
-    std::vector<std::string> strOrigin = {"X", "Y", "Z"};
-    std::vector<std::string> strTheta  = {"Theta_x", "Theta_y", "Theta_z"};
-    std::vector<std::string> strPivot  = {"X0", "Y0", "Z0"};
+    vector<string> strOrigin = {"X", "Y", "Z"};
+    vector<string> strTheta  = {"Theta_x", "Theta_y", "Theta_z"};
+    vector<string> strPivot  = {"X0", "Y0", "Z0"};
     m_origin.resize(3, 0.);
-    m_theta.resize(3, 0.);
     m_pivot.resize(3, 0.);
     for (size_t i = 0; i < strOrigin.size(); ++i)
     {
         if (m_f->m_fieldMetaDataMap.count(strOrigin[i]))
         {
-            m_origin[i] = boost::lexical_cast<NekDouble>(
-                m_f->m_fieldMetaDataMap[strOrigin[i]]);
+            m_origin[i] = stod(m_f->m_fieldMetaDataMap[strOrigin[i]]);
         }
     }
     for (size_t i = 0; i < strTheta.size(); ++i)
     {
         if (m_f->m_fieldMetaDataMap.count(strTheta[i]))
         {
-            m_theta[i] = boost::lexical_cast<NekDouble>(
-                m_f->m_fieldMetaDataMap[strTheta[i]]);
+            if (m_theta.size() < 3)
+            {
+                m_theta.resize(3, 0.);
+            }
+            m_theta[i] = stod(m_f->m_fieldMetaDataMap[strTheta[i]]);
         }
     }
     for (size_t i = 0; i < strPivot.size(); ++i)
     {
         if (m_f->m_fieldMetaDataMap.count(strPivot[i]))
         {
-            m_pivot[i] = boost::lexical_cast<NekDouble>(
-                m_f->m_fieldMetaDataMap[strPivot[i]]);
+            m_pivot[i] = stod(m_f->m_fieldMetaDataMap[strPivot[i]]);
         }
     }
 }
 
-void ProcessMRF::TransformVector(std::vector<Array<OneD, NekDouble>> &data)
+void ProcessMRF::TransformVector(vector<Array<OneD, NekDouble>> &data)
 {
+    if (m_theta.size() < 3)
+    {
+        return;
+    }
     if (data.size() < m_spacedim)
     {
         NEKERROR(ErrorUtil::efatal,
-- 
GitLab