https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PicardSolve.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
15// System includes
16#include <string>
17
19{
20public:
22
24
33 virtual void allocateStorage(const bool primary) override final;
34
36 Real initial_norm,
37 const std::vector<Real> & timestep_begin_norms,
38 const std::vector<Real> & timestep_end_norms) const override final;
39
40private:
47 virtual void saveVariableValues(const bool primary) override final;
48
55 virtual void savePostprocessorValues(const bool primary) override final;
56
63 virtual bool useFixedPointAlgorithmUpdateInsteadOfPicard(const bool primary) override final;
64
73 virtual void transformPostprocessors(const bool primary) override final;
74
84 virtual void transformVariables(const std::set<dof_id_type> & transformed_dofs,
85 const bool primary) override final;
86
89
92};
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 allocateStorage(const bool primary) override final
Allocate storage for the fixed point algorithm.
Definition PicardSolve.C:28
TagID _secondary_old_tag_id
Vector tag id for the previous solution variable, as a sub app.
Definition PicardSolve.h:91
virtual void saveVariableValues(const bool primary) override final
Saves the current values of the variables, and update the old(er) vectors.
Definition PicardSolve.C:67
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 transformVariables(const std::set< dof_id_type > &transformed_dofs, const bool primary) override final
Use the fixed point algorithm to transform the variables.
virtual void transformPostprocessors(const bool primary) override final
Use the fixed point algorithm to transform the postprocessors.
static InputParameters validParams()
Definition PicardSolve.C:19
virtual void savePostprocessorValues(const bool primary) override final
Saves the current values of the postprocessors, and update the old(er) vectors.
Definition PicardSolve.C:84
virtual bool useFixedPointAlgorithmUpdateInsteadOfPicard(const bool primary) override final
Use the fixed point algorithm transform instead of simply using the Picard update.
TagID _old_tag_id
Vector tag id for the previous solution variable, as a main app.
Definition PicardSolve.h:88
const TagID INVALID_TAG_ID
Definition MooseTypes.C:23