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() -> 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() -> 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|| <
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 -> --download-c/f-blas-lapack=yes</li>
<li>--with-c/f-blas-lapack-if-needed -> --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>
|