www.mooseframework.org
AdamsPredictor.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 // MOOSE includes
13 #include "Predictor.h"
14 
15 namespace libMesh
16 {
17 template <typename T>
18 class NumericVector;
19 }
20 
25 class AdamsPredictor : public Predictor
26 {
27 public:
29 
31 
32  virtual int order() override { return _order; }
33  virtual void timestepSetup() override;
34  virtual bool shouldApply() override;
35  virtual void apply(NumericVector<Number> & sln) override;
37 
38 protected:
39  int _order;
48 };
AdamsPredictor(const InputParameters &parameters)
NumericVector< Number > & _tmp_previous_solution
NumericVector< Number > & _tmp_third_vector
virtual void apply(NumericVector< Number > &sln) override
NumericVector< Number > & _current_old_solution
Base class for predictors.
Definition: Predictor.h:28
virtual NumericVector< Number > & solutionPredictor() override
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
Implements an explicit Adams predictor based on two old solution vectors.
static InputParameters validParams()
NumericVector< Number > & _solution_predictor
Definition: Predictor.h:53
virtual int order() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void timestepSetup() override
NumericVector< Number > & _oldest_solution
const InputParameters & parameters() const
Get the parameters of the object.
NumericVector< Number > & _tmp_residual_old
NumericVector< Number > & _older_solution
virtual bool shouldApply() override