In order to design a library that meets all requirements defined above, the different kinds of process steps must be identified. In a coarse differentiation of simulation steps one could think of the class of simulators that only manipulate or read quantities (diffusion, implantation, device simulation), versus the topography manipulating tools (etching, deposition, oxidation).
The first class of tools does not modify the underlying geometry at all. Instead, distributed quantities are used to perform a computation. Diffusion and device simulation belong to this category. A demand on the data model is to provide a boundary conforming grid.
Topography simulators need a geometrical view of the data. They need boundaries of the Wafer to ambient and interfaces between different regions. The topography is altered during such a process simulation. A deposition step will introduce completely new regions. In an etching step existing regions can completely vanish, can be split into several regions or can be merged into a single region. During an oxidation process parts of the silicon region will turn into oxide. Some simulators also need information stored on a per region basis (e.g. the material type), the so-called properties, or distributed quantities (e.g. for simulating coupled diffusion and oxidation).
Among the above classification the topography simulators clearly impose the most complex data manipulations on the Wafer data structures since they modify the underlying geometry.