[petsc-users] Jacobian matrix for dual porosity model

Matthew Knepley knepley at gmail.com
Wed Jun 21 06:12:31 CDT 2017


On Tue, Jun 20, 2017 at 10:41 PM, Adrian Croucher <a.croucher at auckland.ac.nz
> wrote:

> On 16/06/17 11:37, Adrian Croucher wrote:
>
> On 16/06/17 01:19, Matthew Knepley wrote:
>
>
> 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?
>
>
> You can certainly modify the mesh. I need to get a better idea what kind
> of modification, and then
> I can suggest a way to do it. What do you start with, and what exactly do
> you want to add?
>
>
> The way dual porosity is normally implemented in a finite volume context
> is to add an extra matrix rock cell 'inside' each of the original cells
> (which now represent the fractures, and have their volumes reduced
> accordingly), with a connection between the fracture cell and its
> corresponding matrix rock cell, so fluid can flow between them.
>
> More generally there can be multiple matrix rock cells for each fracture
> cell, in which case further matrix rock cells are nested inside the first
> one, again with connections between them. There are formulae for computing
> the appropriate effective matrix rock cell volumes and connection areas,
> typically based on a 'fracture spacing' parameter which determines how
> fractured the rock is.
>
> So in a DMPlex context it would mean somehow adding extra DAG points
> representing the internal cells and faces for each of the original cells.
> I'm not sure how that would be done.
>
>
> I've been having a go at this- copying the cones and supports from the
> original DM into a new DM, which will represent the topology of the dual
> porosity mesh, but adding one new cell for each original cell, and a face
> connecting the two. I've based my attempt loosely on some of the stuff in
> SplitFaces() in TS ex11.c.
>
> It isn't working though, as yet- when I construct the new DM and view it,
> the numbers of cells, faces etc. don't make sense, and the depth label says
> it's got 7 strata, where it should still just have 4 like the original DM.
>
> I may have just messed it up somehow, but it occurred to me that maybe
> DMPlex won't like having bits of its DAG having different depths? With what
> I've been trying, the dual porosity parts of the mesh would just specify
> DAG points representing the new cells and the corresponding faces, but not
> for any edges or vertices of those faces. I hoped that would be sufficient
> for generating the nonzero structure of the Jacobian matrix. But I don't
> know if DMPlex will allow a DAG like that?
>

I was going to write you, but I am moving houses and its very hectic.

>From the above description, its not clear to me that you want this
topology. For example, in the case that each cell gets an internal cell,
it seems like you could just handle this in the function space for each
cell. Even for multiple internal cells, it seems like function space
parameterization is a better option. Topology is supposed to indicate the
support of basis functions, but here that job is done. I would
just treat it as some sort of augmented approximation space.

  Thanks,

    Matt


> - 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 <+64%209-923%204611>
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

http://www.caam.rice.edu/~mk51/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170621/d013bc4d/attachment.html>


More information about the petsc-users mailing list