[petsc-users] [petsc4py] DMPlex and DT class

Jed Brown jed at jedbrown.org
Wed May 30 07:12:03 CDT 2018


Are you doing space-time adaptivity?  Via space-time conforming meshes
or with hanging nodes?

If you just solve a space-time slab (even with hanging node refinement)
then there is no need to store 4D topology.  This would save you the
need to deal with orientation in 4D, which is somewhat complicated and
would be hard to debug.

Furthermore, if your spatial and/or temporal adaptivity are split (this
can be a different spatially adaptive mesh with an adaptive width "time
slab", just not simultaneous space-time adaptivity) then the space-time
formulation (after choice of quadrature) is algebraically equivalent to
a Runge-Kutta method.

Valerio Barnabei <valerio.barnabei at uniroma1.it> writes:

> Hello again,
> I have a few questions about DT and DMPlex in general, not exclusively
> related to petsc4py implementation: in fact at the current state of my
> project, which is still being set up, I can choose either to program with
> C++ or python.
>
> -So far, we used PETSc indirectly through libmesh interface. We have a
> fully working FEM code for FSI problems, and that's our starting point for
> further research. We're currently interested in developing our own,
> lighter, simpler interface for the same class of problems, by simply
> cutting out libmesh, and directly accessing to PETSc. We are strongly
> determined to implement the "space-time variational formulation of
> incompressible flows" by Tezduyar and Takizawa (eventually you can find
> theory informations in
> https://www.worldscientific.com/doi/abs/10.1142/S0218202512300013). In this
> approach the 3D problem becomes a 4D problem including the time dimension,
> as well discretized with it's own temporal basis functions, resulting in a
> sequence of time slabs (spatial meshes of a space-time slab is the deformed
> versions of each other). Unfortunately, as I already mentioned, I'm not
> quite confident with DT and DMPlex, and even reading examples has not
> helped my understanding.
> Do you think DT and DMPlex can handle this kind of 4D representation, or do
> you think this is incompatible with the current state of that classes?
>
> -If DMPlex and DT could handle the above mentioned model, do you think we
> could get any help in implementing the python interface for petsc4py?
>
> -If DMPlex and DT could NOT handle the above mentioned model, do you think
> they can be adapted to achieve that purpose? If they can be adapted, is it
> a huge, deep modification of those classes, to the point it is not worth
> even trying?
>
>
> I apologize for my verbose mail, I'm available for further explanation if
> required.
>
> Best regards,
> Valerio Francesco Barnabei
>
>
> 2018-05-30 9:38 GMT+02:00 Valerio Barnabei <valerio.barnabei at uniroma1.it>:
>
>> Thank you Matt,
>> I've read some of your works and  I'm interested in your approach. I would
>> like to keep in touch with you, both to consider the option to make python
>> interfaces for DT class, and to have a deeper understanding of Sieve.
>>
>> Best regards,
>> Valerio Francesco Barnabei
>>
>> Il 29 mag 2018 23:22, "Matthew Knepley" <knepley at gmail.com> ha scritto:
>>
>> On Tue, May 29, 2018 at 1:14 PM, Valerio Barnabei <
>> valerio.barnabei at uniroma1.it> wrote:
>>
>>> Hello,
>>> I'm trying to figure how to translate snes/ex12, snes/ex56, snes/ex62,
>>> snes/ex77 in python using petsc4py. Unfortunately I'm having trouble
>>> finding something analogue to the DT class of C++ PETSc, to call methods
>>> like PetscFECreateDefault and similar.
>>> Is this something that can be achieved using petsc4py?
>>> I mean, is there something included in DM, DMDA or DMPlex that takes care
>>> of the discretization of a generic value field that I'm missing? (As far as
>>> I can see and understand, no DT class is implemented in petsc4py)
>>> I hope i explained myself, unfortunately I'm still a new user.
>>>
>>
>> Hi Valerio,
>>
>> There are no Python interfaces for DT because it is all experimental code.
>> We have not yet agreed that this is
>> the correct way to do things, so its all my own C experimentation. I could
>> help you understand it to make Python
>> interfaces if you wanted to.
>>
>>   Thanks,
>>
>>     Matt
>>
>>
>>> Thanks in advance for your help.
>>>
>>> Best regards,
>>> Valerio
>>>
>>> ___________________________________________
>>> *Il tuo 5 diventa 1000*
>>> Fai crescere la tua università
>>> Dona il 5 per mille alla Sapienza
>>> Codice fiscale: *80209930587*
>>> https://www.uniroma1.it/it/pagina/fai-crescere-la-tua-univer
>>> sita-con-il-cinque-mille
>>>
>>>
>>
>>
>> --
>> 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.caam.rice.edu/~mk51/>
>>
>>
>>
>
> -- 
> ___________________________________________
> *Il tuo 5 diventa 1000*
> Fai 
> crescere la tua università
> Dona il 5 per mille alla Sapienza
> Codice 
> fiscale: *80209930587*
>
> https://www.uniroma1.it/it/pagina/fai-crescere-la-tua-universita-con-il-cinque-mille 
> <https://www.uniroma1.it/it/pagina/fai-crescere-la-tua-universita-con-il-cinque-mille>


More information about the petsc-users mailing list