www.mooseframework.org
CrackTipEnrichmentCutOffBC.C
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 
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters p = validParams<DirichletBC>();
19  p.addRequiredParam<Real>("cut_off_radius",
20  "The cut off radius of crack tip enrichment functions");
21  p.set<bool>("use_displaced_mesh") = false;
22  p.addRequiredParam<UserObjectName>("crack_front_definition",
23  "The CrackFrontDefinition user object name");
24  p.set<bool>("preset") = true;
25  return p;
26 }
27 
28 CrackTipEnrichmentCutOffBC::CrackTipEnrichmentCutOffBC(const InputParameters & parameters)
29  : DirichletBC(parameters),
30  _cut_off_radius(getParam<Real>("cut_off_radius")),
31  _crack_front_definition(&getUserObject<CrackFrontDefinition>("crack_front_definition"))
32 {
33 }
34 
35 bool
37 {
38  Real r, theta;
39  _crack_front_definition->calculateRThetaToCrackFront((*_current_node), r, theta);
40 
41  if (r > _cut_off_radius)
42  return true;
43  else
44  return false;
45 }
CrackTipEnrichmentCutOffBC::_cut_off_radius
const Real _cut_off_radius
Definition: CrackTipEnrichmentCutOffBC.h:32
CrackTipEnrichmentCutOffBC
CrackTipEnrichmentCutOffBC is used in XFEM Crack Tip Enrichment to fix DOFs to zero for those nodes w...
Definition: CrackTipEnrichmentCutOffBC.h:24
CrackFrontDefinition
Works on top of NodalNormalsPreprocessor.
Definition: CrackFrontDefinition.h:36
CrackTipEnrichmentCutOffBC::CrackTipEnrichmentCutOffBC
CrackTipEnrichmentCutOffBC(const InputParameters &parameters)
Definition: CrackTipEnrichmentCutOffBC.C:28
CrackTipEnrichmentCutOffBC.h
CrackFrontDefinition::calculateRThetaToCrackFront
void calculateRThetaToCrackFront(const Point qp, const unsigned int point_index, Real &r, Real &theta) const
calculate r and theta in the crack front polar coordinates
Definition: CrackFrontDefinition.C:1150
CrackTipEnrichmentCutOffBC::shouldApply
virtual bool shouldApply() override
Definition: CrackTipEnrichmentCutOffBC.C:36
CrackTipEnrichmentCutOffBC::_crack_front_definition
const CrackFrontDefinition * _crack_front_definition
Definition: CrackTipEnrichmentCutOffBC.h:35
validParams< CrackTipEnrichmentCutOffBC >
InputParameters validParams< CrackTipEnrichmentCutOffBC >()
Definition: CrackTipEnrichmentCutOffBC.C:16
registerMooseObject
registerMooseObject("XFEMApp", CrackTipEnrichmentCutOffBC)