[petsc-users] Jacobian matrix for dual porosity model

Adrian Croucher a.croucher at auckland.ac.nz
Fri Jun 23 01:15:48 CDT 2017


On 23/06/17 00:48, Matthew Knepley wrote:

>
> If I understand what you mean, I considered doing something like that- 
> basically just defining extra degrees of freedom in the cells where 
> dual porosity is to be applied.
>
>
>     It seemed to me that if I then went ahead and created the Jacobian
>     matrix using DMCreateMatrix(), it would give me extra nonzero
>     entries that shouldn't be there - interactions between the dual
>     porosity variables in neighbouring cells. Is there any way to
>     avoid that?
>
>
> Ah, this is a very good point. You would like sparse structure in the 
> Jacobian blocks. Currently I do not have it,
> but DMNetwork does. I have been planning to unify the sparsity 
> determination between the two. It is on the list.

I can see another possible problem with this approach, which is that the 
extra dual-porosity unknowns would presumably be interlaced with the 
others (the fracture unknowns) in the resulting vector. This might make 
it harder to apply PCFIELDSPLIT (I think?), where I want to partition 
the Jacobian into fracture and matrix parts to solve it more 
efficiently, as Jed and Barry suggested.

I have played around a bit more with including the dual-porosity 
topology in the DMPlex. It seems to work OK if I just extend the DAG on 
the dual-porosity faces up to the maximum depth (so there is an unused 
edge and vertex associated with each dual-porosity face).

I also had a closer look inside DMPlexStratify() and I can see that it 
won't work if different parts of the DAG have different heights. For my 
case I could possibly stratify it differently (starting from the cell 
end rather than the vertex end) and it might work, but I don't know if 
there are other DMPlex functions that might not like that kind of DAG 
either.

- 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170623/7272c250/attachment.html>


More information about the petsc-users mailing list