PASAPAS Procédure de calcul non linéaire Non linéarités matériaux Non linéarités géométriques Non linéarités déformations Non linéarités chargements Non linéarités conditions limites de déplacements Couplages de ces non linéarités
Algorithme contraintes initiales(UNPAS) Calcul d’un résidu R0= F - B0 , U0 , Var0 Répéter : dUi+1* OP = Ri Ui+1 = Ui + dUi+1 Ui+1 = Ui+1 + U0 i+1= COMPOR (Ui +1 , 0 , var0 ,… ) Ri+1= F - Bi+1 Test de convergence Pasapas : c’est le reste!
Pasapas - argument Une table peu d’indices obligatoires Modele Caracteristiques Chargement Temps_calcules Blocages_mecaniques
Table de pasapas Peu de modifications Continuation (état final) Estimation Les résultats : Déplacements Contraintes Variables_internes … Wtable Rappel : moins de résultats qu’avant, voir notice indice « mes_sauvegardes »
Structure de pasapas Pas_defa analyses des données, initialisation des variables de contrôle qui sont toutes dans Wtable Pas_init initialisation des tables de résultats et du pas précédent (table continuation) Détermination de l’état initial opérateur ADET champ par élément 1er appel à Perso1 1er appel à Reev_mec Si charge thermique appel Pas_epth
Repeter Bextern Estim=copier continuation Repeter bo_both (bouclage thermique mécanique) Calcul d’un pas thermique (appel perso2) estim.temperatures Appel Reev_the Mise a jour chargement si thermique Mise a jour parametres externes Mise à jour matériaux si variable Calcul du second membre et de l’opérateur rigidité porosité contact frottement blocages Appel à Unpas mise a jour de estim Appel à Reev_Mec Préparation du pas suivant thermique et mécanique (mise à jour de Wtable) Mise à jour déplacements, caractéristiques, defgrad… Appel à Perso1 Appel Pas_resu (mise à jour continuation et tables résultats, appel pas_sauv si sauvegarde incrémentale)
Points d’entrées utilisateurs Reev_mec reev_the Perso1 début et en fin de pas mécanique Perso2 fin de pas thermique Charther chargement thermique en cours d’itération Charmeca chargement mécanique en cours d’itération Parather en cours d’itération thermique Avant fin BEXTERN test sur Wtable.ARRET pour sortir de pasapas
Sauvegarde incrementale Opti sauv ‘mon.fic’; Tab.temps_sauvegardes= Prog …;; Tab . Economique = vrai: Pasapas tab;
parallélisme La résolution se fait en multithread. Le comportement se fait par ASSISTANT après avoir décomposé la structure en plusieurs parties. Pour ne pas paralléliser le comportement il faut modifier Unpas : NBPART=Vale ASSI; remplacé par : NBPART=1;