| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(BasisFN), | intent(inout) | :: | isym | |||
| integer, | intent(in) | :: | nbasismax(5,*) |
pure subroutine roundsym(isym, nbasismax) type(basisfn), intent(inout) :: isym integer, intent(in) :: nbasismax(5, *) integer :: i if (t_new_hubbard .and. t_k_space_hubbard) then ! deal differently with the new k-space hubbard ! use the lattice intrinsic function ! also do something in the real-space case!! ! maybe there i have to set k to 0.. isym = lat%round_sym(isym) return end if IF (NBASISMAX(3, 3) == -2) THEN ! particle in a box ! parity symmetries DO I = 1, 3 ISYM%k(I) = MOD(ISYM%k(I), 2) end do else if (NBASISMAX(3, 3) == -1) THEN ! UEG (can't remember the symmetries of that ! probably momentum conservation) if (tperiodicinmom) CALL MOMPBCSYM(ISYM%k, NBASISMAX) else if (NBASISMAX(3, 3) == 0) THEN ! Hubbard model IF (NBASISMAX(1, 3) < 2) THEN ! momentum conservation - various PBC issues !ALEX PLEASE CHECK. CALL MOMPBCSYM(ISYM%k, NBASISMAX) else if (NBASISMAX(1, 3) >= 2) THEN ! we're in real space so no sym DO I = 1, 3 ISYM%k(I) = 0 end do end if else if (NBASISMAX(3, 3) == 1) THEN ! Generic spatial symmetries ! We need do nothing. ! However, there is still momentum conservation - various PBC issues !ALEX PLEASE CHECK. CALL MOMPBCSYM(ISYM%k, NBASISMAX) end if RETURN END SUBROUTINE ROUNDSYM