File: 221.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 (165 lines) | stat: -rw-r--r-- 4,909 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

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

    <h1>Documentation: Changes: 2.2.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 2.2.1</a></h2>
      </div>

      <h4>General:</h4>

      <ul>
        <li>
          Introduced 4 new PETSc data types: PetscInt, PetscErrorCode,
          PetscMPIInt and PetscBLASInt. For 99% of users these are just int or
          integer*4 and you do <b>not</b> need to change your code.
        </li>

        <li>
          For users with more than roughly 2 billion unknowns you can run
          configure with --with-64-bit-ints and then PetscInt will represent 64
          bit integers, long long int in C and integer*8 in Fortran. But the
          the other 3 types remain 32 bit (i.e. int in C and integer*4 in
          Fortran). Now you can index into vectors and matrices with virtually
          unlimited sizes.
        </li>
      </ul>

      <h4>Vec:</h4>

      <ul>
        <li>VecSetStashInitialSize() -&gt; VecStashSetInitialSize()</li>

        <li>
          VecConvertMPIToAll() and VecConvertMPIToZero() have been replaced
          with VecScatterCreateToAll() and VecScatterCreateToZero()
        </li>
      </ul>

      <h4>IS:</h4>

      <ul>
        <li>ISSum() now has a throughput argument instead of one in and one output.</li>
      </ul>

      <h4>Mat:</h4>

      <ul>
        <li>MatSetStashInitialSize() -&gt; MatStashSetInitialSize()</li>
        <li>added MatFactorInfoInitialize()</li>
        <li>added MatStashGetInfo()</li>
        <li>added MatGetVecs()</li>

        <li>
          added MatIsSymmetric(), MatIsTranspose() now take a tolerance flag
          for equality (use 0.0 for identical)
        </li>

        <li>added MatMPIAIJSetPreallocationCSR() and MatMPIBAIJSetPreallocationCSR()</li>
      </ul>

      <h4>PC:</h4>

      <ul>
        <li>ICC now uses Manteuffel shift by default</li>

        <li>
          If matrix is symmetric, PC defaults to ICC when possible, if you told
          with MatSetOption(mat,MAT_SYMMETRIC)
        </li>

        <li>PCSetVector() is gone (no longer needed)</li>
        <li>PCNullSpaceAttach() is gone, use KSPSetNullSpace()</li>
        <li>MatGetSubmatrices() now preserves symmetric flag of original matrix</li>

        <li>
          hypre BoomerAMG (-pc_type hypre -pc_hypre_type boomeramg) now uses
          one 1 cycle of multigrid as preconditioner (Previously it used either
          a decrease in residual of 10^-7 or a maximum of 20 iterations
        </li>
      </ul>

      <h4>KSP:</h4>

      <ul>
        <li>
          Note that a relative residual tolerance now means that ||r_k|| &lt;
          tol*||b||</li> <li> Removed KSPSetRhs() and KSPSetSolution(), pass
        </li>

        <li>Added KSPSetNullSpace(), KSPGetNullSpace()</li>
      </ul>

      <h4>DA:</h4>

      <ul>
        <li>Added DAGetGhostedCoordinates() and DAGetCoordinateDA() (see src/dm/da/examples/tutorials/ex3.c)</li>
        <li>Added DACoor2d and DACoor3d (see src/dm/da/examples/tutorials/ex3.c)</li>

        <li>
          DAGetInterpolation() now provides the correct interpolation for
          nonuniform grids using the coordinate information provided with
          DASetCoordinates(). (see src/dm/da/examples/tutorials/ex3.c)
        </li>
      </ul>

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

      <ul>
        <li>--with-c/f-blas-lapack -&gt; --download-c/f-blas-lapack=yes</li>
        <li>--with-c/f-blas-lapack-if-needed -&gt; --download-c/f-blas-lapack=ifneeded</li>
        <li>added --download-mpich=yes,no,ifneeded</li>
        <li>added --download-mpich-device=</li>
        <li>added --download-mpich-machines=[machines]</li>
        <li>added configure including download support for hypre, parmetis</li>
        <li>added configure support (without download) to Mumps, UMF, Superlu,SuperLU_dist,DSCPACK</li>
        <li>Made configure much more robust</li>
      </ul>

      <h4>SNES:</h4>

      <ul>
        <li>Added -snes_converged_reason</li>
        <li>Added SNESSetRhs(snes,rhs) to allow for solving F(x) = rhs</li>
      </ul>

      <h4>TS:</h4>

      <h4>DMMG:</h4>

      <ul>
        <li>Added DMMGSetNullSpace()</li>
      </ul>

      <h4>SYS:</h4>
      <h4>Fortran:</h4>
      <h4>ExternalPackages:</h4>

    </div>

    
  </body>
</html>