Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.3 Free format Up: 1 General Prev: 1.1 Introduction Index Contents


1.2 Utilization levels

   

The MODULEF software package consists of a set successive layers (figure 1.1). In the same manner in which Fortran is a higher level language than machine language, MODULEF consists of four layers which are situated on top of that of Fortran (also illustrated in [MODULEF User Guide - 1], section 2.2). The layers situated at the highest levels are the easiest to employ, however, for certain problems it is necessary to return to the layers at the lower level.

 
Figure 1.1: Utilization levels 

In this manner, the user can place him/herself in any of the following situations, listed in the order of increasing difficulty (from highest to lowest levels):

These four situations are described below.

1.2.1 Top level: Activating a black box

The aim of the black boxes is to hide certain MODULEF details. They often treat very specific problems and, for this reason, do not form part of the standard MODULEF version. We note, nevertheless, two exceptions:

DOMINO
[Hassim-Laug 1990] is a knowledge data base system written in LE-LISP and linked to the MODULEF library. It guides the user during the specification of his/her problem, activates the relevant processors automatically, and controls their execution. ([note] The software package, DOMINO, is distributed by the INRIA service, VRI.)
TOUTXX
activates the usual MODULEF processors via a menu. In fact, this type of utilization does not hide the level immediately below (described hereafter) significantly. ([note] Processor TOUTXX forms part of the MODULEF source code.)

1.2.2 Level: Activating a processor

 

This is the level most often used in MODULEF. It consists of activating one processor after the other ( chaining processors).

In practice, activating a processor corresponds to executing a program in two steps: in the first step the data is generated interactively; in the second step the computation is performed, without intervention by the user.

Each processor performs one well-determined task, for example, mesh construction, specification of boundary conditions, finding the solution to a system of linear equations, etc.

If certain functions are not available, it is up to the user to modify an existing processor him/herself, or even create a new processor, which consists of calling some modules (section below).

1.2.3 Level: Calling a module

For a user who wishes to call some modules, MODULEF resembles a classic library of Fortran subroutines. For example, module THELAS is called as follows:

CALL THELAS(M, M, M, NFMAIL, NIMAIL, NFCOOR, NICOOR, ...)

Certain parameters of these subroutines play very important roles:

1.2.4 Bottom level: Calling an algorithm and a utility

   

A module is a subroutine written according to the standards and conventions stipulated in this user guide (section 1.7). In particular, a module calls:

At any of the above levels it is important that the user must be able to enter the data in a simple fashion, hence the notion free format described below.


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Next: 1.3 Free format Up: 1 General Prev: 1.1 Introduction Index Contents