https://mooseframework.inl.gov
LMWeightedGapUserObject.h
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 #pragma once
11 
12 #include "WeightedGapUserObject.h"
13 
14 template <typename>
15 class MooseVariableFE;
16 
22 {
23 public:
28  static InputParameters newParams();
29 
31 
32  virtual const ADVariableValue & contactPressure() const override;
33  virtual void reinit() override {}
34  virtual Real getNormalContactPressure(const Node * const /*node*/) const override;
35 
36 protected:
37  virtual const VariableTestValue & test() const override;
38  virtual bool constrainedByOwner() const override { return true; }
39 
43  void checkInput(const MooseVariable * const var, const std::string & var_name) const;
44 
48  void verifyLagrange(const MooseVariable & var, const std::string & var_name) const;
49 
52 
55 
57  const MooseVariable * const _aux_lm_var;
58 };
virtual void reinit() override
const InputParameters & parameters() const
const MooseVariable *const _aux_lm_var
The auxiliary Lagrange multiplier variable (used together whith the Petrov-Galerkin approach) ...
const MooseVariableFE< Real > *const _lm_var
The Lagrange multiplier variable representing the contact pressure.
virtual const ADVariableValue & contactPressure() const override
const bool _use_petrov_galerkin
Whether to use Petrov-Galerkin approach.
OutputTools< Real >::VariableTestValue VariableTestValue
User object for computing weighted gaps and contact pressure for Lagrange multipler based mortar cons...
void checkInput(const MooseVariable *const var, const std::string &var_name) const
Check user input validity for provided variable.
void verifyLagrange(const MooseVariable &var, const std::string &var_name) const
Verify that the provided variables have degrees of freedom at nodes.
Creates dof object to weighted gap map.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual bool constrainedByOwner() const override
virtual const VariableTestValue & test() const override
virtual Real getNormalContactPressure(const Node *const) const override
static InputParameters validParams()
LMWeightedGapUserObject(const InputParameters &parameters)
static InputParameters newParams()
New parameters that this sub-class introduces.