File boundary_region.hxx#
Enums
Variables
-
constexpr BndryLoc BNDRY_PAR_FWD_XIN = BndryLoc::par_fwd_xin#
-
constexpr BndryLoc BNDRY_PAR_BKWD_XIN = BndryLoc::par_bkwd_xin#
-
constexpr BndryLoc BNDRY_PAR_FWD_XOUT = BndryLoc::par_fwd_xout#
-
constexpr BndryLoc BNDRY_PAR_BKWD_XOUT = BndryLoc::par_bkwd_xout#
-
class BoundaryRegionBase#
Subclassed by BoundaryRegion, BoundaryRegionPar
Public Functions
-
BoundaryRegionBase() = delete#
-
virtual ~BoundaryRegionBase() = default#
-
virtual void first() = 0#
Move the region iterator to the start.
-
virtual void next() = 0#
Get the next element in the loop over every element from inside out (in X or Y first)
-
virtual bool isDone() = 0#
Returns true if outside domain. Can use this with nested nextX, nextY.
-
BoundaryRegionBase() = delete#
-
class BoundaryRegion : public BoundaryRegionBase#
- #include <boundary_region.hxx>
Describes a region of the boundary, and a means of iterating over it.
Subclassed by BoundaryRegionXIn, BoundaryRegionXOut, BoundaryRegionYDown, BoundaryRegionYUp
-
class BoundaryRegionXIn : public BoundaryRegion#
Public Functions
-
virtual void first() override#
Move the region iterator to the start.
-
virtual void next() override#
Get the next element in the loop over every element from inside out (in X or Y first)
-
virtual void next1d() override#
Loop over the innermost elements.
-
virtual void nextX() override#
Just loop over X.
-
virtual void nextY() override#
Just loop over Y.
-
virtual bool isDone() override#
Returns true if outside domain. Can use this with nested nextX, nextY.
-
virtual void first() override#
-
class BoundaryRegionXOut : public BoundaryRegion#
Public Functions
-
virtual void first() override#
Move the region iterator to the start.
-
virtual void next() override#
Get the next element in the loop over every element from inside out (in X or Y first)
-
virtual void next1d() override#
Loop over the innermost elements.
-
virtual void nextX() override#
Just loop over X.
-
virtual void nextY() override#
Just loop over Y.
-
virtual bool isDone() override#
Returns true if outside domain. Can use this with nested nextX, nextY.
-
virtual void first() override#
-
class BoundaryRegionYDown : public BoundaryRegion#
Public Functions
-
virtual void first() override#
Move the region iterator to the start.
-
virtual void next() override#
Get the next element in the loop over every element from inside out (in X or Y first)
-
virtual void next1d() override#
Loop over the innermost elements.
-
virtual void nextX() override#
Just loop over X.
-
virtual void nextY() override#
Just loop over Y.
-
virtual bool isDone() override#
Returns true if outside domain. Can use this with nested nextX, nextY.
-
virtual void first() override#
-
class BoundaryRegionYUp : public BoundaryRegion#
Public Functions
-
virtual void first() override#
Move the region iterator to the start.
-
virtual void next() override#
Get the next element in the loop over every element from inside out (in X or Y first)
-
virtual void next1d() override#
Loop over the innermost elements.
-
virtual void nextX() override#
Just loop over X.
-
virtual void nextY() override#
Just loop over Y.
-
virtual bool isDone() override#
Returns true if outside domain. Can use this with nested nextX, nextY.
-
virtual void first() override#
-
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 globals#
-
namespace globals#