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
TurbKineticEnergyKsgsSrcElemKernel.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 National Renewable Energy Laboratory. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level Nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 
8 #ifndef TurbKineticEnergyKsgsSrcElemKernel_H
9 #define TurbKineticEnergyKsgsSrcElemKernel_H
10 
11 #include "Kernel.h"
12 #include "FieldTypeDef.h"
13 
14 #include <stk_mesh/base/BulkData.hpp>
15 #include <stk_mesh/base/Entity.hpp>
16 
17 #include <Kokkos_Core.hpp>
18 
19 namespace sierra {
20 namespace nalu {
21 
22 class SolutionOptions;
23 class MasterElement;
24 class ElemDataRequests;
25 
28 template<typename AlgTraits>
30 {
31 public:
33  const stk::mesh::BulkData&,
34  const SolutionOptions&,
36 
38 
42  virtual void execute(
46 
47 private:
49 
55 
56  double cEps_{0.0};
57  double tkeProdLimitRatio_{0.0};
58 
60  const int* ipNodeMap_;
61 };
62 
63 } // nalu
64 } // sierra
65 
66 #endif /* TurbKineticEnergyKsgsSrcElemKernel_H */
virtual ~TurbKineticEnergyKsgsSrcElemKernel()
Definition: TurbKineticEnergyKsgsSrcElemKernel.C:64
ScalarFieldType * tvisc_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:52
Definition: ABLForcingAlgorithm.C:26
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
ScalarFieldType * dualNodalVolume_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:53
Add Ksgs source term for kernel-based algorithm approach.
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:29
Definition: ElemDataRequests.h:66
Definition: SolutionOptions.h:38
double cEps_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:56
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
double tkeProdLimitRatio_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:57
ScalarFieldType * tkeNp1_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:50
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...
Definition: TurbKineticEnergyKsgsSrcElemKernel.C:69
Definition: UnitTestMasterElements.C:367
Base class for computational kernels in Nalu.
Definition: Kernel.h:63
Kokkos::View< T, Kokkos::LayoutRight, DeviceShmem, Kokkos::MemoryUnmanaged > SharedMemView
Definition: KokkosInterface.h:25
const int * ipNodeMap_
Integration point to node mapping.
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:60
ScalarFieldType * densityNp1_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:51
GenericFieldType * Gju_
Definition: TurbKineticEnergyKsgsSrcElemKernel.h:54
Definition: ScratchViews.h:82