Tzanio Kolev
e083fb443e
Merge pull request #1268 from mfem/stefanozampini/fix-td-bchandler
...
PetscBCHandler: fix for -snes_test_jacobian
2020-01-30 08:29:05 -08:00
Tzanio Kolev
11b4c178a5
Merge pull request #1130 from mfem/stefanozampini/petsc-bugfixesandimprovements
...
Bug fixes and improvements for SparseMatrix conversion to PetscParMatrix
2020-01-02 11:41:48 -08:00
Stefano Zampini and Tzanio Kolev
08f3c2ff59
implement suggestion
...
Co-Authored-By: Tzanio Kolev <tzanio@llnl.gov >
2020-01-02 19:34:54 +01:00
Tzanio
c4ed6fa061
make style
2019-12-12 11:53:28 -08:00
Stefano Zampini
4fbe08637c
PetscFieldSplitSolver: Remove futile MATNEST requirement
...
we can still detect saddle points out of an AIJ or MATIS matrix
Also, field detection may happen trough block size information
2019-12-09 16:59:44 +03:00
Stefano Zampini
0345edae2d
PetscSolver: fix issue with blocked Jacobians and PCFIELDSPLIT
2019-12-09 16:59:44 +03:00
Stefano Zampini
9a1110cae5
PetscLinearSolver::SetOperator let the method behave as for other MFEM linear solvers
2019-12-09 16:00:25 +03:00
Stefano Zampini
03d93d30c2
PetscBCHandler: fix for -snes_test_jacobian
...
From the point of view of the solver, I believe the two formulations are equivalent
However, -snes_test_jacobian tells us we need to zero the time-dependent part
2019-12-08 18:42:11 +03:00
Tzanio Kolev
4ba13056c9
Merge pull request #1143 from mfem/stefanozampini/petsc-additions
...
Small petsc additions [stefanozampini/petsc-additions]
2019-11-20 08:24:11 -08:00
Tzanio
c9d022c259
make style
2019-11-11 09:01:57 -08:00
Tzanio
ff0c74c3df
make style
2019-11-05 18:07:14 -08:00
Stefano Zampini
e4e858fff3
PetscLinearSolver: support for solving transposed system
2019-11-05 09:42:43 +03:00
Stefano Zampini
33fa7bb5f1
PetscPreconditioner: support MultTranspose()
2019-11-03 12:49:56 +03:00
Stefano Zampini
3fbdf4da9b
PetscParVector:: add shift method
2019-11-03 12:33:22 +03:00
Stefano Zampini
c53fb9962e
PetscParMatrix: support for triple matrix matrix products
2019-10-20 17:08:46 +03:00
Stefano Zampini
3363aa82c9
PetscParMatrix: support constructing a block-diagonal operator starting from a SparseMatrix
...
Fix bug in sorting column indices
2019-10-20 17:07:54 +03:00
Stefano Zampini
dd100ed42a
Petsc shell PC: be sure to destroy any previous data associated with the PCSHELL
2019-06-18 14:55:57 -04:00
Tzanio
26f137ae88
Merge branch 'mesh-ext-additions' of github.com:mfem/mfem into mesh-ext-additions
2019-05-22 17:37:10 -07:00
Tzanio
7bb68afa73
Patch from Stefano for HYPRE_MIXEDINT.
2019-05-22 16:59:25 -07:00
Stefano Zampini
90a83cb398
PetscSolver::SetPreconditionerFactory : prevent from segfaulting
2019-05-15 11:29:06 +03:00
Stefano Zampini
69981d62eb
Fix for the -snes_mf_operator case
...
The rational here is that since MFEM has only one matrix returned by the GetGradient method,
it is that matrix that have be used to construct the preconditioner
2019-05-15 11:29:06 +03:00
Stefano Zampini
11da55e772
Fix deprecated function from PETSc 3.12
2019-05-15 11:29:06 +03:00
Tzanio
a4f7d19221
Styling
2019-03-30 20:21:02 -07:00
Stefano Zampini
dde32310a0
PetscNonlinearSolver: expose update method
2019-03-14 21:17:40 +03:00
Stefano Zampini
f4b3269a41
BDDC: add support for approximate solvers and scalar spaces
2019-03-14 21:17:40 +03:00
Stefano Zampini
c70e1dc9c8
MFEMInitializePetsc: added a couple of variations
2019-03-14 21:17:40 +03:00
Stefano Zampini
c11a4f4376
Petsc: add support for Operator::ANY_TYPE
2019-03-14 21:17:40 +03:00
Stefano Zampini
1b212fd2e5
prevent Convert_Array_IS from segfaulting
2019-03-14 21:17:40 +03:00
Tzanio
9f7a70668e
make style
2019-02-14 18:36:24 -08:00
Stefano Zampini
1c4eb4bb52
Fix PETSc support for 64bit builds
2019-01-24 17:37:56 +03:00
Stefano Zampini
111357aca2
PetscNonlinearSolver: Initialize local variables in postcheck callback
2019-01-24 15:18:23 +03:00
Tzanio
9a9c29e03f
make style
2018-11-21 15:14:53 +03:00
Stefano Zampini
7c9bf81d17
Prevent from having petsc.h being include from MFEM source codes if not desired
2018-11-21 15:14:53 +03:00
Stefano Zampini
f94b099e40
Added convenience functions to initialize/finalize PETSc without the need of including petsc.h
2018-11-21 15:14:53 +03:00
Stefano Zampini
777c6d98f7
Move the GetComm() methods implementation for PETSc to the cpp file
2018-11-21 15:14:53 +03:00
Stefano Zampini
03f2898985
PetscODESolver: the Init method should reset to the initial state in any case
2018-11-21 15:14:53 +03:00
Stefano Zampini
6ca447ec36
Added some methods to PetscParMatrix to scale rows and columns and to shift the diagonal terms
2018-11-21 15:14:53 +03:00
Stefano Zampini
493c8b1e63
PetscParMatrix: added conversion constructor for SparseMatrix
2018-11-21 15:14:53 +03:00
Stefano Zampini
7724bdf9c4
make style
2018-11-21 15:14:53 +03:00
Stefano Zampini
ddba68f2be
MatISGetMPIXAIJ is deprecated in 3.10 in favor of MatConvert
2018-11-21 15:14:53 +03:00
Stefano Zampini
8f601776cd
Added RAP operation with A Hypre mat and P PETSc
...
Fix documentation regarding PETSC_MATHYPRE
2018-11-21 15:14:53 +03:00
Stefano Zampini
9457962d33
PetscSolver: extended monitoring framework
...
Add a user callback to monitor the solver (defaults to no-hop)
fixed a bug in ex1p.cpp
2018-11-21 15:14:53 +03:00
Stefano Zampini
560697884d
Added method to customize the line search
...
- use an objective function to drive the line search
- run a method after the PETSc's linesearch has been done to further refine it
2018-11-21 15:14:53 +03:00
Stefano Zampini
eb578c55a0
Added method to zero only the rows of a PetscParMatrix
2018-11-21 15:14:53 +03:00
Stefano Zampini
9fa65e6412
Added ParMult method to PetscParMatrix
2018-11-21 15:14:53 +03:00
Stefano Zampini
f3c2fae804
Fix bug in ConvertOperator
2018-11-21 15:14:53 +03:00
Stefano Zampini
ea81393011
Added method to change the inner Mat of a PetscParMatrix
2018-11-21 15:14:53 +03:00
Stefano Zampini
7b6ddb6227
Added SetValues and AddValues to PetscParVector
2018-11-21 15:14:53 +03:00
Stefano Zampini
72bd63a556
Added copy argument to constructor
2018-11-21 15:14:53 +03:00
Stefano Zampini
7f40802a83
PetscBCHandler: added method to apply the BC in place
2018-11-21 15:14:53 +03:00