Thank you Mark, Jed and Matthew for your quick answers ! I see now where I should be more accurate in my question.
Mark, I mentioned the hyperbolicity because I would like to keep using the PetscDSSetRiemannSolver and the DMTSSetBoundaryLocal and DMTSSetRHSFunctionLocal with DMPlexTSComputeRHSFunctionFVM that are quite automatic and nice and efficient wrappers. Now aside from those which deal specifically with the hyperbolic part of the PDE, i would like to add the diffusive terms. I would rather stay in the FVM world, but if it is easier in the FEM world then I am open to it. Jed, as for the discretization let us say indeed that the mesh can be either cartesian or not, and the discretization should therefore be independent of the nature of the mesh - any unstructured mesh (i handle it with DMPlex in my case). I saw indeed that FV has gradient reconstruction, with or without a limiter, which is great. However I have not quite understood what function to use to get the gradient of any variable, be it in the context (e.g. for N-S, ro, rou, rov, etc...) or an auxiliary variable (e.g. the components of the strain tensor). I also agree that the diffusive part is usually the one that strongly limits the time step in explicit computations, but for now I would like to set up a fully explicit system. Matthew, I'll take a look at ex 18, thanks, I missed that one. So basically if I wanted to summarize, I want to keep the Riemann Solver capability from the DS, and use the "automatic" DMPlexTSComputeRHSFunctionFVM for the hyperbolic part and add on top of it a discretization of the diffusive terms. I was thinking maybe one way to go would be to hack the DMTSSetForcingFunction but 1/ I still am not sure what this function should return exactly, is it a Vec for the flux on all faces ? 2/ I still do not know how to compute all the derivatives involved in the diffusive terms of the N-S using the gradient reconstruction from PetscFV Thank you for your help, I hope I am clear enough in where I want to go ! Thibault Le lun. 20 juil. 2020 à 16:10, Matthew Knepley <knep...@gmail.com> a écrit : > On Mon, Jul 20, 2020 at 9:36 AM Jed Brown <j...@jedbrown.org> wrote: > >> How would you like to discretize the diffusive terms? The example has a >> type of gradient reconstruction so you can have cellwise gradients, but >> there are many techniques for discretizing diffusive terms in FV. It's >> simpler if you use an orthogonal grid, but I doubt that you are. >> >> As for terminology, the diffusive part is usually stiff and thus must be >> treated implicitly. In TS terminology, this would be part of the >> IFunction, not the RHSFunction. >> > > At a high level, I would say that this is doable, but complicated. You can > see me trying to do something much easier (advection + visco-elasticity) in > TS ex18, > where I want to discretize the elliptic part with FEM and the advective > part with FVM. I assume that is why Jed wants to know how you want to > handle the > elliptic terms, since this has a large impact on how you would implement. > > Thanks, > > Matt > > >> Thibault Bridel-Bertomeu <thibault.bridelberto...@gmail.com> writes: >> >> > Dear all, >> > >> > I have been studying ex11.c from ts/tutorials to understand how to >> solve an >> > hyperbolic system of equations using PETSCFV. I first worked on the >> Euler >> > equations for inviscid fluids and based on what ex11.c presents, I was >> able >> > to add the right PETSc instructions in an already existing in-house code >> > with different gas models to solve the problems in parallel (MPI) and >> with >> > the AMR capabilities offered by P4EST. >> > >> > Now my goal is to move to Navier-Stokes equations. Theoretically the >> system >> > is not completely hyperbolic and can be seen as one with an hyperbolic >> part >> > (identical to the Euler equations) and a parabolic part coming from the >> RHS >> > diffusion terms. >> > I have been looking into the manual and also the sources of PETSc around >> > the DM, DMPlex, DS and FV classes but I could not find anything that >> speaks >> > to me as "adding a RHS to an hyperbolic system of equations" or "adding >> a >> > source term to an hyperbolic system of equations". What's more, that >> source >> > term depends on the derivatives of the context variables ... >> > >> > I wanted to know if anyone maybe had a suggestion regarding this issue ? >> > >> > Thank you very much in advance, >> > >> > Thibault Bridel-Bertomeu >> > — >> > Eng, MSc, PhD >> > Research Engineer >> > CEA/CESTA >> > 33114 LE BARP >> > Tel.: (+33)557046924 >> > Mob.: (+33)611025322 >> > Mail: thibault.bridelberto...@gmail.com >> > > > -- > 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/> >