File parallel_boundary_region.hxx#
Defines
-
ITER()#
Typedefs
-
using BoundaryRegionParIter = bout::parallel_boundary_region::BoundaryRegionParIterBase<bout::parallel_boundary_region::IndicesVec, bout::parallel_boundary_region::IndicesIter>#
-
using BoundaryRegionParIterConst = bout::parallel_boundary_region::BoundaryRegionParIterBase<const bout::parallel_boundary_region::IndicesVec, bout::parallel_boundary_region::IndicesIterConst>#
Functions
-
BOUT_ENUM_CLASS(SheathLimitMode, limit_free, exponential_free, linear_free)#
Boundary region for parallel direction. This contains a vector of points that are inside the boundary.
-
class BoundaryRegionPar : public BoundaryRegionBase#
Public Functions
-
inline void add_point(Ind3D ind, BoutReal x, BoutReal y, BoutReal z, BoutReal length, char valid, signed char offset)#
Add a point to the boundary.
-
inline void add_point(int ix, int iy, int iz, BoutReal x, BoutReal y, BoutReal z, BoutReal length, char valid, signed char offset)#
-
inline virtual void first() final#
Move the region iterator to the start.
-
inline virtual void next() final#
Get the next element in the loop over every element from inside out (in X or Y first)
-
inline virtual bool isDone() final#
Returns true if outside domain. Can use this with nested nextX, nextY.
-
inline bool contains(const BoundaryRegionPar &bndry) const#
-
inline bool contains(const int ix, const int iy, const int iz) const#
-
inline void setValid(char val)#
-
inline BoundaryRegionParIter begin()#
-
inline BoundaryRegionParIter end()#
Public Members
-
const int dir#
Private Members
-
bout::parallel_boundary_region::IndicesVec bndry_points#
Vector of points in the boundary.
-
bout::parallel_boundary_region::IndicesIter bndry_position#
Current position in the boundary points.
-
bool is_sorted = {true}#
-
inline void add_point(Ind3D ind, BoutReal x, BoutReal y, BoutReal z, BoutReal length, char valid, signed char offset)#
-
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/.
Information about the version of BOUT++
The build system will update this file on every commit, which may result in files that include it getting rebuilt. Therefore it should be included in as few places as possible
Information about the version of BOUT++
The build system will update this file at configure-time
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 parallel_boundary_region#
Typedefs
-
using IndicesIter = IndicesVec::iterator#
-
using IndicesIterConst = IndicesVec::const_iterator#
Functions
-
struct RealPoint#
-
struct Indices#
Public Functions
-
template<class IndicesVec, class IndicesIter>
class BoundaryRegionParIterBase# Public Functions
-
inline BoundaryRegionParIterBase(IndicesVec &bndry_points, IndicesIter bndry_position, int dir, Mesh *localmesh)#
-
inline signed char valid() const#
-
inline signed char offset() const#
-
inline unsigned char abs_offset() const#
-
inline void setValid(signed char valid)#
-
inline BoutReal extrapolate_sheath_o1(const std::function<BoutReal(int yoffset, Ind3D ind)> &f) const#
-
inline BoutReal extrapolate_sheath_o2(const std::function<BoutReal(int yoffset, Ind3D ind)> &f) const#
-
inline BoutReal interpolate_sheath_o2(const std::function<BoutReal(int yoffset, Ind3D ind)> &f) const#
-
inline BoutReal extrapolate_next_o1(const std::function<BoutReal(int yoffset, Ind3D ind)> &f) const#
-
inline BoutReal extrapolate_next_o2(const std::function<BoutReal(int yoffset, Ind3D ind)> &f) const#
-
inline BoundaryRegionParIterBase &operator*()#
-
inline BoundaryRegionParIterBase &operator++()#
-
inline bool operator!=(const BoundaryRegionParIterBase &rhs)#
-
inline bool is_lower() const#
-
inline BoundaryRegionParIterBase(IndicesVec &bndry_points, IndicesIter bndry_position, int dir, Mesh *localmesh)#
-
using IndicesIter = IndicesVec::iterator#
-
namespace parallel_boundary_region#