www.mooseframework.org
BondStatusBasePD.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 
10 #include "BondStatusBasePD.h"
11 #include "PeridynamicsMesh.h"
12 
13 template <>
14 InputParameters
16 {
17  InputParameters params = validParams<AuxKernelBasePD>();
18  params.addClassDescription("Base class for different failure criteria to update the bond status");
19 
20  params.addRequiredCoupledVar("critical_variable", "Name of critical AuxVariable");
21 
22  params.set<ExecFlagEnum>("execute_on", true) = EXEC_TIMESTEP_END;
23 
24  return params;
25 }
26 
27 BondStatusBasePD::BondStatusBasePD(const InputParameters & parameters)
28  : AuxKernelBasePD(parameters),
29  _bond_status_var(&_subproblem.getStandardVariable(_tid, "bond_status")),
30  _critical_val(coupledValue("critical_variable"))
31 {
32 }
33 
34 Real
36 {
37  Real val = 0.0;
38 
39  if (_bond_status_var->getElementalValue(_current_elem) > 0.5) // unbroken bond
40  {
41  Real failure_criterion_val = computeFailureCriterionValue();
42  if (failure_criterion_val < 0.0) // unmet failure criterion
43  val = 1.0; // bond is still unbroken
44  }
45 
46  return val;
47 }
validParams< BondStatusBasePD >
InputParameters validParams< BondStatusBasePD >()
Definition: BondStatusBasePD.C:15
BondStatusBasePD.h
PeridynamicsMesh.h
BondStatusBasePD::BondStatusBasePD
BondStatusBasePD(const InputParameters &parameters)
Definition: BondStatusBasePD.C:27
BondStatusBasePD::computeFailureCriterionValue
virtual Real computeFailureCriterionValue()=0
Function to compute the value of a given failure criterion.
BondStatusBasePD::_bond_status_var
MooseVariable * _bond_status_var
Bond_status variable.
Definition: BondStatusBasePD.h:42
validParams< AuxKernelBasePD >
InputParameters validParams< AuxKernelBasePD >()
Definition: AuxKernelBasePD.C:15
BondStatusBasePD::computeValue
virtual Real computeValue() override
Definition: BondStatusBasePD.C:35
AuxKernelBasePD
Peridynamic Aux Kernel base class.
Definition: AuxKernelBasePD.h:23