File index_derivs_interface.hxx#
Definition of main derivative kernels
Copyright 2018 D.Dickinson
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/.
-
namespace bout
Provides access to the Hypre library, handling initialisation and finalisation.
Usage
#include <bout/hyprelib.hxx>
class MyClass { public:
private: HypreLib lib; };
This will then automatically initialise Hypre the first time an object is created, and finalise it when the last object is destroyed.
Copyright 2012 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/.
Explicit inversion of a 3x3 matrix
aIf the matrix is singular (ill conditioned), the determinant is return. Otherwise, an empty
std::optionalis returnSNB model
-
namespace derivatives#
-
namespace index#
Functions
-
template<typename T, DIRECTION direction, DERIV derivType>
T flowDerivative(const T &vel, const T &f, CELL_LOC outloc, const std::string &method, const std::string ®ion)# The main kernel used for all upwind and flux derivatives.
-
template<typename T, DIRECTION direction, DERIV derivType>
T standardDerivative(const T &f, CELL_LOC outloc, const std::string &method, const std::string ®ion)# The main kernel used for all standard derivatives.
-
template<typename T>
T DDX(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T D2DX2(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T D4DX4(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T DDY(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T D2DY2(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T D4DY4(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T DDZ(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T D2DZ2(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T D4DZ4(const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T VDDX(const T &vel, const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")# Advection operator in index space in [] direction
\[ v \frac{d}{di} f \]- Parameters:
v – [in] The velocity in the Y direction
f – [in] The field being advected
outloc – [in] The cell location where the result is desired. The default is the same as
fmethod – [in] The differencing method to use
region – [in] The region of the grid for which the result is calculated.
-
template<typename T>
T FDDX(const T &vel, const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T VDDY(const T &vel, const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T>
T FDDY(const T &vel, const T &f, CELL_LOC outloc = CELL_DEFAULT, const std::string &method = "DEFAULT", const std::string ®ion = "RGN_NOBNDRY")#
-
template<typename T, DIRECTION direction, DERIV derivType>
-
namespace index#
-
namespace derivatives#