Просмотр исходного кода

处理 氧化铬 识别成 氧化物 问题

cxs 3 лет назад
Родитель
Сommit
68b25a1ab2

+ 9 - 6
OTSCPP/OTSClassifyEngine/InclutionEngine/OTSClassifyEng.cpp

@@ -227,19 +227,22 @@ namespace OTSClassifyEngine
 
 		//FeO
 		if (dOMolar > MIN_DOUBLE_VALUE)
-		{  
+		{
 			// calculate molar % of Fe + O
 			double dMolarFe_O = Cal100NorValue(dOMolar + dFeMolar, a_dMolarSum + dCarbonMolar);
 			if (dMolarFe_O > FEO_MOLAR_CUTOFF)
 			{
+
 				if (a_listElementChemistries.size() == 2)//there is only Fe and O
 				{
-					// this is a FeO, not a inclusion, return FALSE
-					a_nIncId = OTS_PARTCLE_TYPE::ISNOT_INCLUTION;
-					notIncId = NOT_INCLUTION_ID::FeO;
-					return TRUE;
+					if (std::find_if(a_listElementChemistries.begin(), a_listElementChemistries.end(), [](CElementChemistryPtr i) {return ((i->GetName().CompareNoCase(STR_CR) != 0) && (i->GetName().CompareNoCase(STR_O) != 0)); }) != a_listElementChemistries.end())
+					{
+						//this is a FeO, not a inclusion, return FALSE
+						a_nIncId = OTS_PARTCLE_TYPE::ISNOT_INCLUTION;
+						notIncId = NOT_INCLUTION_ID::FeO;
+						return TRUE;
+					}
 				}
-				
 			}
 		}
 

+ 3 - 2
OTSCPP/OTSClassifyEngine/InclutionEngine/OTSClassifyEng.h

@@ -15,6 +15,7 @@ namespace OTSClassifyEngine
 	const CString STR_O = _T("O");
 	const CString STR_SUL = _T("S");
 	const CString STR_N = _T("N");
+	const CString STR_CR = _T("Cr");
 	const double SIC_MOLAR_CUTOFF = 85.0;
 	const double FEO_MOLAR_CUTOFF = 85.0;
 
@@ -28,12 +29,12 @@ namespace OTSClassifyEngine
 	};
 
 	// sub element
-	const long INC_SUB_ELEMENT_MAX = 13;
+	const long INC_SUB_ELEMENT_MAX = 12;
 	const double INC_SUB_ELEMENT_CUT_OFF = 0.02;	// weight%
 	const double INC_SUB_ELEMENT_TOTAL_100 = 5.0;	// molar value
 	const CString INC_SUB_ELEMENT_NAMES[INC_SUB_ELEMENT_MAX] =
 	{
-		_T("Mg"),_T("Al"),_T("Si"),_T("Ca"),_T("Ti"),_T("V"),_T("Cr"),_T("Mn"),_T("Zr"),_T("Nb"),_T("Mo"),_T("Ce"),_T("La")
+		_T("Mg"),_T("Al"),_T("Si"),_T("Ca"),_T("Ti"),_T("V"),_T("Mn"),_T("Zr"),_T("Nb"),_T("Mo"),_T("Ce"),_T("La")
 	};
 
 	// element 100 % molar value mapping cut off