Line data Source code
1 : //* This file is part of the MOOSE framework 2 : //* https://mooseframework.inl.gov 3 : //* 4 : //* All rights reserved, see COPYRIGHT for full restrictions 5 : //* https://github.com/idaholab/moose/blob/master/COPYRIGHT 6 : //* 7 : //* Licensed under LGPL 2.1, please see LICENSE for details 8 : //* https://www.gnu.org/licenses/lgpl-2.1.html 9 : 10 : #pragma once 11 : 12 : #include "ExplicitRK2.h" 13 : 14 : /** 15 : * The explicit midpoint time integration method. 16 : * 17 : * The Butcher tableau for this method is: 18 : * 0 | 0 19 : * 1/2 | 1/2 0 20 : * --------------------- 21 : * | 0 1 22 : * 23 : * See: ExplicitRK2.h for more information. 24 : */ 25 : class ExplicitMidpoint : public ExplicitRK2 26 : { 27 : public: 28 : static InputParameters validParams(); 29 : 30 : ExplicitMidpoint(const InputParameters & parameters); 31 404 : virtual ~ExplicitMidpoint() {} 32 : 33 : protected: 34 : /// Method coefficient overrides 35 2368 : virtual Real a() const { return .5; } 36 1224 : virtual Real b1() const { return 0.; } 37 1224 : virtual Real b2() const { return 1.; } 38 : };