published in Computing and Systems Technology Division - Core Programming Topic at the 2011 AIChE Annual Meeting Journal