next up previous contents
Next: 4.3 Refined Key Demands Up: 4. The Assembly Module Previous: 4.1 Key Demands on

Subsections


4.2 Approaches to Meet these Demands

Meeting these requirements can be managed by pursuing several approaches:


4.2.1 Third Party Modules and Packages

The general-purpose finite element analysis package ANSYS [7] is a product of ANSYS, Inc., Canonsburg, PA. There are seven generic steps to solving any problem in ANSYS [114]:

  1. Building Geometry: After a preliminary design, a two- or three-dimensional representation of the object is constructed by using the work plane coordinate system within ANSYS.
  2. Definition of Material Properties: The materials the object is composed of are selected in order to account for the thermal and mechanical properties.
  3. Mesh generation.
  4. Applying loads: After the complete design, the system is completed by specifying loads or constraints, for example thermal boundary conditions.
  5. Calculating the solution: depending on the simulation mode the solution is calculated.
  6. Results: the results obtained by the solution steps can be graphically illustrated and used for further applications or improving the simulation setup.

ANSYS is able to perform structural analysis which is one of the most common applications of the finite element method. Examples are simulation of buildings, ships, aircraft, or mechanical components. Linear and nonlinear static analysis is used to determine stresses under static loading conditions, whereas transient analysis takes dynamic effects under time-varying loads into account. In addition, buckling analysis is used to calculate solutions for buckling loads. The effects of thermal loads, for example convection or heat fluxes, can be simulated by means of the steady-state thermal analysis. Specific packages allows to analyze magnetics, fluid-flows, or acoustics. The package also provides features for fracture mechanics, composites, fatigue, p-Method, and beam analysis. In the recent version a distributed package called DANSYS [7] is also available which allows to parallelize several costly tasks, such as calculating the stiffness matrix, solving the equations, and performing the results calculations.

FEMLAB [40], originally a product of Sweden and today marketed by Comsol, Inc., Burlington, MA, provides an interactive modeling environment for scientific and engineering applications, which are based on partial differential equations. FEMLAB is based on the finite element method and claims to provide unprecedented speed and accuracy through its high-performance solvers [40]. The term multi-physics is frequently used to stress that multiple physical effects can be combined and solved in a coupled manner (in the ANSYS packages, this is called coupled-field analysis).

ABAQUS software, a product of ABAQUS, Inc., Providence, RI, provides a suite of interoperable applications for finite element analysis [1]. ABAQUS can be used to solve nonlinear finite element problems, for example arising from mechanical, structural, civil, biomedical, and related engineering applications.

LS-DYNA of Livermore Software Technology Corporation, Livermore, CA, can be used to analyze the nonlinear dynamic response of three-dimensional structures. The general purpose, explicit finite element program provides a comprehensive selection of material models, element formulations, and contact algorithms. These capabilities have been already used to solve many complex automotive safety, metal forming, structural, and failure analysis problems [133].

MAFIA, a product of the Gesellschaft für Computer Simulationstechnik in Darmstadt, Germany, offers a collection of programs for solving electrical engineering problems. The software discretizes the Maxwell equations with the Finite Integration Theory method, which is a special finite-volume method, and uses the same mesh for different problems. For example, eigenmodes analysis and magnetic fields calculations can be performed for the same structure. The product claims that almost all problems related to the Maxwell equations and some outside the area of electrodynamics, for example acoustics, can be treated [73].

PDE2D is a successor of TWODEPEP [196] and provides an interactive, general-purpose solver for partial differential equations [197]. The program can be used to solve partial differential equations in two-dimensional polygonal regions and applies a Galerkin finite element method and triangular elements. In addition, it solves problems in general two-dimensional regions with arbitrary curved boundaries [196]. Furthermore, it has been extended to handle also three-dimensional systems.

DIFFPACK is provided by inuTech GmbH, Nürnberg, Germany and offers an object-oriented problem-solving environment for the numerical solution of partial differential equations [108]. The package is a collection of C++ libraries with classes, functions, and utilities [126]. The kernel and add-on toolboxes provide a substantial collection of data structures and numerical algorithms. The list of functionality includes vectors, matrices, general multi-index arrays, representation of linear systems, also large sparse systems, iterative methods for sparse linear systems, solvers for non-linear systems, finite element and finite difference meshes, finite element algorithms, high level finite difference support, real- and complex-valued arithmetic, adaptive meshes, multigrid methods, domain decomposition methods, generalized (mixed) finite element methods, and parallel computing on linear algebra and domain decomposition level. Therefore, DIFFPACK can be employed to develop specialized finite element solver programs. It also provides interfaces to other products such as ANSYS [7], ABAQUS [1], MATLAB [141], or the VTK [186], which can be particularly used as pre- and post-processing tools. Flexibility is the strength of DIFFPACK as it can be employed for non-standard problems such as multi-physics systems of partial differential equations. DIFFPACK provides most of the solution process so that the simulator has to be developed for data input and decisions only. Object-oriented approaches are used for administrative functions, whereas the computations are performed in highly-optimized lower level code [76].

SCILAB by INRIA, Rocquencourt, France, is a scientific software package with a high-level language for numerical computations. The software features data structures such as polynomial, rational and string matrices, lists, multivariable linear systems, sophisticated interpreter and programming language with MATLAB-like syntax, various built-in mathematical functions, two- and three-dimensional graphics as well as animations, interfaces to FORTRAN, C, and MAPLE, and various built-in libraries for linear algebra, control systems, signal, processing, simulation, optimization, and network analysis [106].

4.2.2 A New Generally Applicable Assembly Module

Although a large variety of already existing packages is available, the decision was made to design and implement a new assembly module, because of the following two reasons:

  1. This module shall be applied for assembling linear equation systems and preparing of these systems for the solving process. Thus, the nonlinear solving system and all problems related to the discretization of the underlying physical models shall be solved within and by the simulator. This offers the possibility for providing a generally applicable module which can be effectively used for different kind of numerical simulators.
  2. Third party modules are frequently bound to license agreements, which restrict their application especially for commercial application. As the institute provides its codes to industrial partners and binary release versions to the general public, third party license requirements would make such distributions more complicated. An in-house assembly module avoids such complications and allows the institute to freely distribute complete versions.

One additional reason for that decision is also the history of one important simulator, namely MINIMOS-NT. This simulator has been under development for a long time (see Section 1.3.2) and has always employed an assembly and solver module. All experiences with these old modules were taken into account while the new modules were designed [65]. However, it is a crucial question why two core modules, which were tested and properly working for a long time, are replaced at all. The answer to that question consists of the following three reasons:

  1. Providing a more convenient application interface: due to the significant internal improvements it is always possible to randomly access all parts of the linear equation system. In contrast to the former module, which required a specific four-phases assembly sequence [228], the model implementations can now be implemented in a much easier way.
  2. Handling of complex-valued equation systems: For the steady-state analysis and transient simulation, MINIMOS-NT assembles real-valued linear equation systems. In context of an efficient small-signal simulation mode, complex-valued contributions have to be handled as already discussed in Section 2.6.2. The redesigned module is able to assemble and solve both real-valued and complex-valued equation systems while featuring an advanced C++ design and implementation.
  3. Working in a deterministic way: as discussed in Section 5.2.5, multiple starts of a solver all result in exactly the same solution. This is a very important feature while the simulator is extended and during model evaluation and debugging.


next up previous contents
Next: 4.3 Refined Key Demands Up: 4. The Assembly Module Previous: 4.1 Key Demands on

S. Wagner: Small-Signal Device and Circuit Simulation