cupmod
C CUPMOD SOURCE CB215821 24/04/12 21:15:33 11897 C======================================================================= C COLlaborateur UnPAQuettage MODele C Lecture d'un modele dans le buffer d'envoi bu C======================================================================= integer mn3,nlconmo,nfor,nmat,nObMod,ntyp,nbrobl,nbrfac,n1 integer iMod,iInfo,iNomid integer bufPos integer lonBuf integer iObl,iFac integer lconmo -INC PPARAM -INC CCOPTIO -INC SMMODEL segment BUFFER character ffer(lonBuf) endsegment pointeur pNomid.NOMID pointeur pModel.MMODEL pointeur modele.IMODEL pointeur bu.BUFFER C write(ioimp,*) 'Entre dans CUPMOD' C write(ioimp,*) 'Position du buffer',bufPos lonBuf=bu.ffer(/2) call mpiupI( n1,1,bu,bufPos) if(pModel.ne.0)then segact pModel*mod segadj pModel else segini pModel endif if(n1.ne.0) then do iMod=1,n1 C write(ioimp,*) 'Modele elem',iMod,'sur',n1 call mpiupI( mn3,1,bu,bufPos) C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( nlconmo,1,bu,bufPos) C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( nfor,1,bu,bufPos) C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( nmat,1,bu,bufPos) C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( ntyp,1,bu,bufPos) C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( nObMod,1,bu,bufPos) C write(ioimp,*) 'Position du buffer',bufPos C write(ioimp,*) 'Taille du modele',mn3,nlconmo,nfor,nmat,ntyp,nObMod segini modele if (ntyp.gt.modele.lnomid(/1)) then write(ioimp,*) 'Incompatibilite ntyp taille lnomid' endif pModel.kmodel(iMod)=modele C write(ioimp,*) 'ss modele', iMod, 'pointeur',modele call mpiupI( modele.imamod,1,bu,bufPos) call mpiupI( modele.nefmod,1,bu,bufPos) call mpiupI( modele.infmod(1),mn3,bu,bufPos) call mpiupC( modele.conmod,lconmo,bu,bufPos) call mpiupC( modele.cmatee,8,bu,bufPos) call mpiupC( modele.formod,16*nfor,bu,bufPos) call mpiupC( modele.matmod,16*nmat,bu,bufPos) call mpiupI( modele.ipdpge,1,bu,bufPos) call mpiupI( modele.imatee,1,bu,bufPos) call mpiupI( modele.inatuu,1,bu,bufPos) call mpiupI( modele.ideriv,1,bu,bufPos) C write(ioimp,*) 'nomid',iNomid,'sur ',ntyp call mpiupI( nbrobl,1,bu,bufPos) call mpiupI( nbrfac,1,bu,bufPos) segini pNomid call mpiupC( pNomid.lesobl(1),nbrobl*8,bu,bufPos) call mpiupC( pNomid.lesfac(1),nbrfac*8,bu,bufPos) C do iObl=1,nbrObl C write(ioimp,*) 'Obl',iObl,'/',nbrobl,pNomid.lesobl(iObl) C enddo C do iFac=1,nbrFac C write(ioimp,*) 'Fac',iFac,'/',nbrFac,pNomid.lesFac(iFac) C enddo C write(ioimp,*) 'Position du buffer',bufPos segdes pNomid enddo C write(ioimp,*) 'Nomids recus' C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( modele.infele(1),16,bu,bufPos) C write(ioimp,*) 'Infele recus' C write(ioimp,*) 'Position du buffer',bufPos C write(ioimp,*) 'Nombre d objets',nObMod if(nObMod.gt.0) then call mpiupC( modele.tymode(1),nObMod*8,bu,bufPos) C write(ioimp,*) 'Liste des types recue' C write(ioimp,*) 'Position du buffer',bufPos call mpiupI( modele.ivamod(1),nObMod,bu,bufPos) C write(ioimp,*) 'Liste des pointeurs recue' C write(ioimp,*) 'Position du buffer',bufPos endif segdes modele enddo else write(ioimp,*) 'Modele vide' endif segdes pModel C write(ioimp,*) 'Sortie de CUPMOD' C write(ioimp,*) 'Position du buffer',bufPos end
© Cast3M 2003 - Tous droits réservés.
Mentions légales