https://mooseframework.inl.gov
PetscProjectSolutionOntoBounds.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 "libmesh/libmesh_common.h"
13 #include "libmesh/petsc_macro.h"
14 
15 #include "LineSearch.h"
16 
17 #include <map>
18 
19 using namespace libMesh;
20 
22 class PenetrationLocator;
24 class DisplacedProblem;
25 
26 namespace libMesh
27 {
28 template <typename>
30 }
31 
36 {
37 public:
39 
41 
42  void initialSetup() override;
43  virtual void lineSearch() override;
44 
45 protected:
50  const std::map<std::pair<unsigned int, unsigned int>, PenetrationLocator *> *
52 };
const std::map< std::pair< unsigned int, unsigned int >, PenetrationLocator * > * _pentration_locators
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
Petsc implementation of the contact line search (based on the Petsc LineSearchShell) ...
InputParameters validParams()
PetscNonlinearSolver< Real > * _solver
const GeometricSearchData * _geometric_search_data