go2nli
C GO2NLI SOURCE JK148537 24/04/19 21:15:02 11906 SUBROUTINE GO2NLI(IPMODL,IPCHA1,IPRIGI,iope) * transition RIGI vers NLIN * iope = 1 : RIGI / 2 : MASS / 3 : RIGI DIVE / 4 : ADVE / * iope = 5 : EXTR / 6 : PROI / 7 : MASS / IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * * -INC PPARAM -INC CCOPTIO -INC CCHAMP -INC SMLREEL -INC SMLENTI -INC SMLMOTS POINTEUR opnlin.mlmots -INC SMMODEL -INC SMCHAML parameter (mnli=7) common / c2nli / it2nlp(mnli),it2nld(mnli),it2mod(mnli) CHARACTER*4 CHA1 CHARACTER*8 TYPRET,cha8 CHARACTER*16 CHARRE logical lvar0, lvar1,d_freq,d_mu, d_rho mmodel = IPMODL nsous = kmodel(/1) if(iope.eq.6) then ichpad = ipcha1 else mchelm = ipcha1 n1 = imache(/1) endif if (iope.eq.4) then mchaml = ichaml(1) melval = ielval(1) ichpad = ielche(1,1) endif if (iope.ge.3) goto 600 do 500 isous = 1,nsous imodel = kmodel(isous) d_freq = .false. d_mu = .false. d_rho = .false. do 400 is1 = 1,n1 ipmail = imache(is1) if (ipmail.eq.imamod) then mchaml = ichaml(is1) n2 = ielval(/1) do ic2 = 1,n2 if (nomche(ic2)(1:4).eq.'RHO ') then melval = ielval(ic2) xrho = velche(1,1) d_rho = .true. endif if (nomche(ic2)(1:4).eq.'MU ') then melval = ielval(ic2) xmu = velche(1,1) d_mu = .true. endif if (nomche(ic2)(1:4).eq.'FREQ') then melval = ielval(ic2) xfreq = velche(1,1) d_freq = .true. endif if (ierr.ne.0) return enddo endif 400 continue if (ierr.ne.0) return 500 continue * a faire traitement mu, rho variables ? if (iope.eq.1) then if (xrho.gt.0) then usxrey = xmu / xrho else endif endif if (iope.eq.2) then if (xfreq.gt.0) then unsdt = xfreq else endif endif if (ierr.ne.0) return 600 continue imodel = kmodel(1) * creation arguments NLIN if (imodel.eq.it2mod(iope)) then if (it2nlp(iope).gt.0.and.iope.ne.4.and.iope.ne.6) then itprim = it2nlp(iope) itdual = it2nld(iope) goto 1000 endif endif *********************************************************************** if (iope.eq.1) then * pour RIGI * table primale typret = 'ENTIER ' I1 = 4 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,it2) & TYPRET,I1,X1,CHARRE,LVAR1,it3) & TYPRET,I1,X1,CHARRE,LVAR1,it4) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) & TYPRET,I1,X1,CHARRE,LVAR1,itdat1) & TYPRET,I1,X1,CHARRE,LVAR1,itdat2) & TYPRET,I1,X1,CHARRE,LVAR1,itcof1) & TYPRET,I1,X1,CHARRE,LVAR1,itcof2) * itprim.VAR nomid = lnomid(1) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itprim.DAT typret = 'FLOTTANT' & TYPRET,I1,2.d0,CHARRE,LVAR1,ittm) jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT ' & TYPRET,I1,X1,'CSTE',LVAR1,ittm) typret = 'FLOTTANT' & TYPRET,I1,usxrey,CHARRE,LVAR1,ittm) * itprim.COF typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) & TYPRET,I1,X1,CHARRE,LVAR1,it21) & TYPRET,I1,X1,CHARRE,LVAR1,it22) & TYPRET,I1,X1,CHARRE,LVAR1,it31) & TYPRET,I1,X1,CHARRE,LVAR1,it32) & TYPRET,I1,X1,CHARRE,LVAR1,it41) & TYPRET,I1,X1,CHARRE,LVAR1,it42) * itprim . k . l jg = 2 segini mlenti ilen11 = mlenti lect(1) = 1 lect(2) = 2 typret = 'LISTENTI' & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) jg = 1 segini mlenti ilen21 = mlenti lect(1) = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ilen21) & TYPRET,I1,X1,CHARRE,LVAR1,ilen21) & TYPRET,I1,X1,CHARRE,LVAR1,ilen21) & TYPRET,I1,X1,CHARRE,LVAR1,ilen21) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 4 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,it2) & TYPRET,I1,X1,CHARRE,LVAR1,it3) & TYPRET,I1,X1,CHARRE,LVAR1,it4) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) * itdual.VAR nomid = lnomid(2) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) & TYPRET,I1,X1,CHARRE,LVAR1,it21) & TYPRET,I1,X1,CHARRE,LVAR1,it22) & TYPRET,I1,X1,CHARRE,LVAR1,it31) & TYPRET,I1,X1,CHARRE,LVAR1,it32) & TYPRET,I1,X1,CHARRE,LVAR1,it41) & TYPRET,I1,X1,CHARRE,LVAR1,it42) * itdual . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour RIGI endif *********************************************************************** if (iope.eq.2) then * pour MASS * table primale typret = 'ENTIER ' I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,it2) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) & TYPRET,I1,X1,CHARRE,LVAR1,itdat1) & TYPRET,I1,X1,CHARRE,LVAR1,itcof1) * itprim.VAR nomid = lnomid(1) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itprim.DAT jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT ' & TYPRET,I1,X1,'CSTE',LVAR1,ittm) typret = 'FLOTTANT' & TYPRET,I1,unsdt,CHARRE,LVAR1,ittm) * itprim.COF typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) & TYPRET,I1,X1,CHARRE,LVAR1,it21) & TYPRET,I1,X1,CHARRE,LVAR1,it22) * itprim . k . l typret = 'ENTIER' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,it2) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) * itdual.VAR nomid = lnomid(2) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) & TYPRET,I1,X1,CHARRE,LVAR1,it21) & TYPRET,I1,X1,CHARRE,LVAR1,it22) * itdual . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour MASS endif *********************************************************************** if (iope.eq.3) then * pour DIVE * table primale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) & TYPRET,I1,X1,CHARRE,LVAR1,itdat1) & TYPRET,I1,X1,CHARRE,LVAR1,itcof1) * itprim.VAR nomid = lnomid(1) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itprim.DAT jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT ' & TYPRET,I1,X1,'CSTE',LVAR1,ittm) typret = 'FLOTTANT' & TYPRET,I1,1.d0,CHARRE,LVAR1,ittm) * itprim.COF typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) * itprim . k . l typret = 'LISTENTI' jg = 1 segini mlenti ilen11 = mlenti lect(1) = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) * itdual.VAR nomid = lnomid(15) jgn = 8 jgm = 3 segini mlmots ilmotx = mlmots do jj = 1, jgm enddo typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = 'LINM' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itdual . k . l typret = 'ENTIER ' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour DIVE endif *********************************************************************** if (iope.eq.4) then * pour ADVE * table primale typret = 'ENTIER ' I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 3 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,it2) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) & TYPRET,I1,X1,CHARRE,LVAR1,itdat1) & TYPRET,I1,X1,CHARRE,LVAR1,itdat2) & TYPRET,I1,X1,CHARRE,LVAR1,itdat3) & TYPRET,I1,X1,CHARRE,LVAR1,itcof1) & TYPRET,I1,X1,CHARRE,LVAR1,itcof2) & TYPRET,I1,X1,CHARRE,LVAR1,itcof3) * itprim.VAR nomid = lnomid(1) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itprim.DAT typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) typret = 'CHPOINT ' & TYPRET,I1,X1,CHARRE,LVAR1,ichpad) typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) typret = 'CHPOINT ' & TYPRET,I1,X1,CHARRE,LVAR1,ichpad) jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT ' & TYPRET,I1,X1,'CSTE',LVAR1,ittm) typret = 'FLOTTANT' & TYPRET,I1,1.d0,CHARRE,LVAR1,ittm) * itprim.COF typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) I1 = 3 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) & TYPRET,I1,X1,CHARRE,LVAR1,it21) & TYPRET,I1,X1,CHARRE,LVAR1,it22) * itprim . k . l typret = 'LISTENTI' jg = 2 segini mlenti ilen11 = mlenti lect(1) = 1 lect(2) = 3 & TYPRET,I1,X1,CHARRE,LVAR1,ilen11) segini mlenti ilen12 = mlenti lect(1) = 2 lect(2) = 3 & TYPRET,I1,X1,CHARRE,LVAR1,ilen12) segini mlenti ilen21 = mlenti lect(1) = 1 lect(2) = 3 & TYPRET,I1,X1,CHARRE,LVAR1,ilen21) segini mlenti ilen22 = mlenti lect(1) = 2 lect(2) = 3 & TYPRET,I1,X1,CHARRE,LVAR1,ilen22) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 2 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,it2) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar2) * itdual.VAR nomid = lnomid(2) jgn = 8 jgm = 1 segini mlmots ilmotx = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT ' cha1 = nomtp(nefmod) * correction QUAF cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) segini mlmots ilmoty = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmoty) typret = 'MOT ' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) & TYPRET,I1,X1,CHARRE,LVAR1,it12) & TYPRET,I1,X1,CHARRE,LVAR1,it21) & TYPRET,I1,X1,CHARRE,LVAR1,it22) * itdual . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour ADVE endif *********************************************************************** if (iope.eq.5) then * pour EXTR CENT * table primale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = idim & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) * itprim.VAR typret = 'FLOTTANT' X1 = 0.d0 & TYPRET,I1,X1,charre,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itprim . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = idim & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) * itdual.VAR typret = 'MOT' cha1 = 'DUMM' & TYPRET,I1,X1,cha1,LVAR1,ittm) cha1 = 'CSTE' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itdual . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour EXTR CENT endif *********************************************************************** if (iope.eq.6) then * pour 2nd membre resolution pression * table primale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = idim & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itdat1) & TYPRET,I1,X1,CHARRE,LVAR1,itcof1) * itprim.VAR nomid = lnomid(16) jgn = 8 jgm = 3 segini mlmots ilmotx = mlmots do jj = 1, jgm enddo typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ilmotx) typret = 'MOT' cha1 = 'LINM' & TYPRET,I1,X1,cha1,LVAR1,ittm) typret = 'CHPOINT' & TYPRET,I1,X1,charre,LVAR1,ichpad) * itprim.DAT jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT' cha1 = 'CSTE' & TYPRET,I1,X1,cha1,LVAR1,ittm) typret = 'FLOTTANT' X1 = 1.D0 & TYPRET,I1,X1,charre,LVAR1,ittm) * itprim.COF typret = 'ENTIER' I1 = 1 & TYPRET,I1,X1,charre,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itprim . k . l typret = 'ENTIER' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = idim & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) * itdual.VAR jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT' cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itdual . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour 2nd membre resolution pression endif *********************************************************************** if (iope.eq.7) then * pour matrice resolution pression * table primale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = idim & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) & TYPRET,I1,X1,CHARRE,LVAR1,itdat1) & TYPRET,I1,X1,CHARRE,LVAR1,itcof1) * itprim.VAR jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT' cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itprim.DAT typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT' cha1 = 'CSTE' & TYPRET,I1,X1,cha1,LVAR1,ittm) typret = 'FLOTTANT' X1 = 1.D0 & TYPRET,I1,X1,charre,LVAR1,ittm) * itprim.COF typret = 'ENTIER' I1 = 1 & TYPRET,I1,X1,charre,LVAR1,ittm) * itprim . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itprim . k . l typret = 'ENTIER' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) *********************************************************************** * table duale typret = 'ENTIER ' I1 = 1 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) I1 = idim & TYPRET,I1,X1,CHARRE,LVAR1,ITTM) typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,itvar) & TYPRET,I1,X1,CHARRE,LVAR1,itdat) & TYPRET,I1,X1,CHARRE,LVAR1,itcof) & TYPRET,I1,X1,CHARRE,LVAR1,it1) & TYPRET,I1,X1,CHARRE,LVAR1,itvar1) * itdual.VAR jgn = 8 jgm = 1 segini mlmots ijmot1 = mlmots typret = 'LISTMOTS' & TYPRET,I1,X1,CHARRE,LVAR1,ijmot1) typret = 'MOT' cha1 = 'QUAF' & TYPRET,I1,X1,cha1,LVAR1,ittm) * itdual . k typret = 'TABLE ' & TYPRET,I1,X1,CHARRE,LVAR1,it11) * itdual . k . l typret = 'ENTIER' I1 = 0 & TYPRET,I1,X1,CHARRE,LVAR1,ittm) * pour matrice resolution pression endif *********************************************************************** if (iope.ne.4.and.iope.ne.6) then it2mod(iope) = imodel it2nlp(iope) = itprim it2nld(iope) = itdual endif 1000 continue mmodel = ipmodl imodel = kmodel(1) ipma1 = imamod opnlin = ivamod(1) if (iope.eq.5) then CHA1 = 'GAU1' CHA1 = 'ERF1' else enddo endif call prlin if (ierr.ne.0) return if (iope.eq.5) then CHA1 = 'MAIL' call extrai if (ierr.ne.0) return elseif (iope.eq.6) then else endif if (iope.eq.3) then ipri1 = iprigi cha8 = 'TRANSPOS' call kops if (ierr.ne.0) return call prfuse if (ierr.ne.0) return endif RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales