ONELAB scripting syntax

Revision as of 13:17, 3 February 2012 by Francois (talk | contribs) (Created page with "L'utilisation de ONELAB n'est cependant pas limitée aux codes '''encapsulés'''. N'importe quel autre programme de calcul scientifique peut également utiliser ONELAB, mais cet...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Revision as of 13:17, 3 February 2012 by Francois (talk | contribs) (Created page with "L'utilisation de ONELAB n'est cependant pas limitée aux codes '''encapsulés'''. N'importe quel autre programme de calcul scientifique peut également utiliser ONELAB, mais cet...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

L'utilisation de ONELAB n'est cependant pas limitée aux codes encapsulés. N'importe quel autre programme de calcul scientifique peut également utiliser ONELAB, mais cette fois-ci au travers d'une interface. On appelle ces clients des clients interfacés.

La syntaxe d'interfaçage se base sur le principe du préprocesseur. Le préprocesseur ONELAB effectue des substitutions de valeurs et des inclusions/exclusions conditionnelles de lignes pour délivrer en sortie un fichier d'entrée valide pour le client. Etant donné que l'interface ONELAB est générique, càd qu'elle est identique pour tous les clients interfacés, toutes ces opérations sont réalisées sans jamais interpréter le code du client qui est considéré comme une suite de caractères sans signification.

Pour donner un exemple très simple, si le client utilise un fichier d'entrée de type nom.xyz contenant:

 L=0.005; // longueur
 ... code
 B =  L + D;
 ... code 
 

l'interfaçage ONELAB se fera en définissant un fichier nom.xyz.ol contenant

OL.parameter L.number(0.005,Parameters/1Geometry,Length)
... code
B =  L + OL.getValue(L);
... code