proteus  1.2.0
C/C++/Fortran libraries
Public Member Functions | Public Attributes | List of all members
proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary > Class Template Reference

#include </home/cekees/proteus/proteus/ADR.h>

Inheritance diagram for proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >:
[legend]
Collaboration diagram for proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >:
[legend]

Public Member Functions

 cppADR ()
 
void exteriorNumericalDiffusiveFlux (int *rowptr, int *colind, const int &isDOFBoundary, const int &isDiffusiveFluxBoundary, const double n[nSpace], double *bc_a, const double &bc_u, const double &bc_flux, double *a, const double grad_potential[nSpace], const double &u, const double &penalty, double &flux)
 
double ExteriorNumericalDiffusiveFluxJacobian (int *rowptr, int *colind, const int &isDOFBoundary, const int &isDiffusiveFluxBoundary, const double n[nSpace], double *a, const double &v, const double grad_v[nSpace], const double &penalty)
 
void calculateSubgridError_tau (const double &elementDiameter, const double &dmt, const double dH[nSpace], double &cfl, double &tau)
 
void calculateSubgridError_tau (const double &Ct_sge, const double G[nSpace *nSpace], const double &A0, const double Ai[nSpace], double &tau_v, double &cfl)
 
void calculateNumericalDiffusion (const double &shockCapturingDiffusion, const double &elementDiameter, const double &strong_residual, const double grad_u[nSpace], double &numDiff)
 
void exteriorNumericalAdvectiveFlux (const int &isDOFBoundary_u, const int &isFluxBoundary_u, const double n[nSpace], const double &bc_u, const double &bc_flux_u, const double &u, const double velocity[nSpace], double &flux)
 
void exteriorNumericalAdvectiveFluxDerivative (const int &isDOFBoundary_u, const int &isFluxBoundary_u, const double n[nSpace], const double velocity[nSpace], double &dflux)
 
void calculateElementResidual (double *mesh_trial_ref, double *mesh_grad_trial_ref, double *mesh_dof, int *mesh_l2g, double *dV_ref, double *u_trial_ref, double *u_grad_trial_ref, double *u_test_ref, double *u_grad_test_ref, double *elementDiameter, double *cfl, double Ct_sge, double sc_uref, double sc_alpha, double useMetrics, double *mesh_trial_trace_ref, double *mesh_grad_trial_trace_ref, double *dS_ref, double *u_trial_trace_ref, double *u_grad_trial_trace_ref, double *u_test_trace_ref, double *u_grad_test_trace_ref, double *normal_ref, double *boundaryJac_ref, int nElements_global, int *u_l2g, double *u_dof, int *sd_rowptr, int *sd_colind, double *q_a, double *q_v, double *q_r, int lag_shockCapturingDiffusion, double shockCapturingDiffusion, double *q_numDiff_u, double *q_numDiff_u_last, int offset_u, int stride_u, double *elementResidual_u, int nExteriorElementBoundaries_global, int *exteriorElementBoundariesArray, int *elementBoundaryElementsArray, int *elementBoundaryLocalElementBoundariesArray, double *element_u, int eN)
 
void calculateResidual (double *mesh_trial_ref, double *mesh_grad_trial_ref, double *mesh_dof, int *mesh_l2g, double *dV_ref, double *u_trial_ref, double *u_grad_trial_ref, double *u_test_ref, double *u_grad_test_ref, double *elementDiameter, double *cfl, double Ct_sge, double sc_uref, double sc_alpha, double useMetrics, double *mesh_trial_trace_ref, double *mesh_grad_trial_trace_ref, double *dS_ref, double *u_trial_trace_ref, double *u_grad_trial_trace_ref, double *u_test_trace_ref, double *u_grad_test_trace_ref, double *normal_ref, double *boundaryJac_ref, int nElements_global, int *u_l2g, double *u_dof, int *sd_rowptr, int *sd_colind, double *q_a, double *q_v, double *q_r, int lag_shockCapturing, double shockCapturingDiffusion, double *q_numDiff_u, double *q_numDiff_u_last, int offset_u, int stride_u, double *globalResidual, int nExteriorElementBoundaries_global, int *exteriorElementBoundariesArray, int *elementBoundaryElementsArray, int *elementBoundaryLocalElementBoundariesArray, double *ebqe_a, double *ebqe_v, int *isDOFBoundary_u, double *ebqe_bc_u_ext, int *isDiffusiveFluxBoundary_u, int *isAdvectiveFluxBoundary_u, double *ebqe_bc_flux_u_ext, double *ebqe_bc_advectiveFlux_u_ext, double *ebqe_penalty_ext, const double eb_adjoint_sigma)
 
void calculateElementJacobian (double *mesh_trial_ref, double *mesh_grad_trial_ref, double *mesh_dof, int *mesh_l2g, double *dV_ref, double *u_trial_ref, double *u_grad_trial_ref, double *u_test_ref, double *u_grad_test_ref, double *elementDiameter, double *cfl, double Ct_sge, double sc_uref, double sc_alpha, double useMetrics, double *mesh_trial_trace_ref, double *mesh_grad_trial_trace_ref, double *dS_ref, double *u_trial_trace_ref, double *u_grad_trial_trace_ref, double *u_test_trace_ref, double *u_grad_test_trace_ref, double *normal_ref, double *boundaryJac_ref, int nElements_global, int *u_l2g, double *u_dof, int *sd_rowptr, int *sd_colind, double *q_a, double *q_v, double *q_r, int lag_shockCapturing, double shockCapturingDiffusion, double *q_numDiff_u, double *q_numDiff_u_last, double *elementJacobian_u_u, double *element_u, int eN)
 
void calculateJacobian (double *mesh_trial_ref, double *mesh_grad_trial_ref, double *mesh_dof, int *mesh_l2g, double *dV_ref, double *u_trial_ref, double *u_grad_trial_ref, double *u_test_ref, double *u_grad_test_ref, double *elementDiameter, double *cfl, double Ct_sge, double sc_uref, double sc_alpha, double useMetrics, double *mesh_trial_trace_ref, double *mesh_grad_trial_trace_ref, double *dS_ref, double *u_trial_trace_ref, double *u_grad_trial_trace_ref, double *u_test_trace_ref, double *u_grad_test_trace_ref, double *normal_ref, double *boundaryJac_ref, int nElements_global, int *u_l2g, double *u_dof, int *sd_rowptr, int *sd_colind, double *q_a, double *q_v, double *q_r, int lag_shockCapturing, double shockCapturingDiffusion, double *q_numDiff_u, double *q_numDiff_u_last, int *csrRowIndeces_u_u, int *csrColumnOffsets_u_u, double *globalJacobian, int nExteriorElementBoundaries_global, int *exteriorElementBoundariesArray, int *elementBoundaryElementsArray, int *elementBoundaryLocalElementBoundariesArray, double *ebqe_a, double *ebqe_v, int *isDOFBoundary_u, double *ebqe_bc_u_ext, int *isDiffusiveFluxBoundary_u, int *isAdvectiveFluxBoundary_u, double *ebqe_bc_flux_u_ext, double *ebqe_bc_advectiveFlux_u_ext, int *csrColumnOffsets_eb_u_u, double *ebqe_penalty_ext, const double eb_adjoint_sigma)
 
- Public Member Functions inherited from proteus::cppADR_base
virtual ~cppADR_base ()
 

Public Attributes

const int nDOF_test_X_trial_element
 
CompKernelType ck
 

Detailed Description

template<class CompKernelType, int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
class proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >

Definition at line 134 of file ADR.h.

Constructor & Destructor Documentation

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::cppADR ( )
inline

Definition at line 139 of file ADR.h.

Member Function Documentation

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateElementJacobian ( double *  mesh_trial_ref,
double *  mesh_grad_trial_ref,
double *  mesh_dof,
int *  mesh_l2g,
double *  dV_ref,
double *  u_trial_ref,
double *  u_grad_trial_ref,
double *  u_test_ref,
double *  u_grad_test_ref,
double *  elementDiameter,
double *  cfl,
double  Ct_sge,
double  sc_uref,
double  sc_alpha,
double  useMetrics,
double *  mesh_trial_trace_ref,
double *  mesh_grad_trial_trace_ref,
double *  dS_ref,
double *  u_trial_trace_ref,
double *  u_grad_trial_trace_ref,
double *  u_test_trace_ref,
double *  u_grad_test_trace_ref,
double *  normal_ref,
double *  boundaryJac_ref,
int  nElements_global,
int *  u_l2g,
double *  u_dof,
int *  sd_rowptr,
int *  sd_colind,
double *  q_a,
double *  q_v,
double *  q_r,
int  lag_shockCapturing,
double  shockCapturingDiffusion,
double *  q_numDiff_u,
double *  q_numDiff_u_last,
double *  elementJacobian_u_u,
double *  element_u,
int  eN 
)
inline

Definition at line 885 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateElementResidual ( double *  mesh_trial_ref,
double *  mesh_grad_trial_ref,
double *  mesh_dof,
int *  mesh_l2g,
double *  dV_ref,
double *  u_trial_ref,
double *  u_grad_trial_ref,
double *  u_test_ref,
double *  u_grad_test_ref,
double *  elementDiameter,
double *  cfl,
double  Ct_sge,
double  sc_uref,
double  sc_alpha,
double  useMetrics,
double *  mesh_trial_trace_ref,
double *  mesh_grad_trial_trace_ref,
double *  dS_ref,
double *  u_trial_trace_ref,
double *  u_grad_trial_trace_ref,
double *  u_test_trace_ref,
double *  u_grad_test_trace_ref,
double *  normal_ref,
double *  boundaryJac_ref,
int  nElements_global,
int *  u_l2g,
double *  u_dof,
int *  sd_rowptr,
int *  sd_colind,
double *  q_a,
double *  q_v,
double *  q_r,
int  lag_shockCapturingDiffusion,
double  shockCapturingDiffusion,
double *  q_numDiff_u,
double *  q_numDiff_u_last,
int  offset_u,
int  stride_u,
double *  elementResidual_u,
int  nExteriorElementBoundaries_global,
int *  exteriorElementBoundariesArray,
int *  elementBoundaryElementsArray,
int *  elementBoundaryLocalElementBoundariesArray,
double *  element_u,
int  eN 
)
inline

Definition at line 362 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateJacobian ( double *  mesh_trial_ref,
double *  mesh_grad_trial_ref,
double *  mesh_dof,
int *  mesh_l2g,
double *  dV_ref,
double *  u_trial_ref,
double *  u_grad_trial_ref,
double *  u_test_ref,
double *  u_grad_test_ref,
double *  elementDiameter,
double *  cfl,
double  Ct_sge,
double  sc_uref,
double  sc_alpha,
double  useMetrics,
double *  mesh_trial_trace_ref,
double *  mesh_grad_trial_trace_ref,
double *  dS_ref,
double *  u_trial_trace_ref,
double *  u_grad_trial_trace_ref,
double *  u_test_trace_ref,
double *  u_grad_test_trace_ref,
double *  normal_ref,
double *  boundaryJac_ref,
int  nElements_global,
int *  u_l2g,
double *  u_dof,
int *  sd_rowptr,
int *  sd_colind,
double *  q_a,
double *  q_v,
double *  q_r,
int  lag_shockCapturing,
double  shockCapturingDiffusion,
double *  q_numDiff_u,
double *  q_numDiff_u_last,
int *  csrRowIndeces_u_u,
int *  csrColumnOffsets_u_u,
double *  globalJacobian,
int  nExteriorElementBoundaries_global,
int *  exteriorElementBoundariesArray,
int *  elementBoundaryElementsArray,
int *  elementBoundaryLocalElementBoundariesArray,
double *  ebqe_a,
double *  ebqe_v,
int *  isDOFBoundary_u,
double *  ebqe_bc_u_ext,
int *  isDiffusiveFluxBoundary_u,
int *  isAdvectiveFluxBoundary_u,
double *  ebqe_bc_flux_u_ext,
double *  ebqe_bc_advectiveFlux_u_ext,
int *  csrColumnOffsets_eb_u_u,
double *  ebqe_penalty_ext,
const double  eb_adjoint_sigma 
)
inlinevirtual

Implements proteus::cppADR_base.

Definition at line 1052 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateNumericalDiffusion ( const double &  shockCapturingDiffusion,
const double &  elementDiameter,
const double &  strong_residual,
const double  grad_u[nSpace],
double &  numDiff 
)
inline

Definition at line 259 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateResidual ( double *  mesh_trial_ref,
double *  mesh_grad_trial_ref,
double *  mesh_dof,
int *  mesh_l2g,
double *  dV_ref,
double *  u_trial_ref,
double *  u_grad_trial_ref,
double *  u_test_ref,
double *  u_grad_test_ref,
double *  elementDiameter,
double *  cfl,
double  Ct_sge,
double  sc_uref,
double  sc_alpha,
double  useMetrics,
double *  mesh_trial_trace_ref,
double *  mesh_grad_trial_trace_ref,
double *  dS_ref,
double *  u_trial_trace_ref,
double *  u_grad_trial_trace_ref,
double *  u_test_trace_ref,
double *  u_grad_test_trace_ref,
double *  normal_ref,
double *  boundaryJac_ref,
int  nElements_global,
int *  u_l2g,
double *  u_dof,
int *  sd_rowptr,
int *  sd_colind,
double *  q_a,
double *  q_v,
double *  q_r,
int  lag_shockCapturing,
double  shockCapturingDiffusion,
double *  q_numDiff_u,
double *  q_numDiff_u_last,
int  offset_u,
int  stride_u,
double *  globalResidual,
int  nExteriorElementBoundaries_global,
int *  exteriorElementBoundariesArray,
int *  elementBoundaryElementsArray,
int *  elementBoundaryLocalElementBoundariesArray,
double *  ebqe_a,
double *  ebqe_v,
int *  isDOFBoundary_u,
double *  ebqe_bc_u_ext,
int *  isDiffusiveFluxBoundary_u,
int *  isAdvectiveFluxBoundary_u,
double *  ebqe_bc_flux_u_ext,
double *  ebqe_bc_advectiveFlux_u_ext,
double *  ebqe_penalty_ext,
const double  eb_adjoint_sigma 
)
inlinevirtual

Implements proteus::cppADR_base.

Definition at line 551 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateSubgridError_tau ( const double &  elementDiameter,
const double &  dmt,
const double  dH[nSpace],
double &  cfl,
double &  tau 
)
inline

Definition at line 225 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::calculateSubgridError_tau ( const double &  Ct_sge,
const double  G[nSpace *nSpace],
const double &  A0,
const double  Ai[nSpace],
double &  tau_v,
double &  cfl 
)
inline

Definition at line 243 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::exteriorNumericalAdvectiveFlux ( const int &  isDOFBoundary_u,
const int &  isFluxBoundary_u,
const double  n[nSpace],
const double &  bc_u,
const double &  bc_flux_u,
const double &  u,
const double  velocity[nSpace],
double &  flux 
)
inline

Definition at line 279 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::exteriorNumericalAdvectiveFluxDerivative ( const int &  isDOFBoundary_u,
const int &  isFluxBoundary_u,
const double  n[nSpace],
const double  velocity[nSpace],
double &  dflux 
)
inline

Definition at line 325 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
void proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::exteriorNumericalDiffusiveFlux ( int *  rowptr,
int *  colind,
const int &  isDOFBoundary,
const int &  isDiffusiveFluxBoundary,
const double  n[nSpace],
double *  bc_a,
const double &  bc_u,
const double &  bc_flux,
double *  a,
const double  grad_potential[nSpace],
const double &  u,
const double &  penalty,
double &  flux 
)
inline

Definition at line 151 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
double proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::ExteriorNumericalDiffusiveFluxJacobian ( int *  rowptr,
int *  colind,
const int &  isDOFBoundary,
const int &  isDiffusiveFluxBoundary,
const double  n[nSpace],
double *  a,
const double &  v,
const double  grad_v[nSpace],
const double &  penalty 
)
inline

Definition at line 196 of file ADR.h.

Member Data Documentation

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
CompKernelType proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::ck

Definition at line 138 of file ADR.h.

template<class CompKernelType , int nSpace, int nQuadraturePoints_element, int nDOF_mesh_trial_element, int nDOF_trial_element, int nDOF_test_element, int nQuadraturePoints_elementBoundary>
const int proteus::cppADR< CompKernelType, nSpace, nQuadraturePoints_element, nDOF_mesh_trial_element, nDOF_trial_element, nDOF_test_element, nQuadraturePoints_elementBoundary >::nDOF_test_X_trial_element

Definition at line 137 of file ADR.h.


The documentation for this class was generated from the following file: