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::HexahedralP2Element Class Reference

#include <Hex27CVFEM.h>

Inheritance diagram for sierra::nalu::HexahedralP2Element:
sierra::nalu::MasterElement sierra::nalu::Hex27SCS sierra::nalu::Hex27SCV sierra::nalu::Quad93DSCS

Classes

struct  ContourData
 

Public Types

using AlgTraits = AlgTraitsHex27
 

Public Member Functions

 HexahedralP2Element ()
 
virtual ~HexahedralP2Element ()
 
void shape_fcn (double *shpfc)
 
void shifted_shape_fcn (double *shpfc)
 
template<typename ViewType >
ViewType copy_interpolation_weights_to_view (const std::vector< double > &interps)
 
template<typename ViewType >
ViewType copy_deriv_weights_to_view (const std::vector< double > &derivs)
 
template<typename ViewType >
ViewType copy_interpolation_weights_to_view ()
 
template<typename ViewType >
ViewType copy_deriv_weights_to_view ()
 
- 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 void sidePcoords_to_elemPcoords (const int &side_ordinal, const int &npoints, const double *side_pcoords, double *elem_pcoords)
 
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

int tensor_product_node_map (int i, int j, int k) 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 s3Node, int s1Ip, int s2Ip, int s3Ip) const
 
double tensor_product_weight (int s1Node, int s2Node, int s1Ip, int s2Ip) const
 
virtual void eval_shape_functions_at_ips ()
 
virtual void eval_shape_functions_at_shifted_ips ()
 
virtual void eval_shape_derivs_at_ips ()
 
virtual void eval_shape_derivs_at_shifted_ips ()
 
void eval_shape_derivs_at_face_ips ()
 
void set_quadrature_rule ()
 
void GLLGLL_quadrature_weights ()
 
void hex27_shape_deriv (int npts, const double *par_coord, double *shape_fcn) const
 
double parametric_distance (const std::array< double, 3 > &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)
 

Protected Attributes

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

Private Member Functions

void hex27_shape_fcn (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::HexahedralP2Element::HexahedralP2Element ( )
virtual sierra::nalu::HexahedralP2Element::~HexahedralP2Element ( )
inlinevirtual

References shape_fcn(), and shifted_shape_fcn().

Member Function Documentation

template<typename ViewType >
ViewType sierra::nalu::HexahedralP2Element::copy_deriv_weights_to_view ( const std::vector< double > &  derivs)
inline

Referenced by TEST().

template<typename ViewType >
ViewType sierra::nalu::HexahedralP2Element::copy_deriv_weights_to_view ( )
inline

References shapeDerivs_.

template<typename ViewType >
ViewType sierra::nalu::HexahedralP2Element::copy_interpolation_weights_to_view ( const std::vector< double > &  interps)
inline
template<typename ViewType >
ViewType sierra::nalu::HexahedralP2Element::copy_interpolation_weights_to_view ( )
inline

References shapeFunctions_.

void sierra::nalu::HexahedralP2Element::eval_shape_derivs_at_face_ips ( )
protected
void sierra::nalu::HexahedralP2Element::eval_shape_derivs_at_ips ( )
protectedvirtual
void sierra::nalu::HexahedralP2Element::eval_shape_derivs_at_shifted_ips ( )
protectedvirtual
void sierra::nalu::HexahedralP2Element::eval_shape_functions_at_ips ( )
protectedvirtual
void sierra::nalu::HexahedralP2Element::eval_shape_functions_at_shifted_ips ( )
protectedvirtual
double sierra::nalu::HexahedralP2Element::gauss_point_location ( int  nodeOrdinal,
int  gaussPointOrdinal 
) const
protected
void sierra::nalu::HexahedralP2Element::GLLGLL_quadrature_weights ( )
protected
void sierra::nalu::HexahedralP2Element::hex27_shape_deriv ( int  npts,
const double *  par_coord,
double *  shape_fcn 
) const
protected
void sierra::nalu::HexahedralP2Element::hex27_shape_fcn ( int  npts,
const double *  par_coord,
double *  shape_fcn 
) const
private
void sierra::nalu::HexahedralP2Element::interpolatePoint ( const int &  nComp,
const double *  isoParCoord,
const double *  field,
double *  result 
)
protectedvirtual
double sierra::nalu::HexahedralP2Element::isInElement ( const double *  elemNodalCoord,
const double *  pointCoord,
double *  isoParCoord 
)
protectedvirtual
double sierra::nalu::HexahedralP2Element::parametric_distance ( const std::array< double, 3 > &  x)
protected
void sierra::nalu::HexahedralP2Element::set_quadrature_rule ( )
protected
void sierra::nalu::HexahedralP2Element::shape_fcn ( double *  shpfc)
virtual
double sierra::nalu::HexahedralP2Element::shifted_gauss_point_location ( int  nodeOrdinal,
int  gaussPointOrdinal 
) const
protected
void sierra::nalu::HexahedralP2Element::shifted_shape_fcn ( double *  shpfc)
virtual
int sierra::nalu::HexahedralP2Element::tensor_product_node_map ( int  i,
int  j,
int  k 
) const
protected
double sierra::nalu::HexahedralP2Element::tensor_product_weight ( int  s1Node,
int  s2Node,
int  s3Node,
int  s1Ip,
int  s2Ip,
int  s3Ip 
) const
protected
double sierra::nalu::HexahedralP2Element::tensor_product_weight ( int  s1Node,
int  s2Node,
int  s1Ip,
int  s2Ip 
) const
protected

References gaussWeight_, and scsEndLoc_.

Member Data Documentation

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

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