@@ -290,33 +290,48 @@ def storePressureMeshResults(acoustic_study):
290290 Nfft = len (study .frequency )
291291 nRad = study .Ns
292292 nCoeff = len (study .p_mesh [0 , 0 ].coefficients )
293- nCoeffV = len (study .u_mesh [0 , 0 ].coefficients )
293+
294+ # get max u_mesh len (because acoustic radiators can be of different size, i.e. mesh elements)
295+ radSurf_elements = []
296+ for i in range (np .shape (study .u_mesh )[1 ]):
297+ tmp_length = len (study .u_mesh [0 , i ].coefficients )
298+ radSurf_elements .append (tmp_length )
299+ nCoeffV = np .max (radSurf_elements )
294300
295301 # store pressure
296302 pressureMesh = np .zeros ([Nfft , nRad , nCoeff ], dtype = complex )
297303 velocityMesh = np .zeros ([Nfft , nRad , nCoeffV ], dtype = complex )
298304 for freq in range (Nfft ):
299305 for rad in range (nRad ):
306+ tmp_length = radSurf_elements [rad ]
300307 pressureMesh [freq , rad , :] = study .p_mesh [freq , rad ].coefficients
301- velocityMesh [freq , rad , :] = study .u_mesh [freq , rad ].coefficients
308+ velocityMesh [freq , rad , :tmp_length ] = study .u_mesh [freq , rad ].coefficients
302309 return pressureMesh , velocityMesh
303310
304311def storePressureMeshResults_ADM (acoustic_study ):
305312 study = acoustic_study
306313 Nfft = len (study .frequency )
307314 nRad = study .Ns
308315 nCoeff = len (study .p_mesh [0 , 0 ].coefficients )
309- nCoeffV = len (study .u_mesh [0 , 0 ].coefficients )
310- Yn_c = np .zeros ((Nfft , nCoeff ), dtype = complex )
311-
316+ # nCoeffV = len(study.u_mesh[0, 0].coefficients)
317+ Yn_c = np .zeros ((Nfft , nCoeff ), dtype = complex )
318+
319+ # get max u_mesh len (because acoustic radiators can be of different size, i.e. mesh elements)
320+ radSurf_elements = []
321+ for i in range (np .shape (study .u_mesh )[1 ]):
322+ tmp_length = len (study .u_mesh [0 , i ].coefficients )
323+ radSurf_elements .append (tmp_length )
324+ nCoeffV = np .max (radSurf_elements )
325+
312326 # store pressure
313327 pressureMesh = np .zeros ([Nfft , nRad , nCoeff ], dtype = complex )
314328 velocityMesh = np .zeros ([Nfft , nRad , nCoeffV ], dtype = complex )
315329 for freq in range (Nfft ):
316330 Yn_c [freq , :] = study .Yn_c [freq ]
317331 for rad in range (nRad ):
332+ tmp_length = radSurf_elements [rad ]
318333 pressureMesh [freq , rad , :] = study .p_mesh [freq , rad ].coefficients
319- velocityMesh [freq , rad , :] = study .u_mesh [freq , rad ].coefficients
334+ velocityMesh [freq , rad , :tmp_length ] = study .u_mesh [freq , rad ].coefficients
320335 return pressureMesh , velocityMesh , Yn_c
321336
322337# LOAD PRESSURE
0 commit comments