Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
sierra::nalu::QuadrilateralP2Element Class Reference

#include <MasterElement.h>

Inheritance diagram for sierra::nalu::QuadrilateralP2Element:
sierra::nalu::MasterElement sierra::nalu::Edge32DSCS sierra::nalu::Quad92DSCS sierra::nalu::Quad92DSCV

Classes

struct  ContourData
 

Public Types

using Traits = AlgTraitsQuad9_2D
 

Public Member Functions

 QuadrilateralP2Element ()
 
virtual ~QuadrilateralP2Element ()
 
void shape_fcn (double *shpfc)
 
void shifted_shape_fcn (double *shpfc)
 
- Public Member Functions inherited from sierra::nalu::MasterElement
 MasterElement ()
 
virtual ~MasterElement ()
 
virtual void shape_fcn (SharedMemView< DoubleType ** > &shpfc)
 
virtual void shifted_shape_fcn (SharedMemView< DoubleType ** > &shpfc)
 
virtual void grad_op (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv)
 
virtual void shifted_grad_op (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv)
 
virtual void grad_op_fem (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv, SharedMemView< DoubleType * > &det_j)
 
virtual void shifted_grad_op_fem (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv, SharedMemView< DoubleType * > &det_j)
 
virtual void determinant (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType ** > &areav)
 
virtual void gij (SharedMemView< DoubleType ** > coords, SharedMemView< DoubleType *** > gupper, SharedMemView< DoubleType *** > glower, SharedMemView< DoubleType *** > deriv)
 
virtual void determinant (SharedMemView< DoubleType ** > coords, SharedMemView< DoubleType * > volume)
 
virtual void determinant (const int nelem, const double *coords, double *volume, double *error)
 
virtual void grad_op (const int nelem, const double *coords, double *gradop, double *deriv, double *det_j, double *error)
 
virtual void shifted_grad_op (const int nelem, const double *coords, double *gradop, double *deriv, double *det_j, double *error)
 
virtual void gij (const double *coords, double *gupperij, double *glowerij, double *deriv)
 
virtual void nodal_grad_op (const int nelem, double *deriv, double *error)
 
virtual void face_grad_op (const int nelem, const int face_ordinal, const double *coords, double *gradop, double *det_j, double *error)
 
virtual void shifted_face_grad_op (const int nelem, const int face_ordinal, const double *coords, double *gradop, double *det_j, double *error)
 
virtual const int * adjacentNodes ()
 
virtual const int * ipNodeMap (int ordinal=0)
 
virtual int opposingNodes (const int ordinal, const int node)
 
virtual int opposingFace (const int ordinal, const int node)
 
virtual void general_shape_fcn (const int numIp, const double *isoParCoord, double *shpfc)
 
virtual void general_face_grad_op (const int face_ordinal, const double *isoParCoord, const double *coords, double *gradop, double *det_j, double *error)
 
virtual void general_normal (const double *isoParCoord, const double *coords, double *normal)
 
virtual const int * side_node_ordinals (int sideOrdinal)
 
double isoparametric_mapping (const double b, const double a, const double xi) const
 
bool within_tolerance (const double &val, const double &tol)
 
double vector_norm_sq (const double *vect, int len)
 

Protected Member Functions

void set_quadrature_rule ()
 
void GLLGLL_quadrature_weights ()
 
int tensor_product_node_map (int i, int j) const
 
double gauss_point_location (int nodeOrdinal, int gaussPointOrdinal) const
 
double shifted_gauss_point_location (int nodeOrdinal, int gaussPointOrdinal) const
 
double tensor_product_weight (int s1Node, int s2Node, int s1Ip, int s2Ip) const
 
double tensor_product_weight (int s1Node, int s1Ip) const
 
double parametric_distance (const std::array< double, 2 > &x)
 
virtual void interpolatePoint (const int &nComp, const double *isoParCoord, const double *field, double *result)
 
virtual double isInElement (const double *elemNodalCoord, const double *pointCoord, double *isoParCoord)
 
virtual void sidePcoords_to_elemPcoords (const int &side_ordinal, const int &npoints, const double *side_pcoords, double *elem_pcoords)
 
void eval_shape_functions_at_ips ()
 
void eval_shape_functions_at_shifted_ips ()
 
void eval_shape_derivs_at_ips ()
 
void eval_shape_derivs_at_shifted_ips ()
 
void eval_shape_derivs_at_face_ips ()
 

Protected Attributes

const double scsDist_
 
const int nodes1D_
 
int numQuad_
 
std::vector< double > gaussAbscissae1D_
 
std::vector< double > gaussAbscissae_
 
std::vector< double > gaussAbscissaeShift_
 
std::vector< double > gaussWeight_
 
std::vector< int > stkNodeMap_
 
std::vector< double > scsEndLoc_
 
std::vector< double > shapeFunctions_
 
std::vector< double > shapeFunctionsShift_
 
std::vector< double > shapeDerivs_
 
std::vector< double > shapeDerivsShift_
 
std::vector< double > expFaceShapeDerivs_
 

Private Member Functions

void quad9_shape_fcn (int npts, const double *par_coord, double *shape_fcn) const
 
void quad9_shape_deriv (int npts, const double *par_coord, double *shape_fcn) const
 

Additional Inherited Members

- Public Attributes inherited from sierra::nalu::MasterElement
int nDim_
 
int nodesPerElement_
 
int numIntPoints_
 
double scaleToStandardIsoFac_
 
std::vector< int > lrscv_
 
std::vector< int > ipNodeMap_
 
std::vector< int > oppNode_
 
std::vector< int > oppFace_
 
std::vector< double > intgLoc_
 
std::vector< double > intgLocShift_
 
std::vector< double > intgExpFace_
 
std::vector< double > intgExpFaceShift_
 
std::vector< double > nodeLoc_
 
std::vector< int > sideNodeOrdinals_
 
std::vector< int > sideOffset_
 
std::vector< double > weights_
 

Member Typedef Documentation

Constructor & Destructor Documentation

sierra::nalu::QuadrilateralP2Element::QuadrilateralP2Element ( )
virtual sierra::nalu::QuadrilateralP2Element::~QuadrilateralP2Element ( )
inlinevirtual

Member Function Documentation

void sierra::nalu::QuadrilateralP2Element::eval_shape_derivs_at_face_ips ( )
protected
void sierra::nalu::QuadrilateralP2Element::eval_shape_derivs_at_ips ( )
protected
void sierra::nalu::QuadrilateralP2Element::eval_shape_derivs_at_shifted_ips ( )
protected
void sierra::nalu::QuadrilateralP2Element::eval_shape_functions_at_ips ( )
protected
void sierra::nalu::QuadrilateralP2Element::eval_shape_functions_at_shifted_ips ( )
protected
double sierra::nalu::QuadrilateralP2Element::gauss_point_location ( int  nodeOrdinal,
int  gaussPointOrdinal 
) const
protected
void sierra::nalu::QuadrilateralP2Element::GLLGLL_quadrature_weights ( )
protected
void sierra::nalu::QuadrilateralP2Element::interpolatePoint ( const int &  nComp,
const double *  isoParCoord,
const double *  field,
double *  result 
)
protectedvirtual

Reimplemented from sierra::nalu::MasterElement.

Reimplemented in sierra::nalu::Edge32DSCS.

References sierra::nalu::ddot(), and quad9_shape_fcn().

double sierra::nalu::QuadrilateralP2Element::isInElement ( const double *  elemNodalCoord,
const double *  pointCoord,
double *  isoParCoord 
)
protectedvirtual
double sierra::nalu::QuadrilateralP2Element::parametric_distance ( const std::array< double, 2 > &  x)
protected

Referenced by isInElement().

void sierra::nalu::QuadrilateralP2Element::quad9_shape_deriv ( int  npts,
const double *  par_coord,
double *  shape_fcn 
) const
private
void sierra::nalu::QuadrilateralP2Element::quad9_shape_fcn ( int  npts,
const double *  par_coord,
double *  shape_fcn 
) const
private
void sierra::nalu::QuadrilateralP2Element::set_quadrature_rule ( )
protected
void sierra::nalu::QuadrilateralP2Element::shape_fcn ( double *  shpfc)
virtual
double sierra::nalu::QuadrilateralP2Element::shifted_gauss_point_location ( int  nodeOrdinal,
int  gaussPointOrdinal 
) const
protected
void sierra::nalu::QuadrilateralP2Element::shifted_shape_fcn ( double *  shpfc)
virtual
void sierra::nalu::QuadrilateralP2Element::sidePcoords_to_elemPcoords ( const int &  side_ordinal,
const int &  npoints,
const double *  side_pcoords,
double *  elem_pcoords 
)
protectedvirtual

Reimplemented from sierra::nalu::MasterElement.

int sierra::nalu::QuadrilateralP2Element::tensor_product_node_map ( int  i,
int  j 
) const
protected
double sierra::nalu::QuadrilateralP2Element::tensor_product_weight ( int  s1Node,
int  s2Node,
int  s1Ip,
int  s2Ip 
) const
protected
double sierra::nalu::QuadrilateralP2Element::tensor_product_weight ( int  s1Node,
int  s1Ip 
) const
protected

References gaussWeight_, and scsEndLoc_.

Member Data Documentation

std::vector<double> sierra::nalu::QuadrilateralP2Element::expFaceShapeDerivs_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::gaussAbscissae1D_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::gaussAbscissae_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::gaussAbscissaeShift_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::gaussWeight_
protected
const int sierra::nalu::QuadrilateralP2Element::nodes1D_
protected
int sierra::nalu::QuadrilateralP2Element::numQuad_
protected
const double sierra::nalu::QuadrilateralP2Element::scsDist_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::scsEndLoc_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::shapeDerivs_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::shapeDerivsShift_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::shapeFunctions_
protected
std::vector<double> sierra::nalu::QuadrilateralP2Element::shapeFunctionsShift_
protected
std::vector<int> sierra::nalu::QuadrilateralP2Element::stkNodeMap_
protected

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