Cardinal
NekUserObject.h
Go to the documentation of this file.
1 /********************************************************************/
2 /* SOFTWARE COPYRIGHT NOTIFICATION */
3 /* Cardinal */
4 /* */
5 /* (c) 2021 UChicago Argonne, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by UChicago Argonne, LLC */
9 /* Under Contract No. DE-AC02-06CH11357 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* Prepared by Battelle Energy Alliance, LLC */
13 /* Under Contract No. DE-AC07-05ID14517 */
14 /* With the U. S. Department of Energy */
15 /* */
16 /* See LICENSE for full restrictions */
17 /********************************************************************/
18 
19 #pragma once
20 
21 #include "ThreadedGeneralUserObject.h"
22 #include "NekRSProblemBase.h"
23 #include "CardinalEnums.h"
24 #include "GeometryUtils.h"
25 
30 class NekUserObject : public ThreadedGeneralUserObject
31 {
32 public:
33  static InputParameters validParams();
34 
35  NekUserObject(const InputParameters & parameters);
36 
37  virtual void initialize() {}
38  virtual void finalize() {}
39  virtual void execute() override;
40 
46  virtual void executeUserObject() = 0;
47 
48 protected:
50  const unsigned int & _interval;
51 
54 
57 };
static InputParameters validParams()
Definition: NekUserObject.h:30
virtual void initialize()
Definition: NekUserObject.h:37
virtual void finalize()
Definition: NekUserObject.h:38
const unsigned int & _interval
Interval with which to evaluate the user object.
Definition: NekUserObject.h:50
Definition: NekRSProblemBase.h:40
virtual void execute() override
const NekRSProblemBase * _nek_problem
Underlying problem object.
Definition: NekUserObject.h:53
virtual void executeUserObject()=0
bool _fixed_mesh
Whether the mesh this userobject operates on is fixed, allowing caching of volumes and areas.
Definition: NekUserObject.h:56
NekUserObject(const InputParameters &parameters)