jed/mattaij

 Loading...
Author  Commit  Message  Date  Builds  

250+ commits behind master.  
IRK test: add coarse level



WIP KSP ex61.c: checkpoint 3D Poisson with implicit RungeKutta



WIP: TAIJ with nonzero T



Mat: expose PetscLINPACKgefa and gedi withvisibility



fefe8f0
M

Merge branch 'master' into jed/mattaij
Get build system updates and PetscMalloc1. Fix %G and malloc in
MatRestoreRow_*TAIJ.
* master: (2564 commits)
Doc: Added some references
do not print clang deprecation messages for SSL (on appble)
PetscTextBelt() requires socket viewer
test: remove unused test scripts
nightlybuilds: add a test for c++/complex with 64bitindices [on osx with clang]
malloc: PETSC_USE_MALLOC_COALESCED,…



Mat TAIJ: fix memory management for SOR and optimize I (x) S + J (x) I



MatMPITAIJ: add MatGetDiagonalBlock_MPITAIJ, to support block Jacobi/SOR



KSP ex60: factor assembly into separate function



KSP ex60: update output for "report time steps and Krylov iterations"



Mat kernel: fix comment



MatTAIJ: Optimized the backward sweep of MatSOR_SeqTAIJ by saving the application of lower triangular during forward sweep.



MatTAIJ: Implemented MatSOR_SeqTAIJ



KSP ex60: report time steps and Krylov iterations



MATTAIJ: Fixed two compilation warnings resulting from not calling CHKERRQ(ierr).



KSP ex60: report final time, update output files



KSP ex60: add centereddifference discretization of advection



KSP ex60: make new arbitraryorder Gauss method the default



KSP ex60: add support for Gauss methods of arbitrary order
Includes test with 4stage Gauss method



KSP ex60: use PetscFunctionList to factor out 2stage Gauss method



KSP ex60: change variable name I to Identity
When C99 complex.h is included, "I" is defined to be the imaginary
number. Consequently, "I" cannot be used for any other purpose in
PETSc.



KSP ex60: fix __FUNCT__, PETSC_NULL > NULL, and PetscOptionsBegin



PCPBJacobi: add PCApplyTranspose (not optimized)



PCPBJacobi: add PCApply_PBJacobi_N (not unrolled/optimized)



PCPBJacobi: use VecGetArrayRead for unmodified vector



PCPBJacobi: fix flop counting



DTGaussQuadrature: fix quadrature weights



MATTAIJ: Setting block sizes for rectangular S,T also



MatConvert_Basic: Setting block sizes so as to handle rectangular blocks as well.



KSP ex60: Updated the test output for ex60





MATTAIJ: Updated the InvertBlockDiagonal for TAIJ to account for T, as well as special cases like S,T being NULL, T being identity.



MAT ex171: Added a test for MATTAIJ where T is specified as an identity matrix; and setting S such that most of its values are not 0!



MATTAIJ: Treating T = identity matrix as a special case since it reduces operations



MATTAIJ and MAT ex 171: Minor corrections in the comments



MATTAIJ: Added if conditions to handle cases where either or both of S and T may be NULL (so that arrays full of zeros are not allocated and operated on)



MAT ex171: Using the matrix "small" for ex171 testing (MATTAIJ functions); testing with nprocs 1,2,3,4 and different square and rectangular sizes for S,T



KSP ex60: Bugfix in the index of local uarr in exact solution function; and removing an unused variable



MATTAIJ: Corrected the comments to be consistent with the mathematical definition of the Kronecker product





MATTAIJ: Passing Vec instead of Vec* in MatMult and MatMultAdd



MATTAIJ: Bugfix in MatMult for nonsquare I in I \otimes S



MAT_MPIAIJ: In MatMPIAIJGetSeqAIJ, check if pointers are NULL before assigning them. This will allow passing NULL pointers for information that is not needed by the calling function



KSP ex60: Reduced the diffusion coefficient of the test run (runex60) so that the initial sine wave does not decay to roundoff errors and updated the test output file



KSP ex60: Updated creation of MATTAIJ to match the new interface, Using the extended TAIJ implementation to create the righthandside for solving the stages, and for step completion.



MAT ex171: updated ex171 (MATTAIJ tests) to form TAIJ with S and T; and try nonsquare S,T; Added tests for MATTAIJ where S or T can be NULL



MATTAIJ: Extended the TAIJ type to handle operations of the form [S \otimes I + T \otimes A] where S and T can be rectangular matrices; If NULL passed as S or T to MatCreateTAIJ, then set them to zero.



MatTAIJ: fix MatInvertBlockDiagonal_SeqTAIJ, ksp ex60 works with pbjacobi



KSP ex60: fix for Complex and report errors with %G



KSP ex60: Added a KSP example that demonstrates MATTAIJ by solving a constantcoefficient heat equation (1D) with an implicit RungeKutta method.



MAT ex171: Added an example 171 to test the MATTAIJ implementation.



MATTAIJ: Handling MatMult and MatMultAdd in TAIJ through a single function



MATTAIJ: Created and implemented with MatMult, MatMultAdd and InvertBlockDiagonal operations

