![]() |
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
|
#include <Hex27CVFEM.h>
Public Member Functions | |
| Hex27SCS () | |
| virtual | ~Hex27SCS () |
| void | shape_fcn (SharedMemView< DoubleType ** > &shpfc) |
| void | shifted_shape_fcn (SharedMemView< DoubleType ** > &shpfc) |
| void | grad_op (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv) |
| void | shifted_grad_op (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType *** > &gradop, SharedMemView< DoubleType *** > &deriv) |
| void | determinant (SharedMemView< DoubleType ** > &coords, SharedMemView< DoubleType ** > &areav) |
| void | gij (SharedMemView< DoubleType ** > coords, SharedMemView< DoubleType *** > gupper, SharedMemView< DoubleType *** > glower, SharedMemView< DoubleType *** > deriv) |
| void | determinant (const int nelem, const double *coords, double *areav, double *error) |
| 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 | face_grad_op (const int nelem, const int face_ordinal, const double *coords, double *gradop, double *det_j, double *error) |
| void | gij (const double *coords, double *gupperij, double *glowerij, double *deriv) |
| void | general_face_grad_op (const int face_ordinal, const double *isoParCoord, const double *coords, double *gradop, double *det_j, double *error) |
| void | sidePcoords_to_elemPcoords (const int &side_ordinal, const int &npoints, const double *side_pcoords, double *elem_pcoords) |
| const int * | adjacentNodes () |
| const int * | ipNodeMap (int ordinal=0) |
| int | opposingNodes (const int ordinal, const int node) |
| int | opposingFace (const int ordinal, const int node) |
| const int * | side_node_ordinals (int sideOrdinal) final |
| const InterpWeightType & | shape_function_values () |
| const GradWeightType & | shape_function_derivatives () |
| template<typename GradViewType , typename CoordViewType , typename OutputViewType > | |
| void | weighted_area_vectors (GradViewType referenceGradWeights, CoordViewType coords, OutputViewType areav) |
Public Member Functions inherited from sierra::nalu::HexahedralP2Element | |
| 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 | 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 * > volume) |
| 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 void | general_shape_fcn (const int numIp, const double *isoParCoord, double *shpfc) |
| virtual void | general_normal (const double *isoParCoord, const double *coords, double *normal) |
| 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 Attributes | |
| std::vector< ContourData > | ipInfo_ |
Protected Attributes inherited from sierra::nalu::HexahedralP2Element | |
| 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 Types | |
| using | InterpWeightType = Kokkos::View< DoubleType[AlgTraits::numScsIp_][AlgTraits::nodesPerElement_]> |
| using | GradWeightType = Kokkos::View< DoubleType[AlgTraits::numScsIp_][AlgTraits::nodesPerElement_][AlgTraits::nDim_]> |
Private Member Functions | |
| void | set_interior_info () |
| void | set_boundary_info () |
| template<Jacobian::Direction dir> | |
| void | area_vector (const double *POINTER_RESTRICT elemNodalCoords, double *POINTER_RESTRICT shapeDeriv, double *POINTER_RESTRICT areaVector) const |
| void | gradient (const double *POINTER_RESTRICT elemNodalCoords, const double *POINTER_RESTRICT shapeDeriv, double *POINTER_RESTRICT grad, double *POINTER_RESTRICT det_j) const |
| template<int direction, typename GradViewType , typename CoordViewType , typename OutputViewType > | |
| void | area_vector (int ip, GradViewType referenceGradWeights, CoordViewType coords, OutputViewType areav) |
Private Attributes | |
| InterpWeightType | interpWeights_ |
| GradWeightType | referenceGradWeights_ |
| InterpWeightType | shiftedInterpWeights_ |
| GradWeightType | shiftedReferenceGradWeights_ |
| int | ipsPerFace_ |
Additional Inherited Members | |
Public Types inherited from sierra::nalu::HexahedralP2Element | |
| using | AlgTraits = AlgTraitsHex27 |
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_ |
Protected Member Functions inherited from sierra::nalu::HexahedralP2Element | |
| 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) |
|
private |
|
private |
| sierra::nalu::Hex27SCS::Hex27SCS | ( | ) |
References sierra::nalu::HexahedralP2Element::eval_shape_derivs_at_face_ips(), sierra::nalu::HexahedralP2Element::eval_shape_derivs_at_ips(), sierra::nalu::HexahedralP2Element::eval_shape_derivs_at_shifted_ips(), sierra::nalu::HexahedralP2Element::eval_shape_functions_at_ips(), sierra::nalu::HexahedralP2Element::eval_shape_functions_at_shifted_ips(), interpWeights_, referenceGradWeights_, set_boundary_info(), set_interior_info(), sierra::nalu::HexahedralP2Element::set_quadrature_rule(), sierra::nalu::HexahedralP2Element::shapeDerivs_, sierra::nalu::HexahedralP2Element::shapeDerivsShift_, sierra::nalu::HexahedralP2Element::shapeFunctions_, and shiftedReferenceGradWeights_.
|
inlinevirtual |
References sierra::nalu::MasterElement::adjacentNodes(), sierra::nalu::MasterElement::determinant(), sierra::nalu::MasterElement::face_grad_op(), sierra::nalu::MasterElement::general_face_grad_op(), sierra::nalu::MasterElement::gij(), sierra::nalu::MasterElement::grad_op(), sierra::nalu::MasterElement::ipNodeMap(), sierra::nalu::MasterElement::opposingFace(), sierra::nalu::MasterElement::opposingNodes(), sierra::nalu::HexahedralP2Element::shape_fcn(), sierra::nalu::MasterElement::shifted_grad_op(), sierra::nalu::HexahedralP2Element::shifted_shape_fcn(), sierra::nalu::MasterElement::side_node_ordinals(), and sierra::nalu::MasterElement::sidePcoords_to_elemPcoords().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References sierra::nalu::MasterElement::lrscv_.
|
private |
|
inlineprivate |
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References referenceGradWeights_, and weighted_area_vectors().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References ipInfo_, sierra::nalu::AlgTraitsHex27::nDim_, sierra::nalu::AlgTraitsHex27::nodesPerElement_, sierra::nalu::AlgTraitsHex27::numScsIp_, sierra::nalu::Jacobian::S_DIRECTION, sierra::nalu::HexahedralP2Element::shapeDerivs_, sierra::nalu::Jacobian::T_DIRECTION, and sierra::nalu::Jacobian::U_DIRECTION.
|
virtual |
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References gradient(), sierra::nalu::HexahedralP2Element::hex27_shape_deriv(), and sierra::nalu::tiny_positive_value().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References referenceGradWeights_.
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References sierra::nalu::MasterElement::nodesPerElement_, sierra::nalu::MasterElement::numIntPoints_, and threed_gij().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References sierra::nalu::AlgTraitsHex27::nDim_, sierra::nalu::AlgTraitsHex27::nodesPerElement_, sierra::nalu::AlgTraitsHex27::numScsIp_, and referenceGradWeights_.
|
virtual |
|
private |
References sierra::nalu::MasterElement::nDim_, and sierra::nalu::AlgTraitsHex27::nodesPerElement_.
Referenced by face_grad_op(), general_face_grad_op(), grad_op(), and shifted_grad_op().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References sierra::nalu::MasterElement::ipNodeMap_, and ipsPerFace_.
Referenced by anonymous_namespace{UnitTestHex27FaceNodeOrdering.C}::check_Hex27_face_ip_node_ordering().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References ipsPerFace_, and sierra::nalu::MasterElement::oppFace_.
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References ipsPerFace_, and sierra::nalu::MasterElement::oppNode_.
|
private |
References sierra::nalu::MasterElement::intgExpFace_, sierra::nalu::MasterElement::intgLoc_, sierra::nalu::MasterElement::ipNodeMap_, ipsPerFace_, sierra::nalu::MasterElement::nDim_, sierra::nalu::HexahedralP2Element::nodes1D_, sierra::nalu::HexahedralP2Element::numQuad_, sierra::nalu::MasterElement::oppFace_, sierra::nalu::MasterElement::oppNode_, and sierra::nalu::HexahedralP2Element::tensor_product_node_map().
Referenced by Hex27SCS().
|
private |
References sierra::nalu::HexahedralP2Element::gauss_point_location(), sierra::nalu::MasterElement::intgLoc_, sierra::nalu::MasterElement::intgLocShift_, ipInfo_, sierra::nalu::MasterElement::lrscv_, sierra::nalu::MasterElement::nDim_, sierra::nalu::HexahedralP2Element::nodes1D_, sierra::nalu::MasterElement::numIntPoints_, sierra::nalu::HexahedralP2Element::numQuad_, sierra::nalu::AlgTraitsHex27::numScsIp_, sierra::nalu::Jacobian::S_DIRECTION, sierra::nalu::HexahedralP2Element::scsDist_, sierra::nalu::HexahedralP2Element::shifted_gauss_point_location(), sierra::nalu::Jacobian::T_DIRECTION, sierra::nalu::HexahedralP2Element::tensor_product_node_map(), sierra::nalu::HexahedralP2Element::tensor_product_weight(), and sierra::nalu::Jacobian::U_DIRECTION.
Referenced by Hex27SCS().
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References interpWeights_, sierra::nalu::AlgTraitsHex27::nodesPerElement_, and sierra::nalu::AlgTraitsHex27::numScsIp_.
|
inline |
|
inline |
|
virtual |
|
virtual |
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
References sierra::nalu::AlgTraitsHex27::nodesPerElement_, sierra::nalu::AlgTraitsHex27::numScsIp_, and shiftedInterpWeights_.
|
finalvirtual |
Reimplemented from sierra::nalu::MasterElement.
References sierra::nalu::MasterElement::sideNodeOrdinals_.
|
virtual |
Reimplemented from sierra::nalu::MasterElement.
|
inline |
References sierra::nalu::HexahedralP2Element::ContourData::direction, sierra::nalu::AlgTraitsHex27::nDim_, sierra::nalu::AlgTraitsHex27::numScsIp_, sierra::nalu::Jacobian::S_DIRECTION, sierra::nalu::Jacobian::T_DIRECTION, sierra::nalu::Jacobian::U_DIRECTION, and sierra::nalu::HexahedralP2Element::ContourData::weight.
Referenced by determinant(), and TEST().
|
private |
Referenced by Hex27SCS(), and shape_fcn().
|
protected |
Referenced by determinant(), and set_interior_info().
|
private |
Referenced by face_grad_op(), ipNodeMap(), opposingFace(), opposingNodes(), and set_boundary_info().
|
private |
Referenced by determinant(), gij(), grad_op(), and Hex27SCS().
|
private |
Referenced by shifted_shape_fcn().
|
private |
Referenced by Hex27SCS(), and shifted_grad_op().
1.8.11