File: 310.md.txt

package info (click to toggle)
petsc 3.23.1%2Bdfsg1-1exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 515,576 kB
  • sloc: ansic: 751,607; cpp: 51,542; python: 38,598; f90: 17,352; javascript: 3,493; makefile: 3,157; sh: 1,502; xml: 619; objc: 445; java: 13; csh: 1
file content (175 lines) | stat: -rw-r--r-- 5,218 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
166
167
168
169
170
171
172
173
174
175
# Changes: 3.10

```{rubric} General:
```

- Removed --with-errorchecking configure option.
- Added new command line option -viewfromoptions to disable
  `XXXViewFromOptions()` calls.

```{rubric} Configure/Build:
```

- Removed --with-viewfromoptions configure option in favor of the
  new command line option -viewfromoptions.

- Following options are renamed to have more consistent names:

  ```
  --with-packages-dir          -> --with-packages-download-dir
  --with-external-packages-dir -> --with-packages-build-dir
  --package-dirs               -> --with-packages-search-path
  --search-dirs                -> --with-executables-search-path
  ```

```{rubric} IS:
```

```{rubric} PetscDraw:
```

```{rubric} PF:
```

```{rubric} Vec:
```

```{rubric} VecScatter:
```

```{rubric} PetscSection:
```

```{rubric} Mat:
```

- MatNullSpaceTest() now respects the options prefix of the provided
  Mat.
- Added MatMatTransposeSolve() to MUMPS interface.
- Added -mat_mumps_use_omp_threads [m] option to better support
  OpenMP in MUMPS.
- Added MatPartitioningViewFromOptions().
- Added MatPartitioningApplyND() to compute a nested dissection
  ordering of a matrix.
- Deprecated MatISGetMPIXAIJ() in favour of MatConvert().
- Added new matrix types for limited-memory variable-metric
  (MATLMVM) approximations of Jacobians.
- Added MATAIJSELL, a sub-type of AIJ that uses SELL format
  internally for SELL-optimized operations.

```{rubric} PC:
```

- PCKSPGetKSP() now raises an error if called on a PC which is not
  of type PCKSP
- Added PCKSPSetKSP()
- Added new PC based on the new LMVM matrices.

```{rubric} KSP:
```

- The KSP viewing options have changed. Now

  - -ksp_compute_eigenvalues becomes -ksp_view_eigenvalues ascii
  - -ksp_plot_eigenvalues becomes -ksp_view_eigenvalues draw
  - -ksp_plot_eigencontours becomes -ksp_view_eigenvalues
    draw::draw_contour
  - -ksp_compute_eigenvalues_explicitly becomes
    -ksp_view_eigenvalues_explicit ascii
  - -ksp_plot_eigenvalues_explicitly becomes
    -ksp_view_eigenvalues_explicit draw
  - -ksp_compute_singularvalues becomes -ksp_view_singularvalues
    ascii
  - -ksp_final_residual becomes -ksp_view_final_residual

- `KSPLSQR`

  - Computes now an estimate of the operator's norm in the same way
    as Saunders and MATLAB, and uses it in the type-specific
    stopping criterion `KSPLSQRConvergedDefault()`; this now
    gives the same number of iterations as MATLAB's `lsqr()`.
  - Added `-ksp_lsqr_exact_mat_norm` and
    `KSPLSQRSetExactMatNorm()` to optionally compute and use the
    exact Frobenius norm instead of the estimate.
  - `KSPLSQRMonitorDefault()` and `-ksp_lsqr_monitor` now
    additionally print the (estimate of) the operator's norm.
  - Allow setting `-ksp_convergence_test lsqr` (it's a default
    for `KSPLSQR`, though).
  - `KSPLSQRSetStandardErrorVec()` is replaced by
    `KSPLSQRSetComputeStandardErrorVec()` which now specifies
    whether standard error vector should be computed instead of
    setting the vector;
  - likewise, option `-ksp_lsqr_set_standard_error` is replaced
    by `-ksp_lsqr_compute_standard_error`.
  - Renamed `KSPLSQRGetArnorm()` to `KSPLSQRGetNorms()` and
    removed its `rhs_norm` argument.
  - Renamed `KSPLSQRDefaultConverged()` to
    `KSPLSQRConvergedDefault()` merged with
    `KSPConvergedLSQR()`.

```{rubric} SNES:
```

- SNESSetTolerances() and -snes_max_funcs now accept -1 to indicate
  unlimited number of function evaluations.

```{rubric} SNESLineSearch:
```

```{rubric} TAO:
```

- Added bound-constrained Newton-Krylov methods (BNLS, BNTR, BNTL).
- All quasi-Newton methods updated to use the new LMVM Mat objects.
- Added a bound-constrained quasi-Newton line search (BQNLS) method
  that re-uses BNLS infrastructure to replace BLMVM on next release.
- Bound-constrained conjugate gradient method expanded with new CG
  update types and nonlinear preconditioning.
- Removed `-tao_type test`.
- Gradient testing can now be accessed with the options
  `-tao_test_gradient`, `-tao_test_gradient_view`, and Hessian
  testing can be done with `-tao_test_hessian`,
  `-tao_test_hessian_view` (also works for matrix-free Hessian).

```{rubric} TS:
```

- Added symplectic time integrators for separable Hamiltonian
  systems (-ts_type basicsymplectic).

```{rubric} DM/DA:
```

- Renamed `DMDAGetReducedDMDA()` to
  `DMDACreateCompatibleDMDA()`.
- Added DMGetCompatibility() and implementation for DMDA

```{rubric} DMPlex:
```

- Added an interface DM and boundary label to
  DMPlexCreateHybridMesh()
- More refined control of `DMView()` when
  `PetscViewerType=PETSCVIEWERHDF5`. `PetscViewerFormat` can now
  be one of
  `{PETSC_VIEWER_HDF5_VIZ, PETSC_VIEWER_HDF5_XDMF, PETSC_VIEWER_HDF5_PETSC, PETSC_VIEWER_DEFAULT}`.
- Parallel mesh load (i.e. mesh distributed right from beginning)
  with `DMLoad()`, `PetscViewerType=PETSCVIEWERHDF5` and
  `PetscViewerFormat=PETSC_VIEWER_HDF5_XDMF`, or
  `DMPlexCreateFromFile()` and `-dm_plex_create_from_hdf5_xdmf`.

```{rubric} PetscViewer:
```

Added argument to `PetscViewerVTKAddField()` to allow skipping of
DM check as fields are added
.. rubric:: SYS:

```{rubric} AO:
```

```{rubric} Sieve:
```

```{rubric} Fortran:
```