4. Opérandes#

La ou les modifications d’association unité logique-nom de fichier porte sur les fichiers de sortie et d’ entrée .

4.1. Opérande ACTION#

◊    ACTION= 'ASSOCIER'

Le numéro d’unité logique est associé, lorsque cela est permis, au nom défini derrière le mot clé FICHIER s’il est renseigné, au nom fort.xx sinon.

Il n’est pas possible de redéfinir les associations des numéros logiques 6 et 9.

◊    ACTION= 'LIBERER'

Le numéro d’unité logique est libéré, il n’est plus licite d’utiliser ce numéro d’unité, le fichier associé, lorsqu’il est de type ASCII, fait l’objet d’un ordre de fermeture à l’aide de l’instruction Fortran CLOSE. Il devient alors possible de réutiliser le numéro d’unité logique avec une action de type ‘LIBERER’. Ce mécanisme est indispensable si l’on veut pouvoir ré-exploiter immédiatement le contenu du fichier associé dans le fichier de commandes en cours, en effet les buffers doivent avoir été complètement vidés et le fichier doit pouvoir être accessible, éventuellement lors d’un appel à un logiciel depuis une commande python de type os.system.

◊    ACTION= 'RESERVER'

Ce type d’action est utilisée dans les macros commandes et permet d’éviter les conflits de numéro d’unité logique entre Fortran et python..

Le numéro d’unité logique est associé, lorsque cela est permis, au nom défini derrière le mot clé FICHIER s’il est renseigné, au nom fort.xx sinon. Il n’y a pas d’instruction de type OPEN exécutée, à charge pour la macro commande d’effectuer les différentes actions nécessaires.

4.2. Opérande FICHIER#

◊    FICHIER= nomfic

Nom physique du fichier (< 255 caractères) que l’on désire associer à une unité logique. Ce fichier sera créé sous le répertoire d’exécution du code, mais on peut indiquer directement un nom de fichier (respectant les conventions UNIX) dans le répertoire de l’utilisateur. Sous le répertoire d’exécution, il est possible d’utiliser un niveau supplémentaire d’arborescence de nom conventionnel REPE_IN (fichiers de données) ou REPE_OUT (fichiers de résultats) reconnus par l’interface d’accès au code astk. Ce nom doit être placé entre quotes. Bien qu’ils ne soient pas associés à une unité logique par un ordre Fortran OPEN, les fichiers binaires (par exemple MED) peuvent être traités avec ce mécanisme, il faut néanmoins préciser le type d’accès NEW ou OLD pour activer la recopie (par un appel système depuis le code) depuis le répertoire en données ou vers le répertoire en résultat.

Lorsque l’opérande est absent, c’est par défaut le nom de fichier fort.ul où ul est le numéro d’unité qui est associé à l’unité logique défini derrière UNITE.

Pour les fichiers de type ASCII, une instruction OPEN Fortran est exécutée sur le nom associé à l’unité logique.

4.3. Opérande UNITE#

◊    UNITE= numul

Numéro d’unité logique associé, sa valeur pour les fichier ASCII ouverts par des instructions est comprise entre 1 et 99 inclus.

Il est possible de réutiliser un numéro déjà affecté mais dans ce cas il faut prendre la précaution de libérer ce dernier auparavant. Certains numéros d‘unités logiques ne peuvent pas être redéfinis depuis les commandes Aster, il s’agit des numéros 6 et 9 qui sont respectivement alloués aux fichiers MESSAGE et ERREUR.

Ce numéro peut être utilisé ensuite dans toutes les commandes Aster qui possèdent l’opérande UNITE (IMPR_RESU, IMPR_TABLE, IMPR_FONCTION, etc).

L’opérande UNITE peut parfois être omis, c’est alors le code qui choisira d’affecter un numéro, suivant les disponibilités, il faut alors impérativement préciser l’opérande FICHIER, le code se charge ensuite en interne d’associer le numéro d’unité logique et le fichier associé. Il est alors possible de récupérer une valeur entière en sortie de l’opérateur.

4.4. Opérande TYPE#

◊    TYPE= 'ASCII'

Le fichier associé à l’unité logique est de type ASCII.

◊    TYPE= 'LIBRE'

Le fichier associé à l’unité logique est de type indéterminé au sens du Fortran, cela permet de gérer de façon plus souple l’accès au fichier, ce type est essentiellement utilisé pour l’accès aux fichiers MED. L’unité logique n’est pas réellement utilisée dans ce cas, mais cela permet d’avoir la convention de nom fort.ul sur le fichier et de pouvoir le transmettre facilement à travers l’interface d’accès au code.

◊    TYPE= 'BINARY'

Le fichier associé à l’unité logique est de type BINARY.

4.5. Opérande ACCES#

◊    ACCES= 'NEW'

Le fichier de type «ASCII» est ouvert et on se positionne en tête, une instruction Fortan de type REWIND est exécutée. S’il existe, le fichier est écrasé. À utiliser pour un fichier en résultat.

◊    ACCES= 'OLD'

Le fichier de type «ASCII» est ouvert et on se positionne tel quel, c’est à dire éventuellement à la position à laquelle on se situait lors du dernier accès.

À utiliser pour un fichier en donnée.

◊    ACCES= 'APPEND'

Le fichier est ouvert et on se positionne en fin de fichier. N’est utilisé que dans le cas des fichiers de type ASCII.

À utiliser pour un fichier en donnée que l’on veut compléter (qui sera donc a priori en résultat)..

4.6. Opérande INFO#

◊    INFO= inf

Permet d’imprimer dans le fichier MESSAGE la liste des unités logiques ouvertes avec la commande DEFI_FICHIER ainsi que les paramètres associés. Si INFO = 1, il n’y a pas d’impression.