File: 2015.html

package info (click to toggle)
petsc 3.4.2.dfsg1-8.1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 129,104 kB
  • ctags: 516,422
  • sloc: ansic: 395,939; cpp: 47,201; python: 34,788; makefile: 17,193; fortran: 16,251; f90: 1,592; objc: 954; sh: 822; xml: 621; java: 381; lisp: 293; csh: 241
file content (320 lines) | stat: -rw-r--r-- 11,309 bytes parent folder | download
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
  <head> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/changes/2015.html" />
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>Documentation: Changes: 2.0.15</title>
  </head>
  <body bgcolor="#ffffff">
   <div id="version" align=right><b>petsc-3.4.2 2013-07-02</b></div>

    <h1>Documentation: Changes: 2.0.15</h1>

    

    <style type="text/css">
      h2 {
        color: red;
      }

      h4 {
        font-weight: bold;
        text-decoration: underline;
      }
    </style>

    <div id="main">

      <div align="center">
        <h2>NEW FEATURES and <a name="CHANGES">CHANGES</a> in PETSc 2.0.15</h2>
      </div>

      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>

      <h4>General</h4>

      <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:
          <ul>
            <li>PetscGlobalRank - processor's rank in MPI_COMM_WORLD</li>
            <li>PetscGlobalSize - number of processors in MPI_COMM_WORLD</li>
          </ul>
        </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>

      <h4>TS (Time Stepping Module)</h4>

      <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>

      <h4>SNES (Nonlinear Solvers):</h4>

      <ul>
        <li>
          The user can now set parameters used in matrix-free approximations of
          Jacobian-vector products, with the options -snes_mf_err &lt;err&gt; : square
          root of relative error in computing function -snes_mf_umin &lt;umin&gt;:
          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_&lt;parameter_name&gt; - nonlinear
          equations, line search method -snes_eq_tr_&lt;parameter_name&gt;
          - nonlinear equations, trust region method
          -snes_um_ls_&lt;parameter_name&gt;- unconstrained minimization, line
          search method -snes_um_tr_&lt;parameter_name&gt; - unconstrained
          minimization, trust region method Run program with -help for a detailed
          list of options.
        </li>
      </ul>

      <h4>SLES (Linear Solvers): See PC and KSP</h4>

      <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>

      <h4>KSP (Krylov subspace methods):</h4>

      <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>

      <h4>PC (Preconditioners):</h4>

      <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>

      <h4>MAT (Matrices):</h4>

      <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_&lt;operation&gt; -&gt;
          MATOP_&lt;operation&gt; For example, MAT_MULT -&gt; MATOP_MULT.
        </li>
      </ul>

      <h4>DA (Distributed Arrays):</h4>
      <h4>VEC (Vectors):</h4>
      <h4>IS (Index Sets):</h4>

      <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>

      <h4>Draw (Graphics):</h4>

      <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>

      <h4>VIEWERS:</h4>

      <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>

      <h4>SYSTEM:</h4>
      <h4>EVENT LOGGING:</h4>
      <h4>FORTRAN INTERFACE:</h4>

      <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>

    </div>

    
  </body>
</html>