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
|
<!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/2016.html" />
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Documentation: Changes: 2.0.16</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.16</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.16</h2>
</div>
<h4>General:</h4>
<ul>
<li>
Added the option -compare option for incremental debugging; see the
users manual for more details.
</li>
<li>
Added tags file so that vi users can easily browse PETSc source files
(just as emacs users already can by using etags). See the users
manual subsection "VI users" for details.
</li>
<li>
We have stopped distributing the UNIX-style manpages with PETSc.
Instead, we now only distribute the HTML version. You can still
access the man pages with the command $PETSC_DIR/bin/petscman.
Alternatively, you can directly view $PETSC_DIR/docs/www/www.html.
</li>
</ul>
<h4>TS (Timestepping Solvers):</h4>
<h4>SNES (Nonlinear Solvers):</h4>
<ul>
<li>
You can now attach several SNES monitoring routines with
SNESMonitorSet() instead of only one as previously allowed.
Similarly, multiple monitors can be used from the options database
(e.g., -snes_monitor and -snes_xmonitor).
</li>
</ul>
<h4>SLES (Linear Solvers):</h4>
<ul>
<li>See PC and KSP</li>
</ul>
<h4>KSP (Krylov Subspace Methods):</h4>
<ul>
<li>
You can now attach several KSP monitoring routines with
KSPSetMonitor() instead of only one as previously allowed. Similarly,
multiple monitors can be used from the options database (e.g.,
-ksp_monitor and -ksp_xmonitor).
</li>
</ul>
<h4>PC (Preconditioners):</h4>
<h4>MAT (Matrices):</h4>
<ul>
<li>
Added the routines MatSetValuesLocal(), MatZeroRowsLocal() and
MatSetLocalToGlobalMapping() to enable the user to set values in
a matrix using a local numbering of the nodes rather than a global
numbering.
</li>
<li>
Added the option MAT_IGNORE_OFF_PROC_ENTRIES for MatSetOptions(),
which causes all entries on any processor destined to be stored on
a different processor to be dropped instead. This is useful if you
know that the "owning" processor is also always generating
the correct entries, so PETSc need not ship over the duplicate entry
generated on another processor. -
</li>
<li>
Added options MAT_COLUMNS_UNSORTED and MAT_ROWS_UNSORTED for
MatSetOptions() to enable switching betwen sorted and unsorted input.
</li>
</ul>
<h4>DA (Distributed Arrays):</h4>
<h4>VEC (Vectors):</h4>
<ul>
<li>
Changed the SCATTER_ALL argument in VecScatterXXX() routines to
SCATTER_FORWARD.
</li>
<li>
Added the routines VecSetValuesLocal() and
VecSetLocalToGlobalMapping() to allow the user to set values into
a vector using a local numbering of the nodes rather than a global
numbering.
</li>
<li>
Added the routine
VecSetOption(Vec,VEC_IGNORE_OFF_PROCESSOR_ENTRIES,PETSC_TRUE), which
causes all entries on any processor destined to be stored on
a different processor to be dropped instead. This is useful if you
know that the "owning" processor is also always generating
the correct entries, so PETSc need not transfer the duplicate entries
generated on another processor.
</li>
</ul>
<h4>IS (Index Sets):</h4>
<h4>Draw (Graphics):</h4>
<ul>
<li>The numbers on the axis plots are much improved.</li>
<li>
You can now pass PETSC_DECIDE as the x and y arguments in DrawOpenX()
and ViewerDrawOpenX() to let PETSc place non-overlapping windows on
the display.
</li>
</ul>
<h4>Viewers:</h4>
<h4>System Routines:</h4>
<ul>
<li>
Added routines PetscSynchronizedPrintf(MPI_Comm,format,args) and
PetscSynchronizedFlush(MPI_Comm), which allow groups of processes to
print to stdout as one would expect. I.e., the output from processor
0 is followed by the output from processor 1, etc. Very useful during
code development. This can often be a substitute for attempting to
sequentialize printf() statements via PetscSequentialPhaseBegin()
and PetscSequentialPhaseEnd(). -
</li>
<li>
Added the command line option -options_file <file> that causes
all options in the specified file to be treated as if they were typed
on the command line.
</li>
<li>
Added the option -log_trace [filename] (and the corresponding routine
PLogTraceBegin()) that allows tracing of all PETSc calls; useful to
see where a program is hanging without running in the debugger. Can
be used in conjunction with the -log_info option.
</li>
<li>
Added PetscRandomSetInterval() to enable the user to set an interval
over which random numbers will be uniformly distributed.
</li>
</ul>
<h4>Event Logging:</h4>
<h4>Fortran Interface:</h4>
<ul>
<li>
Added the Fortran interface for VecDuplicateVecs(), VecDestroyVecs(),
VecMAXPY(), VecMDot(), and VecMTDot().
</li>
</ul>
</div>
</body>
</html>
|