https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SteffensenSolve.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 "FixedPointSolve.h"
13#include "NonlinearSystemBase.h"
14
16{
17public:
19
21
22 virtual void initialSetup() override;
23
32 virtual void allocateStorage(const bool primary) override final;
33
35 Real initial_norm,
36 const std::vector<Real> & timestep_begin_norms,
37 const std::vector<Real> & timestep_end_norms) const override final;
38
39private:
46 virtual void saveVariableValues(const bool primary) override final;
47
54 virtual void savePostprocessorValues(const bool primary) override final;
55
62 virtual bool useFixedPointAlgorithmUpdateInsteadOfPicard(const bool primary) override final;
63
72 virtual void transformPostprocessors(const bool primary) override final;
73
83 virtual void transformVariables(const std::set<dof_id_type> & transformed_dofs,
84 const bool primary) override final;
85
88
91
94
97};
unsigned int TagID
Definition MooseTypes.h:238
Executioners are objects that do the actual work of solving your problem.
Definition Executioner.h:37
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
virtual void transformPostprocessors(const bool primary) override final
Use the fixed point algorithm to transform the postprocessors.
virtual void savePostprocessorValues(const bool primary) override final
Saves the current values of the postprocessors, and update the old(er) vectors.
virtual void printFixedPointConvergenceHistory(Real initial_norm, const std::vector< Real > &timestep_begin_norms, const std::vector< Real > &timestep_end_norms) const override final
Print the convergence history of the coupling, at every fixed point iteration.
virtual void saveVariableValues(const bool primary) override final
Saves the current values of the variables, and update the old(er) vectors.
TagID _fxn_m1_tagid
Vector tag id for the most recent solution variable, pre-Steffensen transform, as a main app.
TagID _secondary_xn_m1_tagid
Vector tag id for the solution variable before the latest solve, as a sub app.
TagID _secondary_fxn_m1_tagid
Vector tag id for the most recent solution variable, pre-Steffensen transform, as a sub app.
virtual void transformVariables(const std::set< dof_id_type > &transformed_dofs, const bool primary) override final
Use the fixed point algorithm to transform the variables.
TagID _xn_m1_tagid
Vector tag id for the solution variable before the latest solve, as a main app.
virtual bool useFixedPointAlgorithmUpdateInsteadOfPicard(const bool primary) override final
Use the fixed point algorithm transform instead of simply using the Picard update.
virtual void allocateStorage(const bool primary) override final
Allocate storage for the fixed point algorithm.
static InputParameters validParams()
virtual void initialSetup() override
Method that should be executed once, before any solve calls.
const TagID INVALID_TAG_ID
Definition MooseTypes.C:23