15#ifndef DUMUX_NONEQUILIBRIUM_NEWTON_SOLVER_HH 
   16#define DUMUX_NONEQUILIBRIUM_NEWTON_SOLVER_HH 
   28template <
class Assembler, 
class LinearSolver>
 
   38    using ParentType::ParentType;
 
   42                       const SolutionVector &uLastIter) 
final 
   45        const auto& uCurrentIter = Backend::dofs(varsCurrentIter);
 
   49        if constexpr(!assemblerExportsVariables)
 
   50            this->
assembler().gridVariables().calcVelocityAverage(uCurrentIter);
 
   52            varsCurrentIter.calcVelocityAverage(uCurrentIter);
 
 
 
virtual void newtonEndStep(Variables &vars, const SolutionVector &uLastIter)
Indicates that one Newton iteration was finished.
Definition nonlinear/newtonsolver.hh:609
NewtonSolver(std::shared_ptr< Assembler > assembler, std::shared_ptr< LinearSolver > linearSolver, const Communication &comm=Dune::MPIHelper::getCommunication(), const std::string ¶mGroup="", const std::string ¶mGroupName="Newton", int verbosity=2)
Definition nonlinear/newtonsolver.hh:209
typename Backend::DofVector SolutionVector
Definition nonlinear/newtonsolver.hh:188
VariablesBackend< typename ParentType::Variables > Backend
Definition nonlinear/newtonsolver.hh:187
A nonequilibrium specific newton solver.
Definition porousmediumflow/nonequilibrium/newtonsolver.hh:30
void newtonEndStep(Variables &varsCurrentIter, const SolutionVector &uLastIter) final
Indicates that one Newton iteration was finished.
Definition porousmediumflow/nonequilibrium/newtonsolver.hh:41
const Assembler & assembler() const
Definition common/pdesolver.hh:121
Detail::PDESolver::AssemblerVariables< Assembler > Variables
Definition common/pdesolver.hh:71
Defines a high-level interface for a PDESolver.
constexpr bool assemblerExportsVariables
Definition common/pdesolver.hh:35
Reference implementation of a Newton solver.