Coupled auxiliary value.
More...
#include <DomainIntegralQFunction.h>
Coupled auxiliary value.
Definition at line 19 of file DomainIntegralQFunction.h.
◆ DomainIntegralQFunction()
DomainIntegralQFunction::DomainIntegralQFunction |
( |
const InputParameters & |
parameters | ) |
|
Factory constructor, takes parameters so that all derived classes can be built using the same constructor.
Definition at line 31 of file DomainIntegralQFunction.C.
32 : AuxKernel(parameters),
const Real _j_integral_radius_outer
const Real _j_integral_radius_inner
bool _is_point_on_intersecting_boundary
bool _has_crack_front_point_index
const CrackFrontDefinition *const _crack_front_definition
const unsigned int _crack_front_point_index
◆ ~DomainIntegralQFunction()
virtual DomainIntegralQFunction::~DomainIntegralQFunction |
( |
| ) |
|
|
inlinevirtual |
◆ computeValue()
Real DomainIntegralQFunction::computeValue |
( |
| ) |
|
|
protectedvirtual |
Definition at line 69 of file DomainIntegralQFunction.C.
71 Real dist_to_crack_front;
72 Real dist_along_tangent;
85 Real tangent_multiplier = 1.0;
88 const Real forward_segment_length =
90 const Real backward_segment_length =
93 if (dist_along_tangent >= 0.0)
95 if (forward_segment_length > 0.0)
96 tangent_multiplier = 1.0 - dist_along_tangent / forward_segment_length;
100 if (backward_segment_length > 0.0)
101 tangent_multiplier = 1.0 + dist_along_tangent / backward_segment_length;
105 tangent_multiplier = std::max(tangent_multiplier, 0.0);
106 tangent_multiplier = std::min(tangent_multiplier, 1.0);
111 tangent_multiplier = 0.0;
113 q *= tangent_multiplier;
bool isNodeOnIntersectingBoundary(const Node *const node) const
const Real _j_integral_radius_outer
Real getCrackFrontBackwardSegmentLength(const unsigned int point_index) const
const Real _j_integral_radius_inner
bool _is_point_on_intersecting_boundary
void projectToFrontAtPoint(Real &dist_to_front, Real &dist_along_tangent)
Real getCrackFrontForwardSegmentLength(const unsigned int point_index) const
const CrackFrontDefinition *const _crack_front_definition
const unsigned int _crack_front_point_index
◆ initialSetup()
void DomainIntegralQFunction::initialSetup |
( |
| ) |
|
|
protectedvirtual |
Definition at line 45 of file DomainIntegralQFunction.C.
54 "crack_front_point_index ignored because CrackFrontDefinition is set to treat as 2D");
61 mooseError(
"crack_front_point_index must be specified in DomainIntegralQFunction");
bool isPointWithIndexOnIntersectingBoundary(const unsigned int point_index) const
bool _is_point_on_intersecting_boundary
bool _has_crack_front_point_index
const CrackFrontDefinition *const _crack_front_definition
const unsigned int _crack_front_point_index
◆ projectToFrontAtPoint()
void DomainIntegralQFunction::projectToFrontAtPoint |
( |
Real & |
dist_to_front, |
|
|
Real & |
dist_along_tangent |
|
) |
| |
|
protected |
Definition at line 120 of file DomainIntegralQFunction.C.
Referenced by computeValue().
122 const Point * crack_front_point =
125 Point p = *_current_node;
126 const RealVectorValue & crack_front_tangent =
129 RealVectorValue crack_node_to_current_node = p - *crack_front_point;
130 dist_along_tangent = crack_node_to_current_node * crack_front_tangent;
131 RealVectorValue projection_point = *crack_front_point + dist_along_tangent * crack_front_tangent;
132 RealVectorValue axis_to_current_node = p - projection_point;
133 dist_to_front = axis_to_current_node.norm();
const RealVectorValue & getCrackFrontTangent(const unsigned int point_index) const
const CrackFrontDefinition *const _crack_front_definition
const unsigned int _crack_front_point_index
const Point * getCrackFrontPoint(const unsigned int point_index) const
◆ _crack_front_definition
◆ _crack_front_point_index
const unsigned int DomainIntegralQFunction::_crack_front_point_index |
|
private |
◆ _has_crack_front_point_index
bool DomainIntegralQFunction::_has_crack_front_point_index |
|
private |
◆ _is_point_on_intersecting_boundary
bool DomainIntegralQFunction::_is_point_on_intersecting_boundary |
|
private |
◆ _j_integral_radius_inner
const Real DomainIntegralQFunction::_j_integral_radius_inner |
|
private |
◆ _j_integral_radius_outer
const Real DomainIntegralQFunction::_j_integral_radius_outer |
|
private |
◆ _treat_as_2d
bool DomainIntegralQFunction::_treat_as_2d |
|
private |
The documentation for this class was generated from the following files: