Code_Aster ®
Version
7.4
Titre :
Opérateur CALC_FONC_INTERP
Date :
31/01/05
Auteur(s) :
M. COURTOIS, J.P. LEFEBVRE, L. VIVAN Clé
:
U4.32.01-F Page
: 1/6
Organisme(s) : EDF-R&D/AMA, CS-SI
Manuel d'Utilisation
Fascicule U4.3- : Fonction
Document : U4.32.01
Opérateur CALC_FONC_INTERP
1 But
Construire un concept de type fonction à partir d'une fonction FORMULE à 1 ou 2 variables. Peuvent
être définies des fonctions réelles à variables réelles et complexes et des nappes.
On peut également produire une nouvelle fonction réelle ou complexe, ou une nappe en interpolant
une autre fonction réelle, complexe ou une nappe.
L'utilisation de CALC_FONC_INTERP permet une tabulation préalable de la formule. Son utilisation est
recommandée avant toute analyse transitoire et/ou non linéaire pour des raisons de performances.
L'opérateur n'est plus réentrant : il prend une formule en argument et produit une fonction ou une
nappe.
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A
Code_Aster ®
Version
7.4
Titre :
Opérateur CALC_FONC_INTERP
Date :
31/01/05
Auteur(s) :
M. COURTOIS, J.P. LEFEBVRE, L. VIVAN Clé
:
U4.32.01-F Page
: 2/6
2 Syntaxe
fr = CALC_FONC_INTERP
(
FONCTION
=
f
/
[formule]
/
[fonction]
/
[fonction_c]
/
[nappe]
NOM_RESU
= /'TOUTRESU'
,
[DEFAUT]
/
nr ,
[K8]
NOM_PARA =
np,
/
VALE_PARA
=
lvale
, [l_R]
/
LIST_PARA
=
lpara
,
[listr8]
PROL_DROITE
=
/'CONSTANT',
/'LINEAIRE',
/'EXCLU'
,
[DEFAUT]
PROL_GAUCHE = /'CONSTANT',
/'LINEAIRE',
/'EXCLU'
,
[DEFAUT]
INTERPOL
= /
'LIN',
[DEFAUT]
/
'LOG',
[l_Kn]
/
'NON',
NOM_PARA_FONC = npf,
/ VALE_PARA_FONC = lvalef,
[l_R]
/
LIST_PARA_FONC
=
lparaf,
[listr8]
PROL_DROITE_FONC
= /'CONSTANT',
/'LINEAIRE',
/'EXCLU'
,
[DEFAUT]
PROL_GAUCHE_FONC =
/'CONSTANT',
/'LINEAIRE',
/'EXCLU'
,
[DEFAUT]
INTERPOL_FONC
=
/
'LIN',
[DEFAUT]
/
'LOG',
[l_Kn]
/
'NON',
INFO
=
/
1,
[DEFAUT]
/ 2,
TITRE
=
ti
,
[l_Kn]
)
Le type de fr est fonction, fonction_c ou nappe selon les arguments.
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A
Code_Aster ®
Version
7.4
Titre :
Opérateur CALC_FONC_INTERP
Date :
31/01/05
Auteur(s) :
M. COURTOIS, J.P. LEFEBVRE, L. VIVAN Clé
:
U4.32.01-F Page
: 3/6
3 Opérandes
3.1 Opérande
FONCTION
FONCTION = f
Nom de la FORMULE (fonction interprétable (FORMULE Cf. [U4.31.05])).
Cette fonction peut être à une ou deux variables.
On peut toutefois créer une nouvelle fonction (respectivement fonction_c, nappe) à partir
d'une fonction (respectivement fonction_c, nappe) en interpolant la première sur une liste
de paramètres différente. Cette probabilité est essentiellement utilisée dans les
macro-commandes.
3.2 Opérande
NOM_RESU
NOM_RESU = nr
Désigne le nom du résultat, la fonction ainsi créée est une fonction dont la valeur est de
nom nr (8 caractères).
3.3 Opérande
NOM_PARA
NOM_PARA = nr
Désigne le nom du paramètre de la fonction ou de la nappe. Par défaut, le nom du paramètre
de la formule ou fonction fournie est employé.
3.4 Opérandes
VALE_PARA/LIST_PARA
/ VALE_PARA = lvale,
lvale est la liste des valeurs du paramètre.
/ LIST_PARA = lpara,
lpara est la liste des valeurs du paramètre : c'est un concept de type listr8 créé
précédemment par la commande DEFI_LIST_REEL [U4.34.01].
3.5 Opérandes
PROL_DROITE et PROL_GAUCHE
PROL_DROITE et PROL_GAUCHE =
Définissent le type de prolongement à droite (à gauche) du domaine de définition du
paramètre de la fonction ou de la nappe
'CONSTANT'
pour un prolongement avec la dernière (ou première) valeur de la
fonction,
'LINEAIRE'
pour un prolongement le long du premier segment défini
(PROL_GAUCHE) ou du dernier segment défini (PROL_DROITE),
'EXCLU'
l'extrapolation des valeurs en dehors du domaine de définition du
paramètre est interdite (dans ce cas si un calcul demande une valeur
de la fonction hors du domaine de définition, le code s'arrêtera en
erreur fatale),
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A
Code_Aster ®
Version
7.4
Titre :
Opérateur CALC_FONC_INTERP
Date :
31/01/05
Auteur(s) :
M. COURTOIS, J.P. LEFEBVRE, L. VIVAN Clé
:
U4.32.01-F Page
: 4/6
3.6 Opérande
INTERPOL
INTERPOL
=
Type d'interpolation de la fonction entre les valeurs de la variable ou type d'interpolation de la
nappe entre les valeurs du paramètre. Derrière ce mot clé on attend une liste de paramètres
(deux au maximum).
'LIN' : linéaire,
'LOG' : logarithmique,
'NON' : on n'interpole pas (et donc le programme s'arrêtera si l'on demande la valeur
de la fonction pour une valeur du paramètre où elle n'a pas été définie).
Si une seule valeur est donnée, l'interpolation sera identique pour les abscisses et les
ordonnées. Si deux valeurs sont données, la première correspond à l'interpolation des
abscisses et la seconde à l'interpolation des ordonnées.
3.7 Opérande
NOM_PARA_FONC
NOM_PARA_FONC = nr
Désigne le nom de la variable des fonctions définissant la nappe.
3.8 Opérandes
VALE_PARA_FONC/LIST_PARA_FONC
/ VALE_PARA_FONC = lvale,
lvale est la liste des valeurs de la variable des fonctions définissant la nappe.
/ LIST_PARA_FONC = lpara,
lpara est la liste des valeurs de la variable des fonctions définissant la nappe: c'est un
concept de type listr8 créé précédemment par la commande DEFI_LIST_REEL
[U4.34.01].
3.9 Opérandes
PROL_DROITE_FONC et PROL_GAUCHE_FONC
PROL_DROITE_FONC et PROL_GAUCHE_FONC =
Définissent le type de prolongement à droite (à gauche) du domaine de définition de la
variable des fonctions de la nappe :
'CONSTANT', 'LINEAIRE', 'EXCLU' ont le même sens que précédemment.
3.10 Opérande
INTERPOL_FONC
INTERPOL_FONC
=
Type d'interpolation des fonctions entre les valeurs de la variable des fonctions définissant la
nappe. Derrière ce mot clé on attend une liste de paramètres (deux au maximum).
Le fonctionnement est identique à INTERPOL.
3.11 Opérande
INFO
INFO
=
Précise les options d'impression sur le fichier MESSAGE.
1 : pas d'impression (option par défaut)
2 : impression des paramètres plus la liste des 10 premières valeurs dans l'ordre
croissant du paramètre
3.12 Opérande
TITRE
TITRE = ti
Titre attaché au concept produit par cet opérateur [U4.03.01].
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A
Code_Aster ®
Version
7.4
Titre :
Opérateur CALC_FONC_INTERP
Date :
31/01/05
Auteur(s) :
M. COURTOIS, J.P. LEFEBVRE, L. VIVAN Clé
:
U4.32.01-F Page
: 5/6
4 Exemples
4.1
Cas d'une fonction
4.1.1 Définir la fonction FORMULE sin(t)
SI = FORMULE ( NOM_PARA = 'INST',
VALE = sin(INST) )
4.1.2 Tabuler
sin(t) à partir d'une liste de réels
DEPI =
2.*pi
PAS0 =
DEPI/200.
LI1
= DEFI_LIST_REEL (DEBUT = 0, INTERVALLE=_F(JUSQU_A=DEPI, PAS=PAS0),)
SI1
= CALC_FONC_INTERP (FONCTION= SI, LIST_PARA = LI1, NOM_RESU =
'DEPL',
PROL_GAUCHE='EXCLU',
PROL_DROITE='CONSTANT',
INTERPOL='LIN', TITRE='FONCTION SINUS' )
4.1.3 Tabuler
sin(t) à partir d'une liste de valeurs
LI2
= ( 0.,0.01,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10)
SI2
= CALC_FONC_INTERP ( FONCTION = SI, VALE_PARA = LI2,
NOM_PARA
='INST',
PROL_GAUCHE
=
'EXCLU',
PROL_DROITE
=
'EXCLU',
INTERPOL
=
'LIN', TITRE = 'FONCTION SINUS')
4.2
Cas d'une nappe
4.2.1 Définir la fonction FORMULE sin(t)
SI = FORMULE ( NOM_PARA = ('INST', 'FREQ'),
VALE = sin(2*pi*FREQ*INST) )
4.2.2 Tabuler
sin(t) à partir d'une liste d'instants
Le paramètre de la nappe est `FREQ', la variable des fonctions définissant la nappe est `INST'.
LI_FREQ =
DEFI_LIST_REEL
(DEBUT = 10, INTERVALLE=_F(JUSQU_A=100, PAS=10),)
LI_INST =
DEFI_LIST_REEL
(DEBUT = 0, INTERVALLE=_F(JUSQU_A=100, PAS=1),)
SI1
= CALC_FONC_INTERP ( FONCTION= SI,
NOM_RESU = 'DEPL',
NOM_PARA_FONC='INST',
LIST_PARA_FONC = LI_INST
PROL_GAUCHE_FONC='EXCLU',
PROL_DROITE_FONC='CONSTANT',
INTERPOL_FONC='LIN',
NOM_PARA='FREQ',
LIST_PARA = LI_FREQ
PROL_GAUCHE='LINEAIRE',
PROL_DROITE='LINEAIRE',
INTERPOL='LIN',
TITRE='FONCTION SINUS',)
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A
Code_Aster ®
Version
7.4
Titre :
Opérateur CALC_FONC_INTERP
Date :
31/01/05
Auteur(s) :
M. COURTOIS, J.P. LEFEBVRE, L. VIVAN Clé
:
U4.32.01-F Page
: 6/6
Page laissée intentionnellement blanche.
Manuel d'Utilisation
Fascicule U4.3- : Fonction
HT-66/05/004/A
Document Outline