19 "PenaltyPeriodicSegmentalConstraint enforces macro-micro periodic conditions between " 20 "secondary and primary sides of a mortar interface using a penalty approach " 21 "(no Lagrange multipliers needed). Must be used alongside PenaltyEqualValueConstraint.");
22 params.
renameCoupledVar(
"scalar_variable",
"epsilon",
"Primary coupled scalar variable");
27 "Penalty value used to impose a generalized force capturing the mortar constraint equation");
37 _kappa_aux_ptr(getScalarVar(
"sigma", 0)),
38 _ka_order(_kappa_aux_ptr->order()),
39 _kappa_aux(coupledScalarValue(
"sigma")),
40 _pen_scale(getParam<
Real>(
"penalty_value"))
44 "Must assign auxiliary scalar variable to sigma, rather than nonlinear variable");
121 r += dx(
_h) *
_tau_s * (kappa_vec * dx);
191 jac *= (*_phi)[
_j][
_qp] * dx(
_h);
194 jac *= -(*_phi)[
_j][
_qp] * dx(
_h);
const Real _pen_scale
Input property from user as the value of the penalty parameter.
MooseVariableField< Real > & _secondary_var
Reference to the secondary variable.
This class enforces a periodic boundary condition between a microscale and macroscale field...
virtual Real computeQpOffDiagJacobianScalar(Moose::MortarType mortar_type, const unsigned int jvar) override
Method for computing d-_var-residual / d-_kappa at quadrature points.
const VariableTestValue & _test_secondary
The shape functions corresponding to the secondary interior primal variable.
virtual void initScalarQpResidual() override
Put necessary evaluations depending on qp but independent of test functions here. ...
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 ...
unsigned int number() const
Get variable number coming from libMesh.
const MooseArray< Point > & _phys_points_primary
The locations of the quadrature points on the interior primary elements.
Real _tau_s
The stability parameter for the method.
void precalculateStability()
unsigned int _h
Used internally to iterate over each scalar component.
const VariableValue & _u_secondary
The primal solution on the secondary side.
virtual void precalculateResidual() override
virtual Real computeScalarQpResidual() override
Method for computing the scalar part of residual at quadrature points.
void precalculateMaterial()
PenaltyPeriodicSegmentalConstraint(const InputParameters ¶meters)
registerMooseObject("MooseApp", PenaltyPeriodicSegmentalConstraint)
const unsigned int _kappa_var
The unknown scalar variable ID.
std::vector< Point > _normals
the normals
const MooseArray< Point > & _phys_points_secondary
The locations of the quadrature points on the interior secondary elements.
const VariableValue & _u_primary
The primal solution on the primary side.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Interface class ("Veneer") to provide generator methods for derivative material property names...
virtual void precalculateJacobian() override
Moose::VarKindType kind() const
Kind of the variable (Nonlinear, Auxiliary, ...)
const unsigned int _k_order
Order of the scalar variable, used in several places.
virtual Real computeQpResidual(Moose::MortarType mortar_type) override
Method for computing the residual at quadrature points.
Real _temp_jump_global
the temperature jump in global and interface coordinates; TM-analogy: _displacement_jump_global, _interface_displacement_jump
static InputParameters validParams()
virtual Real computeScalarQpOffDiagJacobian(Moose::MortarType mortar_type, const unsigned int jvar) override
Method for computing d-_kappa-residual / d-_var at quadrature points.
const MooseVariableScalar *const _kappa_aux_ptr
(Pointer to) the controlled scalar variable
This Constraint adds standardized methods for assembling to a primary scalar variable associated with...
const VariableValue & _kappa_aux
The controlled scalar variable.
const VariableValue & _kappa
Reference to the current solution at the current quadrature point.
const VariableTestValue & _test_primary
The shape functions corresponding to the primary interior primal variable.
virtual Real computeScalarQpJacobian() override
Method for computing the scalar variable part of Jacobian at quadrature points.
MooseVariableField< Real > & _primary_var
Reference to the primary variable.