Code_Aster ®
Version
7.4

Titre :

Opérateur LIRE_FONCTION


Date :
19/01/05
Auteur(s) :
C. DURAND Clé
:
U4.32.02-G Page
: 1/6

Organisme(s) : EDF-R&D/AMA















Manuel d'Utilisation
Fascicule U4.3- : Fonction
Document : U4.32.02





Opérateur LIRE_FONCTION










1 But

Lire des valeurs réelles dans un fichier de données représentant une fonction et créer un concept de
type fonction [U4.31.02] ou nappe [U4.31.03].


Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A

Code_Aster ®
Version
7.4

Titre :

Opérateur LIRE_FONCTION


Date :
19/01/05
Auteur(s) :
C. DURAND Clé
:
U4.32.02-G Page
: 2/6


2 Syntaxe


f [fonction] = LIRE_FONCTION

(




UNITE = u
,








[I]




FORMAT
=
'LIBRE'
,
[DEFAUT]




NOM_PARA = cf mot clé équivalent de DEFI_FONCTION [U4.31.02],
NOM_RESU = idem




INTERPOL
= idem




PROL_DROITE =
idem




PROL_GAUCHE =

idem




VERIF
=

idem



TITRE =
idem



INFO =
idem





SEPAR


=
/
'None'
,
[DEFAUT]










/ ','
,










/ ';'
,










/ '/'
,





INDIC_PARA

=

/
[1,1]
, [DEFAUT]





TYPE

=
/
'FONCTION'
,
[DEFAUT]










/ 'FONCTION_C'
,










/ 'NAPPE'
,

si TYPE='FONCTION' :




INDIC_RESU

=

/
[1,2]
, [DEFAUT]


si TYPE='FONCTION_C' :




FORMAT_C


=
/
'REEL_IMAG'
[DEFAUT]










/ 'MODULE_PHASE'
,
si FORMAT_C='REEL_IMAG' :




INDIC_REEL

=

/
[1,2]
, [DEFAUT]




INDIC_IMAG

=

/
[1,3]
, [DEFAUT]
si FORMAT_C='MODULE_PHASE' :




INDIC_MODU

=

/
[1,2]
, [DEFAUT]




INDIC_PHAS

=

/
[1,3]
, [DEFAUT]

si TYPE='NAPPE' :



NOM_PARA_FONC
= cf mot clé NOM_PARA



INDIC_ABSCISSE =
[indice1,indice2] ,
[l_I]




INTERPOL_FONC

= cf mot clé ITERPOL




PROL_DROITE_FONC = cf mot clé PROL_DROITE




PROL_GAUCHE_FONC = cf mot clé PROL_GAUCHE




DEFI_FONCTION
=

_F(


INDIC_RESU
=
[indice1,indice2] ,
[l_I] ) )
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A

Code_Aster ®
Version
7.4

Titre :

Opérateur LIRE_FONCTION


Date :
19/01/05
Auteur(s) :
C. DURAND Clé
:
U4.32.02-G Page
: 3/6


3 Opérandes

3.1 Opérande
UNITE

UNITE = u

Entier, numéro logique de l'unité de lecture.

3.2 Opérande
FORMAT


FORMAT = 'LIBRE' ,
Ce mot clé est pour le moment inutile. Il pourra permettre à l'avenir de définir un format de lecture
spécifique, plus contraignant que le format actuel.

3.3 Opérandes PROL_DROITE / PROL_GAUCHE / NOM_PARA /
NOM_RESU / INTERPOL / VERIF / TITRE / INFO

LIRE_FONCTION est une macro-commande : les valeurs numériques sont lues dans le fichier indiqué
par PYTHON puis la fonction est effectivement créée par DEFI_FONCTION [U4.03.01].

Ainsi, ces mots clés sont repris à l'identique de DEFI_FONCTION et permettent de préciser les
caractéristiques de la fonction produite : interpolation, prolongements, noms des paramètres d'accès.

3.4 Opérande
SEPAR

SEPAR
= /'None'/','/';'/'/'

Caractère séparateur des colonnes de chiffres dans le fichier à lire.
La valeur par défaut 'None' signifie un ou plusieurs caractères blancs. Pour les autres
séparateurs, des caractères blancs peuvent également s'insérer entre les chiffres et le séparateur
lui-même.

3.5 Opérande
INDIC_PARA

INDIC_PARA =
/ [indice1,indice2]

Ce mot clé est identique dans son principe aux autres mots clés INDIC_* de la commande. Il
permet de choisir la colonne de chiffres dans le fichier lu qui définira les abscisses de la fonction,
soient les valeurs du paramètre.

On attend obligatoirement une liste de deux entiers : le premier désignant le numéro de `bloc'
dans le fichier (cf paragraphe [§4] Exemples), le second désignant le numéro de la colonne. Pour
identifier les blocs du fichier, on considère comme séparateur de blocs toute ligne qui ne
contiendrait pas exclusivement des chiffres et des séparateurs de colonnes. Les colonnes sont
définies par la présence de séparateurs de colonnes les délimitant (mot clé SEPAR).

La valeur par défaut est [1,1] : on lit la première colonne du premier bloc. Cela permet de définir
très facilement, en renseignant le moins de mots clés possibles, la lecture d'une fonction dans un
fichier contenant deux simples colonnes de chiffres.

3.6 Opérande
TYPE


TYPE

=
/
'FONCTION'
,
[DEFAUT]







/ 'FONCTION_C'
,







/ 'NAPPE'
,

Précise le type de fonction lue et créée : 'FONCTION', 'FONCTION_C' (appel dans la
macro-commande à DEFI_FONCTION) ou 'NAPPE' (appel à DEFI_NAPPE).
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A

Code_Aster ®
Version
7.4

Titre :

Opérateur LIRE_FONCTION


Date :
19/01/05
Auteur(s) :
C. DURAND Clé
:
U4.32.02-G Page
: 4/6


3.7
Cas d'une fonction réelle : TYPE='FONCTION'

INDIC_RESU =
/ [indice1,indice2]

De fonctionnement identique à INDIC_PARA, ce mot clé permet de choisir la colonne de chiffre
dans le fichier lu définissant les ordonnées de la fonction, soient les valeurs du résultat.

La valeur par défaut est [1,2] : on lit la deuxième colonne du premier bloc.


3.8
Cas d'une fonction complexe : TYPE='FONCTION_C'

FORMAT_C =
'REEL_IMAG'
INDIC_REEL =
/ [indice1,indice2]
INDIC_IMAG =
/ [indice1,indice2]

FORMAT_C =
'MODULE_PHASE'
INDIC_MODU =
/ [indice1,indice2]
INDIC_PHAS =
/ [indice1,indice2]

Dans le cas d'une fonction complexe, deux colonnes de chiffres (valeurs réelles) sont à identifier
dans le fichier lu pour définir la liste des valeurs complexes du résultat. On peut ainsi lire au choix
partie réelle/partie imaginaire ou module/phase.

Les valeurs par défaut sont respectivement [1,2] et [1,3] : on lit les deuxième et troisième colonnes
du premier bloc. La première colonne lue par défaut ayant été la valeur du paramètre
(INDIC_PARA).


3.9
Cas d'une nappe : TYPE='NAPPE'

NOM_PARA_FONC
= cf mot clé NOM_PARA
INDIC_ABSCISSE =
[indice1,indice2] ,

INTERPOL_FONC

= cf mot clé ITERPOL

PROL_DROITE_FONC = cf mot clé PROL_DROITE

PROL_GAUCHE_FONC = cf mot clé PROL_GAUCHE

DEFI_FONCTION
=

_F(


INDIC_RESU
=
[indice1,indice2] , ) )

Le principe est le même que celui de DEFI_NAPPE [U4.31.03] : la liste de valeurs possibles du
paramètre (deuxième variable) ayant été définie par INDIC_PARA, il reste à identifier les fonctions
dans le fichier lu par le mot clé facteur DEFI_FONCTION (analogue au mot clé facteur FONCTION
de DEFI_NAPPE). Attention, le nombre de fonctions identifiées (occurrences du mot clé facteur)
devra être identique au cardinal des valeurs lues par INDIC_PARA.

Contrairement aux nappes en général, on impose que les fonctions partagent la même liste de
valeurs d'abscisses INDIC_ABSCISSE, c'est pourquoi seul INDIC_RESU est présent sous le mot
clé facteur DEFI_FONCTION.

Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A

Code_Aster ®
Version
7.4

Titre :

Opérateur LIRE_FONCTION


Date :
19/01/05
Auteur(s) :
C. DURAND Clé
:
U4.32.02-G Page
: 5/6


4 Exemples
d'utilisation

Soit le fichier texte suivant contenant l'information à lire. Il est composé de colonnes de chiffres, ici
séparées par des caractères blancs, définissant des blocs, eux-mêmes délimités par du texte libre.

Toute ligne comprenant d'autres caractères que des chiffres et le séparateur prédéfini est considérée
comme texte libre délimitant.

aaa bbb ccc
ddd
eee fff
0. 0. 0.
0.1 1. 10.
0.2 2. 20.
0.3 3. 30.
xxx yyy
www zzz
0.4 4. 40. 400.
0.5 5. 50. 500.
0.6 6. 60. 600.
xxx
70. 700.
80. 800.
90. 900.
ppp qqq
8.8
9.9

Ou, avec un séparateur :

. . .
0.1 ; 1. ; 10. ; 100.
0.2 ; 2. ; 20. ; 200.
. . .

4.1
Lecture d'une fonction simple

En exploitant les valeurs par défaut pour le choix des colonnes :

F=LIRE_FONCTION( UNITE = 38,
NOM_PARA = `INST', )

La fonction ainsi créée est :
Abscisses =
[0., 0.1, 0.2, 0.3]
Ordonnées = [0., 1. , 2. , 3. ]

En associant pour abscisses et ordonnées des colonnes prises dans des blocs différents :

F=LIRE_FONCTION( UNITE = 38,
NOM_PARA = `INST',
INDIC_PARA = [2,4],
INDIC_RESU = [3,1],

La fonction ainsi créée est :
Abscisses =
[400., 500., 600.]
Ordonnées = [ 70., 80., 90.]

Attention, la commande vérifie alors que les cardinaux des colonnes définies par INDIC_PARA et
INDIC_RESU sont bien identiques. Ce qui n'aurait pas été le cas ici avec par exemple INDIC_PARA =
[1,4].
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A

Code_Aster ®
Version
7.4

Titre :

Opérateur LIRE_FONCTION


Date :
19/01/05
Auteur(s) :
C. DURAND Clé
:
U4.32.02-G Page
: 6/6


4.2
Lecture d'une fonction complexe

En exploitant les valeurs par défaut pour le choix des colonnes :

F=LIRE_FONCTION( UNITE
= 38,
NOM_PARA =
`INST',
TYPE =
`FONCTION_C',
FORMAT_C = `REEL_IMAG', )

La fonction ainsi créée est :
Abscisses =
[0., 0.1, 0.2, 0.3]
Ordonnées = [(0.,0.) , (1.,10.) , (2.,20.) , (3.,30.)]

On aurait bien sûr pu préciser d'autres colonnes pour INDIC_REEL et INDIC_IMAG que celles par
défaut. Attention toutefois à pointer sur des colonnes de même cardinal.

4.3
Lecture d'une nappe

En exploitant les valeurs par défaut pour le choix des colonnes :

F=LIRE_FONCTION( UNITE
=
38,
NOM_PARA
=
`INST',
INDIC_PARA =
[4,1],
NOM_PARA_FONC
=
`FREQ',
INDIC_ABSCISSE =
[2,2],
DEFI_FONCTION
=
(
F( INDIC_RESU = [3,1], ),

F( INDIC_RESU = [2,3], ), ) )

La nappe ainsi créée est :

Pour la valeur du paramètre INST=8.8, la fonction :
Abscisses =
[4. , 5. , 6.]
Ordonnées = [70. , 80. , 90.]

Pour la valeur du paramètre INST=9.9, la fonction :
Abscisses =
[4. , 5. , 6.]
Ordonnées = [40. , 50. , 60.]

Les vérifications de cohérence des cardinaux de colonnes d'abscisses et d'ordonnées sont faites par
la macro-commande.

Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A

Document Outline