Changeset 47


Ignore:
Timestamp:
07/28/12 10:51:32 (12 years ago)
Author:
dubos
Message:

Fixed sign error in geometry.f90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/geometry.f90

    r21 r47  
    343343          ENDDO 
    344344 
     345          ! Sign convention : Ringler et al., JCP 2010, eq. 21 p. 3071 
     346          ! Normal component is along outgoing normal vector if ne=1 
    345347 
    346348          CALL cross_product2(xyz_v(n+z_rdown,:),xyz_v(n+z_rup,:),vep) 
    347349          IF (norm(vep)>1e-30) THEN 
    348             vep(:)=vep(:)/norm(vep) 
    349             CALL cross_product2(vep,xyz_e(n+u_right,:),vet) 
     350            vep(:)=vep(:)/norm(vep)                         ! Inward normal vector 
     351            CALL cross_product2(vep,xyz_e(n+u_right,:),vet) ! Counter-clockwise tangent vector  
    350352            vet(:)=vet(:)/norm(vet) 
    351             ep_e(n+u_right,:)=vep(:)*ne(n,right) 
     353            ep_e(n+u_right,:)=-vep(:)*ne(n,right) 
    352354            et_e(n+u_right,:)=vet(:)*ne(n,right) 
    353355          ENDIF 
     
    358360            CALL cross_product2(vep,xyz_e(n+u_lup,:),vet) 
    359361            vet(:)=vet(:)/norm(vet) 
    360             ep_e(n+u_lup,:)=vep(:)*ne(n,lup) 
     362            ep_e(n+u_lup,:)=-vep(:)*ne(n,lup) 
    361363            et_e(n+u_lup,:)=vet(:)*ne(n,lup) 
    362364          ENDIF 
     
    367369            CALL cross_product2(vep,xyz_e(n+u_ldown,:),vet) 
    368370            vet(:)=vet(:)/norm(vet) 
    369             ep_e(n+u_ldown,:)=vep(:)*ne(n,ldown) 
     371            ep_e(n+u_ldown,:)=-vep(:)*ne(n,ldown) 
    370372            et_e(n+u_ldown,:)=vet(:)*ne(n,ldown) 
    371373          ENDIF 
Note: See TracChangeset for help on using the changeset viewer.