Alamode (A Layered Architecture for Model Development) is a module within SUPREM-OO7 (currently under development) which solves systems of partial differential equations that are described using a dial-an-operator paradigm. The main purpose for this module is to allow quick prototyping of PDEs for new thermal diffusion models, but it also provides a framework for experimentation with new numerical techniques to discretize and solve these equations. The emphasis within the user interface is to allow for complete specification of the equations and boundary conditions comprising the model, while providing additional layers of access to the discretization and numerical techniques used for solution of the equations. An additional layer is being developed to hide the detail needed in specification of the model, allowing access to this module via the SUPREM's diffuse card.
Although the current version of Alamode is functional, it is not necessarily full-featured or extremely robust. It currently supports mesh and field I/O via 2D SUPREM structure files (triangles) and 3D FLOOPS structure files (bricks) description and will solve of arbitrary systems of reactive-diffusive equations composed from a library of operators and functions. At this time, neither the nonlinear solution, nor the timestepping strategy used are particularly robust, but with enough fiddling with the available control parameters, they should eventually converge to the correct solution.
Unlike SUPREM, which is designed to be a process simulator, Alamode is only a PDE solver. This difference is reflected strongly in the user interface. Whereas SUPREM has reasonable defaults for models and parameters, Alamode requires the complete specification of all terms, parameters, and boundary/interface constraints for a model as applicable to the device structure being modeled. While this may initially seem excessive, this enables more flexibility in model description than SUPREM allows and ensures that there are no hidden features of any model.
Finally, this module is still in its infancy. Everything described in this manual is subject to change, and backward compatibility to prior versions is not guaranteed. Currently available features will probably not be deleted, but they may be significantly changed. The feature and syntax changes that are presently known will be noted in this manual. User feedback is important to help mold future changes. Send suggestions to yergeau@gloworm.stanford.edu.