https://mooseframework.inl.gov
Loading...
Searching...
No Matches
BondStatusBasePD.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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
15{
17 params.addClassDescription("Base class for different failure criteria to update the bond status");
18
19 params.addRequiredCoupledVar("critical_variable", "Name of critical AuxVariable");
20
21 params.set<ExecFlagEnum>("execute_on", true) = EXEC_TIMESTEP_END;
22
23 return params;
24}
25
27 : AuxKernelBasePD(parameters),
28 _bond_status_var(&_subproblem.getStandardVariable(_tid, "bond_status")),
29 _critical_val(coupledValue("critical_variable"))
30{
31 if (isNodal())
32 paramError("variable", "This AuxKernel only supports Elemental fields");
33}
34
35Real
37{
38 Real val = 0.0;
39
40 if (_bond_status_var->getElementalValue(_current_elem) > 0.5) // unbroken bond
41 {
42 Real failure_criterion_val = computeFailureCriterionValue();
43 if (failure_criterion_val < 0.0) // unmet failure criterion
44 val = 1.0; // bond is still unbroken
45 }
46
47 return val;
48}
const ExecFlagType EXEC_TIMESTEP_END
Peridynamic Aux Kernel base class.
static InputParameters validParams()
const Elem *const & _current_elem
virtual Real computeFailureCriterionValue()=0
Function to compute the value of a given failure criterion.
BondStatusBasePD(const InputParameters &parameters)
MooseVariable * _bond_status_var
Bond_status variable.
virtual Real computeValue() override
static InputParameters validParams()
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
void paramError(const std::string &param, Args... args) const
DofValue getElementalValue(const Elem *elem, unsigned int idx=0) const