File: 2029.html

package info (click to toggle)
petsc 2.2.0-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 64,404 kB
  • ctags: 284,528
  • sloc: ansic: 223,999; python: 11,758; makefile: 7,707; fortran: 6,327; cpp: 4,104; sh: 3,387; csh: 41; asm: 6
file content (137 lines) | stat: -rw-r--r-- 8,095 bytes parent folder | download | duplicates (5)
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
<html>
<body BGCOLOR="FFFFFF">

    <h1> Docs:&nbsp;Changes: 2.0.29</h1>
    

    <p align="center"><font color="#FF0000" size="5"><a
    name="CHANGES">CHANGES</a> in PETSc 2.0.29 (see new <a href="#Features">features</a>)</font></p>
    <p><font size="4"><strong><u>General:</u></strong></font> 
    <p><font size="4"><strong><u>AO (Application Orderings):</u></strong></font></p>
    <p><font size="4"><strong><u>TS (Timestepping Solvers):</u></strong></font> 
    <p><font size="4"><strong><u>SNES (Nonlinear Solvers): </u></strong></font>
    <ul>
      <li>The second argument to MatSNESMFSetType() is now a MatSNESMFType, rather than
        a char*. This should not affect any user code. Current built in choices are
        MATSNESMF_DEFAULT "default" and MATSNESMF_WP &quot;wp&quot;</li>
      <li>SNESGetJacobian() now has an additional optional final argument that can return the function pointer</li>
      <li>SNESGetFunction() now has an additional optional final argument that can return the function pointer</li>
    </ul>
    <p><font size="4"><strong><u>SLES (Linear Solvers):</u></strong></font> 
    <p><font size="4"><strong><u>KSP (Krylov Subspace Methods):</u></strong></font> 
    <p><font size="4"><strong><u>PC (Preconditioners): </u></strong></font>
    <ul>
      <li>PCILUSetReuseFill() changed to PCILUDTSetReuseFill() and -pc_ilu_reuse_fill changed
        to -pc_iludt_reuse_fill Note that currently these functions don't work.</li>
      <li>PCNullSpaceXXX changed to MatNullSpaceXXX except for PCNullSpaceAttach()</li>
      <li>MGSetLevels() now takes an additional optional final argument that is an array
        of communicators to use on the SLES on each level
        <br>
      </li>
    </ul>
    <p><font size="4"><strong><u>MAT (Matrices): </u></strong></font>
    <ul>
      <li>Changed MatDiagonalShift(Mat,Vec) to MatDiagonalSet(Mat,Vec,InsertMode);</li>
      <li>Dropped the second to last argument to MatCreateRowbs()</li>
      <li>-mat_ordering_type now should be either -pc_ilu_mat_ordering_type,&nbsp;<br>
        -pc_lu_mat_ordering_type, -pc_icc_mat_ordering_type or -pc_cholesky_mat_ordering_type</li>
    </ul>
    <p><font size="4"><strong><u>DA (Distributed Arrays): </u></strong></font>
    <p><font size="4"><strong><u>VEC (Vectors):</u></strong></font> 
    <p><font size="4"><strong><u>IS (Index Sets): </u></strong></font></p>
    <ul>
      <li>ISEqual() now is collective and returns true only if each processor has the same
        indices&nbsp;</li>
      <li>ISGetSize() now returns global parallel size, ISGetLocalSize() returns local size</li>
    </ul>
    <p><font size="4"><strong><u>General:</u></strong></font> 
    <ul>
      <li>All include files like mat.h vec.h sles.h snes.h ts.h etc are now changed to petscmat.h petscvec.h
        petscsles.h petscsnes.h petscts.h</li>
    </ul>
    <p><font size="4"><strong><u>Draw (Graphics):</u></strong></font> 
    <p><font size="4"><strong><u>Viewers: </u></strong></font>
    <p><font size="4"><strong><u>System:</u></strong></font> 
    <ul>
      <li>FListDestroy now takes FList * instead of FList</li>
    </ul>
    <p><font size="4"><strong><u>Error Handling:</u></strong></font></p>
    <p><font size="4"><strong><u>Event Logging:</u></strong></font></p>
    <ul>
      <li>PLogEventBegin(), PLogEventEnd(), PLogFlops(), PLogEventBarrierBegin() and
        PLogEventBarrierEnd() now return error codes.</li>
    </ul>
    <p><font size="4"><strong><u>Fortran Interface:</u></strong></font> </p>
    <p>&nbsp;</p>
    <p align="center"><font color="#FF0000" size="5">New <a name="Features">Features</a> in
    PETSc 2.0.29 (see <a href="#CHANGES">changes</a> above)</font></p>
    <p><font size="4"><strong><u>General:</u></strong></font> 
    <p><font size="4"><strong><u>AO (Application Orderings):</u></strong></font> 
    <p><font size="4"><strong><u>TS (Timestepping Solvers):</u></strong></font> 
    <p><font size="4"><strong><u>SNES (Nonlinear Solvers): </u></strong></font>
    <p><font size="4"><strong><u>SLES (Linear Solvers):</u></strong></font> 
    <p><font size="4"><strong><u>KSP (Krylov Subspace Methods):</u></strong></font> 
    <ul>
      <li>Minres solver contibuted by: Robert Scheichl: <a href="mailto:maprs@maths.bath.ac.uk">maprs@maths.bath.ac.uk</a></li>
      <li>SYMMLQ solver contributed by Hong Zhang</li>
    </ul>
    <p><font size="4"><strong><u>PC (Preconditioners): </u></strong></font>
    <ul>
      <li>ICC(k) and Cholesky() preconditioners are now available for the new
        SeqSBAIJ matrices.</li>
      <li>added -pc_ilu_damping and -pc_lu_damping, PCILUSetDamping(),
        PCLUSetDamping() for handling singular or matrices that generate a zero pivot.&nbsp;</li>
      <li>Added DAMGCreate() etc to help easily write parallel multigrid codes
        that use rectangular grids</li>
      <li>Paulo Goldfeld contributed new PCType of nn, a version of Mandel's
        balancing Neumann-Neumann preconditioner, see src/contrib/oberman/laplacian_q1
        for an example of its use</li>
    </ul>
    <p><font size="4"><strong><u>MAT (Matrices): </u></strong></font>
    <ul>
      <li>added new matrix types SeqSBAIJ and MPISBAIJ for symmetric matrices.
        These store only the upper triangular portion of the matrix. We also
        provide ICC(k) and Cholesky factorization (currently only for block size
        of 1) for the SeqSBAIJ matrices</li>
      <li>augmented the SeqAIJ matrices to support -mat_aij_matlab that causes the&nbsp;<br>
   matrices to use the Matlab engine for sparse LU, and ILUDT factorization and solves.   Which have pivoting and thus are more robust than PETSc's default.</li>
    </ul>
    <p><font size="4"><strong><u>DA (Distributed Arrays): </u></strong></font>
    <ul>
      <li>added -da_noao for DACreateXXX() makes them more scalable, but cannot use the natural numbering
        DA routines with this option.</li>
      <li>Added DAMGCreate() etc to help easily write parallel multigrid codes
        that use rectangular grids</li>
    </ul>
    <p><font size="4"><strong><u>VEC (Vectors):</u></strong></font> 
    <p><font size="4"><strong><u>IS (Index Sets): </u></strong></font>
    <p><font size="4"><strong><u>PF:</u></strong></font>
    <ul>
      <li>added the type PFMATLAB with -pf_type matlab -pf_matlab matlab_commands</li>
    </ul>
    <p><font size="4"><strong><u>Draw (Graphics):</u></strong></font>
    <p><font size="4"><strong><u>Viewers: </u></strong></font>
        <br>
    <p><font size="4"><strong><u>System:</u></strong></font>
    <ul>
      <li>Add PetscMatlabEngineCreate() which allows calling Matlab functions
        from PETSc on each processor. Good for graphics or numerical routines
        that PETSc does not have. for example for the local evaluation of the parallel nonlinear
        function required for SNES; see src/snes/examples/tutorials/ex5m.c. This functionality
        is accessed via the commands
        PetscMatlabEngineCreate(),Put(),Get(),Evaluate() and Destroy() It even imports the Matlab flop counts correctly. Obviously you
        need enough Matlab licenses for each node. Note: Matlab itself is not directly doing any parallel computing.</li>
      <li>added PetscSetHelpVersionFunctions() for developers of other libraries that use PETSc.</li>
      <li> added PetscPoUpSelect(), see src/sys/examples/tests/ex15.c</li>
      <li>added int PetscShowMemoryUsage(Viewer viewer,char *message)</li>
      <li>added PreLoadBegin(), PreLoadStage() and PreLoadEnd() to simplify getting
        accurate timings by peloading. See src/snes/examples/tutorials/ex10.c</li>
      <li>added PetscSynchronizedFGets()<br>
      </li>
    </ul>
    <p><font size="4"><strong><u>Error Handling:</u></strong></font></p>
    <p><font size="4"><strong><u>Event Logging:</u></strong></font></p>
    <p><font size="4"><strong><u>Fortran Interface:</u></strong></font> 
    <p><br>
    </body>
</html>