Skip to content

Commit b38dc19

Browse files
authored
Merge pull request #1827 from gforney/master
smokeview source: read TRNX, TRNY, TRNZ data using double precision t…
2 parents cc0b5a6 + ee2e20f commit b38dc19

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

Source/smokeview/IOplot3d.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1600,7 +1600,6 @@ void DrawGrid(const meshdata *meshi){
16001600
else{
16011601
glColor4fv(foregroundcolor);
16021602
}
1603-
glBegin(GL_LINES);
16041603

16051604
int skipi, skipj, skipk;
16061605

@@ -1613,6 +1612,7 @@ void DrawGrid(const meshdata *meshi){
16131612
skipk = kbar;
16141613
}
16151614

1615+
glBegin(GL_LINES);
16161616
if(visx_all==1&&plotx>=0){
16171617
for(j=0;j<jbar+1;j+=skipj){
16181618
glVertex3f(xplt[plotx],yplt[j],zplt[0]);

Source/smokeview/readsmv.c

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3765,15 +3765,15 @@ void UpdateMeshCoords(void){
37653765

37663766
for(i=0;i<ibar+1;i++){
37673767
xplt_orig[i]=xplt[i];
3768-
xplt[i]=FDS2SMV_X(xplt[i]);
3768+
xplt[i]=FDS2SMV_X(meshi->xpltd[i]);
37693769
}
37703770
for(j=0;j<jbar+1;j++){
37713771
yplt_orig[j]=yplt[j];
3772-
yplt[j]=FDS2SMV_Y(yplt[j]);
3772+
yplt[j]=FDS2SMV_Y(meshi->ypltd[j]);
37733773
}
37743774
for(k=0;k<kbar+1;k++){
37753775
zplt_orig[k]=zplt[k];
3776-
zplt[k]=FDS2SMV_Z(zplt[k]);
3776+
zplt[k]=FDS2SMV_Z(meshi->zpltd[k]);
37773777
}
37783778

37793779
for(nn=0;nn<ibar;nn++){
@@ -9174,6 +9174,7 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
91749174
if(MatchSMV(buffer,"GRID") == 1){
91759175
meshdata *meshi;
91769176
float *xp, *yp, *zp;
9177+
double *xpd, *ypd, *zpd;
91779178
float *xp2, *yp2, *zp2;
91789179
float *xplt_cen, *yplt_cen,*zplt_cen;
91799180
int *imap, *jmap, *kmap;
@@ -9226,12 +9227,16 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
92269227
if(jbartemp<1)jbartemp=1;
92279228
if(kbartemp<1)kbartemp=1;
92289229
xp=NULL; yp=NULL; zp=NULL;
9230+
xpd = NULL; ypd = NULL; zpd = NULL;
92299231
xp2=NULL; yp2=NULL; zp2=NULL;
92309232
if(
92319233
NewMemory((void **)&xp,sizeof(float)*(ibartemp+1))==0||
92329234
NewMemory((void **)&yp,sizeof(float)*(jbartemp+1))==0||
92339235
NewMemory((void **)&zp,sizeof(float)*(kbartemp+1))==0||
9234-
NewMemory((void **)&xplt_cen,sizeof(float)*ibartemp)==0||
9236+
NewMemory((void **)&xpd, sizeof(double)*(ibartemp + 1)) == 0 ||
9237+
NewMemory((void **)&ypd, sizeof(double)*(jbartemp + 1)) == 0 ||
9238+
NewMemory((void **)&zpd, sizeof(double)*(kbartemp + 1)) == 0 ||
9239+
NewMemory((void **)&xplt_cen, sizeof(float) * ibartemp) == 0 ||
92359240
NewMemory((void **)&yplt_cen,sizeof(float)*jbartemp)==0||
92369241
NewMemory((void **)&zplt_cen,sizeof(float)*kbartemp)==0||
92379242
NewMemory((void **)&xp2,sizeof(float)*(ibartemp+1))==0||
@@ -9247,6 +9252,9 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
92479252
meshi->xplt=xp;
92489253
meshi->yplt=yp;
92499254
meshi->zplt=zp;
9255+
meshi->xpltd = xpd;
9256+
meshi->ypltd = ypd;
9257+
meshi->zpltd = zpd;
92509258
meshi->xplt_cen=xplt_cen;
92519259
meshi->yplt_cen=yplt_cen;
92529260
meshi->zplt_cen=zplt_cen;
@@ -10345,11 +10353,13 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
1034510353
*/
1034610354
if(MatchSMV(buffer,"TRNX")==1){
1034710355
float *xpltcopy;
10356+
double *xpltdcopy;
1034810357
int idummy;
1034910358
int nn;
1035010359

1035110360
itrnx++;
1035210361
xpltcopy=meshinfo[itrnx-1].xplt;
10362+
xpltdcopy = meshinfo[itrnx - 1].xpltd;
1035310363
ibartemp=meshinfo[itrnx-1].ibar;
1035410364
FGETS(buffer,255,stream);
1035510365
sscanf(buffer,"%i ",&idummy);
@@ -10358,7 +10368,8 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
1035810368
}
1035910369
for(nn=0;nn<=ibartemp;nn++){
1036010370
FGETS(buffer,255,stream);
10361-
sscanf(buffer,"%i %f",&idummy,xpltcopy);xpltcopy++;
10371+
sscanf(buffer,"%i %lf",&idummy,xpltdcopy+nn);
10372+
xpltcopy[nn] = xpltdcopy[nn];
1036210373
}
1036310374
continue;
1036410375
}
@@ -10369,22 +10380,23 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
1036910380
*/
1037010381
if(MatchSMV(buffer,"TRNY") == 1){
1037110382
float *ypltcopy;
10383+
double *ypltdcopy;
1037210384
int idummy;
1037310385
int nn;
1037410386

1037510387
itrny++;
1037610388
ypltcopy=meshinfo[itrny-1].yplt;
10389+
ypltdcopy = meshinfo[itrny - 1].ypltd;
1037710390
jbartemp=meshinfo[itrny-1].jbar;
1037810391
FGETS(buffer,255,stream);
1037910392
sscanf(buffer,"%i ",&idummy);
1038010393
for(nn=0;nn<idummy;nn++){
1038110394
FGETS(buffer,255,stream);
1038210395
}
1038310396
for(nn=0;nn<=jbartemp;nn++){
10384-
// if(jbartemp==2&&nn==2)continue;
1038510397
FGETS(buffer,255,stream);
10386-
sscanf(buffer,"%i %f",&idummy,ypltcopy);
10387-
ypltcopy++;
10398+
sscanf(buffer,"%i %lf",&idummy,ypltdcopy+nn);
10399+
ypltcopy[nn] = ypltdcopy[nn];
1038810400
}
1038910401
continue;
1039010402
}
@@ -10395,11 +10407,13 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
1039510407
*/
1039610408
if(MatchSMV(buffer,"TRNZ") == 1){
1039710409
float *zpltcopy;
10410+
double *zpltdcopy;
1039810411
int idummy;
1039910412
int nn;
1040010413

1040110414
itrnz++;
1040210415
zpltcopy=meshinfo[itrnz-1].zplt;
10416+
zpltdcopy = meshinfo[itrnz - 1].zpltd;
1040310417
kbartemp=meshinfo[itrnz-1].kbar;
1040410418
FGETS(buffer,255,stream);
1040510419
sscanf(buffer,"%i ",&idummy);
@@ -10408,7 +10422,8 @@ int ReadSMV_Parse(bufferstreamdata *stream) {
1040810422
}
1040910423
for(nn=0;nn<=kbartemp;nn++){
1041010424
FGETS(buffer,255,stream);
10411-
sscanf(buffer,"%i %f",&idummy,zpltcopy);zpltcopy++;
10425+
sscanf(buffer,"%i %lf",&idummy,zpltdcopy+nn);
10426+
zpltcopy[nn] = zpltdcopy[nn];
1041210427
}
1041310428
continue;
1041410429
}

Source/smokeview/structures.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,7 @@ typedef struct _meshdata {
710710
float mesh_offset[3], *mesh_offset_ptr;
711711
int blockvis;
712712
float *xplt, *yplt, *zplt;
713+
double *xpltd, *ypltd, *zpltd;
713714
int ivolbar, jvolbar, kvolbar;
714715
float *xvolplt, *yvolplt, *zvolplt;
715716
float *xplt_cen, *yplt_cen, *zplt_cen;

0 commit comments

Comments
 (0)