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: