1 : C DEVSO5 SOURCE KICH 11/12/16 21:15:41 7217 2 : SUBROUTINE DEVSO5(KPREF,KTQ,KTKAM,KTPHI,KTLIAA,KTLIAB,KTFEX, 3 : & KTPAS,KTRES,KTNUM,NINS,IPMAIL,REPRIS,ICHAIN, 4 : & KOCLFA,KOCLB1,LMODYN,ITDYN) 5 : IMPLICIT INTEGER(I-N) 6 : IMPLICIT REAL*8(A-H,O-Z) 7 : C DEVSOR SOURCE KICH 07/12/10 21:15:27 5994 8 : *--------------------------------------------------------------------* 9 : * * 10 : * Operateur DYNE : algorithme de Fu - de Vogelaere * 11 : * ________________________________________________ * 12 : * * 13 : * Sortie de la table resultat et nettoyage de la memoire. * 14 : * * 15 : * Parametres: * 16 : * * 17 : * e KPREF Segment des points de référence * 18 : * e KTQ Segment contenant les variables généralisées 19 : * (et les travaux) 20 : * e KTKAM Segment contenant les matrices XK, XASM et XM * 21 : * e KTPHI Segment contenant les déformées modales * 22 : * e KTLIAA Segment descriptif des liaisons en base A * 23 : * e KTLIAB Segment descriptif des liaisons en base B * 24 : * e KTFEX Segment contenant les chargements libres * 25 : * e KTPAS Segment des variables au cours d'un pas de temps * 26 : * e KTRES Segment de sauvegarde des résultats * 27 : * e KTNUM Segment contenant les paramètres numériques * 28 : * e NINS On veut une sortie tous les NINS pas de calcul * 29 : * e IPMAIL Maillage de référence * 30 : * e REPRIS Vrai si reprise de calcul, faux sinon * 31 : * e ICHAIN Segment MLENTI (ACTIF) contenant les adresses des * 32 : * chaines dans la pile des mots de CCNOYAU * 33 : * * 34 : * Auteur, date de creation: * 35 : * * 36 : * Denis ROBERT-MOUGIN, le 1er juin 1989. * 37 : * * 38 : *--------------------------------------------------------------------* 39 : -INC CCOPTIO 40 : -INC SMTABLE 41 : -INC SMLREEL 42 : -INC SMELEME 43 : * 44 : SEGMENT,MTQ 45 : REAL*8 Q1(NA1,4),Q2(NA1,4),Q3(NA1,4) 46 : REAL*8 WEXT(NA1,2),WINT(NA1,2) 47 : ENDSEGMENT 48 : SEGMENT,MTKAM 49 : REAL*8 XK(NA1),XASM(NA1),XM(NA1) 50 : ENDSEGMENT 51 : SEGMENT,MTPHI 52 : INTEGER IBASB(NPLB),IPLSB(NPLB),INMSB(NSB),IORSB(NSB) 53 : INTEGER IAROTA(NSB) 54 : REAL*8 XPHILB(NSB,NPLSB,NA2,IDIMB) 55 : ENDSEGMENT 56 : SEGMENT,MTLIAA 57 : INTEGER IPALA(NLIAA,NIPALA),IPLIA(NLIAA,NPLAA),JPLIA(NPLA) 58 : REAL*8 XPALA(NLIAA,NXPALA) 59 : ENDSEGMENT 60 : SEGMENT,MTLIAB 61 : INTEGER IPALB(NLIAB,NIPALB),IPLIB(NLIAB,NPLBB),JPLIB(NPLB) 62 : REAL*8 XPALB(NLIAB,NXPALB) 63 : REAL*8 XABSCI(NLIAB,NIP),XORDON(NLIAB,NIP) 64 : ENDSEGMENT 65 : SEGMENT,MTFEX 66 : REAL*8 FEXA(NPFEXA,NPC1,2) 67 : REAL*8 FEXPSM(NPLB,NPC1,2,IDIMB) 68 : REAL*8 FTEXB(NPLB,NPC1,2,IDIM) 69 : INTEGER IFEXA(NPFEXA),IFEXB(NPFEXB) 70 : ENDSEGMENT 71 : SEGMENT,MTPAS 72 : REAL*8 FTOTA(NA1,4),FTOTB(NPLB,IDIMB),FTOTBA(NA1) 73 : REAL*8 XPTB(NPLB,4,IDIMB),FINERT(NA1,4) 74 : REAL*8 XVALA(NLIAA,4,NTVAR),XVALB(NLIAB,4,NTVAR) 75 : REAL*8 FEXB(NPLB,2,IDIM),XCHPFB(2,NLIAB,4,NPLB) 76 : ENDSEGMENT 77 : SEGMENT,MTRES 78 : REAL*8 XRES(NRES,NCRES,NPRES),XREP(NREP,NCRES) 79 : REAL*8 XRESLA(NLSA,NPRES,NVALA),XRESLB(NLSB,NPRES,NVALB) 80 : REAL*8 XMREP(NLIAB,4,IDIMB) 81 : INTEGER ICHRES(NVES),IPORES(NRES,NPRES),IPOREP(NREP) 82 : INTEGER IPOLA(NLSA),INULA(NLSA),IPLRLA(NLSA,NVALA) 83 : INTEGER IPOLB(NLSB),INULB(NLSB),IPLRLB(NLSB,NVALB) 84 : INTEGER ILIREA(NLSA,NTVAR),ILIREB(NLSB,NTVAR) 85 : INTEGER ILIRNA(NLSA,NTVAR),ILIRNB(NLSB,NTVAR) 86 : INTEGER IPOLR(1),IMREP(NLIAB,2),IPPREP(NLIAB,4) 87 : INTEGER ILPOLA(NLIAA,2) 88 : ENDSEGMENT 89 : SEGMENT,MTNUM 90 : REAL*8 XDT(NPC1),XTEMPS(NPC1) 91 : ENDSEGMENT 92 : SEGMENT,MPREF 93 : INTEGER IPOREF(NPREF) 94 : ENDSEGMENT 95 : * Segment "local" pour DEVLFA ... 96 : SEGMENT,LOCLFA 97 : REAL*8 FTEST(NA1,4),FTOTA0(NA1,4) 98 : ENDSEGMENT 99 : * Segment "local" pour DEVLB1 ... 100 : SEGMENT,LOCLB1 101 : REAL*8 FTEST2(NPLB,6),FTOTB0(NPLB,6) 102 : ENDSEGMENT 103 : * 104 : LOGICAL REPRIS,LMODYN 105 : * 106 : * Remplissage des CHPOINTs résultats: 107 : * 107 : CALL DEVSO2(KTRES) 108 : IF (IERR.NE.0) RETURN 109 : * 110 : * Création et sous-typage de la table contenant les résultats: 111 : * 111 : CALL DEVSO4(KTRES,KTLIAA,KTLIAB,KTNUM,NINS,ICHAIN, 112 : & MTABLE,REPRIS,LMODYN,ITDYN,-12345) 113 : IF (IERR.NE.0) RETURN 114 : * 115 : * Ecriture de la table résultat: 116 : * 116 : if (.not.lmodyn) CALL ECROBJ('TABLE',MTABLE) 117 : IF (IERR.NE.0) RETURN 118 : 119 : * 120 : RETURN 121 : END 122 : 123 : 124 :
© Cast3M 2003 - All rights reserved.
Disclaimer