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
Public Member Functions | Private Member Functions | List of all members
sierra::nalu::Hex8FEM Class Reference

#include <Hex8FEM.h>

Inheritance diagram for sierra::nalu::Hex8FEM:
sierra::nalu::MasterElement

Public Member Functions

 Hex8FEM ()
 
virtual ~Hex8FEM ()
 
void grad_op (const int nelem, const double *coords, double *gradop, double *deriv, double *det_j, double *error)
 
void shifted_grad_op (const int nelem, const double *coords, double *gradop, double *deriv, double *det_j, double *error)
 
void grad_op_fem (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv, SharedMemView< DoubleType * > &det_j) final
 
void shifted_grad_op_fem (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv, SharedMemView< DoubleType * > &det_j) final
 
void shape_fcn (SharedMemView< DoubleType ** > &shpfc) final
 
void shifted_shape_fcn (SharedMemView< DoubleType ** > &shpfc) final
 
void face_grad_op (const int nelem, const int face_ordinal, const double *coords, double *gradop, double *det_j, double *error)
 
void general_shape_fcn (const int numIp, const double *isoParCoord, double *shpfc)
 
void shape_fcn (double *shpfc)
 
void shifted_shape_fcn (double *shpfc)
 
void gij (const double *coords, double *gupperij, double *glowerij, double *deriv)
 
- Public Member Functions inherited from sierra::nalu::MasterElement
 MasterElement ()
 
virtual ~MasterElement ()
 
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 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 nodal_grad_op (const int nelem, double *deriv, 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 double isInElement (const double *elemNodalCoord, const double *pointCoord, double *isoParCoord)
 
virtual void interpolatePoint (const int &nComp, const double *isoParCoord, const double *field, double *result)
 
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)
 

Private Member Functions

void hex8_fem_shape_fcn (const int &numIp, const double *isoParCoord, double *shpfc)
 
void hex8_fem_shape_fcn (const int &numIp, const double *isoParCoord, SharedMemView< DoubleType ** > shpfc)
 
void hex8_fem_derivative (const int npt, const double *par_coord, double *deriv)
 
void hex8_fem_derivative (const int npt, const double *par_coord, SharedMemView< DoubleType *** > deriv)
 

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_
 

Constructor & Destructor Documentation

sierra::nalu::Hex8FEM::Hex8FEM ( )
sierra::nalu::Hex8FEM::~Hex8FEM ( )
virtual

Member Function Documentation

void sierra::nalu::Hex8FEM::face_grad_op ( const int  nelem,
const int  face_ordinal,
const double *  coords,
double *  gradop,
double *  det_j,
double *  error 
)
virtual
void sierra::nalu::Hex8FEM::general_shape_fcn ( const int  numIp,
const double *  isoParCoord,
double *  shpfc 
)
virtual

Reimplemented from sierra::nalu::MasterElement.

References hex8_fem_shape_fcn().

void sierra::nalu::Hex8FEM::gij ( const double *  coords,
double *  gupperij,
double *  glowerij,
double *  deriv 
)
virtual
void sierra::nalu::Hex8FEM::grad_op ( const int  nelem,
const double *  coords,
double *  gradop,
double *  deriv,
double *  det_j,
double *  error 
)
virtual
void sierra::nalu::Hex8FEM::grad_op_fem ( SharedMemView< DoubleType ** > &  coords,
SharedMemView< DoubleType *** > &  gradop,
SharedMemView< DoubleType *** > &  deriv,
SharedMemView< DoubleType * > &  det_j 
)
finalvirtual
void sierra::nalu::Hex8FEM::hex8_fem_derivative ( const int  npt,
const double *  par_coord,
double *  deriv 
)
private
void sierra::nalu::Hex8FEM::hex8_fem_derivative ( const int  npt,
const double *  par_coord,
SharedMemView< DoubleType *** >  deriv 
)
private
void sierra::nalu::Hex8FEM::hex8_fem_shape_fcn ( const int &  numIp,
const double *  isoParCoord,
double *  shpfc 
)
private
void sierra::nalu::Hex8FEM::hex8_fem_shape_fcn ( const int &  numIp,
const double *  isoParCoord,
SharedMemView< DoubleType ** >  shpfc 
)
private
void sierra::nalu::Hex8FEM::shape_fcn ( SharedMemView< DoubleType ** > &  shpfc)
finalvirtual
void sierra::nalu::Hex8FEM::shape_fcn ( double *  shpfc)
virtual
void sierra::nalu::Hex8FEM::shifted_grad_op ( const int  nelem,
const double *  coords,
double *  gradop,
double *  deriv,
double *  det_j,
double *  error 
)
virtual
void sierra::nalu::Hex8FEM::shifted_grad_op_fem ( SharedMemView< DoubleType ** > &  coords,
SharedMemView< DoubleType *** > &  gradop,
SharedMemView< DoubleType *** > &  deriv,
SharedMemView< DoubleType * > &  det_j 
)
finalvirtual
void sierra::nalu::Hex8FEM::shifted_shape_fcn ( SharedMemView< DoubleType ** > &  shpfc)
finalvirtual
void sierra::nalu::Hex8FEM::shifted_shape_fcn ( double *  shpfc)
virtual

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