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

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

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

Go to the source code of this file.

Functions

int ShallowWater2DLeftEigenvectors (double *u, double *L, void *p, int dir)
 
int ShallowWater2DRightEigenvectors (double *u, double *R, void *p, int dir)
 

Detailed Description

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

Author
Debojyoti Ghosh

Definition in file ShallowWater2DEigen.c.

Function Documentation

◆ ShallowWater2DLeftEigenvectors()

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

Compute the left eigenvections for the 2D shallow water equations. This function just calls the macro _ShallowWater2DLeftEigenvectors_ and is not used by any functions within the 2D 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 = 3^2 to save the matrix of left eigenvectors in (row-major format).
pObject of type ShallowWater2D with physics-related variables
dirSpatial dimension

Definition at line 19 of file ShallowWater2DEigen.c.

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

◆ ShallowWater2DRightEigenvectors()

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

Compute the right eigenvections for the 2D shallow water equations. This function just calls the macro _ShallowWater2DRightEigenvectors_ and is not used by any functions within the 2D 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 = 3^2 to save the matrix of right eigenvectors in (row-major format).
pObject of type ShallowWater2D with physics-related variables
dirSpatial dimension

Definition at line 38 of file ShallowWater2DEigen.c.

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