Actual source code: ex5.F

  1: !
  2: !    "$Id: ex5.F,v 1.29 2001/08/07 03:01:54 balay Exp $";
  3: !
  4:       program main
 5:  #include include/finclude/petsc.h
 6:  #include include/finclude/petscdraw.h
  7: !
  8: !  This example demonstrates basic use of the Fortran interface for
  9: !  PetscDraw routines.
 10: !
 11:       PetscDraw         draw
 12:       PetscDrawLG       lg
 13:       PetscDrawAxis     axis
 14:       integer           n,i,ierr,x,y,width,height,flg
 15:       PetscScalar       xd,yd

 17:       n      = 20
 18:       x      = 0
 19:       y      = 0
 20:       width  = 300
 21:       height = 300

 23:       call PetscInitialize(PETSC_NULL_CHARACTER,ierr)

 25:       call PetscOptionsGetInt(PETSC_NULL_CHARACTER,'-width',width,      &
 26:      &     flg,ierr)
 27:       call PetscOptionsGetInt(PETSC_NULL_CHARACTER,'-height',height,    &
 28:      &     flg,ierr)
 29:       call PetscOptionsGetInt(PETSC_NULL_CHARACTER,'-n',n,flg,ierr)

 31: !     call PetscDrawOpenX(PETSC_COMM_SELF,PETSC_NULL_CHARACTER,         &
 32: !                   PETSC_NULL_CHARACTER,x,y,width,height,draw,ierr)
 33:       call PetscDrawCreate(PETSC_COMM_SELF,PETSC_NULL_CHARACTER,        &
 34:      &               PETSC_NULL_CHARACTER,x,y,width,height,draw,ierr)
 35:       call PetscDrawSetType(draw,PETSC_DRAW_X,ierr)

 37:       call PetscDrawLGCreate(draw,1,lg,ierr)
 38:       call PetscDrawLGGetAxis(lg,axis,ierr)
 39:       call PetscDrawAxisSetColors(axis,PETSC_DRAW_BLACK,PETSC_DRAW_RED, &
 40:      &     PETSC_DRAW_BLUE,ierr)
 41:       call PetscDrawAxisSetLabels(axis,'toplabel','xlabel','ylabel',    &
 42:      &     ierr)

 44:       do 10, i=0,n-1
 45:         xd = i - 5.0
 46:         yd = xd*xd
 47:         call PetscDrawLGAddPoint(lg,xd,yd,ierr)
 48:  10   continue

 50:       call PetscDrawLGIndicateDataPoints(lg,ierr)
 51:       call PetscDrawLGDraw(lg,ierr)
 52:       call PetscDrawFlush(draw,ierr)

 54:       call PetscSleep(10,ierr)

 56:       call PetscDrawLGDestroy(lg,ierr)
 57:       call PetscDrawDestroy(draw,ierr)
 58:       call PetscFinalize(ierr)
 59:       end
 60: