mocon3
C MOCON3 SOURCE PV090527 23/05/09 21:15:05 11666 C Mise en forme du maillage des conditions de dirichlet C conversion du maillage en les elements support des conditions avec creation des mult lagrange C cas de la relation SUBROUTINE MOCON3(MELEME,ipt7) * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) -INC PPARAM -INC CCOPTIO -INC SMCOORD -INC SMELEME segment icpr(nbpts) * decompte des noeuds segini icpr segact meleme ipt1=meleme np=0 do is=1,max(1,lisous(/1)) if (lisous(/1).ne.0) ipt1=lisous(is) segact ipt1 do iel=1,ipt1.num(/2) do ip=1,ipt1.num(/1) ipt=ipt1.num(ip,iel) if(icpr(ipt).eq.0) then np=np+1 icpr(ipt)=np endif enddo enddo enddo * creation maillage support, mults ** write(6,*) ' mocon2 nombre d elements',np nbnn=np+1 nbelem=1 nbsous=0 nbref=0 segini ipt7 ipt7.itypel=22 nbptso=nbpts nbpts=nbptso+1 segadj mcoord lag1=nbpts xcoor((lag1-1)*(idim+1)+1)=xcoor((i-1)*(idim+1)+1) xcoor((lag1-1)*(idim+1)+2)=xcoor((i-1)*(idim+1)+2) xcoor((lag1-1)*(idim+1)+3)=xcoor((i-1)*(idim+1)+3) if (idim.eq.3) > xcoor((lag1-1)*(idim+1)+4)=xcoor((i-1)*(idim+1)+4) ipt7.num(1,1)=lag1 do ipt=1,icpr(/1) if (icpr(ipt).ne.0) then xcoor((lag1-1)*(idim+1)+1)=xcoor((i-1)*(idim+1)+1)+ > xcoor((lag1-1)*(idim+1)+1) xcoor((lag1-1)*(idim+1)+2)=xcoor((i-1)*(idim+1)+2)+ > xcoor((lag1-1)*(idim+1)+2) xcoor((lag1-1)*(idim+1)+3)=xcoor((i-1)*(idim+1)+3)+ > xcoor((lag1-1)*(idim+1)+3) if (idim.eq.3) > xcoor((lag1-1)*(idim+1)+4)=xcoor((i-1)*(idim+1)+4)+ > xcoor((lag1-1)*(idim+1)+4) ipt7.num(icpr(ipt)+1,1)=ipt ** write(6,*) 'pt lagrange ',ipt,icpr(ipt),lag1 endif enddo xcoor((lag1-1)*(idim+1)+1)=xcoor((lag1-1)*(idim+1)+1)/(np+1) xcoor((lag1-1)*(idim+1)+2)=xcoor((lag1-1)*(idim+1)+2)/(np+1) xcoor((lag1-1)*(idim+1)+3)=xcoor((lag1-1)*(idim+1)+3)/(np+1) if(idim.eq.4) > xcoor((lag1-1)*(idim+1)+4)=xcoor((lag1-1)*(idim+1)+4)/(np+1) end
© Cast3M 2003 - Tous droits réservés.
Mentions légales