Commits (1)
......@@ -81,7 +81,7 @@ void NonLinearTimeIntegrator::PrintInfo() const {
TimeIntegrator *TimeIntegratorCreator::Create() {
try {
switch (type) {
switch(type) {
case EXPLICIT_EULER:
return new GenericExplicitEuler(linearSolvers.at(0));
case HEUN:
......@@ -119,9 +119,13 @@ TimeIntegrator *TimeIntegratorCreator::Create() {
}
}
std::unique_ptr<TimeIntegrator> TimeIntegratorCreator::CreateUnique() {
return std::unique_ptr<TimeIntegrator>(Create());
}
NonLinearTimeIntegrator *TimeIntegratorCreator::CreateNonLinearTimeIntegrator() {
try {
switch (type) {
switch(type) {
case IMPLICIT_EULER:
return new ImplicitEuler(nonLinearSolvers.at(0));
default: Exit(to_string(type) + " TimeIntegrator not implemented")
......@@ -132,3 +136,8 @@ NonLinearTimeIntegrator *TimeIntegratorCreator::CreateNonLinearTimeIntegrator()
}
}
std::unique_ptr<NonLinearTimeIntegrator>
TimeIntegratorCreator::CreateUniqueNonLinearTimeIntegrator() {
return std::unique_ptr<NonLinearTimeIntegrator>(CreateNonLinearTimeIntegrator());
}
......@@ -140,7 +140,11 @@ public:
TimeIntegrator *Create();
std::unique_ptr<TimeIntegrator> CreateUnique();
NonLinearTimeIntegrator *CreateNonLinearTimeIntegrator();
std::unique_ptr<NonLinearTimeIntegrator> CreateUniqueNonLinearTimeIntegrator();
};
#endif //TIMEINTEGRATOR_HPP