id summary reporter owner description type status priority milestone component version resolution keywords cc 142 Calls wrongly attributed to COLTT michelpons michaelhalloran "I am using PRO/II 9.2 alpha and I am starting from a case file where the CPP Ideal Thermo PPM and its PP nC6nC8 are plugged in. Then I am inserting the CPP MixerSplitter example UO, connected its two inlets and one outlet. Then I am running the case, saving and exiting. This gives the attached log file. I am looking at the sequence of calls logged at the beginning of the Calculate call: COLTT : Call to GetOverallProp GetOverallProp Takes Input arguments: Property Basis pressure UNDEFINED GetOverallProp Returns: Property Basis ValueReturned pressure UNDEFINED 100000 COLTT : Return from GetOverallProp - Succeeded COLTT : Call to GetOverallProp GetOverallProp Takes Input arguments: Property Basis totalFlow mole GetOverallProp Returns: Property Basis ValueReturned totalFlow mole 1.25998 COLTT : Return from GetOverallProp - Succeeded COLTT : Call to GetOverallProp GetOverallProp Takes Input arguments: Property Basis fraction mole GetOverallProp Returns: Property Basis ValueReturned fraction mole 0.3 0.7 COLTT : Return from GetOverallProp - Succeeded COLTT : Call to CreateMaterial COLTT : Return from CreateMaterial - Succeeded COLTT Reference count for MO logger is 2 MaterialObject : Call to CopyFromMaterial It says that COLTT retrieves pressure, totalflow and composition. Well my reading of the CPP MixerSplitter source code tells me it is the Unit Operation which does that. 00195 //first let us make sure we are in a valid state 00196 if (valStatus==CAPE_INVALID) 00197 {SetError(L\""Unit is not valid\"",L\""ICapeUnit\"",L\""Calculate\""); 00198 return ECapeUnknownHR; 00199 } 00200 if (valStatus==CAPE_NOT_VALIDATED) 00201 {SetError(L\""Unit has not been validated\"",L\""ICapeUnit\"",L\""Calculate\""); 00202 return ECapeUnknownHR; 00203 } 00204 ATLASSERT(valStatus==CAPE_VALID); 00205 //init variables 00206 componentFlows.resize(nCompounds); 00207 for (j=0;jitems[i]; 00214 if (port->IsConnected()) 00215 {//get the pressure 00216 material=port->GetMaterial(); 00217 if (!material.GetOverallProperty(L\""pressure\"",NULL,value,error)) 00218 {SetError(error.c_str(),L\""ICapeUnit\"",L\""Calculate\""); 00219 return ECapeUnknownHR; 00220 } 00221 //check count 00222 if (value.GetCount()!=1) 00223 {SetError(L\""Invalid values for pressure from material object: scalar expected\"",L\""ICapeUnit\"",L\""Calculate\""); 00224 return ECapeUnknownHR; 00225 } 00226 //use minimum pressure 00227 d=value.GetDoubleAt(0); 00228 if ((pressure==0)||(d