18 InputParameters params = validParams<DirichletBCBase>();
19 params.addClassDescription(
"Class to apply a preset BC to nodes with rigid body motion (RBM).");
22 params.set<
bool>(
"preset") =
true;
23 params.suppressParameter<
bool>(
"preset");
29 : DirichletBCBase(parameters),
31 _u_old(_var.dofValuesOld()),
32 _bond_status_var(&_subproblem.getStandardVariable(_tid,
"bond_status"))
45 bool should_apply =
true;
55 shape_tensor(2, 2) = 1.0;
58 for (
unsigned int i = 0; i < neighbors.size(); ++i)
62 ori_vec = *(
_pdmesh.nodePtr(neighbors[i])) - *_current_node;
63 for (
unsigned int j = 0; j < dim; ++j)
64 for (
unsigned int k = 0; k < dim; ++k)
65 shape_tensor(j, k) += horiz_size / ori_vec.norm() * ori_vec(j) * ori_vec(k) * vol_i;
68 if (!MooseUtils::absoluteFuzzyEqual(shape_tensor.det(), 0.0))