Changeset 4623 for palm/trunk/SOURCE/multi_agent_system_mod.f90
- Timestamp:
- Jul 24, 2020 8:42:02 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/multi_agent_system_mod.f90
r4481 r4623 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 23 ! 22 ! 23 ! 24 24 ! Former revisions: 25 25 ! ----------------- 26 26 ! $Id$ 27 ! some switches calculated explicitly to avoid compiler warnings 28 ! 29 ! 4481 2020-03-31 18:55:54Z maronga 27 30 ! bugfix: cpp-directives for serial mode added 28 31 ! … … 3524 3527 INTEGER(iwp) :: in_id !< vertex id of tested mesh point 3525 3528 3529 LOGICAL :: is_left_n !< local switch 3530 LOGICAL :: is_left_p !< local switch 3531 LOGICAL :: is_right_n !< local switch 3532 LOGICAL :: is_right_p !< local switch 3533 3526 3534 REAL(wp) :: v1x !< x-coordinate of test vertex 1 for intersection test 3527 3535 REAL(wp) :: v1y !< y-coordinate of test vertex 1 for intersection test … … 3553 3561 !-- into the mesh point's polygon, no connection will be 3554 3562 !-- established between the two points. This is the case if the 3555 !-- previous (next ) vertex of the polygon is right of the connecting3556 !-- line and the next (previous ) vertex of the polygon is left of the3563 !-- previous (next, n) vertex of the polygon is right of the connecting 3564 !-- line and the next (previous, p) vertex of the polygon is left of the 3557 3565 !-- connecting line. 3558 IF ( pid_t > 0 .AND. pid_t <= SIZE(polygons) ) THEN 3559 IF ( (((is_left(x,y,x_t,y_t,polygons(pid_t)%vertices(vid_t-1)%x, & 3560 polygons(pid_t)%vertices(vid_t-1)%y) & 3561 .AND. is_right(x,y,x_t,y_t, & 3562 polygons(pid_t)%vertices(vid_t+1)%x, & 3563 polygons(pid_t)%vertices(vid_t+1)%y) ) & 3564 .OR. (is_right(x,y,x_t,y_t, & 3565 polygons(pid_t)%vertices(vid_t-1)%x, & 3566 polygons(pid_t)%vertices(vid_t-1)%y) & 3567 .AND. is_left(x,y,x_t,y_t, & 3568 polygons(pid_t)%vertices(vid_t+1)%x, & 3569 polygons(pid_t)%vertices(vid_t+1)%y)))))& 3570 THEN 3571 CYCLE 3572 ENDIF 3566 IF ( pid_t > 0 .AND. pid_t <= SIZE( polygons ) ) THEN 3567 is_left_p = is_left( x, y, x_t, y_t, polygons(pid_t)%vertices(vid_t-1)%x, & 3568 polygons(pid_t)%vertices(vid_t-1)%y ) 3569 is_left_n = is_left( x, y, x_t, y_t, polygons(pid_t)%vertices(vid_t+1)%x, & 3570 polygons(pid_t)%vertices(vid_t+1)%y ) 3571 is_right_p = is_right( x, y, x_t, y_t, polygons(pid_t)%vertices(vid_t-1)%x, & 3572 polygons(pid_t)%vertices(vid_t-1)%y ) 3573 is_right_n = is_right( x, y, x_t, y_t, polygons(pid_t)%vertices(vid_t+1)%x, & 3574 polygons(pid_t)%vertices(vid_t+1)%y ) 3575 IF ( ( is_left_p .AND. is_right_n ) .OR. ( is_right_p .AND. is_left_n ) ) CYCLE 3573 3576 ENDIF 3574 3577 !
Note: See TracChangeset
for help on using the changeset viewer.