File: 31.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 (282 lines) | stat: -rw-r--r-- 8,965 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

 <!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/31.html" />
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>Documentation: Changes: 3.1</title>
  </head>
  <body bgcolor="#ffffff">
   <div id="version" align=right><b>petsc-3.4.2 2013-07-02</b></div>

    <h1>Documentation: Changes: 3.1</h1>

    

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

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

    <div id="main">

      <div align="center">
        <h2><a name="CHANGES">CHANGES in PETSc 3.1</a></h2>
      </div>

      <h4>General:</h4>

      <ul>
        <li>
          PetscOptionsHasName() and PetscOptionsName() now return PETSC_TRUE if
          the options are set to any value, include false or 0. You may need to
          change some of your PetscOptionsXXName() to PetscOptionsXXTruth()
        </li>

        <li>
          Added configure option --with-single-library that causes all PETSc
          code to be compiled into the single library libpetsc.XXX
        </li>

        <li>
          PetscMap changed to PetscLayout and PetscMapInitialize() changed to
          PetscLayoutCreate() and it now allocates the space of the
          object.
        </li>

        <li>
          In makefiles include ${PETSC_DIR}/conf/base is replaced with two
          lines include ${PETSC_DIR}/conf/variables and&nbsp; include
          ${PETSC_DIR}/conf/rules
        </li>

        <li>BlockSolve95 interface is removed</li>

        <li>
          petsc.h and petscdef.h are replaced with petscsys.h and
          petscsysdef.h; while petsc.h now includes ALL PETSc include
          files.
        </li>

        <li>
          win32fe [used for MS/Intel compiler builds on windows] now defaults
          to 'noautodetect' mode. However the previous behavior can be restored
          by using the option '--autodetect'. For eg: '--withcc=win32fe cl
          --autodetect'. This works primarily with old VC6/VC7/Intel8 etc
          compilers anyway.
        </li>
      </ul>

      <h4>Logging:</h4>

      <ul>
        <li>PetscLogFlops(int) -&gt;PetscLogFlops(PetscLogDouble). [check fortran usage]</li>
      </ul>

      <h4>config/configure.py:</h4>

      <ul>
        <li>
          All ./configure options that state known values, so that ./configure
          doesn't try to test for them. Often used with the --with-batch option
          now begin with --known-
        </li>
      </ul>

      <h4>IS:</h4>
      <h4>Vec:</h4>
      <h4>VecScatter:</h4>
      <h4>Mat:</h4>

      <ul>
        <li>
          MatGetSubMatrix:
          <ul>
            <li>
              Now takes a parallel IS for the columns, the csize argument has been
              dropped. The local part of this IS corresponds to the local columns of
              the new submatrix.
            </li>
          </ul>
        </li>

        <li>
          MatGetSubMatrixRaw
          <ul>
            <li>Removed, use MatGetSubMatrix</li>
          </ul>
        </li>

        <li>
          Changed name of option MAT_KEEP_ZEROED_ROWS to
          MAT_KEEP_NONZERO_PATTERN to more clearly indicate what it does.
        </li>

        <li>
          Added MAT_SHARE_NONZERO_PATTERN as option for MatDuplicate() this
          allows several matrices to share the same data structures for the
          nonzeros and thus save memory.
        </li>

        <li>
          The function provided to MatNullSpaceSetFunction() now takes
          a MatNullSpace() as the first argument. Added Fortran interface for
          this function as well.
        </li>

        <li>Removed MatPBRelax() merged its functionality into MatRelax()</li>
        <li>Changed MatRelax() to MatSOR() to match MatSORType() and PCSOR</li>

        <li>
          Removed requirement that rows be sorted in
          MatCreateMPIAIJWithArrays() and MatMPIAIJSetPreallocationCSR().
        </li>
        <li>Changed MATOP_DIAGONAL_SHIFT to MATOP_DIAGONAL_SET to match function name MatDiagonalSet().</li>
        <li>MATMPIROWBS i.e BlockSolve95 interface is now removed.</li>
      </ul>

      <h4>PC:</h4>

      <ul>
        <li>
          PCShell All user-provided functions now have PC as first argument
          instead of the application context. Users should obtain the context
          with PCShellGetContext, similar to MatShell.
        </li>

        <li>Removed -pc_asm_in_place and PCASMSetUseInPlace() since the option made no sense</li>

        <li>
          PCApplyRichardson() has an additional argument indicating if the
          initial guess being passed in is nonzero. SOR will save some work if
          it is zero.
        </li>

        <li>
          MatSetBlockSize() is no longer an error for BAIJ matrices, but the
          argument must be the same as when the matrix was preallocated.
        </li>

        <li>PCFactorSetPivoting() renamed to PCFactorSetColumnPivot()</li>

        <li>
          Replaced PCFactorSetShiftNonzero(), PCFactorSetShiftPd() and
          PCFactorSetShiftInBlocks() with PCFactorSetShiftType() and
          PCFactorSetShiftAmount(). Replaced -pc_factor_shift_nonzero,
          -pc_factor_shift_positive_definite and -pc_factor_shift_in_blocks
          with -pc_factor_shift_type &lt;shifttype&gt; and -pc_factor_shift_amount
          &lt;shiftamount&gt;.
        </li>

        <li>Added PCREDISTRIBUTE for load balancing and removal of Dirichlet degrees of freedom.</li>
      </ul>

      <h4>KSP:</h4>

      <ul>
        <li>
          Added KSPCGUseSingleReduction() -ksp_cg_single_reduction; recommended
          for use with many processors when VecDot() starts to take a large
          amount of time, Requires 2 extra work vectors.
        </li>

        <li>
          Added KSPGCR (Generalized Conjugate Residuals), a flexible method
          (like FGMRES) providing inexpensive residuals.
        </li>
      </ul>

      <h4>SNES:</h4>
      <h4>TS:</h4>

      <ul>
        <li>Rename TS_EULER, TS_BEULER, etc like TSEULER for consistency with other packages.</li>

        <li>
          Add Theta and General Linear time integrators (TSTHETA, TSGL). These
          can be used for solving differential algebraic equations (DAE) using
          the new TSSetIFunction() and TSSetIJacobian().
        </li>

        <li>
          Add TSSSP which implements optimal strong stability preserving time
          integrators of order 2, 3, and 4 using a low-storage explicit
          Runge-Kutta scheme.
        </li>

        <li>
          Change TSSetPreStep() and TSSetPostStep() to run before and after
          each step instead of before and after each solve.
        </li>
      </ul>

      <h4>DA:</h4>

      <ul>
        <li>DAGetColoring() now takes a MatType as an additional argument, should be MATAIJ or MATBAIJ</li>

        <li>
          Added DARefineHierarchy(), DMMG now always uses DMRefineHierarchy to
          generate refined grids. Added options -da_refine_hierarchy_[xyz] to
          allow semi-coarsening at some levels of the hierarchy.
        </li>

        <li>
          DASetCoordinates() now references the vector, so the user should
          release their reference by calling VecDestroy().
        </li>
      </ul>

      <h4>DMMG:</h4>
      <h4>PetscViewer:</h4>

      <h4>SYS:</h4>

      <ul>
        <li>
          PetscSleep(), PetscDrawGetPause(), and PetscDrawSetPause() now take
          PetscReal instead of int. Also, -draw_pause takes a real value.
        </li>

        <li>
          PetscRandomGetValueImaginary() is removed. To get a complex number
          with only a random imaginary part first call PetscRandomSetInterval()
          with the same low and high real part.  Similarly one can obtain
          a complex number with only a random real part by setting the low and
          high imaginary part to be the same.
        </li>
      </ul>

      <h4>AO:</h4>
      <h4>Sieve:</h4>
      <h4>Fortran:</h4>

      <ul>
        <li>
          Removed the old compiler dependent implementation of f90 interface
          sources in favor of the new compiler independent implementation.
          Consequently the configure option --with-f90-interface is removed.
          And the f90 interface is automatically built - if an f90 compiler is
          detected. [this is the default behavior before this change
          aswell]
        </li>

        <li>use petsc and use petscdef are now use petscsys and use petscsysdef</li>
      </ul>

      <h4><a href="http://www.mcs.anl.gov/petsc/miscellaneous/external.html">ExternalPackages</a>:</h4>

      <ul>
        <li>Added MATORDERING_AMD for Tim Davis' Approximate Minimum Degree package.</li>
      </ul>

    </div>

    
  </body>
</html>