NuTo
Numerics Tool
AdaptiveSolve.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <functional>
4 
5 namespace NuTo
6 {
8 {
9 public:
14  AdaptiveSolve(std::function<int(double)> doStepFunction,
15  std::function<void(double)> postProcessFunction = [](double) {});
16 
24  void Solve(double tEnd, double tStart = 0);
25 
26  double dt = 0.1;
27  double dtMax = 0.1;
28  double dtMin = 1.e-6;
29 
30  double increaseFactor = 1.5;
31  double decreaseFactor = 0.5;
32 
33 private:
34  std::function<int(double)> mDoStepFunction;
35  std::function<void(double)> mPostProcess;
36 };
37 } /* NuTo */
AdaptiveSolve(std::function< int(double)> doStepFunction, std::function< void(double)> postProcessFunction=[](double){})
ctor
Definition: AdaptiveSolve.cpp:12
double decreaseFactor
Definition: AdaptiveSolve.h:31
double dtMin
Definition: AdaptiveSolve.h:28
double dt
Definition: AdaptiveSolve.h:26
Definition: AdaptiveSolve.h:7
double dtMax
Definition: AdaptiveSolve.h:27
double increaseFactor
Definition: AdaptiveSolve.h:30
Definition: Exception.h:6
void Solve(double tEnd, double tStart=0)
Perform an adaptive time integration from t = tStart to t = tEnd.
Definition: AdaptiveSolve.cpp:18