David Knezevic wrote: > I attached two extra (Petsc) matrices to an ImplicitSystem, assembled > one of them, and then tried to add them together using > PetscMatrix::add, but it didn't work because the sparsity patterns of > the two matrices weren't the same. This is because PetscMatrix::init() > doesn't generate a sparsity pattern from its dof_map, it simply sets > the appropriate number of rows, columns and non-zeros, so the matrix I > didn't touch actually had no sparsity pattern. > > A simple fix was to change SAME_NONZERO_PATTERN in PetscMatrix::add to > DIFFERENT_NON_ZERO_PATTERN. But perhaps it would be more satisfactory > to loop over the dof_map in PetscMatrix::init() and set each entry in > the matrix sparsity pattern to zero explicitly (that would get the > Petsc to store the sparsity pattern, right? I should look that up...) > > - David
------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
