www.mooseframework.org
HEVPFlowRateUOBase.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef HEVPFLOWRATEUOBASE_H
8 #define HEVPFLOWRATEUOBASE_H
9 
10 #include "DiscreteElementUserObject.h"
11 #include "RankTwoTensor.h"
12 #include "RankFourTensor.h"
13 
14 class HEVPFlowRateUOBase;
15 
16 template <>
17 InputParameters validParams<HEVPFlowRateUOBase>();
18 
23 class HEVPFlowRateUOBase : public DiscreteElementUserObject
24 {
25 public:
26  HEVPFlowRateUOBase(const InputParameters & parameters);
27 
28  virtual bool computeValue(unsigned int, Real &) const = 0;
29  virtual bool computeDirection(unsigned int, RankTwoTensor &) const = 0;
30  virtual bool computeDerivative(unsigned int, const std::string &, Real &) const = 0;
31  virtual bool
32  computeTensorDerivative(unsigned int, const std::string &, RankTwoTensor &) const = 0;
33 
34 protected:
35  std::string _strength_prop_name;
36  std::string _base_name;
37  const MaterialProperty<Real> & _strength;
38  std::string _pk2_prop_name;
39  const MaterialProperty<RankTwoTensor> & _pk2;
40  const MaterialProperty<RankTwoTensor> & _ce;
41 };
42 
43 #endif
virtual bool computeDerivative(unsigned int, const std::string &, Real &) const =0
std::string _pk2_prop_name
virtual bool computeTensorDerivative(unsigned int, const std::string &, RankTwoTensor &) const =0
This user object is a pure virtual base classs Derived classes computes flow rate, direction and derivatives.
const MaterialProperty< Real > & _strength
const MaterialProperty< RankTwoTensor > & _pk2
InputParameters validParams< HEVPFlowRateUOBase >()
virtual bool computeValue(unsigned int, Real &) const =0
const MaterialProperty< RankTwoTensor > & _ce
std::string _strength_prop_name
virtual bool computeDirection(unsigned int, RankTwoTensor &) const =0
HEVPFlowRateUOBase(const InputParameters &parameters)