Skip to main content
`Ctrl`+`K`

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

- 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

Index of all DT routines
Table of Contents for all manual pages
Index of all manual pages