<div dir="ltr">Paul,<br><br>Thanks for the suggestions. Just a brief description of what I am doing : I am running LES in a turbine passage and this subroutine is to see if the resolution close to the blade is ok. I would be modifying it during production runs.<br>
<br>I implemented the changes you mentioned, but I get the following error from usrchk routine :<br><br>done :: set initial conditions<br><br> call userchk<br>Signal 15 received.<br>Signal 15 received.<br>.<br>.<br><br>When I comment the call gop( ) routine the program runs but I have the same problem that only a part of the object is written out. The modified code is pasted below. Thanks for any suggestions.<br>
<br><code><br><br> common /scrns/ pm1(lx1,ly1,lz1,lelv)<br> $,vxx(lx1,ly1,lz1,lelv),vxy(lx1,ly1,lz1,lelv),vxz(lx1,ly1,lz1,lelv)<br> $,vyx(lx1,ly1,lz1,lelv),vyy(lx1,ly1,lz1,lelv),vyz(lx1,ly1,lz1,lelv)<br>
common /scruz/<br> $ vzx(lx1,ly1,lz1,lelv),vzy(lx1,ly1,lz1,lelv),vzz(lx1,ly1,lz1,lelv)<br> $,temp(4,ly1**2),work(4,ly1**2)<br><br> if (istep.eq.0) call set_obj ! obj for surface integrals.<br><br> if (nid.eq.0.and. istep.eq.0) then ! ONLY NODE 0 opens file<br>
<br> open(unit=103,file='coord.txt')<br> open(unit=104,file='elenos.txt')<br> endif<br><br> call gradm1(vxx,vxy,vxz,vx)<br><br> DO 100 II=1,NHIS<br><br> IF (HCODE(10,II).NE.'I') GOTO 100<br>
IOBJ = LOCHIS(1,II)<br> MEMTOT = NMEMBER(IOBJ)<br><br> IF (HCODE(1,II).NE.' ' .OR. HCODE(2,II).NE.' ' .OR.<br> $ HCODE(3,II).NE.' ' ) THEN<br> IFIELD = 1<br>
<br> DO 50 MEM=1,MEMTOT<br> ISK = 0<br> IEG = OBJECT(IOBJ,MEM,1)<br> IFC = OBJECT(IOBJ,MEM,2)<br> if (nid.eq.0) write(104,*) ieg,gllel(ieg),gllnid(ieg)<br>
<br> call rzero(temp,4*ly1*ly1)<br><br> IF (gllnid(ieg).eq.nid) then ! this processor has a contribution<br> ie = gllel(ieg)<br><br> CALL DSSET(NX1,NY1,NZ1)<br> IFACE = EFACE1(IFC)<br>
JS1 = SKPDAT(1,IFACE)<br> JF1 = SKPDAT(2,IFACE)<br> JSKIP1 = SKPDAT(3,IFACE)<br> JS2 = SKPDAT(4,IFACE)<br> JF2 = SKPDAT(5,IFACE)<br> JSKIP2 = SKPDAT(6,IFACE)<br><br> I = 0<br>
DO 110 J2=JS2,JF2,JSKIP2<br> DO 110 J1=JS1,JF1,JSKIP1<br> I = I+1<br> temp(1,i) = xm1(j1,j2,1,ie)<br> temp(2,i) = ym1(j1,j2,1,ie)<br> temp(3,i) = zm1(j1,j2,1,ie)<br> temp(4,i) = vxy(j1,j2,1,ie)<br>
110 CONTINUE<br> ENDIF<br> call gop(temp,work,'+ ',4*ly1*ly1) ! gather results onto rank 0<br> IF (nid.eq.0) write(103,18) ((temp(k,i),k=1,4),i=1,ly1*ly1)<br> 18 format(1p4e15.7)<br>
<br> 50 CONTINUE<br> ENDIF<br> 100 CONTINUE<br><br></code><br><br><br clear="all">Regards<br>Shriram Jagannathan<br>
<br><br></div>