Skip to content

Commit 631374f

Browse files
committed
io fix
1 parent 51b1bdc commit 631374f

3 files changed

Lines changed: 23 additions & 8 deletions

File tree

electroacPy/circuitSolver/solver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def countNodesAndSources(self):
145145
nbsource += comp.vsource # add number of sources
146146
# print("nbsource", nbsource)
147147
# print("comp.np", comp.np)
148-
if comp.vsource == 2:
148+
if comp.vsource == 2: # check number of sources, if two = CCVS
149149
self.source_id[comp.np] = nbsource-1
150150
self.source_id[comp.np1] = nbsource
151151
else:

electroacPy/io.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

304311
def 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

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "electroacPy"
7-
version = "2025.05.12"
7+
version = "2025.07.01"
88
authors = [
99
{ name="Tom Munoz", email="munozt@outlook.fr" },
1010
]

0 commit comments

Comments
 (0)