From 5fa8950a3a129743e932eddf698e34f401fe80d3 Mon Sep 17 00:00:00 2001 From: "Curtis C. Ober" Date: Fri, 11 May 2018 16:12:50 -0600 Subject: [PATCH] Tempus: List available Steppers if requested one is not found. --- packages/tempus/src/Tempus_StepperFactory.hpp | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/packages/tempus/src/Tempus_StepperFactory.hpp b/packages/tempus/src/Tempus_StepperFactory.hpp index c4c39c313c..fb93005539 100644 --- a/packages/tempus/src/Tempus_StepperFactory.hpp +++ b/packages/tempus/src/Tempus_StepperFactory.hpp @@ -166,6 +166,60 @@ private: else if (stepperType == "Leapfrog") return rcp(new StepperLeapfrog(model, stepperPL)); else { + Teuchos::RCP out = + Teuchos::VerboseObjectBase::getDefaultOStream(); + Teuchos::OSTab ostab(out,1,"StepperFactory::createStepper"); + *out + << "Unknown Stepper Type! Here is a list of available Steppers.\n" + << " One-Step Methods:\n" + << " 'Forward Euler'\n" + << " 'Backward Euler'\n" + << " 'Trapezoidal Method'\n" + << " Multi-Step Methods:\n" + << " 'BDF2'\n" + << " Second-order PDE Methods:\n" + << " 'Leapfrog'\n" + << " 'Newmark Implicit a-Form'\n" + << " 'Newmark Implicit d-Form'\n" + << " 'Newmark Explicit a-Form'\n" + << " 'HHT-Alpha'\n" + << " Explicit Runge-Kutta Methods:\n" + << " 'RK Forward Euler'\n" + << " 'RK Explicit 4 Stage'\n" + << " 'RK Explicit 3/8 Rule'\n" + << " 'RK Explicit 4 Stage 3rd order by Runge'\n" + << " 'RK Explicit 5 Stage 3rd order by Kinnmark and Gray'\n" + << " 'RK Explicit 3 Stage 3rd order'\n" + << " 'RK Explicit 3 Stage 3rd order TVD'\n" + << " 'RK Explicit 3 Stage 3rd order by Heun'\n" + << " 'RK Explicit 2 Stage 2nd order by Runge'\n" + << " 'RK Explicit Trapezoidal'\n" + << " 'Bogacki-Shampine 3(2) Pair'\n" + << " 'General ERK'\n" + << " Implicit Runge-Kutta Methods:\n" + << " 'RK Backward Euler'\n" + << " 'IRK 1 Stage Theta Method'\n" + << " 'SDIRK 1 Stage 1st order'\n" + << " 'SDIRK 2 Stage 2nd order'\n" + << " 'SDIRK 2 Stage 3rd order'\n" + << " 'EDIRK 2 Stage 3rd order'\n" + << " 'EDIRK 2 Stage Theta Method'\n" + << " 'SDIRK 3 Stage 4th order'\n" + << " 'SDIRK 5 Stage 4th order'\n" + << " 'SDIRK 5 Stage 5th order'\n" + << " 'General DIRK'\n" + << " Implicit-Explicit (IMEX) Methods:\n" + << " 'IMEX RK 1st order'\n" + << " 'IMEX RK SSP2'\n" + << " 'IMEX RK ARS 233'\n" + << " 'General IMEX RK'\n" + << " 'Partitioned IMEX RK 1st order'\n" + << " 'Partitioned IMEX RK SSP2'\n" + << " 'Partitioned IMEX RK ARS 233'\n" + << " 'General Partitioned IMEX RK'\n" + << " Steppers with subSteppers:\n" + << " 'Operator Split'\n" + << std::endl; TEUCHOS_TEST_FOR_EXCEPTION(true, std::logic_error, "Unknown 'Stepper Type' = " << stepperType); } -- GitLab