|
[Sponsors] |
February 9, 2013, 08:48 |
Tecplot & decomposed domain
|
#1 |
New Member
Ivan
Join Date: Sep 2010
Location: Russia , Moscow.
Posts: 14
Rep Power: 15 |
Dear all, i'm stuck in a problem with using Tecplot for data obtained in parallel computations. I use domain decomposition method for highly accurate hydrodynamics simulations. To avoid alot of reduce operations each process save binary data in it's own .dat file. There is Fortran subroutine which i use for saving:
Code:
SUBROUTINE SAVEBIN4(num) USE Geometry1 USE ThermoAndFront2 USE Viscosity3 USE Parallel4 IMPLICIT REAL*8 (A-H,O-Z) !INCLUDE 'C1.IN' !INCLUDE 'C2.IN' !INCLUDE 'C3.IN' !INCLUDE 'C4.IN' COMMON/IOF/IXYSZ,IXZSY,IYZSX !CHARACTER(LEN=100) filename INTEGER num INTEGER CONVERTSTR3 INTEGER*4 s,i,istr(40),i1,i2 CHARACTER*20 cstr REAL*4 r,r1(6) !INTEGER 105+MRANK !105+MRANK = 105+MRANK+MRANK IUNIT = 205 OPEN(UNIT=IUNIT, FILE=FileName, STATUS='REPLACE', FORM='BINARY') !Header identification WRITE(205)'#!TDV75 ' !Integer order i=1 WRITE(205)i !Title cstr='Flame test\0'C n=CONVERTSTR3(istr,cstr) WRITE(205)(istr(i),i=1,n) !Number of variables i=11 WRITE(205)i !Variable names cstr='X'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='Y'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='Z'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='P'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='T'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='Rho'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='U'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='V'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='W'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='H2/AN'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) cstr='Vsound'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) !Zone description !Zone marker r=299.0 WRITE(205)r !Zone name WRITE(cstr,'(4HZone,I6.6,A)')num,CHAR(0) !cstr=cstr//'\0'C WRITE(205)(istr(i),i=1,CONVERTSTR3(istr,cstr)) !Zone format i=1 WRITE(205)i !Zone color i=-1 WRITE(205)i !IMAX, JMAX, KMAX !i=NZSm !i1=NYSm !i2=NXSm-NX1m-NX0m+1 i=NZSm i1=NYSm-NY1m-NY0m+1 i2=NXSm-NX1m-NX0m+1 WRITE(205)i,i1,i2 !Data section marker r=357.0 WRITE(205)r !Data section !Zone iplementation r=299.0 WRITE(205)r !Repeat vars i=0 WRITE(205)i !Var types i=1 i1=1 i2=1 WRITE(205)i,i1,i2 i1=1 i2=1 i=1 WRITE(205)i1,i2,i i1=1 i2=1 i=1 WRITE(205)i1,i2,i i1=1 i2=1 WRITE(205)i1,i2 !Data IJK=1+KL2+(NX0m-1)*NKX+(NY0m-1)*NKY; IJS=IJK;IYS=1;IXS=1 DO 997 I=NX0m,NXSm-NX1m DO 996 J=NY0m,NYSm-NY1m DO 990 K=1,NZSm !Saving data: r1(1)=X(IJK+1) r1(2)=X(IJK+2) r1(3)=X(IJK+3) !X(IJK+9) r1(4)=X(IJK+8) !X(IJK+10) r1(5)=X(IJK+18) !X(IJK+11) r1(6)=X(IJK+7) !X(IJK+8) WRITE(IUNIT)r1(1),r1(2),r1(3),r1(4),r1(5),r1(6) ! r1(1)=X(IJK+9) r1(2)=X(IJK+10) r1(3)=X(IJK+11) r1(4)=X(IJK+27)/X(IJK+4) r1(5)=X(IJK+48) !r1(3)=X(IJK+18) WRITE(IUNIT)r1(1),r1(2),r1(3),r1(4),r1(5) IJK=IJK+KL 990 CONTINUE IJK=IJS+IYS*NKY 996 IYS=IYS+1 IJS=IJS+NKX IJK=IJS IYS=1 997 CONTINUE CLOSE(IUNIT) 200 FORMAT(6E13.6) 201 FORMAT(4I7) END I've tried to make only one header on Rank 0 process, and other processes just save their data in that header file in some order. Best i've got: Anyone have any ideas, how to make one solid zone from this clustered data ? Many thanks for your help ! Last edited by Zato_Ichi; February 9, 2013 at 08:50. Reason: Editing |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Different diffusivity for additional variable in Fluid and porous domain | ftab | CFX | 4 | June 27, 2012 13:03 |
Numerical errors in nested domain with pre-calculated boundary values | Arnoldinho | OpenFOAM Running, Solving & CFD | 3 | April 4, 2012 10:31 |
Error ? | Orb | CFX | 22 | February 13, 2012 16:33 |
Error (2 isolated fluid regions) with an englobing domain | syens | CFX | 2 | January 12, 2012 10:55 |
[Domain]Three different Domain | Young | CFX | 3 | April 27, 2008 14:11 |