19 "Adjusts a parameter postprocessor each fixed-point iteration using the secant method so "
20 "that a sub-app output postprocessor matches a target function of time.");
26 "Perturbation applied to the parameter on the first iteration of each fixed-point solve to "
27 "seed the secant method.");
34 _initial_delta(getParam<Real>(
"initial_delta")),
const std::vector< double > y
registerMooseObject("OptimizationApp", SecantInversionControl)
Base class for controls that adjust a single scalar parameter (held in a postprocessor) once per fixe...
Real normalizedResidual(Real y) const
Normalized convergence residual for output value y: |y - targetValue()| / max(absolute_tolerance,...
Real linearRootUpdate(Real p_a, Real y_a, Real p_b, Real y_b, Real y_target)
One guarded linear-model root update from two (parameter, output) samples – a secant step shared by t...
static InputParameters validParams()
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.
SecantInversionControl(const InputParameters ¶meters)
One iteration's update, produced by the derived scheme and applied by execute().