https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NewtonInversionControl.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
23{
24public:
26
28
29protected:
30 virtual IterationUpdate
31 computeUpdate(unsigned int it, Real p_used, Real y, Real y_target) override;
32
33private:
35 const Real _parameter_delta;
39 Real _p_base;
41 Real _y_base;
42};
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) to match a sub-app output to a targ...
Real _y_base
Output value of the current base solve (re-seeded each fixed-point solve; not restartable)
Real _p_base
Parameter value of the current base solve (re-seeded each fixed-point solve; not restartable)
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...
const Real _parameter_delta
Finite-difference perturbation applied on each base iteration to form df/dp.
const Real _nonconverged_residual
Residual written on perturbed iterations so convergence is only declared on base iterations.
static InputParameters validParams()
One iteration's update, produced by the derived scheme and applied by execute().