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 | Private Attributes | List of all members
sierra::nalu::MomentumNSOElemKernel< AlgTraits > Class Template Reference

NSO for momentum equation. More...

#include <MomentumNSOElemKernel.h>

Inheritance diagram for sierra::nalu::MomentumNSOElemKernel< AlgTraits >:
sierra::nalu::Kernel

Public Member Functions

 MomentumNSOElemKernel (const stk::mesh::BulkData &, const SolutionOptions &, VectorFieldType *, GenericFieldType *, ScalarFieldType *, const double, const double, ElemDataRequests &)
 
virtual ~MomentumNSOElemKernel ()
 
virtual void setup (const TimeIntegrator &)
 Perform pre-timestep work for the computational kernel. More...
 
virtual void execute (SharedMemView< DoubleType ** > &, SharedMemView< DoubleType * > &, ScratchViews< DoubleType > &)
 Execute the kernel within a Kokkos loop and populate the LHS and RHS for the linear solve. More...
 
- Public Member Functions inherited from sierra::nalu::Kernel
 Kernel ()=default
 
virtual ~Kernel ()
 

Private Member Functions

 MomentumNSOElemKernel ()=delete
 

Private Attributes

VectorFieldTypevelocityNm1_ {nullptr}
 
VectorFieldTypevelocityN_ {nullptr}
 
VectorFieldTypevelocityNp1_ {nullptr}
 
ScalarFieldTypedensityNm1_ {nullptr}
 
ScalarFieldTypedensityN_ {nullptr}
 
ScalarFieldTypedensityNp1_ {nullptr}
 
ScalarFieldTypepressure_ {nullptr}
 
VectorFieldTypevelocityRTM_ {nullptr}
 
VectorFieldTypecoordinates_ {nullptr}
 
ScalarFieldTypeviscosity_ {nullptr}
 
GenericFieldTypeGju_ {nullptr}
 
const int * lrscv_
 
double dt_ {0.0}
 
double gamma1_ {0.0}
 
double gamma2_ {0.0}
 
double gamma3_ {0.0}
 
const double Cupw_ {0.1}
 
const double fourthFac_
 
const double altResFac_
 
const double om_altResFac_
 
const double nonConservedForm_ {0.0}
 
const double includeDivU_
 
const bool shiftedGradOp_
 
const double small_ {1.0e-16}
 
Kokkos::View< DoubleType[AlgTraits::numScsIp_][AlgTraits::nodesPerElement_]> v_shape_function_ {"v_shape_function"}
 
Kokkos::View< DoubleType[AlgTraits::nDim_][AlgTraits::nDim_]> v_kd_ {"v_kd"}
 

Detailed Description

template<typename AlgTraits>
class sierra::nalu::MomentumNSOElemKernel< AlgTraits >

NSO for momentum equation.

Constructor & Destructor Documentation

template<typename AlgTraits >
sierra::nalu::MomentumNSOElemKernel< AlgTraits >::MomentumNSOElemKernel ( const stk::mesh::BulkData &  bulkData,
const SolutionOptions solnOpts,
VectorFieldType velocity,
GenericFieldType Gju,
ScalarFieldType viscosity,
const double  fourthFac,
const double  altResFac,
ElemDataRequests dataPreReqs 
)
template<typename AlgTraits >
virtual sierra::nalu::MomentumNSOElemKernel< AlgTraits >::~MomentumNSOElemKernel ( )
inlinevirtual
template<typename AlgTraits >
sierra::nalu::MomentumNSOElemKernel< AlgTraits >::MomentumNSOElemKernel ( )
privatedelete

Member Function Documentation

template<typename AlgTraits >
void sierra::nalu::MomentumNSOElemKernel< AlgTraits >::execute ( SharedMemView< DoubleType ** > &  ,
SharedMemView< DoubleType * > &  ,
ScratchViews< DoubleType > &   
)
virtual

Execute the kernel within a Kokkos loop and populate the LHS and RHS for the linear solve.

Reimplemented from sierra::nalu::Kernel.

References sierra::nalu::MomentumNSOElemKernel< AlgTraits >::altResFac_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::Cupw_, sierra::nalu::CURRENT_COORDINATES, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::densityN_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::densityNm1_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::densityNp1_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::dt_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::fourthFac_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::gamma1_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::gamma2_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::gamma3_, sierra::nalu::ScratchViews< T >::get_me_views(), sierra::nalu::ScratchViews< T >::get_scratch_view_1D(), sierra::nalu::ScratchViews< T >::get_scratch_view_2D(), sierra::nalu::ScratchViews< T >::get_scratch_view_3D(), sierra::nalu::MomentumNSOElemKernel< AlgTraits >::Gju_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::includeDivU_, sierra::nalu::INSTANTIATE_KERNEL(), anonymous_namespace{UnitTestContinuityAdvElem.C}::hex8_golds::advection_default::lhs, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::lrscv_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::nonConservedForm_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::om_altResFac_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::pressure_, anonymous_namespace{UnitTestContinuityAdvElem.C}::hex8_golds::advection_default::rhs, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::shiftedGradOp_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::small_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::v_kd_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::v_shape_function_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityN_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityNm1_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityNp1_, sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityRTM_, and sierra::nalu::MomentumNSOElemKernel< AlgTraits >::viscosity_.

Referenced by sierra::nalu::MomentumNSOElemKernel< AlgTraits >::~MomentumNSOElemKernel().

template<typename AlgTraits >
void sierra::nalu::MomentumNSOElemKernel< AlgTraits >::setup ( const TimeIntegrator )
virtual

Member Data Documentation

template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::altResFac_
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::coordinates_ {nullptr}
private
template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::Cupw_ {0.1}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::densityN_ {nullptr}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::densityNm1_ {nullptr}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::densityNp1_ {nullptr}
private
template<typename AlgTraits >
double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::dt_ {0.0}
private
template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::fourthFac_
private
template<typename AlgTraits >
double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::gamma1_ {0.0}
private
template<typename AlgTraits >
double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::gamma2_ {0.0}
private
template<typename AlgTraits >
double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::gamma3_ {0.0}
private
template<typename AlgTraits >
GenericFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::Gju_ {nullptr}
private
template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::includeDivU_
private
template<typename AlgTraits >
const int* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::lrscv_
private
template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::nonConservedForm_ {0.0}
private
template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::om_altResFac_
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::pressure_ {nullptr}
private
template<typename AlgTraits >
const bool sierra::nalu::MomentumNSOElemKernel< AlgTraits >::shiftedGradOp_
private
template<typename AlgTraits >
const double sierra::nalu::MomentumNSOElemKernel< AlgTraits >::small_ {1.0e-16}
private
template<typename AlgTraits >
Kokkos::View<DoubleType[AlgTraits::nDim_][AlgTraits::nDim_]> sierra::nalu::MomentumNSOElemKernel< AlgTraits >::v_kd_ {"v_kd"}
private
template<typename AlgTraits >
Kokkos::View<DoubleType[AlgTraits::numScsIp_][AlgTraits::nodesPerElement_]> sierra::nalu::MomentumNSOElemKernel< AlgTraits >::v_shape_function_ {"v_shape_function"}
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityN_ {nullptr}
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityNm1_ {nullptr}
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityNp1_ {nullptr}
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::velocityRTM_ {nullptr}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::MomentumNSOElemKernel< AlgTraits >::viscosity_ {nullptr}
private

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