Assemblies of modules can be formed by combining the modular model elements and defining how information is exchanged between modules, resulting in a hierarchical simulator structure that lends itself naturally to multi-scale modeling problems; these assemblies also inherit from the base nonlinear model class, and so all methods available to the modules also apply to the modular systems. By definition, the modules can be solved and analyzed individually, which is an asset in tracking the source of solution divergence or other numerical problems. Furthermore, the means by which the modules are connected allows us to examine how information flows between modules, giving insight into model reduction methods and aiding in identifying the most efficient solution approach, e.g., sequential versus simultaneous approaches.
Developed in the context of simulating semiconductor manufacture equipment, where the granularity of modularization is less clearly defined than in the unit operations of traditional chemical processes, simulation examples will be presented illustrating how one can use this framework in an evolutionary approach to simulator development. Because a central feature of our framework is the incorporation of object-oriented techniques for implementing weighted residual methods, allowing for the solution of PDE based models, simulation examples will include fully three-dimensional cases solved using a spectral element technique that was derived entirely within our framework.