https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Types | List of all members
ElectricalContactTestFunc Class Referenceabstract

Analytical solution function to test the ElectrostaticContactCondition interface kernel. More...

#include <ElectricalContactTestFunc.h>

Inheritance diagram for ElectricalContactTestFunc:
[legend]

Public Types

typedef DataFileName DataFileParameterType
 
typedef FunctorBase< RealFunctorType
 
typedef Real ValueType
 
typedef typename FunctorReturnType< Real, FunctorEvaluationKind::Gradient >::type GradientType
 
typedef ValueType DotType
 

Public Member Functions

 ElectricalContactTestFunc (const InputParameters &parameters)
 
virtual Real value (Real t, const Point &p) const override
 
virtual Real value (Real t, const Point &p) const
 
virtual ADReal value (const ADReal &t, const ADPoint &p) const
 
ChainedReal value (const ChainedReal &t) const
 
auto value (const U &t) const
 
auto value (const U &t, const U &x, const U &y=0, const U &z=0) const
 
ChainedReal value (const ChainedReal &t) const
 
auto value (const U &t) const
 
auto value (const U &t, const U &x, const U &y=0, const U &z=0) const
 
virtual ADReal value (const ADReal &t, const ADPoint &p) const
 
ChainedReal value (const ChainedReal &t) const
 
auto value (const U &t) const
 
auto value (const U &t, const U &x, const U &y=0, const U &z=0) const
 
virtual RealVectorValue vectorValue (Real t, const Point &p) const
 
virtual RealVectorValue curl (Real t, const Point &p) const
 
virtual Real div (Real t, const Point &p) const
 
virtual RealGradient gradient (Real t, const Point &p) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
GradientType gradient (const ElemArg &elem, const StateArg &state) const
 
GradientType gradient (const FaceArg &face, const StateArg &state) const
 
GradientType gradient (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradient (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradient (const NodeArg &node, const StateArg &state) const
 
virtual Real timeDerivative (Real t, const Point &p) const
 
auto timeDerivative (const U &t) const
 
auto timeDerivative (const U &t, const U &x, const U &y=0, const U &z=0) const
 
auto timeDerivative (const U &t) const
 
auto timeDerivative (const U &t, const U &x, const U &y=0, const U &z=0) const
 
virtual Real integral () const
 
virtual Real average () const
 
virtual Real timeIntegral (Real t1, Real t2, const Point &p) const
 
void timestepSetup () override
 
void residualSetup () override final
 
void jacobianSetup () override final
 
void customSetup (const ExecFlagType &exec_type) override final
 
bool hasBlocks (SubdomainID) const override
 
bool supportsFaceArg () const override final
 
bool supportsElemSideQpArg () const override final
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T * queryParam (const std::string &name) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
virtual void initialSetup ()
 
virtual void subdomainSetup ()
 
const ExecFlagEnumgetExecuteOnEnum () const
 
bool isImplicit ()
 
Moose::StateArg determineState () const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
virtual void meshChanged ()
 
const std::vector< MooseVariableScalar *> & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
FunctorReturnType< Real, FET >::type genericEvaluate (const Space &r, const State &state) const
 
const MooseFunctorName & functorName () const
 
void setCacheClearanceSchedule (const std::set< ExecFlagType > &clearance_schedule)
 
virtual bool isExtrapolatedBoundaryFace (const FaceInfo &, const Elem *, const StateArg &) const
 
bool isInternalFace (const FaceInfo &) const
 
virtual bool isConstant () const
 
virtual bool hasFaceSide (const FaceInfo &fi, const bool fi_elem_side) const override
 
void checkFace (const Moose::FaceArg &face) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
ValueType operator() (const ElemArg &elem, const StateArg &state) const
 
ValueType operator() (const FaceArg &face, const StateArg &state) const
 
ValueType operator() (const ElemQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemSideQpArg &qp, const StateArg &state) const
 
ValueType operator() (const ElemPointArg &elem_point, const StateArg &state) const
 
ValueType operator() (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
DotType dot (const ElemArg &elem, const StateArg &state) const
 
DotType dot (const FaceArg &face, const StateArg &state) const
 
DotType dot (const ElemQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemSideQpArg &qp, const StateArg &state) const
 
DotType dot (const ElemPointArg &elem_point, const StateArg &state) const
 
DotType dot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 
GradientType gradDot (const ElemArg &elem, const StateArg &state) const
 
GradientType gradDot (const FaceArg &face, const StateArg &state) const
 
GradientType gradDot (const ElemQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemSideQpArg &qp, const StateArg &state) const
 
GradientType gradDot (const ElemPointArg &elem_point, const StateArg &state) const
 
GradientType gradDot (const NodeArg &node, const StateArg &state) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Static Public Member Functions

static InputParameters validParams ()
 

Public Attributes

const ConsoleStream _console
 

Protected Member Functions

Real twoBlockFunction (Real t, const Point &p) const
 Function used to calculate two block test case analytic solution. More...
 
Real threeBlockFunction (Real t, const Point &p) const
 Function used to calculate three block test case analytic solution. More...
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &) const
 
virtual void addUserObjectDependencyHelper (const UserObject &) const
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
bool isCoupledScalar (const std::string &var_name, unsigned int i=0) const
 
unsigned int coupledScalarComponents (const std::string &var_name) const
 
unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0) const
 
libMesh::Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< is_ad > & coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const VariableValuecoupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const MooseVariableScalargetScalarVar (const std::string &var_name, unsigned int comp) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradDot (const NodeArg &, const StateArg &) const
 
virtual ValueType evaluate (const ElemArg &elem, const StateArg &state) const =0
 
virtual ValueType evaluate (const FaceArg &face, const StateArg &state) const =0
 
virtual ValueType evaluate (const ElemQpArg &qp, const StateArg &state) const =0
 
virtual ValueType evaluate (const ElemSideQpArg &side_qp, const StateArg &state) const =0
 
virtual ValueType evaluate (const ElemPointArg &elem_point, const StateArg &state) const =0
 
virtual ValueType evaluate (const NodeArg &node, const StateArg &state) const =0
 
virtual GradientType evaluateGradient (const ElemArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const FaceArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemSideQpArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const ElemPointArg &, const StateArg &) const
 
virtual GradientType evaluateGradient (const NodeArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemArg &, const StateArg &) const
 
virtual DotType evaluateDot (const FaceArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemSideQpArg &, const StateArg &) const
 
virtual DotType evaluateDot (const ElemPointArg &, const StateArg &) const
 
virtual DotType evaluateDot (const NodeArg &, const StateArg &) const
 

Protected Attributes

const Real_electrical_conductivity_graphite
 Electrical conductivity property for graphite. More...
 
const Real_electrical_conductivity_stainless_steel
 Electrical conductivity property for stainless steel. More...
 
const Real_mean_hardness
 Geometric mean of the hardness of graphite and stainless steel. More...
 
const Real_mechanical_pressure
 User-supplied mechanical pressure. More...
 
const Real_electrical_contact_conductance
 Contact conductance property for the tested interface. More...
 
const MooseEnum_domain
 MooseEnum to determine which part of the analytic solution needs to be enabled (Stainless Steel vs. More...
 
const bool & _is_three_block
 Boolean to determine if test function is being used in three block test case. More...
 
const MooseEnum_side
 MooseEnum to determine which stainless steel region needs to be enabled in the three block analytic solution. More...
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 
Real_t
 
const Real_t_old
 
int_t_step
 
Real_dt
 
Real_dt_old
 
bool _is_transient
 
MooseApp_restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
FEProblemBase_mci_feproblem
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real_real_zero
 
const VariableValue_scalar_zero
 
const Point & _point_zero
 
const Parallel::Communicator & _communicator
 

Private Types

enum  DomainEnum { STAINLESS_STEEL, GRAPHITE }
 Enum used in comparisons with _domain. More...
 

Detailed Description

Analytical solution function to test the ElectrostaticContactCondition interface kernel.

Constants are taken from the materials (graphite and stainless steel) used within the test. Defaults are taken at 300 K.

Definition at line 19 of file ElectricalContactTestFunc.h.

Member Enumeration Documentation

◆ DomainEnum

Enum used in comparisons with _domain.

Enum-to-enum comparisons are a bit more lightweight, so we should create another enum with the possible choices.

Enumerator
STAINLESS_STEEL 
GRAPHITE 

Definition at line 71 of file ElectricalContactTestFunc.h.

Constructor & Destructor Documentation

◆ ElectricalContactTestFunc()

ElectricalContactTestFunc::ElectricalContactTestFunc ( const InputParameters parameters)

Definition at line 56 of file ElectricalContactTestFunc.C.

58  _electrical_conductivity_graphite(getParam<Real>("graphite_conductivity")),
59  _electrical_conductivity_stainless_steel(getParam<Real>("stainless_steel_conductivity")),
60  _mean_hardness(getParam<Real>("mean_hardness")),
61  _mechanical_pressure(getParam<Real>("mechanical_pressure")),
62  _electrical_contact_conductance(getParam<Real>("contact_conductance")),
63  _domain(getParam<MooseEnum>("domain")),
64  _is_three_block(getParam<bool>("three_block")),
65  _side(getParam<MooseEnum>("three_block_side"))
66 {
67 }
const MooseEnum & _side
MooseEnum to determine which stainless steel region needs to be enabled in the three block analytic s...
Function(const InputParameters &parameters)
const MooseEnum & _domain
MooseEnum to determine which part of the analytic solution needs to be enabled (Stainless Steel vs...
const Real & _mechanical_pressure
User-supplied mechanical pressure.
const Real & _electrical_conductivity_graphite
Electrical conductivity property for graphite.
const Real & _electrical_conductivity_stainless_steel
Electrical conductivity property for stainless steel.
const bool & _is_three_block
Boolean to determine if test function is being used in three block test case.
const InputParameters & parameters() const
const Real & _mean_hardness
Geometric mean of the hardness of graphite and stainless steel.
const Real & _electrical_contact_conductance
Contact conductance property for the tested interface.

Member Function Documentation

◆ threeBlockFunction()

Real ElectricalContactTestFunc::threeBlockFunction ( Real  t,
const Point &  p 
) const
protected

Function used to calculate three block test case analytic solution.

Enum used in comparisons with _side. Enum-to-enum comparisons are a bit more lightweight, so we should create another enum with the possible choices.

Definition at line 114 of file ElectricalContactTestFunc.C.

Referenced by value().

115 {
116  Real denominator =
120 
121  Real graphite_coefficient =
123 
124  Real graphite_constant =
128  denominator;
129 
130  Real stainless_steel_coefficient =
132 
133  Real graphite_func = graphite_coefficient * p(0) + graphite_constant;
134 
135  Real stainless_steel_func_left = stainless_steel_coefficient * p(0) + 1;
136 
137  Real stainless_steel_func_right = stainless_steel_coefficient * (p(0) - 3);
138 
143  enum SideEnum
144  {
145  LEFT,
146  RIGHT
147  };
148 
149  if (_domain == STAINLESS_STEEL && _side == LEFT)
150  {
151  return stainless_steel_func_left;
152  }
153  else if (_domain == STAINLESS_STEEL && _side == RIGHT)
154  {
155  return stainless_steel_func_right;
156  }
157  else if (_domain == GRAPHITE)
158  {
159  return graphite_func;
160  }
161  else
162  {
163  mooseError(_name + ": Error in selecting proper domain in ElectricalContactTestFunc.");
164  }
165 }
const MooseEnum & _side
MooseEnum to determine which stainless steel region needs to be enabled in the three block analytic s...
const MooseEnum & _domain
MooseEnum to determine which part of the analytic solution needs to be enabled (Stainless Steel vs...
const Real & _electrical_conductivity_graphite
Electrical conductivity property for graphite.
const Real & _electrical_conductivity_stainless_steel
Electrical conductivity property for stainless steel.
const std::string _name
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
const Real & _electrical_contact_conductance
Contact conductance property for the tested interface.

◆ twoBlockFunction()

Real ElectricalContactTestFunc::twoBlockFunction ( Real  t,
const Point &  p 
) const
protected

Function used to calculate two block test case analytic solution.

Definition at line 83 of file ElectricalContactTestFunc.C.

Referenced by value().

84 {
88 
89  Real graphite_coefficient =
91 
92  Real stainless_steel_coefficient =
94 
95  Real graphite_func = graphite_coefficient * (p(0) - 2);
96 
97  Real stainless_steel_func = stainless_steel_coefficient * p(0) + 1;
98 
99  if (_domain == STAINLESS_STEEL)
100  {
101  return stainless_steel_func;
102  }
103  else if (_domain == GRAPHITE)
104  {
105  return graphite_func;
106  }
107  else
108  {
109  mooseError(_name + ": Error in selecting proper domain in ElectricalContactTestFunc.");
110  }
111 }
const MooseEnum & _domain
MooseEnum to determine which part of the analytic solution needs to be enabled (Stainless Steel vs...
const Real & _electrical_conductivity_graphite
Electrical conductivity property for graphite.
const Real & _electrical_conductivity_stainless_steel
Electrical conductivity property for stainless steel.
const std::string _name
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
const Real & _electrical_contact_conductance
Contact conductance property for the tested interface.

◆ validParams()

InputParameters ElectricalContactTestFunc::validParams ( )
static

Definition at line 15 of file ElectricalContactTestFunc.C.

16 {
18  params.addClassDescription(
19  "Function used in ElectrostaticContactCondition analytic solution testing.");
20  params.addRangeCheckedParam<Real>(
21  "mechanical_pressure",
22  3000.,
23  "mechanical_pressure>0",
24  "Mechanical pressure uniformly applied at the contact surface area "
25  "(Pressure = Force / Surface Area).");
26  params.addRangeCheckedParam<Real>(
27  "mean_hardness",
28  2.4797e9,
29  "mean_hardness>0",
30  "Geometric mean of the hardness of graphite and stainless steel.");
31  params.addRangeCheckedParam<Real>("graphite_conductivity",
32  73069.2,
33  "graphite_conductivity>0",
34  "Conductivity in graphite (default at 300 K).");
35  params.addRangeCheckedParam<Real>("stainless_steel_conductivity",
36  1.41867e6,
37  "stainless_steel_conductivity>0",
38  "Conductivity in stainless steel (default at 300 K).");
39  params.addRangeCheckedParam<Real>(
40  "contact_conductance",
41  75524.,
42  "contact_conductance >0",
43  "Electrical contact conductance at the interface (default is at 300 K with "
44  "3 kN/m^2 applied pressure).");
45  MooseEnum domain("stainless_steel graphite");
46  params.addParam<MooseEnum>(
47  "domain", domain, "Material domain / block of interest (stainless_steel, graphite).");
48  params.addParam<bool>("three_block", false, "Is this a three block test case? Default = false.");
49  MooseEnum side("left right");
50  params.addParam<MooseEnum>("three_block_side",
51  side,
52  "If a three block test case, side / block of interest (left, right).");
53  return params;
54 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)
static InputParameters validParams()

◆ value() [1/9]

auto Function::value

◆ value() [2/9]

virtual ADReal Function::value

◆ value() [3/9]

virtual Real Function::value

◆ value() [4/9]

auto Function::value

◆ value() [5/9]

ChainedReal Function::value

◆ value() [6/9]

auto Function::value

◆ value() [7/9]

auto Function::value

◆ value() [8/9]

ChainedReal Function::value

◆ value() [9/9]

Real ElectricalContactTestFunc::value ( Real  t,
const Point &  p 
) const
overridevirtual

Reimplemented from Function.

Definition at line 70 of file ElectricalContactTestFunc.C.

71 {
72  if (_is_three_block)
73  {
74  return threeBlockFunction(t, p);
75  }
76  else
77  {
78  return twoBlockFunction(t, p);
79  }
80 }
const bool & _is_three_block
Boolean to determine if test function is being used in three block test case.
Real threeBlockFunction(Real t, const Point &p) const
Function used to calculate three block test case analytic solution.
Real twoBlockFunction(Real t, const Point &p) const
Function used to calculate two block test case analytic solution.

Member Data Documentation

◆ _domain

const MooseEnum& ElectricalContactTestFunc::_domain
protected

MooseEnum to determine which part of the analytic solution needs to be enabled (Stainless Steel vs.

Graphite)

Definition at line 55 of file ElectricalContactTestFunc.h.

Referenced by threeBlockFunction(), and twoBlockFunction().

◆ _electrical_conductivity_graphite

const Real& ElectricalContactTestFunc::_electrical_conductivity_graphite
protected

Electrical conductivity property for graphite.

Definition at line 37 of file ElectricalContactTestFunc.h.

Referenced by threeBlockFunction(), and twoBlockFunction().

◆ _electrical_conductivity_stainless_steel

const Real& ElectricalContactTestFunc::_electrical_conductivity_stainless_steel
protected

Electrical conductivity property for stainless steel.

Definition at line 40 of file ElectricalContactTestFunc.h.

Referenced by threeBlockFunction(), and twoBlockFunction().

◆ _electrical_contact_conductance

const Real& ElectricalContactTestFunc::_electrical_contact_conductance
protected

Contact conductance property for the tested interface.

Definition at line 49 of file ElectricalContactTestFunc.h.

Referenced by threeBlockFunction(), and twoBlockFunction().

◆ _is_three_block

const bool& ElectricalContactTestFunc::_is_three_block
protected

Boolean to determine if test function is being used in three block test case.

Definition at line 58 of file ElectricalContactTestFunc.h.

Referenced by value().

◆ _mean_hardness

const Real& ElectricalContactTestFunc::_mean_hardness
protected

Geometric mean of the hardness of graphite and stainless steel.

Definition at line 43 of file ElectricalContactTestFunc.h.

◆ _mechanical_pressure

const Real& ElectricalContactTestFunc::_mechanical_pressure
protected

User-supplied mechanical pressure.

Definition at line 46 of file ElectricalContactTestFunc.h.

◆ _side

const MooseEnum& ElectricalContactTestFunc::_side
protected

MooseEnum to determine which stainless steel region needs to be enabled in the three block analytic solution.

Definition at line 64 of file ElectricalContactTestFunc.h.

Referenced by threeBlockFunction().


The documentation for this class was generated from the following files: