HyPar  1.0
Finite-Difference Hyperbolic-Parabolic PDE Solver on Cartesian Grids
ShallowWater1DEigen.c File Reference

Contains the functions to compute left and right eigenvectors for the 1D shallow water equations. More...

#include <stdlib.h>
#include <math.h>
#include <basic.h>
#include <arrayfunctions.h>
#include <mathfunctions.h>
#include <physicalmodels/shallowwater1d.h>
#include <hypar.h>

Go to the source code of this file.

Functions

int ShallowWater1DLeftEigenvectors (double *u, double *L, void *p, int dir)
 
int ShallowWater1DRightEigenvectors (double *u, double *R, void *p, int dir)
 

Detailed Description

Contains the functions to compute left and right eigenvectors for the 1D shallow water equations.

Author
Debojyoti Ghosh

Definition in file ShallowWater1DEigen.c.

Function Documentation

◆ ShallowWater1DLeftEigenvectors()

int ShallowWater1DLeftEigenvectors ( double *  u,
double *  L,
void *  p,
int  dir 
)

Compute the left eigenvections for the 1D shallow water equations. This function just calls the macro _ShallowWater1DLeftEigenvectors_ and is not used by any functions within the 1D shallow water module. However, it's necessary to define it and provide it to the the solver object (HyPar) so that it can then send it to interpolation functions for a characteristic-based reconstruction.

Parameters
uConserved solution at a grid point
LArray of size nvar^2 = 2^2 to save the matrix of left eigenvectors in (row-major format).
pObject of type ShallowWater1D with physics-related variables
dirSpatial dimension (not used, since this is a 1D system)

Definition at line 19 of file ShallowWater1DEigen.c.

26 {
27  ShallowWater1D *param = (ShallowWater1D*) p;
28  _ShallowWater1DLeftEigenvectors_(u,L,param,dir);
29  return(0);
30 }
Structure containing variables and parameters specific to the 1D Shallow Water equations. This structure contains the physical parameters, variables, and function pointers specific to the 1D ShallowWater equations.
#define _ShallowWater1DLeftEigenvectors_(u, L, p, dir)

◆ ShallowWater1DRightEigenvectors()

int ShallowWater1DRightEigenvectors ( double *  u,
double *  R,
void *  p,
int  dir 
)

Compute the right eigenvections for the 1D shallow water equations. This function just calls the macro _ShallowWater1DRightEigenvectors_ and is not used by any functions within the 1D shallow water module. However, it's necessary to define it and provide it to the the solver object (HyPar) so that it can then send it to interpolation functions for a characteristic-based reconstruction.

Parameters
uConserved solution at a grid point
RArray of size nvar^2 = 2^2 to save the matrix of right eigenvectors in (row-major format).
pObject of type ShallowWater1D with physics-related variables
dirSpatial dimension (not used, since this is a 1D system)

Definition at line 38 of file ShallowWater1DEigen.c.

45 {
46  ShallowWater1D *param = (ShallowWater1D*) p;
47  _ShallowWater1DRightEigenvectors_(u,R,param,dir);
48  return(0);
49 }
Structure containing variables and parameters specific to the 1D Shallow Water equations. This structure contains the physical parameters, variables, and function pointers specific to the 1D ShallowWater equations.
#define _ShallowWater1DRightEigenvectors_(u, R, p, dir)