:orphan: # PetscDSSetRiemannSolver Sets the Riemann solver for the given field ## Synopsis ``` #include "petscds.h" PetscErrorCode PetscDSSetRiemannSolver(PetscDS ds, PetscInt f, void (*r)(PetscInt dim, PetscInt Nf, const PetscReal x[], const PetscReal n[], const PetscScalar uL[], const PetscScalar uR[], PetscInt numConstants, const PetscScalar constants[], PetscScalar flux[], void *ctx)) ``` Not Collective ## Input Parameters - ***ds -*** The `PetscDS` object - ***f -*** The field number - ***r -*** Riemann solver ## Calling sequence of `r` ```none void r(PetscInt dim, PetscInt Nf, const PetscReal x[], const PetscReal n[], const PetscScalar uL[], const PetscScalar uR[], PetscScalar flux[], void *ctx) ``` - ***dim -*** The spatial dimension - ***Nf -*** The number of fields - ***x -*** The coordinates at a point on the interface - ***n -*** The normal vector to the interface - ***uL -*** The state vector to the left of the interface - ***uR -*** The state vector to the right of the interface - ***flux -*** output array of flux through the interface - ***numConstants -*** number of constant parameters - ***constants -*** constant parameters - ***ctx -*** optional user context ## See Also `PetscDS`, `PetscDSGetRiemannSolver()` ## Level intermediate ## Location src/dm/dt/interface/dtds.c ## Examples src/ts/tutorials/ex11.c
src/ts/tutorials/ex18.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/dt/interface/dtds.c) [Index of all DT routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)