https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
AugmentedLagrangianContactProblemInterface Class Reference

Class to provide an interface for parameters and routines required to check convergence for the augmented Lagrangian contact problem. More...

#include <AugmentedLagrangianContactProblemInterface.h>

Inheritance diagram for AugmentedLagrangianContactProblemInterface:
[legend]

Public Member Functions

 AugmentedLagrangianContactProblemInterface (const InputParameters &params, FEProblemBase &problem)
 
virtual const AugmentedLagrangianContactConvergenceBase & getAugmentedLagrangianContactConvergence () const
 
virtual const unsigned int & getLagrangianIterationNumber () const
 

Static Public Member Functions

static InputParameters validParams ()
 

Private Attributes

FEProblemBase & _problem
 The problem that owns this interface, used to look up the convergence object.
 

Detailed Description

Class to provide an interface for parameters and routines required to check convergence for the augmented Lagrangian contact problem.

Definition at line 21 of file AugmentedLagrangianContactProblemInterface.h.

Constructor & Destructor Documentation

◆ AugmentedLagrangianContactProblemInterface()

AugmentedLagrangianContactProblemInterface::AugmentedLagrangianContactProblemInterface ( const InputParameters &  params,
FEProblemBase &  problem 
)

Definition at line 24 of file AugmentedLagrangianContactProblemInterface.C.

26 : _problem(problem)
27{
28}
FEProblemBase & _problem
The problem that owns this interface, used to look up the convergence object.

Member Function Documentation

◆ getAugmentedLagrangianContactConvergence()

const AugmentedLagrangianContactConvergenceBase & AugmentedLagrangianContactProblemInterface::getAugmentedLagrangianContactConvergence ( ) const
virtual
Returns
the augmented Lagrangian contact convergence object of the problem's nonlinear solve

Definition at line 31 of file AugmentedLagrangianContactProblemInterface.C.

32{
33 mooseAssert(_problem.numNonlinearSystems() == 1, "Multiple nonlinear systems are not supported.");
34
35 const auto & name = _problem.getNonlinearConvergenceNames()[0];
36 const auto * const convergence = dynamic_cast<const AugmentedLagrangianContactConvergenceBase *>(
38 if (!convergence)
39 mooseError("The nonlinear convergence object '",
40 name,
41 "' is not an augmented Lagrangian contact convergence.");
42 return *convergence;
43}
void mooseError(Args &&... args)
const std::string name
Definition Setup.h:21
Non-templated base of AugmentedLagrangianContactConvergence that owns the augmented Lagrangian iterat...
const std::vector< ConvergenceName > & getNonlinearConvergenceNames() const
virtual std::size_t numNonlinearSystems() const override
virtual Convergence & getConvergence(const std::string &name, const THREAD_ID tid=0) const

Referenced by getLagrangianIterationNumber().

◆ getLagrangianIterationNumber()

virtual const unsigned int & AugmentedLagrangianContactProblemInterface::getLagrangianIterationNumber ( ) const
inlinevirtual

◆ validParams()

InputParameters AugmentedLagrangianContactProblemInterface::validParams ( )
static

Definition at line 15 of file AugmentedLagrangianContactProblemInterface.C.

16{
17 auto params = emptyInputParameters();
18 params.addParam<int>("maximum_lagrangian_update_iterations",
19 100,
20 "Maximum number of update Lagrangian Multiplier iterations per step");
21 return params;
22}
InputParameters emptyInputParameters()

Referenced by AugmentedLagrangianContactConvergence< T >::validParams(), and AugmentedLagrangianContactProblemTempl< T >::validParams().

Member Data Documentation

◆ _problem

FEProblemBase& AugmentedLagrangianContactProblemInterface::_problem
private

The problem that owns this interface, used to look up the convergence object.

Definition at line 40 of file AugmentedLagrangianContactProblemInterface.h.

Referenced by getAugmentedLagrangianContactConvergence().


The documentation for this class was generated from the following files: