From fa614a56a77a06d5bac2f264aa7ad62faa3316dd Mon Sep 17 00:00:00 2001 From: Will Boyd Date: Mon, 30 Sep 2013 20:07:57 -0400 Subject: [PATCH] Fixed bug in plotting thermal flux using CPUSolver --- openmoc/plotter.py | 3 --- sample-input/benchmarks/c5g7/c5g7-gpu.py | 10 +++++----- sample-input/benchmarks/c5g7/c5g7.py | 10 +++++----- src/CPUSolver.cpp | 2 +- src/dev/gpu/GPUSolver.cu | 2 +- 5 files changed, 12 insertions(+), 15 deletions(-) diff --git a/openmoc/plotter.py b/openmoc/plotter.py index 0dc478229..2d619dc09 100644 --- a/openmoc/plotter.py +++ b/openmoc/plotter.py @@ -507,7 +507,6 @@ def plotFluxes(geometry, solver, energy_groups=[0], gridsize=250): for index, group in enumerate(energy_groups): fluxes[index,j,i] = solver.getFSRScalarFlux(fsr_id, group) - # Loop over all energy group and create a plot for index, group in enumerate(energy_groups): @@ -515,8 +514,6 @@ def plotFluxes(geometry, solver, energy_groups=[0], gridsize=250): fig = plt.figure() plt.imshow(np.flipud(fluxes[index,:,:]), \ extent=[xmin, xmax, ymin, ymax]) -# plt.imshow(np.flipud(fluxes[index,:,:]), -# extent=[xmin, xmax, ymin, ymax]) plt.colorbar() plt.title('Flat Source Region Scalar Flux in Group ' + str(group)) filename = directory + 'fsr-flux-group-' + str(group) + '.png' diff --git a/sample-input/benchmarks/c5g7/c5g7-gpu.py b/sample-input/benchmarks/c5g7/c5g7-gpu.py index 1b8806179..4c4e91a6a 100644 --- a/sample-input/benchmarks/c5g7/c5g7-gpu.py +++ b/sample-input/benchmarks/c5g7/c5g7-gpu.py @@ -353,10 +353,10 @@ log.py_printf('NORMAL', 'Plotting data...') -plotter.plotTracks(track_generator) -plotter.plotMaterials(geometry, gridsize=500) -plotter.plotCells(geometry, gridsize=500) -plotter.plotFlatSourceRegions(geometry, gridsize=500) -plotter.plotFluxes(geometry, solver, energy_groups=[1,2,3,4,5,6,7]) +#plotter.plotTracks(track_generator) +#plotter.plotMaterials(geometry, gridsize=500) +#plotter.plotCells(geometry, gridsize=500) +#plotter.plotFlatSourceRegions(geometry, gridsize=500) +#plotter.plotFluxes(geometry, solver, energy_groups=[1,2,3,4,5,6,7]) log.py_printf('TITLE', 'Finished') diff --git a/sample-input/benchmarks/c5g7/c5g7.py b/sample-input/benchmarks/c5g7/c5g7.py index 4eb27b0ea..97a17eb54 100644 --- a/sample-input/benchmarks/c5g7/c5g7.py +++ b/sample-input/benchmarks/c5g7/c5g7.py @@ -351,10 +351,10 @@ log.py_printf('NORMAL', 'Plotting data...') -plotter.plotTracks(track_generator) -plotter.plotMaterials(geometry, gridsize=500) -plotter.plotCells(geometry, gridsize=500) -plotter.plotFlatSourceRegions(geometry, gridsize=500) -plotter.plotFluxes(geometry, solver, energy_groups=[1,2,3,4,5,6,7]) +#plotter.plotTracks(track_generator) +#plotter.plotMaterials(geometry, gridsize=500) +#plotter.plotCells(geometry, gridsize=500) +#plotter.plotFlatSourceRegions(geometry, gridsize=500) +#plotter.plotFluxes(geometry, solver, energy_groups=[1,2,3,4,5,6,7]) log.py_printf('TITLE', 'Finished') diff --git a/src/CPUSolver.cpp b/src/CPUSolver.cpp index 854574f59..63acdf395 100644 --- a/src/CPUSolver.cpp +++ b/src/CPUSolver.cpp @@ -74,7 +74,7 @@ FP_PRECISION CPUSolver::getFSRScalarFlux(int fsr_id, int energy_group) { "in energy group %d since energy groups are greater than 1", fsr_id, energy_group); - return _scalar_flux(fsr_id,energy_group); + return _scalar_flux(fsr_id,energy_group-1); } diff --git a/src/dev/gpu/GPUSolver.cu b/src/dev/gpu/GPUSolver.cu index b202164ed..2ee02481b 100644 --- a/src/dev/gpu/GPUSolver.cu +++ b/src/dev/gpu/GPUSolver.cu @@ -819,7 +819,7 @@ FP_PRECISION GPUSolver::getFSRScalarFlux(int fsr_id, int energy_group) { /* Copy the scalar flux for this FSR and energy group from the device */ FP_PRECISION fsr_scalar_flux; - int flux_index = fsr_id * _num_groups + energy_group - 1; + int flux_index = fsr_id * _num_groups + (energy_group - 1); cudaMemcpy((void*)&fsr_scalar_flux, (void*)&_scalar_flux[flux_index], sizeof(FP_PRECISION), cudaMemcpyDeviceToHost);