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);
static InputParameters validParams()
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 ...
This Constraint adds standardized methods for assembling to a primary scalar variable associated with...
const MooseVariableScalar *const _kappa_var_ptr
(Pointer to) Scalar variable this kernel operates on
virtual ADReal computeScalarQpResidual() override
Method for computing the scalar part of residual at quadrature points.
static InputParameters validParams()
const MooseArray< Point > & _phys_points_primary
The locations of the quadrature points on the interior primary elements.
DualNumber< Real, DNDerivativeType, true > ADReal
const ADVariableValue & _lambda
The LM solution.
const unsigned int _k_order
Order of the scalar variable, used in several places.
const ADVariableValue & _kappa
Reference to the current solution at the current quadrature point.
const VariableTestValue & _test
The shape functions corresponding to the lagrange multiplier variable.
This class enforces a periodic boundary condition between a microscale and macroscale field...
registerMooseObject("MooseApp", ADPeriodicSegmentalConstraint)
std::vector< Point > _normals
the normals
virtual const std::vector< dof_id_type > & dofIndices() const
Get local DoF indices.
const MooseArray< Point > & _phys_points_secondary
The locations of the quadrature points on the interior secondary elements.
ADPeriodicSegmentalConstraint(const InputParameters ¶meters)
Interface class ("Veneer") to provide generator methods for derivative material property names...
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
virtual ADReal computeQpResidual(Moose::MortarType mortar_type) override
Method for computing the residual at quadrature points.
void derivInsert(SemiDynamicSparseNumberArray< Real, libMesh::dof_id_type, NWrapper< N >> &derivs, libMesh::dof_id_type index, Real value)
const VariableValue & _kappa_aux
The controlled scalar variable.
const MooseVariableScalar *const _kappa_aux_ptr
(Pointer to) the controlled scalar variable
unsigned int _h
Used internally to iterate over each scalar component.