Peano
Loading...
Searching...
No Matches
Numerics Namespace Reference

Functions

template<class Shortcuts >
void get_stiffness_tensor (const double *Q, double &c11, double &c22, double &c33, double &c44, double &c55, double &c66, double &c12, double &c13, double &c23)
 
template<class Shortcuts >
void compute_parameters (const double *Q, double &rho, double &cp, double cs[], int direction)
 
void riemannSolver_boundary (int faceIndex, double r, double vn, double vm, double vl, double Tn, double Tm, double Tl, double zp, double zs[2], double &vn_hat, double &vm_hat, double &vl_hat, double &Tn_hat, double &Tm_hat, double &Tl_hat)
 
template<class Shortcuts , int order, int numberOfVariables, int numberOfParameters>
void riemannSolver (double *FL, double *FR, const double *const QL, const double *const QR, const double dt, const int direction, bool isBoundaryFace, int faceIndex)
 
template<class Shortcuts >
void rotate_dofs_inverse (double *Q, const int direction_1)
 
template<class Shortcuts >
void rotate_dofs (double *Q, const int direction_1)
 
template<class Shortcuts >
void right_eigenvectors (const double Q[], const int direction, double eigenvectors[])
 
template<class Shortcuts >
void right_eigenvectors_inverse (const double Q[], const int direction, double eigenvectors[])
 
template<class Shortcuts >
void eigenvalues (const double Q[], double lambda[])
 
template<class Shortcuts >
double computeSmax (const double *const Q_L, const double *const Q_R)
 
template<class Shortcuts >
void computeAbsA (const double *const Q_L, const double *const Q_R, double absA[], int direction)
 Computes AT = 0.5 * smax * T * (I + R*deltaLambda + R^-1)
 
template<class Solver , class Shortcuts >
void hllem (Solver *solver, double *FL_, double *FR_, const double *const QL_, const double *const QR_, const int direction)
 
template<class Shortcuts >
void compute_parameters (const double *Q, double &rho, double &cp, double &cs, double &mu, double &lam)
 
void riemannSolver_boundary (int faceIndex, double r, double vn, double vm, double vl, double Tn, double Tm, double Tl, double zp, double zs, double &vn_hat, double &vm_hat, double &vl_hat, double &Tn_hat, double &Tm_hat, double &Tl_hat)
 
template<class Shortcuts , int basisSize, int numberOfVariables, int numberOfData, int surface = 2>
void riemannSolver (double *FL, double *FR, const double *const QL, const double *const QR, const double dt, const int direction, bool isBoundaryFace, int faceIndex)
 
template<class Shortcuts >
void compute_tractions (const double *Q, const double *n, double &Tx, double &Ty, double &Tz)
 
template<class Shortcuts >
void get_velocities (const double *Q, double &vx, double &vy, double &vz)
 
void Gram_Schmidt (double *y, double *z)
 
void create_local_basis (double *n, double *m, double *l)
 
void riemannSolver_Nodal (double v_p, double v_m, double sigma_p, double sigma_m, double z_p, double z_m, double &v_hat_p, double &v_hat_m, double &sigma_hat_p, double &sigma_hat_m)
 
void riemannSolver_BC0 (double v, double sigma, double z, double r, double &v_hat, double &sigma_hat)
 
void riemannSolver_BCn (double v, double sigma, double z, double r, double &v_hat, double &sigma_hat)
 
void rotate_into_orthogonal_basis (double *n, double *m, double *l, double Tx, double Ty, double Tz, double &Tn, double &Tm, double &Tl)
 
void rotate_into_physical_basis (double *n, double *m, double *l, double Fn, double Fm, double Fl, double &Fx, double &Fy, double &Fz)
 
void compute_fluctuations_left (double z, double T, double T_hat, double v, double v_hat, double &F)
 
void compute_fluctuations_right (double z, double T, double T_hat, double v, double v_hat, double &F)
 
template<class Shortcuts >
void get_normals (const double *Q, int direction, double &norm, double *n)
 

Function Documentation

◆ compute_fluctuations_left()

void Numerics::compute_fluctuations_left ( double z,
double T,
double T_hat,
double v,
double v_hat,
double & F )

Definition at line 193 of file riemannsolver_routines.h.

Referenced by riemannSolver().

Here is the caller graph for this function:

◆ compute_fluctuations_right()

void Numerics::compute_fluctuations_right ( double z,
double T,
double T_hat,
double v,
double v_hat,
double & F )

Definition at line 197 of file riemannsolver_routines.h.

Referenced by riemannSolver().

Here is the caller graph for this function:

◆ compute_parameters() [1/2]

template<class Shortcuts >
void Numerics::compute_parameters ( const double * Q,
double & rho,
double & cp,
double & cs,
double & mu,
double & lam )

Definition at line 8 of file riemannsolver_isotropic.h.

◆ compute_parameters() [2/2]

template<class Shortcuts >
void Numerics::compute_parameters ( const double * Q,
double & rho,
double & cp,
double cs[],
int direction )

Definition at line 7 of file riemannsolver_anisotropic.h.

◆ compute_tractions()

template<class Shortcuts >
void Numerics::compute_tractions ( const double * Q,
const double * n,
double & Tx,
double & Ty,
double & Tz )

Definition at line 4 of file riemannsolver_routines.h.

◆ computeAbsA()

template<class Shortcuts >
void Numerics::computeAbsA ( const double *const Q_L,
const double *const Q_R,
double absA[],
int direction )

Computes AT = 0.5 * smax * T * (I + R*deltaLambda + R^-1)

Definition at line 251 of file riemannsolver_diffuse.h.

References assertion, and tarch::la::equals().

Here is the call graph for this function:

◆ computeSmax()

template<class Shortcuts >
double Numerics::computeSmax ( const double *const Q_L,
const double *const Q_R )

Definition at line 226 of file riemannsolver_diffuse.h.

◆ create_local_basis()

void Numerics::create_local_basis ( double * n,
double * m,
double * l )

Definition at line 61 of file riemannsolver_routines.h.

References Gram_Schmidt().

Referenced by riemannSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ eigenvalues()

template<class Shortcuts >
void Numerics::eigenvalues ( const double Q[],
double lambda[] )

Definition at line 206 of file riemannsolver_diffuse.h.

◆ get_normals()

template<class Shortcuts >
void Numerics::get_normals ( const double * Q,
int direction,
double & norm,
double * n )

Definition at line 3 of file routines_cartesian.h.

◆ get_stiffness_tensor()

template<class Shortcuts >
void Numerics::get_stiffness_tensor ( const double * Q,
double & c11,
double & c22,
double & c33,
double & c44,
double & c55,
double & c66,
double & c12,
double & c13,
double & c23 )

Definition at line 4 of file anisotropic.h.

◆ get_velocities()

template<class Shortcuts >
void Numerics::get_velocities ( const double * Q,
double & vx,
double & vy,
double & vz )

Definition at line 19 of file riemannsolver_routines.h.

◆ Gram_Schmidt()

void Numerics::Gram_Schmidt ( double * y,
double * z )

Definition at line 28 of file riemannsolver_routines.h.

Referenced by create_local_basis().

Here is the caller graph for this function:

◆ hllem()

template<class Solver , class Shortcuts >
void Numerics::hllem ( Solver * solver,
double * FL_,
double * FR_,
const double *const QL_,
const double *const QR_,
const int direction )

Definition at line 342 of file riemannsolver_diffuse.h.

References assertion2, and tarch::la::equals().

Here is the call graph for this function:

◆ riemannSolver() [1/2]

template<class Shortcuts , int order, int numberOfVariables, int numberOfParameters>
void Numerics::riemannSolver ( double * FL,
double * FR,
const double *const QL,
const double *const QR,
const double dt,
const int direction,
bool isBoundaryFace,
int faceIndex )

◆ riemannSolver() [2/2]

template<class Shortcuts , int basisSize, int numberOfVariables, int numberOfData, int surface = 2>
void Numerics::riemannSolver ( double * FL,
double * FR,
const double *const QL,
const double *const QR,
const double dt,
const int direction,
bool isBoundaryFace,
int faceIndex )

◆ riemannSolver_BC0()

void Numerics::riemannSolver_BC0 ( double v,
double sigma,
double z,
double r,
double & v_hat,
double & sigma_hat )

Definition at line 154 of file riemannsolver_routines.h.

Referenced by riemannSolver_boundary(), and riemannSolver_boundary().

Here is the caller graph for this function:

◆ riemannSolver_BCn()

void Numerics::riemannSolver_BCn ( double v,
double sigma,
double z,
double r,
double & v_hat,
double & sigma_hat )

Definition at line 165 of file riemannsolver_routines.h.

Referenced by riemannSolver_boundary(), and riemannSolver_boundary().

Here is the caller graph for this function:

◆ riemannSolver_boundary() [1/2]

void Numerics::riemannSolver_boundary ( int faceIndex,
double r,
double vn,
double vm,
double vl,
double Tn,
double Tm,
double Tl,
double zp,
double zs,
double & vn_hat,
double & vm_hat,
double & vl_hat,
double & Tn_hat,
double & Tm_hat,
double & Tl_hat )

Definition at line 17 of file riemannsolver_isotropic.h.

References riemannSolver_BC0(), and riemannSolver_BCn().

Here is the call graph for this function:

◆ riemannSolver_boundary() [2/2]

void Numerics::riemannSolver_boundary ( int faceIndex,
double r,
double vn,
double vm,
double vl,
double Tn,
double Tm,
double Tl,
double zp,
double zs[2],
double & vn_hat,
double & vm_hat,
double & vl_hat,
double & Tn_hat,
double & Tm_hat,
double & Tl_hat )

Definition at line 32 of file riemannsolver_anisotropic.h.

References riemannSolver_BC0(), and riemannSolver_BCn().

Referenced by riemannSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ riemannSolver_Nodal()

void Numerics::riemannSolver_Nodal ( double v_p,
double v_m,
double sigma_p,
double sigma_m,
double z_p,
double z_m,
double & v_hat_p,
double & v_hat_m,
double & sigma_hat_p,
double & sigma_hat_m )

Definition at line 97 of file riemannsolver_routines.h.

Referenced by riemannSolver().

Here is the caller graph for this function:

◆ right_eigenvectors()

template<class Shortcuts >
void Numerics::right_eigenvectors ( const double Q[],
const int direction,
double eigenvectors[] )

Definition at line 72 of file riemannsolver_diffuse.h.

References assertion2.

◆ right_eigenvectors_inverse()

template<class Shortcuts >
void Numerics::right_eigenvectors_inverse ( const double Q[],
const int direction,
double eigenvectors[] )

Definition at line 139 of file riemannsolver_diffuse.h.

References assertion2.

◆ rotate_dofs()

template<class Shortcuts >
void Numerics::rotate_dofs ( double * Q,
const int direction_1 )

Definition at line 40 of file riemannsolver_diffuse.h.

◆ rotate_dofs_inverse()

template<class Shortcuts >
void Numerics::rotate_dofs_inverse ( double * Q,
const int direction_1 )

Definition at line 8 of file riemannsolver_diffuse.h.

◆ rotate_into_orthogonal_basis()

void Numerics::rotate_into_orthogonal_basis ( double * n,
double * m,
double * l,
double Tx,
double Ty,
double Tz,
double & Tn,
double & Tm,
double & Tl )

Definition at line 176 of file riemannsolver_routines.h.

Referenced by riemannSolver().

Here is the caller graph for this function:

◆ rotate_into_physical_basis()

void Numerics::rotate_into_physical_basis ( double * n,
double * m,
double * l,
double Fn,
double Fm,
double Fl,
double & Fx,
double & Fy,
double & Fz )

Definition at line 184 of file riemannsolver_routines.h.

Referenced by riemannSolver().

Here is the caller graph for this function: