| #
bbc1464c
|
| 07-May-2021 |
Barry Smith <bsmith@mcs.anl.gov> |
Add support for using -snes_mf_operator with SNESSetPicard()
Applies Newton's method using matrix-free application of the true Jacobian, preconditioned by user provided Picard matrix
This involved
Add support for using -snes_mf_operator with SNESSetPicard()
Applies Newton's method using matrix-free application of the true Jacobian, preconditioned by user provided Picard matrix
This involved adding (*computemffunction)(SNES,Vec,Vec,void*); to be used by the MatCreateSNESMF() operator when it is set and routines to work with the new function.
The implementation requires maintaining a copy of the matrix that is filled by the users routine that computes the matrix at each matrix-vector product. The original matrix is used for constructing the preconditioner and therefor cannot be overwritten.
Also dropped the requirement that the user provide a right hand side function to SNESSetPicard()
Commit-type: feature, example /spend 8h Thanks-to: Saransh Saxena <saransh.saxena5571@gmail.com>
show more ...
|
| #
c20d7725
|
| 22-Mar-2020 |
Jed Brown <jed@jedbrown.org> |
Merge branch 'jed/promote-examples-tests-tutorials' [petsc/petsc!2610]
* jed/promote-examples-tests-tutorials: Promote examples/{tests,tutorials}/ to {tests,tutorials}/
|
| #
c4762a1b
|
| 18-Mar-2020 |
Jed Brown <jed@jedbrown.org> |
Promote examples/{tests,tutorials}/ to {tests,tutorials}/
This shortens paths and improves consistency between test target names and paths to the source and output files. Most of the work was compl
Promote examples/{tests,tutorials}/ to {tests,tutorials}/
This shortens paths and improves consistency between test target names and paths to the source and output files. Most of the work was completed by this script, followed by mild cleanup of nonconforming cases.
for makefile in `git ls-files 'src/*makefile'`; do if rg -q 'DIRS.*\bexamples\b' $makefile; then base=$(dirname $makefile) dirs=$(cd $base/examples && ls -d tests tutorials 2>/dev/null | xargs echo) perl -pi -e "s#^(DIRS.*)\bexamples\b#\1${dirs}#" $makefile git rm $base/examples/makefile for t in $dirs; do git mv $base/examples/$t $base/ perl -pi -e "s#^(LOCDIR[[:space:]]*=).*#\1 $base/$t/#" $base/$t done fi done
git grep -l -E -z 'examples/(tutorials|tests)' | xargs -0 perl -pi -e 's#examples/(tutorials|tests)#\1#g' git checkout @ \ src/docs/website/documentation/changes/ \ src/benchmarks/results/
show more ...
|