On Mon, Jul 20, 2020 at 11:04 AM Thibault Bridel-Bertomeu < thibault.bridelberto...@gmail.com> wrote:
> 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 ! > Hi Thibault, Did anything happen on this front? I have another project where people want to do that same thing. Thanks, Matt > 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/> >> > -- 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/>