Solveur Inst Nlin PETSc ma version en attendant

  • Slides: 16
Download presentation
Solveur. Inst. Nlin. PETSc (ma version, en attendant mieux) Problème: j’ai besoin d’un solveur

Solveur. Inst. Nlin. PETSc (ma version, en attendant mieux) Problème: j’ai besoin d’un solveur instationnaire pouvant tenir compte de C. L. qui dépendent du temps.

Intro L’imposition de condition limite qui dépendent du temps tout comme le fait d’avoir

Intro L’imposition de condition limite qui dépendent du temps tout comme le fait d’avoir des coefficients de l’ÉDP qui dépendent du temps ou de la solution a des effets importants sur la méthode de résolution du problème «discrétisé» . Des C. L. dépendant du temps (et pourquoi pas de la solution) nous obligent à imposer les conditions dans un certain ordre et à un moment précis dans le calcul de la solution (ajout de la méthode applique*Sauf. Dirichlet par exemple). Des coefficients de l’équation qui dépendent du temps et de la solution rendent le problème «plus» non-linéaire et empêchent des simplifications.

On s’intéresse aux problèmes issus d’une semi-discrétisation: on utilise les É. F. pour discrétiser

On s’intéresse aux problèmes issus d’une semi-discrétisation: on utilise les É. F. pour discrétiser en espace une ÉDP instationnaire qui se réduit alors à une ÉDO. En général pour simplifier la présentation on considère le cas où les coefficients et les C. L. sont constants menant à une équation différentielle où tout les coefficients sont constants. On va tout reprendre mais en essayant de supporter le plus de généralité possible. Pour simplifier la présentation j’ignore le schéma de Gear qui fait pourtant partie des schémas compris dans la classe et je travaille uniquement sur les schémas q

Schéma q Rappel: soit l’ÉDO On pose une partition de l’intervalle On approxime une

Schéma q Rappel: soit l’ÉDO On pose une partition de l’intervalle On approxime une combinaison linéaire des dérivées de U

On obtient une famille de schémas paramétrée par q: et on a les «

On obtient une famille de schémas paramétrée par q: et on a les « classiques»

Semi-discrétisation En utilisant les É. F. on a une équation de forme générale où

Semi-discrétisation En utilisant les É. F. on a une équation de forme générale où M et K sont des matrices carrés et F un vecteur. Supposons que inversible (*) généralement satisfaite (densité, chaleur spécifique… ¹ 0)

Non-linéarité On peut inverser M et revenir à une forme connue Naturellement on peut

Non-linéarité On peut inverser M et revenir à une forme connue Naturellement on peut appliquer à ce problème les schémas précédent (on peut aussi appliquer Gear, RK 4, etc). On remplace par dans les schémas:

Processus itératif Pour résoudre on procède par itérations et en «correction» sur V cela

Processus itératif Pour résoudre on procède par itérations et en «correction» sur V cela donne

Classe MEF++ • Le choix de la méthode de résolution de l’équation nonlinéaire caractérise

Classe MEF++ • Le choix de la méthode de résolution de l’équation nonlinéaire caractérise la classe Solveur. Inst. Nlin. PETSc. • Le choix des schémas de résolution de l’ÉDO caractérise la classe. Conclusion: la classe devrait s’appeler Solveur. Inst. Ordre 1 Schema. Theta. Et. Gear. Iteratif. PETSc Convergence? Pas garantie (évidemment) mais pour des problèmes «corrects» la convergence est «correcte» … ex. M constant est un cas correct.

Et les C. L. ? • C. L. Type Blocage de DDL (Dirichlet): modifie

Et les C. L. ? • C. L. Type Blocage de DDL (Dirichlet): modifie la matrice et le membre de droite assemblé aux entrées correspondant au DDL. Pas d’impact sur le schéma même si la condition dépend de t. • C. L. Type Neumann: ajoute des termes à la matrice de rigidité (Robin) et au membre de droite (Neumann et Robin). Tenant compte des C. L. dans l’écriture de l’ÉDO on a

temps non-linéaire Algorithme C 2

temps non-linéaire Algorithme C 2

Résidus Dans la terminologie MEF++ • résidu instationnaire à • est le résidu stationnaire

Résidus Dans la terminologie MEF++ • résidu instationnaire à • est le résidu stationnaire au temps plus les C. L. de type Neumann • perturbation du résidu stationnaire à les C. L. de type Neumann du champ plus

Une fois la solution au problème non-linéaire obtenue est conservé puisqu’il permet de calculer.

Une fois la solution au problème non-linéaire obtenue est conservé puisqu’il permet de calculer. Si q ¹ 1 et M n’est pas constant on doit résoudre un problème linéaire pour Sauf si M, K et F sont indépendant de t et U les résidus doivent être réévalués à chaque itération non-linéaire. La dépendance de F par rapport à U est automatiquement traitée puisque les résidus sont assemblés à chaque itérations et ce sont eux qui s’occupent de F.

Évidences Dans le cas général on doit assembler M et K à chaque itération

Évidences Dans le cas général on doit assembler M et K à chaque itération non-linéaire. Si M est constant on assemble une fois et le terme en se simplifie. Si M, K et F ne dépendent pas de U alors: • au plus un seul assemblage par pas de temps • le système devient linéaire donc convergence en 1 itération. Si M, K et F sont constants alors le schéma s’écrit: Algo

Solveur. Inst. Nlin. Petsc. h void asgn. Reassemblages. AFaire (const Entier. N& p. Reassemble.

Solveur. Inst. Nlin. Petsc. h void asgn. Reassemblages. AFaire (const Entier. N& p. Reassemble. AUne. Iteration. Inst. Sur , const Entier. N& p. Reassemble. AUne. Iteration. Nlin. Sur ); void asgn. Parametres. Inst (const const DReel& p. Delta_t, Entier& p. Nb. Pas. De. Temps, DReel& p. Temps. Init, Type. Schema p. Type, bool p. Imprime. Normes. Inst = false, Entier p. No. Pas. De. Temps. Init = 0); void utilise. Pas. De. Temps. Variable (const const DReel& p. Delta_t. Minimum, DReel& p. Delta_t. Maximum, DReel& p. Temps. Final, DReel& p. Tolerance, Entier. N p. Ordre = 1); void asgn. Parametres. Nlin (const DReel& p. Critere. Convergence, const Entier. N& p. Nb. Max. Iterations, const bool p. Imprime. Normes. Nlin = false); void asgn. Parametres. Matrice. Masse (bool p. Matrice. Masse. Instationnaire , bool p. Matrice. Masse. Depend. De. La. Solution = false); void asgn. Solveur. Lin (Solveur. Lin. PETSc &p. Solveur. Lin, Solveur. Lin. PETSc &p. Solveur. Res); ERMsg asgn. Temps. Imposes (const Vect. Dyn<DReel>& p. Vecteur. Temps);

À venir Un solveur (schéma Newmark ) Solveur. Inst. O 2 Newmark. PETSc pour

À venir Un solveur (schéma Newmark ) Solveur. Inst. O 2 Newmark. PETSc pour l’ordre 2 Newmark usuel: d=0 construit en suivant le modèle précédent pour tenir compte des dépendance par rapport à t, U et des C. L.