[petsc-users] Jacobian matrix for dual porosity model
Adrian Croucher
a.croucher at auckland.ac.nz
Wed Jun 14 23:48:12 CDT 2017
On 14/06/17 07:45, Jed Brown wrote:
> Barry Smith <bsmith at mcs.anl.gov> writes:
>
>>> On Jun 13, 2017, at 10:06 AM, Jed Brown <jed at jedbrown.org> wrote:
>>>
>>> Adrian Croucher <a.croucher at auckland.ac.nz> writes:
>>>
>>>> One way might be to form the whole Jacobian but somehow use a modified
>>>> KSP solve which would implement the reduction process, do a KSP solve on
>>>> the reduced system of size n, and finally back-substitute to find the
>>>> unknowns in the matrix rock cells.
>>> You can do this with PCFieldSplit type Schur, but it's a lot heavier
>>> than you might like.
>> Is it clear that it would produce much overhead compared to doing a custom "reduction to a smaller problem". Perhaps he should start with this and then profiling can show if there are any likely benefits to "specializing more"?
> Yeah, that would be reasonable. We don't have a concept of sparsity for
> preconditioners so don't have a clean way to produce the exact (sparse)
> Schur complement. Computing this matrix using coloring should be
> relatively inexpensive due to the independence in each cell and its
> tridiagonal structure.
Thanks for those ideas, very helpful.
If I try this approach (forming whole Jacobian matrix and using
PCFieldSplit Schur), I guess I will first need to set up a modified
DMPlex for the whole fracture + matrix mesh- so I can use it to create
vectors and the Jacobian matrix (with the right sparsity pattern), and
also to work out the coloring for finite differencing.
Would that be straight-forward to do? Currently my DM just comes from
DMPlexCreateFromFile(). Presumably you can use DMPlexInsertCone() or
similar to add points into it?
- Adrian
--
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: a.croucher at auckland.ac.nz
tel: +64 (0)9 923 4611
More information about the petsc-users
mailing list