Commit Graph
86 Commits
Author SHA1 Message Date
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
Stefano Zampini 04983d747e PetscODESolver: added the special function TSComputeSplitJacobians_C
This special function is used in the branch stefano_zampini/feature-continuousadjoint to enable PDE constrained optimization
If that branch will not get merged into PETSc, I'll will do my own library and this function will be still needed.
2018-11-21 15:14:53 +03:00
Stefano Zampini 795c758dd4 PetscParMatrix: added customization of the diagonal entry when eliminating rows and columns 2018-11-21 15:14:53 +03:00
Stefano Zampini 94f7568165 PetscParMatrix: add -= operator 2018-11-21 15:14:53 +03:00
Stefano Zampini c8e0a5ae00 PetscParVector: added few operators and default case for Randomize() 2018-11-21 15:14:53 +03:00
Stefano Zampini 7934db1a9c PetscODESolver::Run: Run reset Jacobian caching
This method may be invoked multiple times, each time with a different parametrization of the TimeDependentOperator
2018-11-21 15:14:53 +03:00
Stefano Zampini 34cc491b19 PetscBCHandler: remove hideous setup requirement and do lazy setup 2018-11-21 15:14:53 +03:00
Stefano Zampini ff6bfe3808 Add constructor with conversion 2018-11-21 15:14:53 +03:00
Stefano Zampini e69f787149 PetscODESolver: added method to set the type of solver at a later stage 2018-11-18 11:28:36 +03:00
Stefano Zampini ab7b1609a9 PetscParMatrix: add method to get local ownership of rows and columns 2018-11-18 11:28:36 +03:00
Stefano Zampini bc9f74fddd PetscParMatrix: added constructor for submatrix 2018-11-18 11:28:36 +03:00
Stefano Zampini eb651cd3fc Change composed object name to match that used inside the PETSc library 2018-05-31 11:10:20 +03:00
Tzanio 81e8551911 Uniform copyright 2018-05-25 15:50:18 -07:00
Jamie A. Bramwell 45dfc93db0 make style 2018-01-16 10:13:36 -08:00
Stefano Zampini 846c555fa8 Fix PetscODESolver::Step implementation to return the actual time step used instead of the next candidate
This is to have a uniform behaviour of all the Step methods implemented in MFEM
We need to use a larger time step in the examples to trigger adaptivity, otherwise the default time step is always accepted
2017-10-09 09:41:08 +03:00
Stefano Zampini 19be5aa3e1 Make style 2017-08-27 19:25:36 +03:00
Stefano Zampini 8e290a68a8 Need to convert when the type of J is different that requested 2017-08-27 19:24:31 +03:00
Stefano Zampini 387285b6bc A more robust way of caching Jacobians by using PetscObjectState 2017-08-27 19:23:31 +03:00