File: 2015.html

package info (click to toggle)
petsc 2.2.0-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 64,404 kB
  • ctags: 284,528
  • sloc: ansic: 223,999; python: 11,758; makefile: 7,707; fortran: 6,327; cpp: 4,104; sh: 3,387; csh: 41; asm: 6
file content (145 lines) | stat: -rw-r--r-- 10,280 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<html>
<body BGCOLOR="FFFFFF">

    <h1>Docs:&nbsp; Changes: 2.0.15</h1>
    

    <p align="center"><font color="#FF0000" size="5">NEW FEATURES
    and CHANGES in PETSc 2.0.15</font> </p>
    <p>Highlights of new features in version 2.0.15, added since the last public release of
    PETSc (2.0.Beta.13). See details in the sections below. <ul>
      <li>- Added support for shared version of PETSc libraries for several machines to enable
        faster linking and smaller executables </li>
      <li>- Added new parallel block row matrix format, improved efficiency for block diagonal
        formats -</li>
      <li>Added a suite of routines to help manage the mappings between an application-defined
        ordering of variables and the ordering used by PETSc for matrices and vectors </li>
      <li>- Expanded users manual information for performance tuning and profiling </li>
      <li>- The option -log_summary now summarize of message-passing activity as well as flop
        rates. -</li>
      <li>Running the test suite now requires much less disk space. </li>
      <li>- Example programs are in the process of being reorganized into tutorials and tests
        (see, e.g., petsc/src/sles/examples/tutorials for tutorial-style examples for the linear
        solvers). -</li>
      <li>The HTML version of the PETSc man pages now provides indices (organized by both concepts
        and routine names) to tutorial examples. </li>
    </ul>
    <p><font size="5"><strong><u>General</u></strong></font> <ul>
      <li>Added support for shared libraries for the machines PETSC_ARCH =
        [sun4,solaris,alpha,IRIX,IRIX64,linux] to enable faster linking and smaller executables.
        To compile the shared libraries, install PETSc as usual and then execute the command make
        BOPT=g shared from the PETSc home directory (or use whatever BOPT you like). You can
        remove the shared libraries with the command make BOPT=g deleteshared Note: Shared
        libraries can also be used with PETSC_ARCH=freebsd and PETSC_ARCH=hpux if some minor
        modifications are made. For detailed instructions, see the files
        ${PETSC_DIR}/bmake/${PETSC_ARCH}/base. Please write to us at petsc-maint@mcs.anl.gov if
        you encounter any problems when using the shared libraries.</li>
      <li>- Users must now ALWAYS set the environmental variable PETSC_DIR to indicate the PETSc
        home directory. Previously, PETSC_DIR was set within the various makefiles within the
        PETSc installation. However, since this causes problems for shared libraries on some
        machines, the environmental variable PETSC_DIR is now used instead. </li>
      <li>- Added global variables for use in debuggers: PetscGlobalRank - processor's rank in
        MPI_COMM_WORLD PetscGlobalSize - number of processors in MPI_COMM_WORLD </li>
      <li>- For complex numbers versions (e.g., BOPT=g_complex): Added a global variable defining
        the imaginary number &quot;i&quot;: PETSC_i </li>
    </ul>
    <p><font size="4"><strong><u>TS (Time Stepping Module)</u></strong></font> <ul>
      <li>- Changed TS_PSEUDO_POSITION_INDEPENDENT_TIMESTEP -&gt; TS_PSEUDO_POSIND -</li>
      <li>Changed TSPseudoSetPositionIndependentTimeStep() -&gt; TSPseudoSetPosIndTimeStep(). Even
        Barry couldn't stand names that long :-) </li>
    </ul>
    <p><font size="4"><strong><u>SNES (Nonlinear Solvers)</u></strong></font>: <ul>
      <li>- The user can now set parameters used in matrix-free approximations of Jacobian-vector
        products, with the options -snes_mf_err <err> : square root of relative error in computing
        function -snes_mf_umin <umin>: minimum iterate parameter or by calling the routine
        SNESSetMatrixFreeParameters().</li>
      <li>- Added the option -snes_mf_operator, which allows the user to apply the default
        matrix-free Jacobian but retain the user-provided Jacobian preconditioner matrix.</li>
      <li>- Added the routine SNESGetTolerances() to extract the various parameters used for
        convergence testing. </li>
      <li>- Initialized iteration counter to 0 for successive calls to SNES solvers. </li>
      <li>- Changed the names for SNES runtime options associated with particular solvers to the
        forms -snes_eq_ls_<parameter_name>- nonlinear equations, line search method -snes_eq_tr_<parameter_name> - nonlinear
        equations, trust region method -snes_um_ls_<parameter_name>- unconstrained minimization, line search
        method -snes_um_tr_<parameter_name> - unconstrained minimization, trust region method Run program with
        -help for a detailed list of options. </li>
    </ul>
    <p><font size="4"><strong><u>SLES (Linear Solvers): See PC and KSP</u></strong></font> <ul>
      <li>- Changed the default linear solvers from GMRES(30) with Jacobi preconditioning to
        uniprocessor: GMRES(30) with ILU(0) preconditioning multiprocessor: GMRES(30) with block
        Jacobi preconditioning, where there is 1 block per processor, and each block is solved
        with ILU(0) See the users manual for additional options for the block Jacobi method. You
        can still employ the old default at runtime with the option -pc_type jacobi </li>
    </ul>
    <p><font size="4"><strong><u>KSP (Krylov subspace methods):</u></strong></font> <ul>
      <li>- Added routines KSPComputeEigenvalues(), KSPComputeEigenvaluesExplicitly() and runtime
        options -ksp_compute_eigenvalues, -ksp_plot_eigenvalues,
        -ksp_compute_eigenvalues_explictly and -ksp_plot_eigenvalues_explicitly for users
        interested in examining the eigenvalues of the preconditioned operator to better
        understand the convergence of a chosen iterative method. </li>
      <li>- Changed KSPSetCalculateExtremeSingularValues() -&gt;
        KSPSetComputeExtremeSingularValues() - Changed KSPSetCalculateResidual() -&gt;
        KSPSetComputeResidual() </li>
    </ul>
    <p><font size="4"><strong><u>PC (Preconditioners):</u></strong></font> <ul>
      <li>- Added the routine PCSetModifySubMatrices(), which allows the user to set an optional
        routine for modifying the entries of the submatrices that arise in certain subdomain-based
        preconditioners (ASM, block Jacobi, block Gauss-Seidel). </li>
    </ul>
    <p><font size="4"><strong><u>MAT (Matrices):</u></strong></font> <ul>
      <li>Eliminated routine MatGetSubmatrix(); now use MatGetSubMatrices() even when extracting
        just 1 submatrix. -</li>
      <li>Added routine MatDestroyMatrices(). -</li>
      <li>Fixed bug in MatGetSubMatrices() for successive calls for matrices having different
        nonzero structure. </li>
      <li>- Added routine MatGetBlockSize(). - Changed routine MatGetInfo() so that it returns
        more information. See man page for details. </li>
      <li>- Changed usage of MatGetReordering() and MatRegisterOrdering(); see man pages. </li>
      <li>- Changed the prefix used for matrix operation names within MatShellSetOperation() and
        MatHasOperation(): MAT_<operation>-&gt; MATOP_<operation> For example, MAT_MULT -&gt; MATOP_MULT. </li>
    </ul>
    <p><font size="4"><strong><u>DA (Distributed Arrays): </u></strong></font></p>
    <p><font size="4"><strong><u>VEC (Vectors): </u></strong></font></p>
    <p><font size="4"><strong><u>IS (Index Sets):</u></strong></font> <ul>
      <li>- Changed ISCreateSeq() to ISCreateGeneral() -</li>
      <li>Changed ISCreateStrideSeq() to ISCreateStride() - </li>
      <li>Added routine ISCreateBlock() to create a blocked index set. See the man page for
        details and related routines. </li>
    </ul>
    <p><font size="4"><strong><u>Draw (Graphics):</u></strong></font> <ul>
      <li>Added -draw_x_private_colormap option that causes PETSc to allocate a separate colormap
        for PETSc graphics windows. This prevents bad contour plots due to Netscape altering the
        default color map. </li>
      <li>- You can now zoom in and out of contour plots using the option -draw_pause -1 and left
        and center mouse buttons. </li>
      <li>- The option -draw_contour_grid will display the underlying grid on a contour plot.</li>
    </ul>
    <p><font size="4"><strong><u>VIEWERS:</u></strong></font> <ul>
      <li>- Added routine ViewerGetFormat().</li>
      <li>- Added options -viewer_matlab_machine and -viewer_matlab_port </li>
      <li>- Changed ASCII_FORMAT_xxx to VIEWER_FORMAT_ASCII_xxx and ASCII_FORMAT_INFO_DETAILED to
        VIEWER_FORMAT_ASCII_INFO_LONG </li>
      <li>- Changed BINARY_FORMAT_xxx to VIEWER_FORMAT_BINARY_xxx </li>
      <li>- PETSc now provides basic support for VRML viewers. Currently, one can draw surface
        contours of vector fields with the routine DFVecDrawTensorSurfaceContour(). Note that the
        VRML utilities will be expanded and the interface will change in the near future. </li>
    </ul>
    <p><font size="4"><strong><u>SYSTEM: </u></strong></font></p>
    <p><font size="4"><strong><u>EVENT LOGGING: </u></strong></font></p>
    <p><font size="4"><strong><u>FORTRAN INTERFACE: </u></strong></font><ul>
      <li>- Changed PETSC_NULL_CHAR to PETSC_NULL_CHARACTER - Replaced PETSC_DEFAULT with </li>
      <li>- You no longer need MPE to build PETSc. </li>
      <li>- Included petsc/include/options.h within petsc/include/petsc.h -</li>
      <li>Changed distributed array name from RA to DA. Also changed DAGlobalToLocal() to
        DAGlobalToLocalBegin() followed by DAGlobalToLocalEnd(). </li>
      <li>- Changed usage of KSPBuildSolution() slightly to avoid copying when not needed. </li>
      <li>- Remove first argument (rflag) from ALL options database commands, i.e.,
        OptionsGetInt(0,0,&quot;-m&quot;,&amp;m) =&gt; OptionsGetInt(0,&quot;-m&quot;,&amp;m),
        etc. </li>
      <li>- Changed the way memory tracing is done. When compiling with BOPT=g it is the default,
        but you may turn it off with -notrmalloc. When compiling with BOPT=O it is by default off,
        but one may turn it on with -trmalloc or -trdump. </li>
    </ul>
   
   </body>
</html>