www.mooseframework.org
HEVPFlowRateUOBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "DiscreteElementUserObject.h"
13 #include "RankTwoTensor.h"
14 #include "RankFourTensor.h"
15 
16 class HEVPFlowRateUOBase;
17 
18 template <>
19 InputParameters validParams<HEVPFlowRateUOBase>();
20 
25 class HEVPFlowRateUOBase : public DiscreteElementUserObject
26 {
27 public:
28  static InputParameters validParams();
29 
30  HEVPFlowRateUOBase(const InputParameters & parameters);
31 
32  virtual bool computeValue(unsigned int, Real &) const = 0;
33  virtual bool computeDirection(unsigned int, RankTwoTensor &) const = 0;
34  virtual bool computeDerivative(unsigned int, const std::string &, Real &) const = 0;
35  virtual bool
36  computeTensorDerivative(unsigned int, const std::string &, RankTwoTensor &) const = 0;
37 
38 protected:
39  std::string _strength_prop_name;
40  const std::string _base_name;
41  const MaterialProperty<Real> & _strength;
42  std::string _pk2_prop_name;
43  const MaterialProperty<RankTwoTensor> & _pk2;
44  const MaterialProperty<RankTwoTensor> & _ce;
45 };
HEVPFlowRateUOBase::computeValue
virtual bool computeValue(unsigned int, Real &) const =0
validParams< HEVPFlowRateUOBase >
InputParameters validParams< HEVPFlowRateUOBase >()
HEVPFlowRateUOBase::computeTensorDerivative
virtual bool computeTensorDerivative(unsigned int, const std::string &, RankTwoTensor &) const =0
HEVPFlowRateUOBase::HEVPFlowRateUOBase
HEVPFlowRateUOBase(const InputParameters &parameters)
Definition: HEVPFlowRateUOBase.C:27
HEVPFlowRateUOBase
This user object is a pure virtual base classs Derived classes computes flow rate,...
Definition: HEVPFlowRateUOBase.h:25
HEVPFlowRateUOBase::computeDirection
virtual bool computeDirection(unsigned int, RankTwoTensor &) const =0
HEVPFlowRateUOBase::_base_name
const std::string _base_name
Definition: HEVPFlowRateUOBase.h:40
HEVPFlowRateUOBase::validParams
static InputParameters validParams()
Definition: HEVPFlowRateUOBase.C:15
HEVPFlowRateUOBase::_strength_prop_name
std::string _strength_prop_name
Definition: HEVPFlowRateUOBase.h:39
HEVPFlowRateUOBase::_strength
const MaterialProperty< Real > & _strength
Definition: HEVPFlowRateUOBase.h:41
HEVPFlowRateUOBase::_ce
const MaterialProperty< RankTwoTensor > & _ce
Definition: HEVPFlowRateUOBase.h:44
HEVPFlowRateUOBase::_pk2
const MaterialProperty< RankTwoTensor > & _pk2
Definition: HEVPFlowRateUOBase.h:43
HEVPFlowRateUOBase::_pk2_prop_name
std::string _pk2_prop_name
Definition: HEVPFlowRateUOBase.h:42
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
HEVPFlowRateUOBase::computeDerivative
virtual bool computeDerivative(unsigned int, const std::string &, Real &) const =0