driver_lib.f: INTEGER, ALLOCATABLE :: L_TO_L_NEIGH (:, :) ! neighbors driver_lib.f: ALLOCATE ( L_TO_L_NEIGH (NEIGH_L, N_ELEMS) ) driver_lib.f: L_TO_L_SUM, L_TO_L_NEIGH, & driver_lib.f: IF ( LIST_EL_TO_EL ) CALL LIST_ELEMENTS_AT_EL (L_TO_L_NEIGH) driver_lib.f: float( count(L_TO_L_NEIGH == 0)) / (NEIGH_L * N_ELEMS) driver_lib.f: N_PATCH = N_ELEMS ! Only face neighbors in L_TO_L_NEIGH driver_lib.f: CALL SURF_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH, & driver_lib.f: CALL CALC_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH, & driver_lib.f: N_PATCH = N_ELEMS ! All element neighbors in L_TO_L_NEIGH driver_lib.f: CALL SURF_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH, & driver_lib.f: CALL CALC_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH, & driver_lib.f: !b CALL SURF_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH, & !b driver_lib.f: !b CALL CALC_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH, & !b dynamic_model_lib.f: INTEGER, ALLOCATABLE :: L_TO_L_NEIGH (:, :) ! neighbors dynamic_model_lib.f: ALLOCATE ( L_TO_L_NEIGH (NEIGH_L, N_ELEMS) ) dynamic_model_lib.f: L_TO_L_SUM, L_TO_L_NEIGH, & dynamic_model_lib.f: !b L_TO_L_SUM, L_TO_L_NEIGH, NEIGH_L) dynamic_model_lib.f: IF ( LIST_EL_TO_EL ) CALL LIST_ELEMENTS_AT_EL (L_TO_L_NEIGH) eigen_model_lib.f: INTEGER, ALLOCATABLE :: L_TO_L_NEIGH (:, :) ! neighbors eigen_model_lib.f: ALLOCATE ( L_TO_L_NEIGH (NEIGH_L, N_ELEMS) ) eigen_model_lib.f: L_TO_L_SUM, L_TO_L_NEIGH, & eigen_model_lib.f: !b L_TO_L_SUM, L_TO_L_NEIGH, NEIGH_L) eigen_model_lib.f:!deallocate (L_TO_L_NEIGH) eigen_model_lib.f:!allocate ( L_TO_L_NEIGH (MAX_FACES, N_ELEMS)) eigen_model_lib.f:!L_TO_L_NEIGH = 0 eigen_model_lib.f:! MAX_FACES, L_TO_L_NEIGH) eigen_model_lib.f: IF ( LIST_EL_TO_EL ) CALL LIST_ELEMENTS_AT_EL (L_TO_L_NEIGH) eigen_model_lib.f: !b float( count(L_TO_L_NEIGH == 0)) / (NEIGH_L*N_ELEMS) eigen_model_lib.f: N_PATCH = N_ELEMS ! Only face neighbors in L_TO_L_NEIGH eigen_model_lib.f: CALL CALC_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH,& eigen_model_lib.f: N_PATCH = N_ELEMS ! All element neighbors in L_TO_L_NEIGH eigen_model_lib.f: CALL CALC_SCP_AVE_NODE_FLUXES (NODES, X, L_TO_L_NEIGH,& model_lib.f:SUBROUTINE LIST_ELEMENTS_AT_EL (L_TO_L_NEIGH) model_lib.f: INTEGER, INTENT(IN) :: L_TO_L_NEIGH (NEIGH_L, N_ELEMS) model_lib.f:! L_TO_L_NEIGH (J, I) = ELEMENT NEIGHBOR J OF ELEMENT I model_lib.f: WRITE (N_PRT, 5) IE, L_TO_L_NEIGH (1:NEIGH_L, IE) model_lib.f: L_TO_L_SUM, L_TO_L_NEIGH, & model_lib.f: INTEGER, INTENT(OUT) :: L_TO_L_NEIGH (NEIGH_L, N_ELEMS) model_lib.f:! L_TO_L_NEIGH (J, I) = ELEM NEIGHBOR J OF ELEMENT I model_lib.f: L_TO_L_NEIGH = 0 ! INITIALIZE model_lib.f: FOUND = COUNT ( L_TO_L_NEIGH (:, IE) > 0 ) ! PREVIOUSLY FOUND model_lib.f: L_TO_L_NEIGH (WHERE, IE) = L_TEST ! ONE OF TWO model_lib.f: NEXT = COUNT ( L_TO_L_NEIGH(:, L_TEST) > 0 ) !b /= ?? model_lib.f: L_TO_L_NEIGH (NEXT+1, L_TEST) = IE ! TWO OF TWO model_lib.f: IF ( ANY (L_TO_L_NEIGH (1:N_FACES, IE) == 0) ) THEN ! YES model_lib.f:! L_TO_L_SUM, L_TO_L_NEIGH, NEIGH_L) model_lib.f:! INTEGER, INTENT(OUT) :: L_TO_L_NEIGH (NEIGH_L, N_ELEMS) model_lib.f:!! L_TO_L_NEIGH (J, I) = ELEM NEIGHBOR J OF ELEMENT I model_lib.f:! L_TO_L_NEIGH = 0 ! INITIALIZE model_lib.f:! L_TO_L_NEIGH (FOUND, IE) = L_TEST Notation_lib.f:! L_TO_L_NEIGH = ELEMENTS ADJACENT TO ELEMENTS: (NEIGH_L, N_ELEMS) testing_lib.f: MAX_FACES, L_TO_L_NEIGH) testing_lib.f: INTEGER, INTENT(OUT) :: L_TO_L_NEIGH (MAX_FACES, N_ELEMS) testing_lib.f:! L_TO_L_NEIGH (I) = NUMBER OF ELEM NEIGHBORS OF ELEMENT I testing_lib.f: L_TO_L_NEIGH = 0 testing_lib.f: FOUND = COUNT ( L_TO_L_NEIGH (:, IE) /= 0 ) testing_lib.f: L_TO_L_NEIGH (WHERE, IE) = L_TEST ! 1 OF 2 testing_lib.f: NEXT = COUNT ( L_TO_L_NEIGH(:, L_TEST) /= 0 ) testing_lib.f: L_TO_L_NEIGH (WHERE, L_TEST) = IE ! 2 OF 2 testing_lib.f: IF ( ANY ( L_TO_L_NEIGH (:, IE) == 0 ) ) THEN testing_lib.f:! NOW ANY ( L_TO_L_NEIGH (:, IE) == 0 ) NEEDS A NO NEIGHBORS OR testing_lib.f: MAX_FACES, L_TO_L_NEIGH, N_SURFS,& testing_lib.f:! (INSERT NEGATIVE SURFACE CODES FIRST INTO L_TO_L_NEIGH) testing_lib.f: INTEGER, INTENT(OUT) :: L_TO_L_NEIGH (MAX_FACES, N_ELEMS) testing_lib.f:! L_TO_L_NEIGH (I) = NUMBER OF ELEM NEIGHBORS OF ELEMENT I testing_lib.f: L_TO_L_NEIGH = 0 testing_lib.f: FOUND = COUNT ( L_TO_L_NEIGH (:, L_TEST) /= 0 ) testing_lib.f: !b L_TO_L_NEIGH (FOUND, IE) = L_TEST testing_lib.f: L_TO_L_NEIGH (FOUND, L_TEST) = NODES_SURF (IE, 1) testing_lib.f: FOUND = COUNT ( L_TO_L_NEIGH (:, IE) /= 0 ) testing_lib.f: L_TO_L_NEIGH (FOUND, IE) = L_TEST ! 1 OF 2 testing_lib.f: NEXT = COUNT ( L_TO_L_NEIGH(:, L_TEST) /= 0 ) testing_lib.f: L_TO_L_NEIGH (NEXT+1, L_TEST) = IE ! 2 OF 2