Actual source code: rosenbrock1f.h

petsc-3.7.5 2017-01-01
Report Typos and Errors
  1: ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  2: !             Include file for program rosenbrock1f.F
  3: ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  4: !
  5: !  This program uses CPP for preprocessing, as indicated by the use of
  6: !  TAO include files in the directories $TAO_DIR/include/petsc/finclude and
  7: !  $PETSC_DIR/include/petsc/finclude.  This convention enables use of the CPP
  8: !  preprocessor, which allows the use of the #include statements that
  9: !  define TAO objects and variables.
 10: !
 11: !  Since one must be very careful to include each file no more than once
 12: !  in a Fortran routine, application programmers must explicitly list
 13: !  each file needed for the various TAO and PETSc components within their
 14: !  program (unlike the C/C++ interface).
 15: !
 16: !  See the Fortran section of the PETSc users manual for details.
 17: !
 18: !  The following include statements are generally used in TAO programs:
 19: !     tao_solver.h - TAO solvers
 20: !     petscksp.h   - Krylov subspace methods
 21: !     petscpc.h    - preconditioners
 22: !     petscmat.h   - matrices
 23: !     petscvec.h   - vectors
 24: !     petsc.h      - basic PETSc routines

 26:  #include petsc/finclude/petscsys.h
 27:  #include petsc/finclude/petscvec.h
 28:  #include petsc/finclude/petscmat.h
 29:  #include petsc/finclude/petscksp.h
 30:  #include petsc/finclude/petscpc.h
 31:  #include petsc/finclude/petsctao.h

 33: !  Common blocks:
 34: !  In this example we use common blocks to store data needed by the
 35: !  application-provided call-back routines, FormMinimizationFunction(),
 36: !  FormFunctionGradient(), and FormHessian().  Note that we can store
 37: !  (pointers to) TAO objects within these common blocks.
 38: !
 39: !  common /params/ - contains parameters that help to define the application
 40: !
 41: !     alpha, n - define the extended Rosenbrock function:
 42: !       sum_{i=0}^{n/2-1} ( alpha*(x_{2i+1}-x_{2i}^2)^2 + (1-x_{2i})^2 )

 44:       PetscReal        alpha
 45:       PetscInt         n

 47:       common /params/ alpha, n

 49: ! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -