petsc-3.7.7 2017-09-25
Report Typos and Errors

# PetscDSSetRiemannSolver

Sets the Riemann solver for the given field

### Synopsis

    #include "petscds.h"
    PetscErrorCode PetscDSSetRiemannSolver(PetscDS prob, PetscInt f,
                                           void (*r)(PetscInt dim, PetscInt Nf, const PetscReal x[], const PetscReal n[], const PetscScalar uL[], const PetscScalar uR[], PetscScalar flux[], void *ctx))

Not collective

### Input Arguments

| prob | - The PetscDS object
| f | - The field number
| r | - Riemann solver

### Calling sequence for r

    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
| ctx | - optional user context

### See Also

PetscDSGetRiemannSolver()

Level:intermediate
Location:src/dm/dt/interface/dtds.c
Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ts/examples/tutorials/ex11.c.html