Skip to content

Commit bda4fd0

Browse files
author
Bryan Herman
committed
fixed preallocation of cmfd loss matrix when not using coremap overlay
1 parent 99c76e9 commit bda4fd0

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

src/cmfd_loss_operator.F90

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ subroutine init_loss_matrix(loss_matrix)
2626
integer :: nnz ! number of nonzeros in matrix
2727
integer :: n_i ! number of interior cells
2828
integer :: n_c ! number of corner cells
29-
integer :: n_s ! number side cells
29+
integer :: n_s ! number of side cells
30+
integer :: n_e ! number of edge cells
3031
integer :: nz_c ! number of non-zero corner cells
32+
integer :: nz_e ! number of non-zero edge cells
3133
integer :: nz_s ! number of non-zero side cells
3234
integer :: nz_i ! number of non-zero interior cells
3335

@@ -48,13 +50,16 @@ subroutine init_loss_matrix(loss_matrix)
4850
if (cmfd_coremap) then
4951
nnz = preallocate_loss_matrix(nx, ny, nz, ng, n)
5052
else ! structured Cartesian grid
51-
n_c = 4 ! define # of corners
52-
n_s = 2*(nx + ny) - 8 ! define # of sides
53-
n_i = nx*ny - (n_c + n_S) ! define # of interiors
54-
nz_c = ng*n_c*(3 + ng - 1) ! define # nonzero corners
55-
nz_s = ng*n_s*(4 + ng - 1) ! define # nonzero sides
56-
nz_i = ng*n_i*(5 + ng - 1) ! define # nonzero interiors
57-
nnz = nz_c + nz_s + nz_i
53+
n_c = 8 ! define # of corners
54+
n_e = 4*(nx - 2) + 4*(ny - 2) + 4*(nz - 2) ! define # of edges
55+
n_s = 2*(nx - 2)*(ny - 2) + 2*(nx - 2)*(nz - 2) &
56+
+ 2*(ny - 2)*(nz - 2) ! define # of sides
57+
n_i = nx*ny*nz - (n_c + n_e + n_s) ! define # of interiors
58+
nz_c = ng*n_c*(4 + ng - 1) ! define # nonzero corners
59+
nz_e = ng*n_e*(5 + ng - 1) ! define # nonzero edges
60+
nz_s = ng*n_s*(6 + ng - 1) ! define # nonzero sides
61+
nz_i = ng*n_i*(7 + ng - 1) ! define # nonzero interiors
62+
nnz = nz_c + nz_e + nz_s + nz_i
5863
end if
5964

6065
! Configure loss matrix

0 commit comments

Comments
 (0)