www.mooseframework.org
contact
include
linesearches
PetscProjectSolutionOntoBounds.h
Go to the documentation of this file.
1
//* This file is part of the MOOSE framework
2
//* https://www.mooseframework.org
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
#ifdef LIBMESH_HAVE_PETSC
16
#if PETSC_VERSION_LESS_THAN(3, 3, 0)
17
#else
18
19
#include "LineSearch.h"
20
21
#include <map>
22
23
using namespace
libMesh
;
24
25
class
PetscProjectSolutionOntoBounds
;
26
class
GeometricSearchData;
27
class
PenetrationLocator;
28
class
NonlinearSystemBase;
29
class
DisplacedProblem;
30
31
namespace
libMesh
32
{
33
template
<
typename
>
34
class
PetscNonlinearSolver
;
35
}
36
37
template
<>
38
InputParameters
validParams<PetscProjectSolutionOntoBounds>
();
39
43
class
PetscProjectSolutionOntoBounds
:
public
LineSearch
44
{
45
public
:
46
PetscProjectSolutionOntoBounds
(
const
InputParameters & parameters);
47
48
void
initialSetup()
override
;
49
virtual
void
lineSearch()
override
;
50
51
protected
:
52
NonlinearSystemBase &
_nl
;
53
PetscNonlinearSolver<Real>
*
_solver
;
54
DisplacedProblem *
_displaced_problem
;
55
const
GeometricSearchData *
_geometric_search_data
;
56
const
std::map<std::pair<unsigned int, unsigned int>, PenetrationLocator *> *
57
_pentration_locators
;
58
};
59
60
#endif // PETSC_VERSION_LESS_THAN(3, 3, 0)
61
#endif // LIBMESH_HAVE_PETSC
libMesh::PetscNonlinearSolver
Definition:
PetscContactLineSearch.h:27
PetscProjectSolutionOntoBounds::_solver
PetscNonlinearSolver< Real > * _solver
Definition:
PetscProjectSolutionOntoBounds.h:53
libMesh
Definition:
RANFSNormalMechanicalContact.h:24
PetscProjectSolutionOntoBounds::_geometric_search_data
const GeometricSearchData * _geometric_search_data
Definition:
PetscProjectSolutionOntoBounds.h:55
PetscProjectSolutionOntoBounds
Petsc implementation of the contact line search (based on the Petsc LineSearchShell)
Definition:
PetscProjectSolutionOntoBounds.h:43
PetscProjectSolutionOntoBounds::_displaced_problem
DisplacedProblem * _displaced_problem
Definition:
PetscProjectSolutionOntoBounds.h:54
validParams< PetscProjectSolutionOntoBounds >
InputParameters validParams< PetscProjectSolutionOntoBounds >()
Definition:
PetscProjectSolutionOntoBounds.C:29
PetscProjectSolutionOntoBounds::_pentration_locators
const std::map< std::pair< unsigned int, unsigned int >, PenetrationLocator * > * _pentration_locators
Definition:
PetscProjectSolutionOntoBounds.h:57
PetscProjectSolutionOntoBounds::_nl
NonlinearSystemBase & _nl
Definition:
PetscProjectSolutionOntoBounds.h:52
Generated on Sat Jan 25 2020 12:04:35 for www.mooseframework.org by
1.8.16