19 "ADPeriodicSegmentalConstraint enforces macro-micro periodic conditions between "
20 "secondary and primary sides of a mortar interface using Lagrange multipliers."
21 "Must be used alongside EqualValueConstraint.");
22 params.
renameCoupledVar(
"scalar_variable",
"epsilon",
"Primary coupled scalar variable");
30 _kappa_aux_ptr(getScalarVar(
"sigma", 0)),
31 _ka_order(_kappa_aux_ptr->order()),
32 _kappa_aux(coupledScalarValue(
"sigma"))
36 "Must assign auxiliary scalar variable to sigma, rather than nonlinear variable");
57 ADReal r = -(kappa_vec * dx);
77 RealVectorValue kappa_aux_vec(
_kappa_aux[0], 0, 0);
registerMooseObject("MooseApp", ADPeriodicSegmentalConstraint)
DualNumber< Real, DNDerivativeType, true > ADReal
const ADVariableValue & _lambda
The LM solution.
This Constraint adds standardized methods for assembling to a primary scalar variable associated with...
static InputParameters validParams()
const MooseVariableScalar *const _kappa_var_ptr
(Pointer to) Scalar variable this kernel operates on
const ADVariableValue & _kappa
Reference to the current solution at the current quadrature point.
unsigned int _h
Used internally to iterate over each scalar component.
const unsigned int _k_order
Order of the scalar variable, used in several places.
This class enforces a periodic boundary condition between a microscale and macroscale field.
virtual ADReal computeQpResidual(Moose::MortarType mortar_type) override
Method for computing the residual at quadrature points.
ADPeriodicSegmentalConstraint(const InputParameters ¶meters)
virtual ADReal computeScalarQpResidual() override
Method for computing the scalar part of residual at quadrature points.
const MooseVariableScalar *const _kappa_aux_ptr
(Pointer to) the controlled scalar variable
const VariableValue & _kappa_aux
The controlled scalar variable.
static InputParameters validParams()
Interface class ("Veneer") to provide generator methods for derivative material property names.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
virtual const std::vector< dof_id_type > & dofIndices() const
Get local DoF indices.
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
const VariableTestValue & _test
The shape functions corresponding to the lagrange multiplier variable.
const MooseArray< Point > & _phys_points_secondary
The locations of the quadrature points on the interior secondary elements.
const MooseArray< Point > & _phys_points_primary
The locations of the quadrature points on the interior primary elements.
std::vector< Point > _normals
the normals
void derivInsert(SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N > > &derivs, libMesh::dof_id_type index, Real value)