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.

References get_stiffness_tensor().

Referenced by riemannSolver().

Here is the call graph for this function:
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.

References get_stiffness_tensor().

Referenced by riemannSolver().

Here is the call graph for this function:
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.

References get_stiffness_tensor().

Here is the call graph for this function:

◆ 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.

References get_stiffness_tensor().

Here is the call graph for this function:

◆ 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, tarch::la::equals(), and get_stiffness_tensor().

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.

References get_stiffness_tensor().

Here is the call graph for this function:

◆ create_local_basis()

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

Definition at line 61 of file riemannsolver_routines.h.

References get_stiffness_tensor(), and 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.

References get_stiffness_tensor().

Here is the call graph for this function:

◆ 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.

References get_stiffness_tensor().

Here is the call graph for this function:

◆ 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 
)

◆ 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.

References get_stiffness_tensor().

Here is the call graph for this function:

◆ Gram_Schmidt()

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

Definition at line 28 of file riemannsolver_routines.h.

References get_stiffness_tensor().

Referenced by create_local_basis().

Here is the call graph for this function:
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, tarch::la::equals(), and get_stiffness_tensor().

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.

References get_stiffness_tensor().

Referenced by riemannSolver_boundary(), and riemannSolver_boundary().

Here is the call graph for this function:
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.

References get_stiffness_tensor().

Referenced by riemannSolver_boundary(), and riemannSolver_boundary().

Here is the call graph for this function:
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 get_stiffness_tensor(), 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.

References get_stiffness_tensor().

Referenced by riemannSolver().

Here is the call graph for this function:
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, and get_stiffness_tensor().

Here is the call graph for this function:

◆ 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, and get_stiffness_tensor().

Here is the call graph for this function:

◆ 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.

References get_stiffness_tensor().

Referenced by riemannSolver().

Here is the call graph for this function:
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.

References get_stiffness_tensor().

Referenced by riemannSolver().

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