Routine vtkoutmmesh(icounter, cfreq). Produces the file 'runname.mics.fHz.vtk', which can bee used to visualize the solution at the microphones array. Arguments: 'icounter' is the frequency index (equal to ifreq); 'cfreq' is the complex frequency (the Laplace variable). Data format is 'DATASET POLYDATA'. THE SUBROUDTINE CAN BE USED ONLY IF A MESH TOPOLOGY IS PROVIDED FOR MICROPHONES. COMPATIBLE WITH GMSH MICS FORMAT. Scalar fields included are:
65 int info, celltype, cellvrtx;
85 pzgemr2d_(&gRows,&ione,
solution->
vecPhium ,&ione, &ione,descl, gPhiscm ,&ione,&ione,descg,&
runinfo->
ctxt);
86 pzgemr2d_(&gRows,&ione,
solution->
vecPhincm ,&ione, &ione,descl, gPhincm ,&ione,&ione,descg,&
runinfo->
ctxt);
88 if (0 !=
rank)
return;
92 fprintf(f,
"# vtk DataFile Version 2.0\n");
93 fprintf(f,
"Solution on the Boundary\n");
96 fprintf(f,
"DATASET UNSTRUCTURED_GRID\n");
108 fprintf(f,
" %d %d %d %d %d\n",4,i1,i2,i3,i4);
113 if (4 ==
geometry->kelmm[i]) celltype = 10;
114 fprintf(f,
"%d\n",celltype);
119 fprintf(f,
"SCALARS Re(Inc_Solution) float\n");
120 fprintf(f,
"LOOKUP_TABLE default\n");
125 fprintf(f,
"SCALARS Im(Inc_Solution) float\n");
126 fprintf(f,
"LOOKUP_TABLE default\n");
131 fprintf(f,
"SCALARS Abs(Inc_Solution) float\n");
132 fprintf(f,
"LOOKUP_TABLE default\n");
138 fprintf(f,
"SCALARS Re(Scat_Solution) float\n");
139 fprintf(f,
"LOOKUP_TABLE default\n");
144 fprintf(f,
"SCALARS Im(Scat_Solution) float\n");
145 fprintf(f,
"LOOKUP_TABLE default\n");
150 fprintf(f,
"SCALARS Abs(Scat_Solution) float\n");
151 fprintf(f,
"LOOKUP_TABLE default\n");
157 fprintf(f,
"SCALARS Re(Total_Solution) float\n");
158 fprintf(f,
"LOOKUP_TABLE default\n");
159 for(i=0;i<gRows;i++){
160 val = gPhiscm[i] + gPhincm[i];
163 fprintf(f,
"SCALARS Im(Total_Solution) float\n");
164 fprintf(f,
"LOOKUP_TABLE default\n");
165 for(i=0;i<gRows;i++){
166 val = gPhiscm[i] + gPhincm[i];
169 fprintf(f,
"SCALARS Abs(Total_Solution) float\n");
170 fprintf(f,
"LOOKUP_TABLE default\n");
171 for(i=0;i<gRows;i++){
172 val = gPhiscm[i] + gPhincm[i];
175 fprintf(f,
"SCALARS Insertion_Loss float\n");
176 fprintf(f,
"LOOKUP_TABLE default\n");
177 for(i=0;i<gRows;i++){
178 prat =
CABS(gPhincm[i]+gPhiscm[i])/
CABS(gPhincm[i]);
179 iloss = 20*log10(1./prat);
180 fprintf(f,
f1F,iloss);
182 fprintf(f,
"SCALARS SPL float\n");
183 fprintf(f,
"LOOKUP_TABLE default\n");
184 for(i=0;i<gRows;i++){
185 prat = 0.70710678*
CABS(gPhiscm[i]+gPhincm[i]);
186 spl = 20*log10(prat) + 94.0;
struct run_info * runinfo
Definition: globals.h:34
#define Vec
Definition: types.h:63
int npcols
Definition: structs.h:113
#define VecDestroy(v)
Definition: allocation.h:111
const char * title
Definition: structs.h:135
#define CREAL(x)
Definition: functions.h:49
#define f1F
Definition: formats.h:72
int nemics
Definition: structs.h:305
int myrow
Definition: structs.h:115
int nprows
Definition: structs.h:111
void get_filename(char *filename, const char *format,...)
Definition: utils.c:59
#define CIMAG(x)
Definition: functions.h:50
int mics_block_size
Definition: structs.h:124
void pzgemr2d_(int *m, int *n, COMPLEX *A, int *ia, int *ja, int *desca, COMPLEX *B, int *ib, int *jb, int *descb, int *ictxt)
Copies a (m x n) submatrix of A from element (ia,ja) on a submatrix of B from element (ib...
int ctxt
Definition: structs.h:109
void descinit_(int *desc, int *m, int *n, int *mb, int *nb, int *ia, int *ja, int *ictxt, int *llda, int *info)
struct solution_struct * solution
Definition: globals.h:52
#define COMPLEX
Definition: types.h:48
Vec vecPhincm
Definition: structs.h:582
#define CABS(x)
Definition: functions.h:51
int nmics
Definition: structs.h:304
#define HZFREQ(x)
Definition: functions.h:28
Vec vecPhium
Definition: structs.h:586
double DOUBLE
Definition: types.h:44
int numroc_(int *m, int *mb, int *p, int *ia, int *npr)
int rank
Definition: globals.h:79
struct run_details * rundetails
Definition: globals.h:36
Geometry info structure.
Definition: structs.h:161
#define MAX_PATH
Definition: constants.h:29
#define calloc(n, size)
Definition: allocation.h:37
struct modgeom_info * modgeominfo
Definition: globals.h:38