Commit Graph
112 Commits
Author SHA1 Message Date
Tzanio 419bd7c6d7 Some edits in linalg/ 2020-03-09 20:01:11 -07:00
Tzanio 05125e19d5 Removed a space 2020-03-09 15:36:41 -07:00
Tzanio ca55ef0217 The release number for mfem-4.1 is LLNL-CODE-806117 2020-03-02 17:18:46 -08:00
Tzanio e689fd5b28 Merge branch 'master' into bsd-relicense 2020-02-27 09:29:25 -08:00
Tzanio Kolev 120f5a81fd Merge pull request #1278 from mfem/stefanozampini/fix-dmshell
Small fixes when running a matrix-free code (MATSHELL)
2020-02-23 15:02:40 -08:00
Tzanio 2caa222edf A number of changes to switch the code from LGPL-2.1 to BSD-3:
- Updated LICENSE, README, CHANGELOG and CONTRIBUTING.md
- Removed COPYRIGHT, added NOTICE
- Updated the headers in all source files, makefiles, etc.
2020-02-23 11:16:46 -08:00
Julian Andrej 73b14609e6 make style so tests can run 2020-02-03 10:49:40 -08:00
Stefano Zampini 2c737e779e Fix MATSHELL support
it is conceptually wrong freeing the context in the MatDestroy routine,
since MatDuplicate and MatCopy can be called.
Revert back to use the operator in the context only

This does not happen with PC, since we do not have Duplicate/Copy operations

Provided support for MatCopy
2020-01-31 19:09:04 +03:00
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
Stefano Zampini e2425eed55 PETSc and MFEM have a different approach in handling the Jacobians
PETSc reuses the objects, while MFEM usually gives back a new operator each time
When reusing the SNES and TS objects for different simulations,
the matrix type of the underlying DM is never update, nor is the representative matrix
for the DMSHELL (default). This is fine when using AIJ (default mattype in PETSc)
but not when using different types.
2020-01-30 17:19:25 +03: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 ZampiniandTzanio 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