There are two types of heat balance programs: “Application-Specific” and “Fully-Flexible”. An Application-Specific program is a special-purpose tool, focusing exclusively on one type of plant. The program includes a vast, general model and the user selects a subset of it via a guided, structured procedure. A Fully-Flexible program is a general-purpose tool, which allows its user to construct any model by connecting appropriate building blocks, in a flexible, unfettered fashion. Each type of program has advantages and limitations.