12#ifndef MFEM_OPT_CONTACT_PROBLEM
13#define MFEM_OPT_CONTACT_PROBLEM
16#include "axom/slic.hpp"
17#include "tribol/interface/tribol.hpp"
18#include "tribol/interface/mfem_tribol.hpp"
49 int dimU, dimM, dimC, dimG;
70 std::set<int> mortar_attrs;
71 std::set<int> nonmortar_attrs;
95 void ComputeGapJacobian();
150 bool bound_constraints;
153 bool bound_constraints_activated =
false;
157 const std::set<int> & mortar_attrs_,
158 const std::set<int> & nonmortar_attrs_,
160 bool bound_constraints_);
237 const std::set<int> & mortar_attrs,
238 const std::set<int> & non_mortar_attrs,
245 Mcslump_.
Set(1.0, Mcslump);
247 Mvlump_.
Set(1.0, Mvlump);
T * GetData()
Returns the data.
A class to handle Vectors in a block fashion.
Vector & GetBlock(int i)
Get the i-th vector in the block.
Parallel finite element operator for linear and nonlinear elasticity.
Wrapper for hypre's ParCSR matrix class.
HYPRE_BigInt GetGlobalNumCols() const
Return the global number of columns.
Abstract parallel finite element space.
Class for parallel grid function.
Class for parallel meshes.
Vector & Set(const real_t a, const Vector &x)
(*this) = a * x
int Size() const
Returns the size of the vector.
void SetSize(int s)
Resize the vector to size s.