ASPECT
repeat_on_nonlinear_fail.h
Go to the documentation of this file.
1 // ------------------------------------------------------
2 //
3 // SPDX-License-Identifier: GPL-2.0-or-later
4 //
5 // SPDX-FileCopyrightText: Copyright (C) 2018-2026 by the ASPECT authors.
6 //
7 // This file is part of ASPECT.
8 //
9 // Detailed license information governing the source code and
10 // contributions can be found in the folder LICENSES and in
11 // LICENSE and CONTRIBUTING.md at the top level directory.
12 //
13 // ------------------------------------------------------
14 
15 
16 #ifndef _aspect_time_stepping_repeat_on_nonlinear_fail_h
17 #define _aspect_time_stepping_repeat_on_nonlinear_fail_h
18 
20 
21 namespace aspect
22 {
23  namespace TimeStepping
24  {
37  template <int dim>
38  class RepeatOnNonlinearFail : public Interface<dim>, public SimulatorAccess<dim>
39  {
40  public:
45 
49  double
50  execute() override;
51 
56  void nonlinear_solver_has_failed() const;
57 
61  std::pair<Reaction, double>
62  determine_reaction(const TimeStepInfo &info) override;
63 
64  static
65  void
67 
68  void
69  parse_parameters (ParameterHandler &prm) override;
70 
71  private:
80 
86 
91 
96  };
97  }
98 }
99 
100 
101 #endif
std::pair< Reaction, double > determine_reaction(const TimeStepInfo &info) override
void parse_parameters(ParameterHandler &prm) override
static void declare_parameters(ParameterHandler &prm)