https://mooseframework.inl.gov
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
AugmentedLagrangianContactProblemTempl< T > Class Template Reference

Class to manage nested solution for augmented Lagrange contact. More...

#include <AugmentedLagrangianContactProblem.h>

Inheritance diagram for AugmentedLagrangianContactProblemTempl< T >:
[legend]

Public Member Functions

 AugmentedLagrangianContactProblemTempl (const InputParameters &params)
 
virtual ~AugmentedLagrangianContactProblemTempl ()
 
virtual void timestepSetup () override
 
virtual void addDefaultNonlinearConvergence (const InputParameters &params) override
 
virtual bool onlyAllowDefaultNonlinearConvergence () const override
 
template<>
void addDefaultNonlinearConvergence (const InputParameters &params_to_apply)
 
template<>
void addDefaultNonlinearConvergence (const InputParameters &params_to_apply)
 
virtual const unsigned intgetLagrangianIterationNumber () const
 
virtual void setLagrangianIterationNumber (unsigned int iter)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

unsigned int _lagrangian_iteration_number
 current augmented lagrange iteration number More...
 
const unsigned int _maximum_number_lagrangian_iterations
 maximum mumber of augmented lagrange iterations More...
 

Detailed Description

template<class T>
class AugmentedLagrangianContactProblemTempl< T >

Class to manage nested solution for augmented Lagrange contact.

The AugmentedLagrangianContactProblem manages the nested solution procedure, repeating the solution until convergence has been achieved, checking for convergence, and updating the Lagrangian multipliers.

Definition at line 25 of file AugmentedLagrangianContactProblem.h.

Constructor & Destructor Documentation

◆ AugmentedLagrangianContactProblemTempl()

Definition at line 46 of file AugmentedLagrangianContactProblem.C.

49 {
50 }

◆ ~AugmentedLagrangianContactProblemTempl()

template<class T >
virtual AugmentedLagrangianContactProblemTempl< T >::~AugmentedLagrangianContactProblemTempl ( )
inlinevirtual

Definition at line 32 of file AugmentedLagrangianContactProblem.h.

32 {}

Member Function Documentation

◆ addDefaultNonlinearConvergence() [1/3]

template<class T >
virtual void AugmentedLagrangianContactProblemTempl< T >::addDefaultNonlinearConvergence ( const InputParameters params)
overridevirtual

◆ addDefaultNonlinearConvergence() [2/3]

template<>
void AugmentedLagrangianContactProblemTempl< ReferenceResidualProblem >::addDefaultNonlinearConvergence ( const InputParameters params_to_apply)

Definition at line 62 of file AugmentedLagrangianContactProblem.C.

64 {
65  std::string class_name = "AugmentedLagrangianContactReferenceConvergence";
66  InputParameters params = this->_factory.getValidParams(class_name);
67  params.applyParameters(params_to_apply);
68  params.applyParameters(parameters());
69  params.set<bool>("added_as_default") = true;
70  // TODO: Add multi-nonlinear system support
71  if (this->numNonlinearSystems() > 1)
72  mooseError("Multi-system not currently implemented");
73  this->addConvergence(class_name, this->getNonlinearConvergenceNames()[0], params);
74 }
void mooseError(Args &&... args)
T & set(const std::string &name, bool quiet_mode=false)
void applyParameters(const InputParameters &common, const std::vector< std::string > &exclude={}, const bool allow_private=false)

◆ addDefaultNonlinearConvergence() [3/3]

template<>
void AugmentedLagrangianContactProblemTempl< FEProblem >::addDefaultNonlinearConvergence ( const InputParameters params_to_apply)

Definition at line 78 of file AugmentedLagrangianContactProblem.C.

80 {
81  std::string class_name = "AugmentedLagrangianContactFEProblemConvergence";
82  InputParameters params = _factory.getValidParams(class_name);
83  params.applyParameters(params_to_apply);
84  params.applyParameters(parameters());
85  params.set<bool>("added_as_default") = true;
86  // TODO: Add multi-nonlinear system support
87  if (this->numNonlinearSystems() > 1)
88  mooseError("Multi-system not currently implemented");
89  this->addConvergence(class_name, this->getNonlinearConvergenceNames()[0], params);
90 }
void mooseError(Args &&... args)
T & set(const std::string &name, bool quiet_mode=false)
void applyParameters(const InputParameters &common, const std::vector< std::string > &exclude={}, const bool allow_private=false)

◆ getLagrangianIterationNumber()

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

◆ onlyAllowDefaultNonlinearConvergence()

template<class T >
virtual bool AugmentedLagrangianContactProblemTempl< T >::onlyAllowDefaultNonlinearConvergence ( ) const
inlineoverridevirtual

Definition at line 36 of file AugmentedLagrangianContactProblem.h.

36 { return true; }

◆ setLagrangianIterationNumber()

virtual void AugmentedLagrangianContactProblemInterface::setLagrangianIterationNumber ( unsigned int  iter)
inlinevirtualinherited

Definition at line 27 of file AugmentedLagrangianContactProblemInterface.h.

28  {
30  }
unsigned int _lagrangian_iteration_number
current augmented lagrange iteration number

◆ timestepSetup()

template<class T >
void AugmentedLagrangianContactProblemTempl< T >::timestepSetup ( )
overridevirtual

Definition at line 54 of file AugmentedLagrangianContactProblem.C.

55 {
57  T::timestepSetup();
58 }
unsigned int _lagrangian_iteration_number
current augmented lagrange iteration number

◆ validParams()

template<class T >
InputParameters AugmentedLagrangianContactProblemTempl< T >::validParams ( )
static

Definition at line 37 of file AugmentedLagrangianContactProblem.C.

38 {
41  params.addClassDescription("Manages nested solution for augmented Lagrange contact");
42  return params;
43 }
InputParameters validParams()
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _lagrangian_iteration_number

template<class T >
unsigned int AugmentedLagrangianContactProblemInterface::_lagrangian_iteration_number
protected

current augmented lagrange iteration number

Definition at line 37 of file AugmentedLagrangianContactProblemInterface.h.

◆ _maximum_number_lagrangian_iterations

template<class T >
const unsigned int AugmentedLagrangianContactProblemInterface::_maximum_number_lagrangian_iterations
protected

maximum mumber of augmented lagrange iterations

Definition at line 34 of file AugmentedLagrangianContactProblemInterface.h.


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