next up previous
Next: 3. Input & Control Up: AMIGOS: Analytical Model Interface Previous: 1. Introduction

2. AMIGOS

AMIGOS (Fig. 1) is a problem independent simulation system which can handle a wide range of nonlinear partial differential equation systems in time and space in one, two or three dimension(s). It is designed to automatically generate optimized numerical models from a mathematical input language, so that no significant speed loss in comparison to `hand coded' standard simulation tools occurs.

Figure 1: Block structure of AMIGOS
\resizebox{15.5cm}{!}{\includegraphics{eps/amigos.eps}}

In difference to similar approaches based on the so called `operator on demand' concept [1], AMIGOS is completely independent of the kind of discretization since the model developer can formulate any discretization of choice. There are no restrictions whether using scalar, field or tensor quantities within a model, and, if desired, any derived field quantity can be calculated, too. Furthermore, the user can influence the numerical behavior of the differential equation system by complete control of the residual vector and its derivative (e.g. applying penalty methods, damping terms, etc.). Even interpolation and grid-adaptation formulations can be used within a developed model and can thus be very well fitted to a special problem.

AMIGOS is equipped with three layers of access to serve the needs of the variety of users

In contrast with previous generations of software only the platform developer requires access to and modification of the source code. Even during model development the analytical user input will be interpreted, optimized, transformed and solved on any complex simulation domain at once without the necessity of time consuming recompilations (one-pass concept) supporting a variety of several testing and debugging features. After finishing the test and calibration phase the user can switch to the two-pass concept where all modifications are translated to C-code and are linked to a model library for high performance calculations on large simulation domains in the standard user-mode.

To evaluate a developed model the user has to map the analytical representation onto a simulation domain of choice using the Input & Control interface. Within this tool several process parameters as well as boundary conditions, time control etc. can be chosen and all of the remaining tasks are done automatically by the simulation system without any further user interaction. The program detects whether to use moving grids as necessary in case of, e.g., mechanical deformations as well as the dimension of the problem. It prepares all boundaries and interface grids and checks for existing interconnections between several simulation domains. All specified analytical models, all model quantities, derivatives and parameters are initialized and the necessary memory is allocated. After analyzing the partial differential equations to be solved and optimizing the defined models it prepares the global system matrices and residual vectors and starts solving. If necessary it starts a Newton iteration for nonlinear problems and adapts the grid where the error-level is greater than a given epsilon criterion. Afterwards it writes the results on a file either for later reuse or just for visualization (Fig. 2).

Figure 2: Flow diagram of AMIGOS for a complete simulation process
\resizebox{10.1cm}{!}{\includegraphics{eps/simflow.eps}}


next up previous
Next: 3. Input & Control Up: AMIGOS: Analytical Model Interface Previous: 1. Introduction
M. Radi, E.Leitner, and S. Selberherr