* PAS_RESU PROCEDUR MB234859 24/09/11 21:15:04 12008 WTAB = PRECED.'WTABLE'; * * Recuperation de la table 'ESTIMATION' des champs en fin de pas : estim = PRECED.'ESTIMATION' ; TEMP0 = estim.'TEMPS' ; * * Remplissage de la table de 'CONTINUATION' a partir de 'ESTIMATION' conti= PRECED.'CONTINUATION'; * * Transfert des indices de la table "estim" dans "conti" 'REPE' SURi DIM1 ; ii = &SURi; MOT_tmp = INDEX1.ii ; 'SINO'; 'FINS'; conti.MOT_tmp = estim.MOT_tmp ; 'FIN' SURi; ************************************************************************ *************** Sauvegarde eventuelle des resultats ******************** ************************************************************************ *La sauvegarde n'est faite que si on a eu convergence des calculs : ISAUV = FAUX; ISAUV = VRAI ; 'FINSI' ; 'FINSI' ; 'SI' ISAUV ; NSOR = WTAB.'NSOR' + 1 ; WTAB.'NSOR' = NSOR ; * Cas particuliers de 'DEFIN' et 'DEFTO' TABSAUV = WTAB.'TABSAUV' ; 'SI' ('NON' TABSAUV.'DEFTO'); 'FINS'; 'FINSI' ; 'SI' ('NON' TABSAUV.'DEFIN') ; 'FINS'; 'FINSI' ; 'SI' ('NON' TABSAUV.'DEFAP') ; 'FINS'; 'FINSI' ; 'FINSI' ; * Transfert des indices de la table "estim" dans PRECED 'REPE' SURi DIM1 ; ii = &SURi; MOT_tmp = INDEX1.ii ; OBJi = estim.MOT_tmp ; 'SINO'; OBJi = estim.MOT_tmp ; 'SI' ('EGA' estim.MOT_tmp.'SOUSTYPE' 'ESCLAVE'); 'FINS'; 'FINS'; 'FINS'; 'FINS'; 'FINS'; * * Sauvegarder les contraintes/deformations sur la conf. courante 'SI' (('EGA' MOT_tmp 'CONTRAINTES') 'OU' ('EGA' MOT_tmp 'DEFORMATIONS')) ; chmz = estim.MOT_tmp ; 'SI' WTAB.'GRANDS_DEPLACEMENTS' ; 'FORM' WTAB.'GE0_DEB' ; zdep = -1. '*' estim.'DEPLACEMENTS' ; 'FORM' WTAB.'FOR0' ; 'FINSI' ; PRECED.MOT_tmp. NSOR = chmz ; 'SINON' ; PRECED.MOT_tmp.NSOR = estim.MOT_tmp ; 'FINSI' ; * 'FIN' SURi; *----------------------------------------------------------------------- *--- 1- Sauvegarde incrementale sous certaines conditions *--- 2- Fantomisation (option 'ECONOMIQUE'=VRAI de PASAPAS) pour liberer la memoire *----------------------------------------------------------------------- 'SI' WTAB.'ISAUVEGL'; ltpssauv = WTAB.'ISAUVEGA' ; * Sauvegarde : Dernier pas OU toutes les 300 secondes OU si DATE ne marche pas * Fantomisation si on sauvegarde effectivement ! 'OU' ((EPOQ1 '-' WTAB.'EPOQUE') '>EG' 300.D0) 'OU' (EPOQ1 'EGA' 0)) ; 'SAUV' 'MUET' PRECED ; WTAB.'EPOQUE' =EPOQ1 ; 'SI' WTAB.'LECONOMI'; NFFSOR = NSOR '-' WTAB.'NFSOR' '-' 1 ; 'SI' ( NFFSOR '>' 0) ; * Boucle sur les instants SAUVES depuis la derniere fantomisation 'REPE' DETRES NFFSOR ; NSORM2 = WTAB.'NFSOR' - 1 + &DETRES ; 'SI' (NSORM2 '<' 0) ; 'ITER' DETRES ; 'FINSI' ; * Boucle sur les indices a fantomiser 'REPE' SURi DIM1 ; ii = &SURi; MOT_tmp = INDEX1.ii ; 'SINO'; 'FINS'; 'FANTOM' PRECED.MOT_tmp NSORM2 ; 'FIN' SURi; 'FIN' DETRES ; WTAB.'NFSOR'= WTAB.'NFSOR' + NFFSOR ; 'FINSI' ; 'FINS' ; 'FINSI'; 'FINSI'; 'FINSI'; 'FINSI' ; 'FINP' ISAUV ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales