AcouSTO  version 2.0

◆ estimate_memory2()

MEMORY estimate_memory2 ( )
145  {
146  MEMORY ESTIMATED_MEMORY = 0L;
147  int lrow, lcol, lrowM, lcolE;
148  int izero = 0;
149 
151  &runinfo->myrow, &izero, &runinfo->nprows);
153  &runinfo->myrow, &izero, &runinfo->nprows);
155  &runinfo->mycol, &izero, &runinfo->npcols);
157  &runinfo->mycol, &izero, &runinfo->npcols);
158 
160  ESTIMATED_MEMORY += (MEMsizeof(struct bodycoefs_struct));
161  ESTIMATED_MEMORY += 2L* TOMEMORY(lrow) * TOMEMORY(lcol) * TOMEMORY(runinfo->nsymm) * MEMsizeof(DOUBLE); // B Body Coefs
162  ESTIMATED_MEMORY +=
163  TOMEMORY(4L*( TOMEMORY(lrow) ) * TOMEMORY(lcol)* TOMEMORY(runinfo->nsymm) * MEMsizeof(DOUBLE)); // C Body Coefs
164 
165  ESTIMATED_MEMORY += TOMEMORY(lrow)
166  * MEMsizeof(DOUBLE); // temporary vector
167  ESTIMATED_MEMORY += MEMsizeof(struct micscoefs_struct);
168  ESTIMATED_MEMORY += 2L * TOMEMORY(lrowM)
169  * TOMEMORY(lcolE)* TOMEMORY(runinfo->nsymm) * MEMsizeof(DOUBLE); // 2 mics B coefficients
170  ESTIMATED_MEMORY += 3L * TOMEMORY(lrowM)
171  * TOMEMORY(lcolE)* TOMEMORY(runinfo->nsymm) * MEMsizeof(DOUBLE); // 3 mics C coefficients
172  }
173  ESTIMATED_MEMORY +=
174  (TOMEMORY(modgeominfo->nnodb) * MEMsizeof(struct vector)); // Nodes
175  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nvelb) * MEMsizeof(int)); // Vertex Indices
176  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nelmb) * MEMsizeof(int)); // Index Vector
177  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nelmb) * MEMsizeof(int)); // Index Vector
178  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nelmb) * MEMsizeof(int)); // mvtrb
179  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nelmb) * MEMsizeof(int)); // kcreb
180  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nelmb) * MEMsizeof(int)); // kelmb
181  ESTIMATED_MEMORY +=
182  (TOMEMORY(modgeominfo->nmics) * MEMsizeof(struct vector)); // microphones
183  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->nchief)
184  * MEMsizeof(struct vector)); // chief
185  ESTIMATED_MEMORY += (TOMEMORY(modgeominfo->ncntr+modgeominfo->nchief)
186  * MEMsizeof(struct vector)); // ctrl + chief
187  ESTIMATED_MEMORY +=
188  (TOMEMORY(modgeominfo->ncntr) * MEMsizeof(struct vector)); // cntr
189  ESTIMATED_MEMORY +=
190  (TOMEMORY(modgeominfo->nelmb) * MEMsizeof(struct panel4)); // elements
192  ESTIMATED_MEMORY+= (2L*MEMsizeof(COMPLEX)); // work in linsys
193  ESTIMATED_MEMORY+= (TOMEMORY(modgeominfo->ncntr+modgeominfo->nchief)*MEMsizeof(COMPLEX));// work in linsys
194  }else if (GMRES == modsolinfo->solver){
195  ESTIMATED_MEMORY+= (4*TOMEMORY(modgeominfo->ncntr+modgeominfo->nchief)*MEMsizeof(COMPLEX));// work in linsys
196  ESTIMATED_MEMORY+= (3*TOMEMORY(lrow)*MEMsizeof(COMPLEX));// work in linsys
197  ESTIMATED_MEMORY+= (TOMEMORY(lrow)*TOMEMORY(modsolinfo->restart)*MEMsizeof(COMPLEX));// work in linsys
198  ESTIMATED_MEMORY+= (TOMEMORY(modsolinfo->restart+1)*TOMEMORY(lrow)*MEMsizeof(COMPLEX));// work in linsys
199  }
200  ESTIMATED_MEMORY += MEMsizeof(struct run_info);
201  ESTIMATED_MEMORY += MEMsizeof(struct run_details);
202  ESTIMATED_MEMORY += MEMsizeof(struct modgeom_info);
203  ESTIMATED_MEMORY += MEMsizeof(struct modcoefac_info);
204  ESTIMATED_MEMORY += MEMsizeof(struct modcoemic_info);
205  ESTIMATED_MEMORY += MEMsizeof(struct modsol_info);
206  ESTIMATED_MEMORY += MEMsizeof(struct solution_struct);
207  ESTIMATED_MEMORY += ((strlen(datfile) + 1) * MEMsizeof(char)); // datfile
208  ESTIMATED_MEMORY += (TOMEMORY(modsolinfo->n_freqresp_cnt) * MEMsizeof(int)); // ctrl freq response
209  ESTIMATED_MEMORY += (TOMEMORY(modsolinfo->n_freqresp_mic) * MEMsizeof(int)); // mics freq response
210 
215  }
216  ESTIMATED_MEMORY+= (TOMEMORY(lrow)*TOMEMORY(lcol)*MEMsizeof(COMPLEX)); // matY
217  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);//
218  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);//
219  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);//
220  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);//
221  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);//
222  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);//
223  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);//
224  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);//
225  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);
226  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);
227  ESTIMATED_MEMORY += TOMEMORY(modsolinfo->nsig ) * MEMsizeof(DOUBLE);
228  ESTIMATED_MEMORY += TOMEMORY(modsolinfo->nome ) * MEMsizeof(DOUBLE);
229  ESTIMATED_MEMORY += TOMEMORY(modsolinfo->nsourc )
230  * MEMsizeof(struct acoustic_point);
231  ESTIMATED_MEMORY += TOMEMORY(modsolinfo->ndipoles )
232  * MEMsizeof(struct dipole);
233 
234  ESTIMATED_MEMORY += TOMEMORY(modsolinfo->nome )*TOMEMORY(3*modgeominfo->ncntr) * MEMsizeof(COMPLEX); // custombc
235  ESTIMATED_MEMORY += TOMEMORY(modsolinfo->n_freqresp_mic) * MEMsizeof(int);
236  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);
237  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);
238  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);
239  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->nmics)*MEMsizeof(COMPLEX);
240  ESTIMATED_MEMORY+= TOMEMORY(5*modgeominfo->nmics)*MEMsizeof(COMPLEX);
241  ESTIMATED_MEMORY+= TOMEMORY(modgeominfo->ncntr)*MEMsizeof(COMPLEX);
242  ESTIMATED_MEMORY += (MEMsizeof(struct geometry_struct)); // allocating structure
243  ESTIMATED_MEMORY += (MEMsizeof(struct file_info));
244  ESTIMATED_MEMORY += (MEMsizeof(struct sphere_geom));
245  ESTIMATED_MEMORY += (MEMsizeof(struct cylinder_geom));
246  ESTIMATED_MEMORY += (MEMsizeof(struct nodes_geom));
247  ESTIMATED_MEMORY += (MEMsizeof(struct plate_geom));
248 
249  return ESTIMATED_MEMORY;
250 }
Sphere.
Definition: structs.h:198
struct run_info * runinfo
Definition: globals.h:34
int npcols
Definition: structs.h:113
Definition: structs.h:392
Definition: structs.h:355
int ncntr
Definition: structs.h:299
Holds Solution values.
Definition: structs.h:553
Parameters and variables for the solution Module.
Definition: structs.h:436
struct to hold Coefficients at the body.
Definition: structs.h:379
Definition: structs.h:430
int myrow
Definition: structs.h:115
int nprows
Definition: structs.h:111
int ndipoles
Definition: structs.h:503
vector struct to hold triplets.
Definition: structs.h:29
int nsourc
Definition: structs.h:448
Definition: structs.h:540
int n_freqresp_mic
Definition: structs.h:499
#define MEMORY
Definition: types.h:26
int nchief
Definition: structs.h:301
int nsig
Definition: structs.h:456
int n_freqresp_cnt
Definition: structs.h:497
int nvelb
Definition: structs.h:297
int nelmb
Definition: structs.h:295
int nnodb
Definition: structs.h:293
Definition: structs.h:429
Details about the run.
Definition: structs.h:131
Definition of a quadrilateral panel.
Definition: structs.h:44
#define COMPLEX
Definition: types.h:48
Plate.
Definition: structs.h:226
BOOL pre_calculate_coefs
Definition: structs.h:519
enum SUPPORTED_SOLVERS solver
Definition: structs.h:507
struct modsol_info * modsolinfo
Definition: globals.h:44
int nmics
Definition: structs.h:304
#define TOMEMORY(x)
Definition: functions.h:31
Geometry common variables.
Definition: structs.h:317
int mycol
Definition: structs.h:117
int nsymm
Definition: structs.h:97
double DOUBLE
Definition: types.h:44
int numroc_(int *m, int *mb, int *p, int *ia, int *npr)
char * datfile
Definition: globals.h:29
Structure containing names of additional files.
Definition: structs.h:402
Structure containing information about the run.
Definition: structs.h:86
int col_block_size
Definition: structs.h:121
struct to hold Coefficients at microphones
Definition: structs.h:364
long restart
Definition: structs.h:516
int nome
Definition: structs.h:458
Cylinder.
Definition: structs.h:210
Defines an acoustic point as its position and its amplitude.
Definition: structs.h:533
#define MEMsizeof(x)
Definition: functions.h:32
int row_block_size
Definition: structs.h:119
struct modgeom_info * modgeominfo
Definition: globals.h:38
General information on geometry evaluation module.
Definition: structs.h:279
External geometry stored in file using acousto native format.
Definition: structs.h:241