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
MomentumCoriolisSrcElemKernel.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
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 MomentumCoriolisSrcElemKernel_h
9 #define MomentumCoriolisSrcElemKernel_h
10 
11 #include "Kernel.h"
12 #include "FieldTypeDef.h"
13 #include "AlgTraits.h"
14 #include "CoriolisSrc.h"
15 
16 #include <stk_mesh/base/BulkData.hpp>
17 #include <stk_mesh/base/Entity.hpp>
18 
19 #include <Kokkos_Core.hpp>
20 
21 
22 namespace sierra{
23 namespace nalu{
24 
25 template<typename AlgTraits>
27 {
28 public:
30  const stk::mesh::BulkData& bulkData,
31  const SolutionOptions& solnOpts,
32  VectorFieldType* velocity,
33  ElemDataRequests& dataPreReqs,
34  bool lumped);
35 
37 
38  virtual void execute(
42 
43 private:
45 
50 
51  const int* ipNodeMap_;
52 
53  // fixed scratch space
54  Kokkos::View<DoubleType[AlgTraits::numScvIp_][AlgTraits::nodesPerElement_]> v_shape_function_{"v_shape_function"};
55 };
56 
57 } // namespace nalu
58 } // namespace Sierra
59 
60 #endif
Definition: ABLForcingAlgorithm.C:26
Definition: ElemDataRequests.h:66
VectorFieldType * coordinates_
Definition: MomentumCoriolisSrcElemKernel.h:49
Definition: SolutionOptions.h:38
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
ScalarFieldType * densityNp1_
Definition: MomentumCoriolisSrcElemKernel.h:48
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
CoriolisSrc cor_
Definition: MomentumCoriolisSrcElemKernel.h:46
Definition: CoriolisSrc.h:19
const int * ipNodeMap_
Definition: MomentumCoriolisSrcElemKernel.h:51
Kokkos::View< DoubleType[AlgTraits::numScvIp_][AlgTraits::nodesPerElement_]> v_shape_function_
Definition: MomentumCoriolisSrcElemKernel.h:54
Base class for computational kernels in Nalu.
Definition: Kernel.h:63
virtual ~MomentumCoriolisSrcElemKernel()
Definition: MomentumCoriolisSrcElemKernel.C:67
VectorFieldType * velocityNp1_
Definition: MomentumCoriolisSrcElemKernel.h:47
Kokkos::View< T, Kokkos::LayoutRight, DeviceShmem, Kokkos::MemoryUnmanaged > SharedMemView
Definition: KokkosInterface.h:25
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: MomentumCoriolisSrcElemKernel.C:71
Definition: MomentumCoriolisSrcElemKernel.h:26
Definition: ScratchViews.h:82