File imex-bdf2.cxx#
2nd order IMEX-BDF scheme
Scheme taken from this paper: http://homepages.cwi.nl/~willem/DOCART/JCP07.pdf
W.Hundsdorfer, S.J.Ruuth “IMEX extensions of linear multistep methods with general
monotonicity and boundedness properties” JCP 225 (2007) 2016-2042
Uses PETSc for the SNES interface
Copyright 2010 B.D.Dudson, S.Farley, M.V.Umansky, X.Q.Xu
Contact: Ben Dudson, bd512@york.ac.uk
This file is part of BOUT++.
BOUT++ is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
BOUT++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with BOUT++. If not, see http://www.gnu.org/licenses/.
Functions
-
static PetscErrorCode FormFunction(SNES snes, Vec x, Vec f, void *ctx)#
PETSc callback function, which evaluates the nonlinear function to be solved by SNES.
This function assumes the context void pointer is a pointer to an IMEXBDF2 object.
-
static PetscErrorCode FormFunctionForDifferencing(void *ctx, Vec x, Vec f)#
PETSc callback function for forming Jacobian
This function can be a linearised form of FormFunction
-
static PetscErrorCode FormFunctionForColoring(SNES snes, Vec x, Vec f, void *ctx)#
SNES callback for forming Jacobian with coloring
This can be a linearised and simplified form of FormFunction
-
static PetscErrorCode imexbdf2PCapply(PC pc, Vec x, Vec y)#
-
class SaveVarOp#
Public Functions
-
class LoadVarOp#
Public Functions