+ All Categories
Home > Documents > Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes...

Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes...

Date post: 11-Sep-2018
Category:
Upload: hatram
View: 214 times
Download: 0 times
Share this document with a friend
30
Manuel de R´ ef´ erence de Bil Documentation pour Bil 1.7 Un programme d’´ el´ ements/volumes finis Edition "1.5" (27 octobre 2009) Patrick Dangla
Transcript
Page 1: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Manuel de Reference de BilDocumentation pour Bil 1.7

Un programme d’elements/volumes finis

Edition "1.5" (27 octobre 2009)

Patrick Dangla

Page 2: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Copyright c© 2002-2006 Patrick Dangla

Permission is granted to make and distribute verbatim copies of this manual provided the copy-right notice and this permission notice are preserved on all copies.

Page 3: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

i

Table des matieres

Copying conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Execution de Bil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Format du fichier de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4 Format des fichiers de resultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

5 Autres fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Modeles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

7 Comment developper un nouveau modele ? . . . . . . . . . . . . . . . . 15

8 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178.1 Drainage d’une colonne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

9 Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Annexe A Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Page 4: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 5: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Copying conditions 1

Copying conditions

Bil is “free software”; this means that everyone is free to use it and to redistribute it on afree basis. Bil is not in the public domain; it is copyrighted and there are restrictions on itsdistribution, but these restrictions are designed to permit everything that a good cooperatingcitizen would want to do. What is not allowed is to try to prevent others from further sharingany version of Bil that they might get from you.Specifically, we want to make sure that you have the right to give away copies of Bil, that youreceive source code or else can get it if you want it, that you can change Bil or use pieces of Bilin new free programs, and that you know you can do these things.To make sure that everyone has such rights, we have to forbid you to deprive anyone else ofthese rights. For example, if you distribute copies of Bil, you must give the recipients all therights that you have. You must make sure that they, too, receive or can get the source code.And you must tell them their rights.Also, for our own protection, we must make certain that everyone finds out that there is nowarranty for Bil. If Bil is modified by someone else and passed on, we want their recipientsto know that what they have is not what we distributed, so that any problems introduced byothers will not reflect on our reputation.The precise conditions of the license for Bil are found in the General Public License that accom-panies the source code (voir Annexe A [Licence], page 21). Further information about this licenseis available from the GNU Project webpage http://www.gnu.org/copyleft/gpl-faq.html.The source code of Bil (for Linux) can be downloaded from the webpagehttp://perso.lcpc.fr/dangla.patrick/bil.If you use Bil, we would appreciate that you mention it in your work. Refer-ences, as well as the latest news about Bil development, are always available onhttp://perso.lcpc.fr/dangla.patrick/bil.

Page 6: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 7: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 1: Introduction 3

1 Introduction

Bil est un programme de calcul aux elements et/ou volumes finis pour la resolution d’equationsde bilan issues de la mecanique des milieux continus tels que bilan de masse, de quantite demouvement, de chaleur, etc. Bil est un programme librement distribue et couvert par le copyrightde la GNU General Public License (GnuGPL). Le source du code peut etre charge a l’adresse

http://perso.lcpc.fr/dangla.patrick/bil

Bil est destine aux etudiants et chercheurs desirant effectuer des calculs ou developper leurspropres modeles. Il est ecrit en langage C et, par consequent, est supporte par tout OS possedantun compilateur C. Cependant son environnement naturel dans lequel il a ete developpe est Unixou Linux.Bil est developpe pour les applications de dimension quelconque (1,2 ou 3). Il est decouplede tout programme de preparation des donnees et de post-traitement des resultats. Il acceptecependant les fichiers de maillage produits par le logiciel libre GMSH qui peut etre telecharge al’adresse http://www.geuz.org/gmsh/ (version ≥ 1.54). Les fichiers de resultats 1D produitspar Bil peuvent etre directement exploites par des traceurs de courbes comme gnuplot. En cequi concerne les calculs 2D et 3D une option permet de fabriquer des fichiers de post-traitementexploitables par GMSH (voir les options de Bil).

Page 8: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 9: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 2: Execution de Bil 5

2 Execution de Bil

L’utilisation de Bil s’effectue en executant un fichier contenant les donnees du probleme

bil [options] mon_fichier

‘mon_fichier’ est le fichier de donnees dont le format est decrit dans la section suivante.Sans option le programme execute le fichier ‘mon_fichier’ et produit les fichiers de resultats‘mon_fichier.pi ’ et ‘mon_fichier.ti ’ (voir Chapitre 4 [Fichiers de resultats], page 9). Si‘mon_fichier’ n’existe pas, Bil ouvre le fichier ‘mon_fichier’ en mode ecriture, passe en modeinteractif et invite l’utilisateur a donner les informations necessaire a la construction de ce fichier.Avec l’option -h (aide) il n’est pas necessaire de donner un nom de fichier.

Les options sont :

‘-d’ mot-cle imprime des donnees relatives a mot-cle‘-g’ methode sort le fichier ‘mon_fichier.graph’ relatif a methode:

methode = metis : pour METISmethode = hsl : pour HSL MC40methode = sloan : methode proposee par Sloan

‘-h’ aide en ligne (s’utilise sans autre argument)‘-i’ sort le fichier des permutations inverses ‘mon_fichier.graph.iperm’‘-info’ informations generales‘-p’ sort les fichiers de post-traitement ‘mon_fichier.posi ’ pour GMSH‘-r’ lecture seule du fichier ‘mon_fichier’‘-s’ methode utilise une methode de resolution du systeme lineaire:

methode = crout : methode de CROUT (defaut)methode = slu : methode proposee par SuperLU

‘-m’ affiche les modeles disponibles‘-m’ I affiche un exemple de donnees du modele I

L’execution du fichier de donnees peut etre differente suivant la presence ou non de certainsautres fichiers (voir Chapitre 5 [Autres fichiers], page 11). Celui qui a le plus d’incidence sur lecalcul est le fichier ‘mon_fichier.graph.iperm’ qui determine l’ordonnancement de la matricedans le cas ou la numerotation des noeuds du maillage n’est pas optimisee. Il est alors souventindispensable (sauf en 1D) de fabriquer ce fichier avant tout calcul.

Page 10: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 11: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 3: Format du fichier de donnees 7

3 Format du fichier de donnees

Le fichier ‘mon_fichier’ mentionne ci-dessus doit contenir les donnees du probleme a resoudre.Pour des raisons de lisibilite ces donnees sont classees par groupe. Chaque groupe est identifiepar un mot-cle de 4 lettres. Les donnees de chaque groupe doivent donc etre precedees dumot-cle correspondant. Ces mots-cles permettent d’identifier la nature des donnees : maillage,proprietes materielles, conditions aux limites, etc. L’ordre dans lequel ces mots-cles doiventapparaıtre dans ‘mon_fichier’ est impose. Le fichier commence, par exemple, par le mot-cleDIME qui defini la dimension du probleme (1D, 2D ou 3D) et eventuellement la nature de lageometrie du probleme (plane, axisymetrique). La liste complete et ordonnee des mots-clesdevant figures dans le fichier de donnees figure dans le tableau ci-dessous. Toute ligne precedantles mots-cles et commencant par un # est consideree comme une ligne de commentaire.

mot-cle nature des donnees

DIME dimension et geometrie du problemeMAIL definition d’un maillageMATE proprietes du materiau 1. . . . . .MATE proprietes du materiau nCHMP definition d’un ensemble de champsINIT conditions initialesFONC definition d’un ensemble de fonction du tempsCOND conditions aux limitesCHAR chargementPOIN definition d’un ensemble de points du maillageTEMP definition d’un ensemble de tempsOBJE variations objectives des inconnuesALGO parametres du processus iteratif

Une aide en ligne renseigne sur le format des donnees a respecter apres chaque mot-cle. Pour yacceder il suffit de taper :

bil -h

Page 12: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 13: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 4: Format des fichiers de resultats 9

4 Format des fichiers de resultats

A l’issu d’un calcul, Bil produit 2 ensembles de fichiers de resultats. Dans le premier ensemble,les fichiers sont nommes :

‘mon_fichier.pi ’

ou i est un entier variant entre 1 et le nombre de points definis dans le mot-cle POIN. Il n’y apas de fichiers si ce nombre est nul. Ils contiennent les resultats aux points, definis dans POIN,en fonction du temps. La premiere colonne correspond aux temps de calcul. Les autres colonnescorrespondent a des quantites specifiques au modele utilise. Ce modele est defini dans le mot-cleMATE.Dans le deuxieme ensemble, les fichiers sont nommes :

‘mon_fichier.ti ’

ou i est un entier variant entre 0 et le nombre de temps definis dans le mot-cle TEMP. Ilscontiennent les resultats aux temps, definis dans TEMP, en fonction des coordonnees spatiales. Lespremieres colonnes de ces fichiers correspondent aux coordonnees des points de calcul. Le contenudes autres colonnes correspondent aux memes quantites que celles des fichiers ‘mon_fichier.pi ’.Les premieres lignes de ces fichiers sont des lignes de commentaires qui indiquent la nature deces quantites.

Page 14: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 15: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 5: Autres fichiers 11

5 Autres fichiers

Bil produit, et parfois utilise lors d’un second passage, un certain nombre de fichiers. Le contenude chaque fichier est determine par son nom forme par celui du fichier de donnes suivi d’un suffixe: ‘mon_fichier.suf ’. Ils sont listes dans le tableau ci-dessous.

fichier description

‘mon_fichier.ti ’ resultats au pas de temps i‘mon_fichier.pi ’ resultats au point i‘mon_fichier.posi ’ vue i exploitable par GMSH‘mon_fichier.msh’ maillage au format GMSH‘mon_fichier.graph’ graph du maillage‘mon_fichier.graph.iperm’ permutations inverses‘mon_fichier.stk’ resultats de fin de calcul‘mon_fichier.rep’ fichier necessaire pour une reprise

Le fichier ‘mon_fichier.rep’ permet de poursuivre un calcul precedent, issu d’unfichier ‘mon_precedent_fichier’, en partant des resultats de fin de calcul enreg-istres dans ‘mon_precedent_fichier.stk’. Pour cela faire une copie exacte de‘mon_precedent_fichier.stk’ dans ‘mon_fichier.rep’ puis executer le fichier ‘mon_fichier’dans lequel on aura defini des nouveaux temps au dela du temps final precedent.

Page 16: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 17: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 6: Modeles 13

6 Modeles

La notion de modele fait reference, en general, au modele de comportement du materiau. Maisles methodes numeriques utilisent des concepts ou hypotheses mathematiques plus generalesqui doivent pouvoir etre identifiees par cette notion de modele. Nous definirons donc plusgeneralement la notion de modeles en y incluant le type de methode numerique utilisee (ElementsFinis ou Volumes Finis) avec leurs carateristiques particulieres (schemas, points d’integration,etc..). Ainsi un modele tel que defini ici s’identifiera a l’ensemble des informations necessairespour definir :

• Le nombre et la nature des equations de bilan a resoudre• Les lois (de comportement) necessaires pour fermer le systeme• Toutes les caracteristiques de la methode numerique utilisee

Une breve description des modeles disponibles dans Bil sont affiches en tapant :

bil -m

Page 18: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 19: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 7: Comment developper un nouveau modele ? 15

7 Comment developper un nouveau modele ?

Il suffit de creer un nouveau fichier, ‘mi.c’, ou i est un nombre entier, non attribue, designantle numero du modele a developper. Ce fichier sera pris en compte automatiquement a la compi-lation a condition d’actualiser le fichier ‘models.inc’ contenant la liste des modeles reellementprise en compte dans l’executable. Afin de creer ce nouveau fichier on pourra prendre exemplesur des fichiers deja existants. Ce fichier doit contenir au moins 10 fonctions devant effectuer lestaches definies dans le tableau ci-dessous.

fonction tache

dmi lit les proprietes du materiau dans le fichier de donneesqmi ecrit un exemple commente de donnees materiautbi definit la longueur, par element, des tableaux des termes implicites, vi, et

explicites, ve, ainsi que d’eventuelles fonctions d’interpolationini initialise les tableaux vi et veexi actualise le tableau ve (termes explicites)mxi calcule la matrice elementairersi calcule le residuchi calcule le residu du au chargementcti actualise le tableau vi (termes implicites)soi calcule les quantites figurant dans les fichiers de resultats pour une ex-

ploitation graphique

Pour vous aider la liste des variables et des tableaux utilises dans ces fichiers ‘mi.c’ est presenteedans le tableau ci-dessous.

variable contenu

dim dimension du probleme (1, 2, 3)geom geometrie du probleme (PLAN, AXIS, SPHE)u_1[n][k] valeur au temps t + dt de l’inconnue k au noeud n de l’element courantu_n[n][k] idem au temps tvi_1[l] valeur au temps t + dt du terme implicite l de l’element courantvi_n[l] idem au temps tve[p] valeur au temps t du terme explicite p de l’element courantk[i] matrice rangee ligne par ligner[i] residu de la ligne i

Page 20: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,
Page 21: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 8: Exemples 17

8 Exemples

8.1 Drainage d’une colonne

L’equation a resoudre est l’equation de Richards. Une colonne de sable de 1 m de hauteur estinitialement saturee. La pression interstitielle est donnee par pl = patm − g(x − 1). A l’instantt = 0 on draine la colonne par la face inferieure ou on impose la pression a pl = patm. Le fichierde donnees figure dans le tableau ci-dessous.

donnees dans le fichier commentaires

# Drainage d’une lignes de# colonne commentairesDIME dimension du pb1 plan pb 1D, geometrie planeMAIL donnees relatives au maillage3 0. 0. 1. 3 points dont 2 confondus de coordonnees 0. et 1.0.05 la longueur du premier element a partir de 0. est 0.051 20 1 element en 0. et 20 elements entre 0. et 1.1 1 2 regions et 1 seul materiauMATE donnees relatives au materiau 1Modele = 1 le numero d’identification du modelegravite = -9.81 la gravitephi = 0.3 la porositerho_l = 1000 la masse volumique du fluidek_int = 4.4e-13 la permeabilite intrinsequemu_l = 0.001 la viscosite du fluidep_g = 100000 la pression du gazcourbes = tab dans le fichier tab il y a 3 colonnes de chiffres : pc Sl

krl

CHMP definition de champs champ(xi) = v + gi(xi − ai)2 2 champsVal = 1.e5 Grad = -9.81 Point = 1. champ defini par 105 − 9.81 ∗ (x− 1.)Val = 1.e5 Grad = 0. Point = 0. champ constant et egal a 105

INIT donnees relatives aux conditions initiales1 1 condition initialeReg = 2 Inc = p_l Champ = 1 dans la region 2, pl = 105 − 9.81 ∗ (x− 1.).FONC definition eventuelle de fonctions du temps f(t)0 pas de fonctions definiesCOND donnees relatives aux conditions limites1 1 condition a la limiteReg = 1 Inc = p_l Champ = 2 Fonc =0

dans la region 1, pl = f(t) ∗ 105 (par defaut f(t) = 1)

CHAR donnees relatives aux chargements0 il n’y en a pasPOIN les points ou on veut des resultats0 pas de pointsTEMP les temps ou on veut des resultats2 2 temps0. 1800000 t0 = 0 et t1 = 1800000OBJE donnees relatives aux variations objectives

Page 22: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

18 Bil 1.7

p_l = 1000 variation objective Δpl = 1000ALGO donnees relatives a l’algorithmeIter = 20 20 iterationsTol = 1e-10 la tolerance est 10−10

Recom = 0 pas de recommencementsDtini = 1 pas de temps initial de 1.Dtmax = 3600 pas de temps max de 3600.

Page 23: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Chapitre 9: Versions 19

9 Versions

Nouveautes dans 1.7: option "base" ajoute dans le Makefile. Qqs nouveauxmodeles. Option "Relative" possible dans OBJE, donnee apres la valeur.Chargement automatique des modeles, il n’est plus besoin de modifier lefichier "xmod.c". Les fonctions "dm,qm,tb,ch,in,ex,ct,mx,rs,so" sontrenommees "dmNB,qmNB,tbNB,chNB,inNB,exNB,ctNB,mxNB,rsNB,soNB".Les titres des modeles ainsi que des exemples de donnees sont gerespar les fonctions "qm1, qm2 ...". Options nouvelles de la ligne decommande. "bil -m" affiche les titres des modeles. "bil -m I" afficheun exemple de donnees du modele I. Possiblite d’avoir des elementsd’ordres multiples (1 pour chaque inconnue). Cette possibilite est gereepar les tableaux "el.pin" et "el.peq". Une valeur negative associeea un noeud et une inconnue n’est pas prise en compte comme inconnue globale.Possibilite de creer de nouvelles fonctions d’interpolation au niveau desmodeles dans "tb1, tb2, ..." avec la fonction "creer_interpolation(...)".Possibilite de definir des champs aux points d’intersection d’une grilledans l’espace avec l’option "Type = grille" dans CHMP (l’optionType = affine restant par defaut).

Nouveautes dans 1.6: bug corrige dans "sauvep". Les fichiers "mod.c"et "mod.h" sont renommes "xmod.c" et "xmod.h". Le specificateur detype "void" est remplace par "int" pour les fonctions "ex1(), ex2() ..."definies dans "m1.c, m2.c ..." et pour l’identificateur de type "ex_t"defini dans "defs.h". On utilise ce retour dans les fonctions"explicite()" et "algorithme()" definies dans "calc.c". Compatibiliteavec le format de maillage version 2.0 de GMSH.

Nouveautes dans 1.5: definition des types de fonctions "dm_t, "qm_t","tb_t", etc... Reorganisation du fichier "mod.c" par l’introduction detableaux de pointeurs de fonctions pour simplifier l’introduction denouveaux modeles. Possibilite de charger la librairie de SuperLU (voirle fichier "make.inc"). Creation de l’option de la ligne de commande"-m slu" qui permet d’utiliser la methode de resolution proposee parSuperLU a condition d’avoir construit, auparavant, le fichier despermutations inverses a l’aide d’un programme adapte comme Metis.

Nouveautes dans 1.4: reorganisation et creations des fichiers : calc.c,lecdo.c, postt.c, renum.c. Suppression des variables statiques. Creationd’une structure de donnees "dnns_t", d’une structure pour la matrice"mtrx_t", d’une structure pour la solution "sltn_t", d’une structure pourla renumerotation "nume_t". Amelioration de certaines fonctions de lib.c.Suppresion de rssurf (pris en charge par rsmass).

Nouveautes dans 1.3: nouveaux modeles inclus. Qqs ameliorations apporteesdans le calcul de dt (fonction pasdt). Apport de nouvelles info dansles structures mate_t, elem_t: en particulier neq,eqn,inc dans mate_t.Creation de la structure node_t et suppression du pointeur no_x. Cetteversion permet de prendre en compte des modeles reposant sur un nombred’equations et sur des natures d’inconnues pouvant varier d’une regiona l’autre. Cette version realise la continuite des equations en fonctionde nouvelles informations contenues dans les modeles comme le nombre

Page 24: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

20 Bil 1.7

d’equations et les noms (predefinis) de chaque equation et inconnueassociee. En consequence la structure du fichier a ete (legerement)modifiee pour prendre en compte ces informations, notamment dans lesmots-cles INIT,COND,CHAR,ALGO (voir l’aide en ligne). Pour plus de clarteles donnees relatives aux variations objectives des parametres ont etedeplacees du mot-cle ALGO dans le nouveau mot-cle OBJE.

Nouveautes dans 1.2: creation d’un repertoire exemples. Simplication de lagestion des elements de surface (suppression de SURF). Creation de champs(mot-cles CHMP). Gestion des interruptions dans le calcul de la matrice.

Nouveautes dans 1.1: creation des pages info et de la doc sous differentsformats (ps,pdf,txt). Creation des repertoires bin et lib. Ameliorationde la procedure d’installation. Simplification du jeu de donnees par ladefinition des regions de maillage.

Page 25: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Annexe A: Licence 21

Annexe A Licence

GNU General Public License

Version 2, June 1991

Copyright c© 1989, 1991 Free Software Foundation, Inc.59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

Everyone is permitted to copy and distribute verbatim copiesof this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it.By contrast, the GNU General Public License is intended to guarantee your freedom to shareand change free software—to make sure the software is free for all its users. This General PublicLicense applies to most of the Free Software Foundation’s software and to any other programwhose authors commit to using it. (Some other Free Software Foundation software is coveredby the GNU Library General Public License instead.) You can apply it to your programs, too.When we speak of free software, we are referring to freedom, not price. Our General PublicLicenses are designed to make sure that you have the freedom to distribute copies of free software(and charge for this service if you wish), that you receive source code or can get it if you wantit, that you can change the software or use pieces of it in new free programs; and that you knowyou can do these things.To protect your rights, we need to make restrictions that forbid anyone to deny you these rightsor to ask you to surrender the rights. These restrictions translate to certain responsibilities foryou if you distribute copies of the software, or if you modify it.For example, if you distribute copies of such a program, whether gratis or for a fee, you mustgive the recipients all the rights that you have. You must make sure that they, too, receive orcan get the source code. And you must show them these terms so they know their rights.We protect your rights with two steps: (1) copyright the software, and (2) offer you this licensewhich gives you legal permission to copy, distribute and/or modify the software.Also, for each author’s protection and ours, we want to make certain that everyone understandsthat there is no warranty for this free software. If the software is modified by someone else andpassed on, we want its recipients to know that what they have is not the original, so that anyproblems introduced by others will not reflect on the original authors’ reputations.Finally, any free program is threatened constantly by software patents. We wish to avoid thedanger that redistributors of a free program will individually obtain patent licenses, in effectmaking the program proprietary. To prevent this, we have made it clear that any patent mustbe licensed for everyone’s free use or not licensed at all.The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING,DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed bythe copyright holder saying it may be distributed under the terms of this General PublicLicense. The “Program”, below, refers to any such program or work, and a “work basedon the Program” means either the Program or any derivative work under copyright law:that is to say, a work containing the Program or a portion of it, either verbatim or with

Page 26: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

22 Bil 1.7

modifications and/or translated into another language. (Hereinafter, translation is includedwithout limitation in the term “modification”.) Each licensee is addressed as “you”.Activities other than copying, distribution and modification are not covered by this License;they are outside its scope. The act of running the Program is not restricted, and the outputfrom the Program is covered only if its contents constitute a work based on the Program(independent of having been made by running the Program). Whether that is true dependson what the Program does.

1. You may copy and distribute verbatim copies of the Program’s source code as you receiveit, in any medium, provided that you conspicuously and appropriately publish on each copyan appropriate copyright notice and disclaimer of warranty; keep intact all the notices thatrefer to this License and to the absence of any warranty; and give any other recipients ofthe Program a copy of this License along with the Program.You may charge a fee for the physical act of transferring a copy, and you may at your optionoffer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming awork based on the Program, and copy and distribute such modifications or work under theterms of Section 1 above, provided that you also meet all of these conditions:a. You must cause the modified files to carry prominent notices stating that you changed

the files and the date of any change.b. You must cause any work that you distribute or publish, that in whole or in part

contains or is derived from the Program or any part thereof, to be licensed as a wholeat no charge to all third parties under the terms of this License.

c. If the modified program normally reads commands interactively when run, you mustcause it, when started running for such interactive use in the most ordinary way, toprint or display an announcement including an appropriate copyright notice and anotice that there is no warranty (or else, saying that you provide a warranty) and thatusers may redistribute the program under these conditions, and telling the user how toview a copy of this License. (Exception: if the Program itself is interactive but doesnot normally print such an announcement, your work based on the Program is notrequired to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of thatwork are not derived from the Program, and can be reasonably considered independentand separate works in themselves, then this License, and its terms, do not apply to thosesections when you distribute them as separate works. But when you distribute the samesections as part of a whole which is a work based on the Program, the distribution of thewhole must be on the terms of this License, whose permissions for other licensees extend tothe entire whole, and thus to each and every part regardless of who wrote it.Thus, it is not the intent of this section to claim rights or contest your rights to workwritten entirely by you; rather, the intent is to exercise the right to control the distributionof derivative or collective works based on the Program.In addition, mere aggregation of another work not based on the Program with the Program(or with a work based on the Program) on a volume of a storage or distribution mediumdoes not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in objectcode or executable form under the terms of Sections 1 and 2 above provided that you alsodo one of the following:a. Accompany it with the complete corresponding machine-readable source code, which

must be distributed under the terms of Sections 1 and 2 above on a medium customarilyused for software interchange; or,

Page 27: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Annexe A: Licence 23

b. Accompany it with a written offer, valid for at least three years, to give any thirdparty, for a charge no more than your cost of physically performing source distribution,a complete machine-readable copy of the corresponding source code, to be distributedunder the terms of Sections 1 and 2 above on a medium customarily used for softwareinterchange; or,

c. Accompany it with the information you received as to the offer to distribute corre-sponding source code. (This alternative is allowed only for noncommercial distributionand only if you received the program in object code or executable form with such anoffer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modificationsto it. For an executable work, complete source code means all the source code for allmodules it contains, plus any associated interface definition files, plus the scripts used tocontrol compilation and installation of the executable. However, as a special exception, thesource code distributed need not include anything that is normally distributed (in eithersource or binary form) with the major components (compiler, kernel, and so on) of theoperating system on which the executable runs, unless that component itself accompaniesthe executable.

If distribution of executable or object code is made by offering access to copy from adesignated place, then offering equivalent access to copy the source code from the sameplace counts as distribution of the source code, even though third parties are not compelledto copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly pro-vided under this License. Any attempt otherwise to copy, modify, sublicense or distributethe Program is void, and will automatically terminate your rights under this License. How-ever, parties who have received copies, or rights, from you under this License will not havetheir licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothingelse grants you permission to modify or distribute the Program or its derivative works.These actions are prohibited by law if you do not accept this License. Therefore, by modi-fying or distributing the Program (or any work based on the Program), you indicate youracceptance of this License to do so, and all its terms and conditions for copying, distributingor modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipientautomatically receives a license from the original licensor to copy, distribute or modify theProgram subject to these terms and conditions. You may not impose any further restrictionson the recipients’ exercise of the rights granted herein. You are not responsible for enforcingcompliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for anyother reason (not limited to patent issues), conditions are imposed on you (whether bycourt order, agreement or otherwise) that contradict the conditions of this License, they donot excuse you from the conditions of this License. If you cannot distribute so as to satisfysimultaneously your obligations under this License and any other pertinent obligations,then as a consequence you may not distribute the Program at all. For example, if a patentlicense would not permit royalty-free redistribution of the Program by all those who receivecopies directly or indirectly through you, then the only way you could satisfy both it andthis License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circum-stance, the balance of the section is intended to apply and the section as a whole is intendedto apply in other circumstances.

Page 28: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

24 Bil 1.7

It is not the purpose of this section to induce you to infringe any patents or other propertyright claims or to contest validity of any such claims; this section has the sole purpose ofprotecting the integrity of the free software distribution system, which is implemented bypublic license practices. Many people have made generous contributions to the wide rangeof software distributed through that system in reliance on consistent application of thatsystem; it is up to the author/donor to decide if he or she is willing to distribute softwarethrough any other system and a licensee cannot impose that choice.This section is intended to make thoroughly clear what is believed to be a consequence ofthe rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either bypatents or by copyrighted interfaces, the original copyright holder who places the Programunder this License may add an explicit geographical distribution limitation excluding thosecountries, so that distribution is permitted only in or among countries not thus excluded. Insuch case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the GeneralPublic License from time to time. Such new versions will be similar in spirit to the presentversion, but may differ in detail to address new problems or concerns.Each version is given a distinguishing version number. If the Program specifies a versionnumber of this License which applies to it and “any later version”, you have the option offollowing the terms and conditions either of that version or of any later version publishedby the Free Software Foundation. If the Program does not specify a version number of thisLicense, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distributionconditions are different, write to the author to ask for permission. For software whichis copyrighted by the Free Software Foundation, write to the Free Software Foundation;we sometimes make exceptions for this. Our decision will be guided by the two goals ofpreserving the free status of all derivatives of our free software and of promoting the sharingand reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WAR-RANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICA-BLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHTHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITH-OUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITYAND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THEQUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THEPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARYSERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO INWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAYMODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BELIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCI-DENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR IN-ABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OFDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BYYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITHANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEENADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Page 29: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Annexe A: Licence 25

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public,the best way to achieve this is to make it free software which everyone can redistribute andchange under these terms.To do so, attach the following notices to the program. It is safest to attach them to the start ofeach source file to most effectively convey the exclusion of warranty; and each file should haveat least the “copyright” line and a pointer to where the full notice is found.

one line to give the program’s name and a brief idea of what it does.

Copyright (C) yyyy name of author

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 59 Temple Place - Suite 330, Boston,

MA 02111-1307, USA.

Also add information on how to contact you by electronic and paper mail.If the program is interactive, make it output a short notice like this when it starts in an interactivemode:

Gnomovision version 69, Copyright (C) 19yy name of author

Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type

‘show w’.

This is free software, and you are welcome to redistribute it

under certain conditions; type ‘show c’ for details.

The hypothetical commands ‘show w’ and ‘show c’ should show the appropriate parts of theGeneral Public License. Of course, the commands you use may be called something other than‘show w’ and ‘show c’; they could even be mouse-clicks or menu items—whatever suits yourprogram.You should also get your employer (if you work as a programmer) or your school, if any, to signa “copyright disclaimer” for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program‘Gnomovision’ (which makes passes at compilers) written by James Hacker.

signature of Ty Coon, 1 April 1989Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary pro-grams. If your program is a subroutine library, you may consider it more useful to permit linkingproprietary applications with the library. If this is what you want to do, use the GNU LibraryGeneral Public License instead of this License.

Page 30: Manuel de R´ef´erence de Bil - Ifsttarmedia.lcpc.fr/ext/pdf/prod/bil/bil.pdf · Finis ou Volumes Finis) avec leurs carat´eristiques particuli`eres (sch´emas, points d’int´egration,

Recommended