File: 221.md.txt

package info (click to toggle)
petsc 3.24.1%2Bdfsg1-1exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 524,004 kB
  • sloc: ansic: 762,842; cpp: 52,564; python: 39,546; f90: 17,688; javascript: 3,493; makefile: 3,206; sh: 1,508; xml: 619; objc: 445; java: 13; csh: 1
file content (110 lines) | stat: -rw-r--r-- 3,143 bytes parent folder | download | duplicates (2)
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
# Changes: 2.2.1

```{rubric} General:
```

- 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 **not** need to change your code.
- 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.

```{rubric} Vec:
```

- VecSetStashInitialSize() -> VecStashSetInitialSize()
- VecConvertMPIToAll() and VecConvertMPIToZero() have been replaced
  with VecScatterCreateToAll() and VecScatterCreateToZero()

```{rubric} IS:
```

- ISSum() now has a throughput argument instead of one in and one
  output.

```{rubric} Mat:
```

- MatSetStashInitialSize() -> MatStashSetInitialSize()
- added MatFactorInfoInitialize()
- added MatStashGetInfo()
- added MatGetVecs()
- added MatIsSymmetric(), MatIsTranspose() now take a tolerance flag
  for equality (use 0.0 for identical)
- added MatMPIAIJSetPreallocationCSR() and
  MatMPIBAIJSetPreallocationCSR()

```{rubric} PC:
```

- ICC now uses Manteuffel shift by default
- If matrix is symmetric, PC defaults to ICC when possible, if you
  told with MatSetOption(mat,MAT_SYMMETRIC)
- PCSetVector() is gone (no longer needed)
- PCNullSpaceAttach() is gone, use KSPSetNullSpace()
- MatGetSubmatrices() now preserves symmetric flag of original
  matrix
- 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

```{rubric} KSP:
```

- Note that a relative residual tolerance now means that ||r_k|| \<
  tol\*||b||
- Removed KSPSetRhs() and KSPSetSolution(), pass
- Added KSPSetNullSpace(), KSPGetNullSpace()

```{rubric} DA:
```

- Added DAGetGhostedCoordinates() and DAGetCoordinateDA() (see
  src/dm/da/examples/tutorials/ex3.c)
- Added DACoor2d and DACoor3d (see
  src/dm/da/examples/tutorials/ex3.c)
- DAGetInterpolation() now provides the correct interpolation for
  nonuniform grids using the coordinate information provided with
  DASetCoordinates(). (see src/dm/da/examples/tutorials/ex3.c)

```{rubric} config/configure.py:
```

- --with-c/f-blas-lapack -> --download-c/f-blas-lapack=yes
- --with-c/f-blas-lapack-if-needed ->
  --download-c/f-blas-lapack=ifneeded
- added --download-mpich=yes,no,ifneeded
- added --download-mpich-device=
- added --download-mpich-machines=[machines]
- added configure including download support for hypre, parmetis
- added configure support (without download) to Mumps, UMF,
  Superlu,SuperLU_dist,DSCPACK
- Made configure much more robust

```{rubric} SNES:
```

- Added -snes_converged_reason
- Added SNESSetRhs(snes,rhs) to allow for solving F(x) = rhs

```{rubric} TS:
```

```{rubric} DMMG:
```

- Added DMMGSetNullSpace()

```{rubric} SYS:
```

```{rubric} Fortran:
```

```{rubric} ExternalPackages:
```