https://mooseframework.inl.gov
TransientAndAdjoint.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 "Transient.h"
13 #include "AdjointTransientSolve.h"
14 
15 // Forward declarations
16 class InputParameters;
17 
19 {
20 public:
22 
24 
28  virtual void preExecute() override;
29 
33  virtual void postStep() override;
34 
38  virtual void postExecute() override;
39 
40 protected:
44  std::vector<Real> & _forward_times;
45 };
virtual void preExecute() override
For storing the initial condition.
TransientAndAdjoint(const InputParameters &parameters)
virtual void postStep() override
For storing the converged solution.
Transient adjoint solve object.
std::vector< Real > & _forward_times
Cached forward time points so we can properly loop backward in time.
virtual void postExecute() override
For solving the adjoint problem.
static InputParameters validParams()
AdjointTransientSolve _adjoint_solve
The transient adjoint solve object responsible for storing forward solutions and solving the adjoint ...
const InputParameters & parameters() const