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::ScalarUpwAdvDiffElemKernel< AlgTraits > Class Template Reference

CVFEM scalar upwind advection/diffusion kernel. More...

#include <ScalarUpwAdvDiffElemKernel.h>

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

Public Member Functions

 ScalarUpwAdvDiffElemKernel (const stk::mesh::BulkData &, const SolutionOptions &, EquationSystem *, ScalarFieldType *, VectorFieldType *, ScalarFieldType *, ElemDataRequests &)
 
virtual ~ScalarUpwAdvDiffElemKernel ()
 
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...
 
virtual DoubleType van_leer (const DoubleType &dqm, const DoubleType &dqp)
 
- Public Member Functions inherited from sierra::nalu::Kernel
 Kernel ()=default
 
virtual ~Kernel ()
 

Private Member Functions

 ScalarUpwAdvDiffElemKernel ()=delete
 

Private Attributes

const SolutionOptionssolnOpts_
 
ScalarFieldTypescalarQ_ {nullptr}
 
VectorFieldTypeGjq_ {nullptr}
 
ScalarFieldTypediffFluxCoeff_ {nullptr}
 
VectorFieldTypevelocityRTM_ {nullptr}
 
ScalarFieldTypedensity_ {nullptr}
 
VectorFieldTypecoordinates_ {nullptr}
 
GenericFieldTypemassFlowRate_ {nullptr}
 
const int * lrscv_
 Left right node indicators. More...
 
const std::string dofName_
 Name of the primitive variable (for upwind options lookup in solution options) More...
 
double alpha_
 
double alphaUpw_
 
double hoUpwind_
 
bool useLimiter_
 
double om_alpha_
 
double om_alphaUpw_
 
const bool shiftedGradOp_
 
const double small_ {1.0e-16}
 
PecletFunctionpecletFunction_ {nullptr}
 Peclet function. More...
 
Kokkos::View< DoubleType[AlgTraits::numScsIp_][AlgTraits::nodesPerElement_]> v_shape_function_ { "view_shape_func" }
 Shape functions. More...
 

Detailed Description

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

CVFEM scalar upwind advection/diffusion kernel.

Constructor & Destructor Documentation

template<typename AlgTraits >
sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::ScalarUpwAdvDiffElemKernel ( const stk::mesh::BulkData &  bulkData,
const SolutionOptions solnOpts,
EquationSystem eqSystem,
ScalarFieldType scalarQ,
VectorFieldType Gjq,
ScalarFieldType diffFluxCoeff,
ElemDataRequests dataPreReqs 
)
template<typename AlgTraits >
sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::~ScalarUpwAdvDiffElemKernel ( )
virtual
template<typename AlgTraits >
sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::ScalarUpwAdvDiffElemKernel ( )
privatedelete

Member Function Documentation

template<typename AlgTraits >
void sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::execute ( SharedMemView< DoubleType ** > &  lhs,
SharedMemView< DoubleType * > &  rhs,
ScratchViews< DoubleType > &  scratchViews 
)
virtual

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

Scratch space to hold coordinates at the integration point

Reimplemented from sierra::nalu::Kernel.

References sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::alpha_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::alphaUpw_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::coordinates_, sierra::nalu::CURRENT_COORDINATES, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::density_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::diffFluxCoeff_, sierra::nalu::PecletFunction::execute(), 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::ScalarUpwAdvDiffElemKernel< AlgTraits >::Gjq_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::hoUpwind_, anonymous_namespace{UnitTestContinuityAdvElem.C}::hex8_golds::advection_default::lhs, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::lrscv_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::massFlowRate_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::om_alpha_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::om_alphaUpw_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::pecletFunction_, anonymous_namespace{UnitTestContinuityAdvElem.C}::hex8_golds::advection_default::rhs, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::scalarQ_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::shiftedGradOp_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::small_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::useLimiter_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::v_shape_function_, sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::van_leer(), and sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::velocityRTM_.

template<typename AlgTraits >
void sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::setup ( const TimeIntegrator )
virtual
template<class AlgTraits >
DoubleType sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::van_leer ( const DoubleType dqm,
const DoubleType dqp 
)
virtual

Member Data Documentation

template<typename AlgTraits >
double sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::alpha_
private
template<typename AlgTraits >
double sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::alphaUpw_
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::coordinates_ {nullptr}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::density_ {nullptr}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::diffFluxCoeff_ {nullptr}
private
template<typename AlgTraits >
const std::string sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::dofName_
private

Name of the primitive variable (for upwind options lookup in solution options)

Referenced by sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::setup().

template<typename AlgTraits >
VectorFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::Gjq_ {nullptr}
private
template<typename AlgTraits >
double sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::hoUpwind_
private
template<typename AlgTraits >
const int* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::lrscv_
private

Left right node indicators.

Referenced by sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::execute().

template<typename AlgTraits >
GenericFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::massFlowRate_ {nullptr}
private
template<typename AlgTraits >
double sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::om_alpha_
private
template<typename AlgTraits >
double sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::om_alphaUpw_
private
template<typename AlgTraits >
PecletFunction* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::pecletFunction_ {nullptr}
private
template<typename AlgTraits >
ScalarFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::scalarQ_ {nullptr}
private
template<typename AlgTraits >
const bool sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::shiftedGradOp_
private
template<typename AlgTraits >
const double sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::small_ {1.0e-16}
private
template<typename AlgTraits >
const SolutionOptions& sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::solnOpts_
private
template<typename AlgTraits >
bool sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::useLimiter_
private
template<typename AlgTraits >
Kokkos::View<DoubleType[AlgTraits::numScsIp_][AlgTraits::nodesPerElement_]> sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::v_shape_function_ { "view_shape_func" }
private
template<typename AlgTraits >
VectorFieldType* sierra::nalu::ScalarUpwAdvDiffElemKernel< AlgTraits >::velocityRTM_ {nullptr}
private

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