[petsc-dev] DMPlex + Cohesive Cells Setup

Matthew Knepley knepley at gmail.com
Wed Sep 2 13:08:41 CDT 2020


On Wed, Sep 2, 2020 at 1:43 PM Jacob Faibussowitsch <jacob.fai at gmail.com>
wrote:

> I’m getting an argument out of bounds error (attached) but I suspect it’s
> because I’m feeding in bad input to either calls (I am marking __all__
> vertices in the mesh in my input label to DMPlexLabelCohesiveComplete). Are
> the cohesive grains allowed to intersect? Does a cohesive region have to be
> closed? Does it have to be entirely enclosed by the mesh, i.e. not touching
> any of the boundaries?
>

I see. If you want every face in the mesh pulled apart, we will likely have
to write another implementation. For the fault problem, it is essential to
figure out what side of the fault each cell is on. It is a complicated
topological problem and I do not have a general solution. Thus you cannot
have
crossing faults in my implementation. You can have one fault dead-end into
another. It can touch a boundary. If it ends inside the mesh, you should
make a boundary label around the interior boundary so it can be clamped
shut.

Maybe if you explain a little more about the problem you want to use it
for, I can suggest some things to make it easier.

  Thanks,

     Matt


> Best regards,
>
> Jacob Faibussowitsch
> (Jacob Fai - booss - oh - vitch)
> Cell: (312) 694-3391
>
> On Sep 2, 2020, at 09:28, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Mon, Aug 31, 2020 at 5:39 PM Jacob Faibussowitsch <jacob.fai at gmail.com>
> wrote:
>
>> Hello All,
>>
>> What is the simplest possible configuration required to insert cohesive
>> cells into a plex? Plex/tests/ex5.c would be the example to ape here but
>> there is a lot there that I don’t (think) I need like a DS or any kind of
>> physics. For now, I am essentially looking to:
>>
>> 1. Read the mesh
>> 2. Perform some mesh analysis
>> 3. Slap some cohesive cells along one/multiple areas identified in the
>> previous step (maybe even everywhere?)
>> 4. Save the new mesh
>>
>> This doesn’t even have to parallel.
>>
>
> You can try it out easily. If it does not give you what you want, we can
> fix that up.
>
>
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexConstructCohesiveCells.html will
> give you back a mesh
> with the cohesive cells inserted. For input, you need a suitable label.
>
>
> https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexLabelCohesiveComplete.html#DMPlexLabelCohesiveComplete
>  starts
> with a label marking vertices on an internal surface and creates the label
> needed by the call above.
>
> Let me know if that works.
>
>   Thanks,
>
>      Matt
>
>
>> Best regards,
>>
>> Jacob Faibussowitsch
>> (Jacob Fai - booss - oh - vitch)
>> Cell: (312) 694-3391
>>
>>
>
> --
> 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
>
> https://www.cse.buffalo.edu/~knepley/
> <http://www.cse.buffalo.edu/~knepley/>
>
>
>

-- 
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20200902/4c79d136/attachment-0001.html>


More information about the petsc-dev mailing list