File: 35.html

package info (click to toggle)
petsc 3.7.5%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 163,864 kB
  • ctags: 618,438
  • sloc: ansic: 515,133; python: 29,793; makefile: 20,458; fortran: 18,998; cpp: 6,515; f90: 3,914; sh: 1,012; xml: 621; objc: 445; csh: 240; java: 13
file content (156 lines) | stat: -rw-r--r-- 9,253 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

 <!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/35.html" />
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>Documentation: Changes: 3.5</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/35.html "><small>Report Typos and Errors</small></a></div>

    <h1>Documentation: Changes: 3.5</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 the PETSc 3.5 Version</a></h2>
      </div>

      <h4>General:</h4>
      <ul>
        <li>--download-f-blas-lapack is now --download-fblaslapack.</li>
        <li>PETSc built with --with-precision=__float128 will now by default read in binary files that have all 128 bits stored in the file, to read in files with 64 bit double 
            use the option -binary_read_double</li>
        <li>PETSc options of complex numbers must be passed as [+/-][realnumber][+/-]realnumberi with no spaces, you can no longer pass the real and complex part with a comma between them</li>
        <li>PetscSynchronizedFlush() takes an additional argument, the file pointer on rank 0</li>
        <li>PetscObjectStateQuery() is now corrected with PetscObjectStateGet()</li>
        <li>A new PetscObjectState typedef is used by interface; 64-bit int to prevent overflow.</li>
        <li>
          The configure option <tt>--with-dynamic-loading</tt> has been
          removed since this functionality is automatically available on
          systems that support it.  Use the runtime
          option <tt>-dynamic_library_preload</tt> for similar functionality.
        </li>
        <li>
          Default location of externalpackages is moved from <tt>PETSC_DIR/externalpackages</tt> to
          <tt>PETSC_DIR/PETSC_ARCH/externalpackages</tt>
        </li>
        <li>
          Added <tt>--with-clean</tt> option to delete the build files in <tt>PETSC_DIR/PETSC_ARCH</tt>
          at the begining of the build
        </li>
        <li>
          The <tt>__SDIR__</tt> macro (and <tt>__INSDIR__</tt>) is no longer used.
          We recommend passing full paths or paths from the project root to the compiler so that error messages contain enough context.
        </li>
        <li>
          The "type" argument to <tt>PetscMalloc2()</tt> through <tt>PetscMalloc7()</tt>, <tt>PetscNew()</tt>, and <tt>PetscNewLog()</tt> have been removed.
          The type is now inferred from the pointer return type.
          <tt>PetscMalloc1()</tt> is now available for allocating arrays, and <tt>PetscCalloc1()</tt> through <tt>PetscCalloc7()</tt> have been added for when cleared (zeroed) memory is needed.
        </li>
        <li>
          Moved matlab scripts like PetscBinaryRead.m PetscBinaryWrite.m from bin/matlab to share/petsc/matlab
        </li>
      </ul>
      <h4>IS:</h4>
      <ul>
        <li>ISLocalToGlobalMappingCreate() now takes a blocksize. Added ISLocalToGlobalMappingApplyBlock() removed ISLocalToGlobalMappingBlock() and ISLocalToGlobalMappingUnblock()</li>
      </ul>

      <h4>PF:</h4>
      <h4>Vec:</h4>
      <h4>VecScatter:</h4>
      <h4>PetscSection:</h4>
      <ul>
        <li>Now only the F90 binding for VecSetValuesSection() is present</li>
      </ul>
      <h4>Mat:</h4>
      <ul>
        <li>Removed third argument to MatNullSpaceRemove().  Use
      VecDuplicate() and VecCopy() if the original Vec must be kept.</li>
        <li>MatGetRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm
      subcomm,PetscInt mlocal_red,MatReuse reuse,Mat *matredundant) is
      replaced by MatRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm subcomm,MatReuse reuse,Mat *matredundant).</li>
        <li>MatGetColoring() has been removed and replaced by the MatColoring object.</li>
      </ul>
      <h4>PC:</h4>
      <ul>
        <li>PCASA has been removed, it never worked properly</li>
        <li>The documented, but semi-private function <tt>PCMGResidual_Default()</tt> is now public and named <tt>PCMGResidualDefault()</tt>.</li>
        <li>PCGAMG default smoother changed from PCJACOBI to PCSOR.</li>
        <li>Different logic for PCBDDC APIs: added PCBDDCSet/GetDirichlet/NeumannBoundariesLocal, PCBDDCSetDofsSplittingLocal. Previous call to PCBDDCXXXBoundaries should be replaced by PCBDDCXXXBoundariesLocal. The same holds for setting the fields split. In all cases, the index sets should have the same communicator as the PC.</li>
        <li>Added PCBDDCSetChangeOfBasisLocalMat for user defined change of basis</li>
        <li><tt>PCFieldSplitSchurPrecondition()</tt> deprecated (replaced in Fortran) in favor of <tt>PCFieldSplitSetSchurPre()</tt>.</li>
      </ul>
      <h4>KSP:</h4>
      <ul>
        <li><tt>KSPSkipConverged()</tt> renamed to <tt>KSPConvergedSkip()</tt>.</li>
        <li><tt>KSPSetOperators()</tt> no longer has the <tt>MatStructure</tt> argument. The Mat objects now track that information themselves. Use <tt>KPS/PCSetReusePreconditioner()</tt> to prevent the recomputation of the preconditioner if the operator changed in the way that <tt>SAME_PRECONDITIONER</tt> did with <tt>KSPSetOperators()</tt></li>
        <li><tt>KSPDefaultConverged()</tt>, <tt>KSPDefaultConvergedDestroy()</tt>, <tt>KSPDefaultConvergedCreate()</tt>, <tt>KSPDefaultConvergedSetUIRNorm()</tt>, and <tt>KSPDefaultConvergedSetUMIRNorm()</tt> are now <tt>KSPConvergedDefault()</tt>, <tt>KSPConvergedDefaultDestroy()</tt>, <tt>KSPConvergedDefaultCreate()</tt>, <tt>KSPConvergedDefaultSetUIRNorm()</tt>, and <tt>KSPConvergedDefaultSetUMIRNorm()</tt>. for consistency.</li>
      </ul>
      <h4>SNES:</h4>
      <ul>
        <li>The matrix arguments to the user functions provided with <tt>SNESSetJacobian()</tt> and  <tt>SNESSetPicard()</tt> are now Mat not Mat*.</li>
        <li>The <tt>MatStructure</tt> argument to the user functions provided with <tt>SNESSetJacobian()</tt> and  <tt>SNESSetPicard()</tt> are gone.</li>
        <li><tt>SNESSetInitialFunctionNorm()</tt> is removed as it's not necessary given that the norm is cached on the Vec.  Use only <tt>SNESSetInitialFunction()</tt>.</li>
        <li><tt>SNESSetFunctionNorm()</tt> and <tt>SNESGetFunctionNorm()</tt> removed.  <tt>Use SNESGetFunction()</tt> and <tt>VecNorm()</tt> instead.
        <li><tt>SNESSkipConverged()</tt> renamed to <tt>SNESConvergedSkip()</tt>.</li>
        <li><tt>SNESGetPC()</tt>/<tt>SNESSetPC()</tt> renamed to <tt>SNESGetNPC()</tt>/<tt>SNESSetNPC()</tt>.</li>
        <li><tt>GS</tt> and _gs used for nonlinear Gauss-Sidel changed to <tt>NGS</tt> and _ngs to match all the other nonlinear solver names.</li>
      </ul>
      <h4>SNESLineSearch:</h4>
      <h4>TS:</h4>
      <ul>
        <li>The matrix arguments to the user functions provided with <tt>TSSetRHSJacobian()</tt> and  <tt>TSSetIJacobian()</tt> are now Mat not Mat*.</li>
        <li>The <tt>MatStructure</tt> argument to the user functions provided with <tt>TSSetRHSJacobian()</tt> and  <tt>TSSetIJacobian()</tt> are gone.</li>
      </ul>
      <h4>DM/DA:</h4>
      <ul>
        <li>DMDAGetLocalToGlobalMappingBlock() has been removed, the DMDAGetLocalToGlobalMapping() now handles both block and non-block cases</li>
        <li>DMDAGetGlobalIndices(DM,PetscInt*,const PetscInt*[]) and DMDARestoreGlobalIndices(DM,PetscInt*,const PetscInt*[]) are removed, use DMGetLocalToGlobalMapping() to get this information</li>
        <li>DMADDA has been removed, it never worked correctly</li>
        <li>The MatType argument is removed from DMCreateMatrix(), you can use DMSetMatType() to indicate the type you want used with a DM, defaults to MATAIJ</li>
        <li><tt>DMDABoundaryType</tt> has become <tt>DMBoundaryType</tt>, and all the enumeration values have also been renamed.</li>
      </ul>
      <h4>DMPlex:</h4>
      <h4>PetscViewer:</h4>
      <h4>SYS:</h4>
      <h4>AO:</h4>
      <h4>Sieve:</h4>
      <ul>
        <li>Sieve/DMMesh has been removed entirely.  Use DMPlex.</li>
      </ul>
      <h4>Fortran:</h4>
      <ul>
        <li>PETSC_DEFAULT_DOUBLE_PRECISION has been replaced with PETSC_DEFAULT_REAL</li>
      </ul>
      <h4>ExternalPackages:</h4>
      <ul>
	<li> Configure options <tt>--download-umfpack</tt> and <tt>--download-cholmod</tt> to download UMFPACK and CHOLMOD have been removed. Use <tt>--download-suitesparse</tt> to download these packages.
	</li>
        <li>
          Added interface to Pardiso solver in Intel MKL. To use MKL_Pardiso,
          PETSc should be configured with <tt>--blas-lapack-dir=LOCATION_OF_INTEL_MKL
          --with-mkl_pardiso-dir=LOCATION_OF_INTEL_MKL</tt> and then run the code with
          <tt>-pc_type lu -pc_factor_mat_solver_package mkl_pardiso</tt>
        </li>
      </ul>
    </div>

    
  </body>
</html>