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 321
|
<!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.7.5 2017-01-01</b></div>
<div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.7.5 v3.7.5 docs/changes/2015.html "><small>Report Typos and Errors</small></a></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 "i": PETSC_i
</li>
</ul>
<h4>TS (Time Stepping Module)</h4>
<ul>
<li>Changed TS_PSEUDO_POSITION_INDEPENDENT_TIMESTEP -> TS_PSEUDO_POSIND -</li>
<li>
Changed TSPseudoSetPositionIndependentTimeStep() ->
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 <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>
<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() ->
KSPSetComputeExtremeSingularValues() - Changed
KSPSetCalculateResidual() -> 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_<operation> ->
MATOP_<operation> For example, MAT_MULT -> 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,"-m",&m) =>
OptionsGetInt(0,"-m",&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>
|