NeoPZ
TPZDiffusionConsLaw.h
Go to the documentation of this file.
1 
6 #ifndef DIFFUSIONFORCONSLAWHH
7 #define DIFFUSIONFORCONSLAWHH
8 
9 
10 #include "pzvec.h"
11 #include "pzfmatrix.h"
12 
22 
23 
24 public:
26  static REAL fGamma;
27 
29  static REAL fDelta;
30 
32  static REAL fCFL;
33 
35  static std::string fArtificialDiffusion;
36 
37 private:
40 
43 
44 public:
48  TPZDiffusionConsLaw(TPZVec<REAL> U,REAL gamma,int dim,const std::string &diff);
51 
52  //static void SetDelta(REAL delta){TPZDiffusionConsLaw::fDelta = delta;}
53 
55 
56  REAL DeltaOtimo();
57 
58  REAL Delta();
59 
60  REAL CFL(int degree);
61 
64 
65  void Divergence(TPZVec<REAL> &dphi,TPZFMatrix<REAL> &diverg);
66 
68  void PointOperator(TPZVec<REAL> &dphi,TPZFMatrix<REAL> &diff_term);
69 
71 
73 
75 
77 
79  static void Roe_Flux(REAL rho_f, REAL rhou_f, REAL rhov_f, REAL rhow_f, REAL rhoE_f,
80  REAL rho_t, REAL rhou_t, REAL rhov_t,REAL rhow_t, REAL rhoE_t,
81  REAL nx, REAL ny, REAL nz, REAL gam, REAL & flux_rho, REAL & flux_rhou,
82  REAL & flux_rhov,REAL & flux_rhow, REAL & flux_rhoE);
83 
84  static void Roe_Flux(REAL rho_f, REAL rhou_f, REAL rhov_f, REAL rhoE_f,
85  REAL rho_t, REAL rhou_t, REAL rhov_t, REAL rhoE_t,
86  REAL nx, REAL ny, REAL gam,
87  REAL &flux_rho, REAL &flux_rhou,
88  REAL &flux_rhov, REAL &flux_rhoE);
89 };
90 
91 #endif
static std::string fArtificialDiffusion
Term that adds stability to the numerical method of approach: SUPG, LS, Bornhaus. ...
TPZFMatrix< REAL > fA
Matrix computation derivatives of fluxes: dFx/dx, dFy/dy, dFz/dz.
void SUPG(TPZFMatrix< REAL > &Tx, TPZFMatrix< REAL > &Ty, TPZFMatrix< REAL > &Tz)
void Divergence(TPZVec< REAL > &dphi, TPZFMatrix< REAL > &diverg)
void PointOperator(TPZVec< REAL > &dphi, TPZFMatrix< REAL > &diff_term)
Operation product point in the diffusion term.
Templated vector implementation.
void degree(int root, int adj_num, int adj_row[], int adj[], int mask[], int deg[], int *iccsze, int ls[], int node_num)
Definition: rcm.cpp:875
static REAL fDelta
Coefficient of size ratio of the element in the diffusion term.
void Tau(TPZFMatrix< REAL > &Tx, TPZFMatrix< REAL > &Ty, TPZFMatrix< REAL > &Tz)
TPZFMatrix< REAL > fB
static void JacobFlux(TPZVec< REAL > U, TPZFMatrix< REAL > &A, TPZFMatrix< REAL > &B, TPZFMatrix< REAL > &C)
Jacobiano of the tensor flux of Euler.
Contains TPZMatrixclass which implements full matrix (using column major representation).
TPZFMatrix< REAL > fC
This class adds to the term of diffusion to the variacional formularization of the differential equa...
int fDimension
Problem dimension.
long double gamma(unsigned int n)
Evaluate the factorial of a integer.
void Bornhaus(TPZFMatrix< REAL > &Tx, TPZFMatrix< REAL > &Ty, TPZFMatrix< REAL > &Tz)
~TPZDiffusionConsLaw()
Destructor.
void LS(TPZFMatrix< REAL > &Tx, TPZFMatrix< REAL > &Ty, TPZFMatrix< REAL > &Tz)
void GradientOfTheFlow(TPZFMatrix< REAL > &DF1, TPZFMatrix< REAL > &DF2, TPZFMatrix< REAL > &DF3)
static REAL fCFL
Parameter that it limits the condition of stability of the numerical approach.
TPZDiffusionConsLaw()
Default constructor.
static REAL fGamma
Ratio between specific heat is constant and the specific heat the constant volume of a polytropic gas...
static void Roe_Flux(REAL rho_f, REAL rhou_f, REAL rhov_f, REAL rhow_f, REAL rhoE_f, REAL rho_t, REAL rhou_t, REAL rhov_t, REAL rhow_t, REAL rhoE_t, REAL nx, REAL ny, REAL nz, REAL gam, REAL &flux_rho, REAL &flux_rhou, REAL &flux_rhov, REAL &flux_rhow, REAL &flux_rhoE)
Flux of Roe (MOUSE program)