File: 2022.html

package info (click to toggle)
petsc 3.2.dfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 124,660 kB
  • sloc: ansic: 342,250; cpp: 62,975; python: 32,761; fortran: 17,337; makefile: 15,867; xml: 621; objc: 594; sh: 492; java: 381; f90: 347; csh: 245
file content (141 lines) | stat: -rw-r--r-- 10,538 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
138
139
140
141
<html>
<body BGCOLOR="FFFFFF">

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

    <p align="center"><font color="#FF0000" size="5">NEW FEATURES
    and CHANGES in PETSc 2.0.22</font><font size="5"> </font></p>
    <p><font size="4"><strong><u>General:</u></strong></font> <ul>
      <li><font size="3">The Fortran90-specific routines such as <strong>VecGetArrayF90()</strong>
        now work with the IBM Fortran compiler, the SGI Fortran 90 compiler, and the Cray T3E
        Fortran compiler.</font></li>
      <li><font size="3">The third argument for the Fortran versions of the routines <strong>VecGetArray()/VecRestoreArray(),</strong>
        <strong>ISGetIndices()/ISRestoreIndices(), MatGetArray()/MatRestoreArray()</strong> and <strong>DAGetGlobalIndices()
        </strong>has been changed from <strong>integer</strong> to <strong>PetscOffset</strong>.
        See src/snes/examples/tutorials/ex5f.F for example usage.</font></li>
      <li><font size="3">Changed the location of the manual pages from docs/www/www.html and
        docs/www to <strong>docs/manualpages/manualpages.html</strong>&nbsp; and <strong>docs/manualpages</strong>.</font></li>
      <li><font size="3">The location of the mpiuni include files (used in the base.site file when
        not compiling with an MPI) has moved from <strong>src/mpiuni </strong>to s<strong>rc/sys/src/mpiuni</strong></font></li>
      <li><font size="3">Added the option -log_summary_exclude &lt;vec,mat,sles,snes&gt; to limit
        the information printed in the summary table</font></li>
      <li><font size="3">Added the option -log_info_exclude &lt;vec,mat,sles,snes&gt; </font></li>
      <li><font size="3">Changed the calling sequences of <strong>PetscGetTime(),
        PetscGetCPUTime(), PetscGetFlops()</strong> to return error codes like all other PETSc
        functions.</font></li>
      <li><font size="3">Changed the internal structure of the PETSc objects. This will not effect
        most users but makes PETSc more extensible for the future.</font></li>
      <li><font size="3">Removed the PETSc object child support and replaced it with</font></li>
    </ul>
    <blockquote>
      <p><font size="3"><strong>PetscObjectCompose(PetscObject,char *name,PetscObject);<br>
      PetscObjectQuery(PetscObject,char *name,PetscObject *);<br>
      PetscObjectComposeFunction(PetscObject,char *name, void *);<br>
      PetscObjectQueryFunction(PetscObject,char *name,void **);</strong></font></p>
    </blockquote>
    <blockquote>
      <p><font size="3">These allow the user to attach objects and functions to any PETSc
      object.</font></p>
    </blockquote>
    <ul>
      <li><font size="3">Added a feeble example that demonstrates how to manage partitioning a
        grid in parallel in <strong>src/mat/examples/tutorials/ex2.c</strong></font></li>
      <li><font size="3">The build command 'make all' in ${PETSC_DIR} will build the PETSc
        libraries, including the fortran interface.</font></li>
    </ul>
    <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> <ul>
      <li><font size="3">The calling sequence of&nbsp; <strong>TSSetType() </strong>has changed;
        see the manual page.</font></li>
      <li><font size="3"><strong>TSType</strong> is now a string, rather than enum type</font></li>
    </ul>
    <p><font size="4"><strong><u>SNES (Nonlinear Solvers): </u></strong></font><ul>
      <li><font size="3">The calling sequence of&nbsp; <strong>SNESSetType() </strong>has changed;
        see the manual page.</font></li>
      <li><font size="3"><strong>SNESType</strong> is now a string, rather than enum type</font></li>
    </ul>
    <p><font size="4"><strong><u>SLES (Linear Solvers):</u></strong></font> <ul>
      <li>See PC and KSP </li>
    </ul>
    <p><font size="4"><strong><u>KSP (Krylov Subspace Methods):</u></strong></font> <ul>
      <li><font size="3">The calling sequence of&nbsp; <strong>KSPSetType() </strong>has changed;
        see the manual page.</font></li>
      <li><font size="3"><strong>KSPType</strong> is now a string, rather than enum type.</font></li>
    </ul>
    <p><font size="4"><strong><u>PC (Preconditioners): </u></strong></font><ul>
      <li><font size="3">Added two new PC classes, <strong>PCSLES</strong> and <strong>PCCOMPOSITE</strong>
        that allow use of any <strong>SLES</strong> object as a preconditioner and enable
        combining several preconditioners.</font></li>
      <li><font size="3">The calling sequence of&nbsp; <strong>PCSetType() </strong>has changed;
        see the manual page.</font></li>
      <li><font size="3"><strong>PCType</strong> is now a string, rather than enum type.</font></li>
    </ul>
    <p><font size="4"><strong><u>MAT (Matrices): </u></strong></font><ul>
      <li><font size="3">Added support for partitioning using the ParMETIS parallel partitioning
        package, see the manual page for <strong>PartitioningCreate</strong>()</font></li>
      <li><font size="3">Added <strong>MatGetColumnVector()</strong></font></li>
      <li><font size="3">Added argument column size to<strong> MatGetSubMatrix()</strong></font></li>
      <li><font size="3">Changed the memory allocation algorithm in<strong> MatLUFactorSymbolic() </strong>and<strong>
        MatILUFactorSymbolic() </strong>based on a suggestion by David Hysom of ODU.</font></li>
      <li><font size="3">The third argument for the Fortran version of the routines <strong>MatGetArray()/MatRestoreArray()</strong>
        has been changed from <strong>integer</strong> to <strong>PetscOffset</strong>. </font></li>
    </ul>
    <p><font size="4"><strong><u>DA (Distributed Arrays): </u></strong></font><ul>
      <li><font size="3">Changed <strong>DAGetDistributedVector()</strong> and <strong>DAGetLocalVector()</strong>
        to <strong>DACreateGlobalVector()</strong> and<strong><u> </u>DACreateLocalVector().</strong>
        You should destroy these vectors with a usual call to <strong>VecDestroy().</strong></font></li>
      <li><font size="3">The third argument for the Fortran version of the routine <strong>DAGetGlobalIndices()</strong>
        has been changed from <strong>integer</strong> to <strong>PetscOffset</strong>. </font></li>
    </ul>
    <p><font size="4"><strong><u>VEC (Vectors):</u></strong></font> <ul>
      <li><font size="3">Added <strong>VecSetBlockSize(), VecSetValuesBlocked(),
        VecSetValuesBlockedLocal(), VecSetLocalToGlobalMappingBlocked()</strong></font></li>
      <li><font size="3">Added<strong> VecCreatedShared(),</strong> which creates a parallel
        vector in shared memory on the SGI machines</font></li>
      <li><font size="3">Changed <strong>VEC_IGNORE_OFF_PROCESSOR_ENTRIES</strong> to <strong>VEC_IGNORE_OFF_PROC_ENTRIES</strong></font></li>
      <li><font size="3">The third argument for the Fortran versions of the routines <strong>VecGetArray()/VecRestoreArray(),</strong>
        &nbsp; has been changed from <strong>integer</strong> to <strong>PetscOffset</strong>. See
        src/snes/examples/tutorials/ex5f.F for example usage.</font></li>
      <li><font size="3"><strong>VecGetArray(), VecRestoreArray() </strong>now work from Fortran
        on all machines, finally after 3 long years!</font></li>
      <li><font size="3">Changed the calling sequence of <strong>VecCreate()</strong>, now takes
        both local and global size, see the manual page.</font></li>
    </ul>
    <p><font size="4"><strong><u>IS (Index Sets): </u></strong></font><ul>
      <li><font size="3">The third argument for the Fortran versions of the routines&nbsp; <strong>ISGetIndices()/ISRestoreIndices()
        </strong>has been changed from <strong>integer</strong> to <strong>PetscOffset</strong>. </font></li>
    </ul>
    <p><font size="4"><strong><u>Draw (Graphics):</u></strong></font></p>
    <p><font size="4"><strong><u>Viewers: </u></strong></font></p>
    <p><font size="4"><strong><u>System:</u></strong></font></p>
    <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> <ul>
      <li><font size="3"><strong>PETSC_NULL</strong> has been replaced with <strong>PETSC_NULL_INTEGER</strong>,
        <strong>PETSC_NULL_SCALAR</strong>, <strong>PETSC_NULL_DOUBLE</strong> or <strong>PETSC_NULL_CHARACTER</strong>
        depending on the context for usage. If the function expects an integer, a scalar (double
        or complex depending if you compile with BOPT=*_complex), a double precision array, or a
        string.</font></li>
      <li><font size="3">The Fortran include files are now located in the directory
        &quot;include/finclude/*.&quot;, rather than &quot;include/FINCLUDE/*.h&quot;. The include
        files that used to be in &quot;include/finclude/*.h (not recommended) are now in
        &quot;include/foldinclude/*.h&quot;</font></li>
      <li><font size="3">If&nbsp; you have stored PETSc objects in Fortran integer arrays, such as
        <font color="#FF0000">user(3) = vec </font>you have to declare those arrays to be of type <strong>PetscFortranAddr</strong>
        instead of as integer. Note that <strong>PetscFortranAddr</strong> is simply integer on 32
        bit machines and integer*8 on 64 bit machines.</font></li>
      <li><font size="3">The Fortran90-specific routines such as <strong>VecGetArrayF90()</strong>
        now work with the IBM Fortran compiler, the SGI Fortran 90 compiler, and the Cray T3E
        Fortran compiler.</font></li>
      <li>PETSc objects can now be passed between C and Fortran directly. You do not have to use
        the commands <strong>PetscCObjectToFortranObject()</strong> and <strong>PetscFortranObjectToCObject()</strong>
        to translate the objects between languages.</li>
      <li>Changed&nbsp; Fortran object argument from type int to type PetscFortranAddr in the
        routines <strong>PetscCObjectToFortranObject()</strong> and &nbsp; <strong>PetscFortranObjectToCObject().</strong></li>
      <li>Added the routine <strong>PetscInitializeFortran()</strong> to assist in mixed-language
        use of PETSc.&nbsp; See the manual page for details.<br>
      </li>
    </ul>
    </body>
</html>