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
SteadyThermalContactSrcElemSuppAlg.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 
9 #ifndef SteadyThermalContactSrcElemSuppAlg_h
10 #define SteadyThermalContactSrcElemSuppAlg_h
11 
12 #include <SupplementalAlgorithm.h>
13 #include <FieldTypeDef.h>
14 
15 #include <stk_mesh/base/BulkData.hpp>
16 #include <stk_mesh/base/Entity.hpp>
17 
18 #include <memory>
20 
21 namespace sierra{
22 namespace nalu{
23 
24 class Realm;
25 class MasterElement;
26 
28 {
29 public:
30 
32  Realm &realm);
33 
35 
36  virtual void setup();
37 
38  virtual void elem_resize(
39  MasterElement *meSCS,
40  MasterElement *meSCV);
41 
42  virtual void elem_execute(
43  double *lhs,
44  double *rhs,
45  stk::mesh::Entity element,
46  MasterElement *meSCS,
47  MasterElement *meSCV);
48 
49  const stk::mesh::BulkData *bulkData_;
50 
52 
53  const double a_;
54  const double k_;
55  const double pi_;
56  const bool useShifted_;
57  const int nDim_;
58  bool useSGL_;
59 
60  // scratch space
61  std::vector<double> scvCoords_;
62  std::vector<double> ws_shape_function_;
63  std::vector<double> ws_coordinates_;
64  std::vector<double> ws_scv_volume_;
65  std::vector<double> ws_nodalSrc_;
66  std::vector<double> ws_source_integrand_;
67  std::vector<double> ws_source_integrated_;
68 
69  std::unique_ptr<SGLQuadratureOps> quadOp_;
70 };
71 
72 } // namespace nalu
73 } // namespace Sierra
74 
75 #endif
const stk::mesh::BulkData * bulkData_
Definition: SteadyThermalContactSrcElemSuppAlg.h:49
std::unique_ptr< SGLQuadratureOps > quadOp_
Definition: SteadyThermalContactSrcElemSuppAlg.h:69
Definition: ABLForcingAlgorithm.C:26
virtual void setup()
Definition: SteadyThermalContactSrcElemSuppAlg.C:88
Definition: MasterElement.h:53
virtual void elem_resize(MasterElement *meSCS, MasterElement *meSCV)
Definition: SteadyThermalContactSrcElemSuppAlg.C:63
std::vector< double > ws_source_integrated_
Definition: SteadyThermalContactSrcElemSuppAlg.h:67
Definition: SteadyThermalContactSrcElemSuppAlg.h:27
std::vector< double > ws_coordinates_
Definition: SteadyThermalContactSrcElemSuppAlg.h:63
std::vector< double > scvCoords_
Definition: SteadyThermalContactSrcElemSuppAlg.h:61
const int nDim_
Definition: SteadyThermalContactSrcElemSuppAlg.h:57
std::vector< double > ws_shape_function_
Definition: SteadyThermalContactSrcElemSuppAlg.h:62
std::vector< double > ws_source_integrand_
Definition: SteadyThermalContactSrcElemSuppAlg.h:66
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
virtual void elem_execute(double *lhs, double *rhs, stk::mesh::Entity element, MasterElement *meSCS, MasterElement *meSCV)
Definition: SteadyThermalContactSrcElemSuppAlg.C:97
static constexpr double lhs[8][8]
Definition: UnitTestContinuityAdvElem.C:25
const double k_
Definition: SteadyThermalContactSrcElemSuppAlg.h:54
bool useSGL_
Definition: SteadyThermalContactSrcElemSuppAlg.h:58
SteadyThermalContactSrcElemSuppAlg(Realm &realm)
Definition: SteadyThermalContactSrcElemSuppAlg.C:34
const double a_
Definition: SteadyThermalContactSrcElemSuppAlg.h:53
static constexpr double rhs[8]
Definition: UnitTestContinuityAdvElem.C:18
std::vector< double > ws_nodalSrc_
Definition: SteadyThermalContactSrcElemSuppAlg.h:65
Definition: UnitTestMasterElements.C:367
const bool useShifted_
Definition: SteadyThermalContactSrcElemSuppAlg.h:56
virtual ~SteadyThermalContactSrcElemSuppAlg()
Definition: SteadyThermalContactSrcElemSuppAlg.h:34
std::vector< double > ws_scv_volume_
Definition: SteadyThermalContactSrcElemSuppAlg.h:64
Definition: Realm.h:82
VectorFieldType * coordinates_
Definition: SteadyThermalContactSrcElemSuppAlg.h:51
Definition: SupplementalAlgorithm.h:24
const double pi_
Definition: SteadyThermalContactSrcElemSuppAlg.h:55