www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
DomainIntegralTopologicalQFunction Class Reference

Coupled auxiliary value. More...

#include <DomainIntegralTopologicalQFunction.h>

Inheritance diagram for DomainIntegralTopologicalQFunction:
[legend]

Public Member Functions

 DomainIntegralTopologicalQFunction (const InputParameters &parameters)
 Factory constructor, takes parameters so that all derived classes can be built using the same constructor. More...
 
virtual ~DomainIntegralTopologicalQFunction ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void initialSetup ()
 
virtual Real computeValue ()
 

Private Attributes

const unsigned int _ring_number
 
const CrackFrontDefinition *const _crack_front_definition
 
bool _has_crack_front_point_index
 
const unsigned int _crack_front_point_index
 
bool _treat_as_2d
 

Detailed Description

Coupled auxiliary value.

Definition at line 18 of file DomainIntegralTopologicalQFunction.h.

Constructor & Destructor Documentation

◆ DomainIntegralTopologicalQFunction()

DomainIntegralTopologicalQFunction::DomainIntegralTopologicalQFunction ( const InputParameters &  parameters)

Factory constructor, takes parameters so that all derived classes can be built using the same constructor.

Definition at line 34 of file DomainIntegralTopologicalQFunction.C.

36  : AuxKernel(parameters),
37  _ring_number(getParam<unsigned int>("ring_index")),
38  _crack_front_definition(&getUserObject<CrackFrontDefinition>("crack_front_definition")),
39  _has_crack_front_point_index(isParamValid("crack_front_point_index")),
41  _has_crack_front_point_index ? getParam<unsigned int>("crack_front_point_index") : 0),
42  _treat_as_2d(false)
43 {
44 }

◆ ~DomainIntegralTopologicalQFunction()

virtual DomainIntegralTopologicalQFunction::~DomainIntegralTopologicalQFunction ( )
inlinevirtual

Definition at line 29 of file DomainIntegralTopologicalQFunction.h.

29 {}

Member Function Documentation

◆ computeValue()

Real DomainIntegralTopologicalQFunction::computeValue ( )
protectedvirtual

Definition at line 69 of file DomainIntegralTopologicalQFunction.C.

70 {
71 
72  Real q = 0;
73  bool is_node_in_ring = _crack_front_definition->isNodeInRing(
74  _ring_number, _current_node->id(), _crack_front_point_index);
75  if (is_node_in_ring)
76  q = 1;
77 
78  return q;
79 }

◆ initialSetup()

void DomainIntegralTopologicalQFunction::initialSetup ( )
protectedvirtual

Definition at line 47 of file DomainIntegralTopologicalQFunction.C.

48 {
50 
51  if (_treat_as_2d)
52  {
54  {
55  mooseWarning(
56  "crack_front_point_index ignored because CrackFrontDefinition is set to treat as 2D");
57  }
58  }
59  else
60  {
62  {
63  mooseError("crack_front_point_index must be specified in DomainIntegralTopologicalQFunction");
64  }
65  }
66 }

◆ validParams()

InputParameters DomainIntegralTopologicalQFunction::validParams ( )
static

Definition at line 17 of file DomainIntegralTopologicalQFunction.C.

18 {
19  InputParameters params = AuxKernel::validParams();
20  params.addClassDescription(
21  "Determines if a node is within the ring of the crack front defintion; this object is "
22  "normally created by the DomainIntegralAction.");
23  params.addRequiredParam<unsigned int>("ring_index",
24  "The ring of elements that defines the integration domain");
25  params.addRequiredParam<UserObjectName>("crack_front_definition",
26  "The CrackFrontDefinition user object name");
27  params.addParam<unsigned int>(
28  "crack_front_point_index",
29  "The index of the point on the crack front corresponding to this q function");
30  params.set<bool>("use_displaced_mesh") = false;
31  return params;
32 }

Member Data Documentation

◆ _crack_front_definition

const CrackFrontDefinition* const DomainIntegralTopologicalQFunction::_crack_front_definition
private

Definition at line 37 of file DomainIntegralTopologicalQFunction.h.

Referenced by computeValue(), and initialSetup().

◆ _crack_front_point_index

const unsigned int DomainIntegralTopologicalQFunction::_crack_front_point_index
private

Definition at line 39 of file DomainIntegralTopologicalQFunction.h.

Referenced by computeValue().

◆ _has_crack_front_point_index

bool DomainIntegralTopologicalQFunction::_has_crack_front_point_index
private

Definition at line 38 of file DomainIntegralTopologicalQFunction.h.

Referenced by initialSetup().

◆ _ring_number

const unsigned int DomainIntegralTopologicalQFunction::_ring_number
private

Definition at line 36 of file DomainIntegralTopologicalQFunction.h.

Referenced by computeValue().

◆ _treat_as_2d

bool DomainIntegralTopologicalQFunction::_treat_as_2d
private

Definition at line 40 of file DomainIntegralTopologicalQFunction.h.

Referenced by initialSetup().


The documentation for this class was generated from the following files:
DomainIntegralTopologicalQFunction::_crack_front_point_index
const unsigned int _crack_front_point_index
Definition: DomainIntegralTopologicalQFunction.h:39
CrackFrontDefinition::isNodeInRing
bool isNodeInRing(const unsigned int ring_index, const dof_id_type connected_node_id, const unsigned int node_index) const
Definition: CrackFrontDefinition.C:1651
DomainIntegralTopologicalQFunction::_has_crack_front_point_index
bool _has_crack_front_point_index
Definition: DomainIntegralTopologicalQFunction.h:38
validParams
InputParameters validParams()
DomainIntegralTopologicalQFunction::_treat_as_2d
bool _treat_as_2d
Definition: DomainIntegralTopologicalQFunction.h:40
DomainIntegralTopologicalQFunction::_crack_front_definition
const CrackFrontDefinition *const _crack_front_definition
Definition: DomainIntegralTopologicalQFunction.h:37
CrackFrontDefinition::treatAs2D
bool treatAs2D() const
Definition: CrackFrontDefinition.h:59
DomainIntegralTopologicalQFunction::_ring_number
const unsigned int _ring_number
Definition: DomainIntegralTopologicalQFunction.h:36