https://mooseframework.inl.gov
Loading...
Searching...
No Matches
include
executioners
SolveObject.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 "
MooseObject.h
"
13
#include "
PerfGraphInterface.h
"
14
#include "
PostprocessorInterface.h
"
15
16
class
SolveObject
;
17
class
Executioner
;
18
class
FEProblemBase
;
19
class
DisplacedProblem
;
20
class
MooseMesh
;
21
class
SystemBase
;
22
class
AuxiliarySystem
;
23
24
class
SolveObject
:
public
MooseObject
,
public
PerfGraphInterface
,
public
PostprocessorInterface
25
{
26
public
:
27
SolveObject
(
Executioner
& ex);
28
32
virtual
void
initialSetup
() {}
33
38
virtual
bool
solve
() = 0;
39
41
virtual
void
setInnerSolve
(
SolveObject
&
solve
) {
_inner_solve
= &
solve
; }
42
43
protected
:
45
Executioner
&
_executioner
;
47
FEProblemBase
&
_problem
;
49
DisplacedProblem
*
_displaced_problem
;
51
MooseMesh
&
_mesh
;
53
MooseMesh
*
_displaced_mesh
;
55
SystemBase
&
_solver_sys
;
57
AuxiliarySystem
&
_aux
;
59
SolveObject
*
_inner_solve
;
60
};
MooseObject.h
PerfGraphInterface.h
PostprocessorInterface.h
AuxiliarySystem
A system that holds auxiliary variables.
Definition
AuxiliarySystem.h:46
DisplacedProblem
Definition
DisplacedProblem.h:38
Executioner
Executioners are objects that do the actual work of solving your problem.
Definition
Executioner.h:37
FEProblemBase
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Definition
FEProblemBase.h:158
MooseMesh
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition
MooseMesh.h:95
MooseObject
Every object that can be built by the factory should be derived from this class.
Definition
MooseObject.h:31
PerfGraphInterface
Interface for objects interacting with the PerfGraph.
Definition
PerfGraphInterface.h:62
PostprocessorInterface
Interface class for classes which interact with Postprocessors.
Definition
PostprocessorInterface.h:35
SolveObject
Definition
SolveObject.h:25
SolveObject::_solver_sys
SystemBase & _solver_sys
Reference to a system for creating vectors as needed for the solve, etc.
Definition
SolveObject.h:55
SolveObject::_problem
FEProblemBase & _problem
Reference to FEProblem.
Definition
SolveObject.h:47
SolveObject::_displaced_problem
DisplacedProblem * _displaced_problem
Displaced problem.
Definition
SolveObject.h:49
SolveObject::_inner_solve
SolveObject * _inner_solve
SolveObject wrapped by this solve object.
Definition
SolveObject.h:59
SolveObject::initialSetup
virtual void initialSetup()
Method that should be executed once, before any solve calls.
Definition
SolveObject.h:32
SolveObject::_executioner
Executioner & _executioner
Executioner used to construct this.
Definition
SolveObject.h:45
SolveObject::_aux
AuxiliarySystem & _aux
Reference to auxiliary system for faster access.
Definition
SolveObject.h:57
SolveObject::solve
virtual bool solve()=0
Solve routine provided by this object.
SolveObject::_displaced_mesh
MooseMesh * _displaced_mesh
Displaced mesh.
Definition
SolveObject.h:53
SolveObject::setInnerSolve
virtual void setInnerSolve(SolveObject &solve)
Set the inner solve object wrapped by this object.
Definition
SolveObject.h:41
SolveObject::_mesh
MooseMesh & _mesh
Mesh.
Definition
SolveObject.h:51
SystemBase
Base class for a system (of equations)
Definition
SystemBase.h:87
Generated on Fri Aug 21 2026 13:33:49 for https://mooseframework.inl.gov by
1.9.8