https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SecantInversionControl.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
13
21{
22public:
24
26
27protected:
28 virtual IterationUpdate
29 computeUpdate(unsigned int it, Real p_used, Real y, Real y_target) override;
30
31private:
33 const Real _initial_delta;
35 Real _p_prev;
37 Real _y_prev;
38};
const std::vector< double > y
Base class for controls that adjust a single scalar parameter (held in a postprocessor) once per fixe...
const InputParameters & parameters() const
Control that adjusts a scalar parameter (held in a postprocessor) once per fixed-point iteration usin...
virtual IterationUpdate computeUpdate(unsigned int it, Real p_used, Real y, Real y_target) override
Compute this iteration's update from the current sample: the 1-based fixed-point iteration it and the...
static InputParameters validParams()
const Real _initial_delta
Perturbation applied on the first iteration of each fixed-point solve to seed the secant method.
Real _y_prev
Previous iteration's output value (secant point); refreshed each fixed-point solve.
Real _p_prev
Previous iteration's parameter value (secant point); refreshed each fixed-point solve.
One iteration's update, produced by the derived scheme and applied by execute().