23 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
31 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
38 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
42 for (
unsigned int d = 0; d <
Dim; ++d) {
57 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
60 const Mesh& mesh)
const {
63 for (
unsigned int d = 0; d <
Dim; d++) {
67 lastPoint[d] =
Index(last, last);
74 for (
unsigned int d = 0; d <
Dim; d++) {
75 ndregion[d] =
PRegion<T>(firstCoord(d), lastCoord(d));
80 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
89 using size_type =
typename domain_type::size_type;
90 for (
size_type i = 0; i < ldomains.size(); ++i) {
97 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
99 if (
Comm->rank() > 0) {
103 out <<
"Total region = " <<
region_m <<
"\n"
106 using size_type =
typename host_mirror_type::size_type;
112 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
118 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
124 template <
typename T,
unsigned Dim,
class Mesh,
class... Properties>
constexpr KOKKOS_INLINE_FUNCTION auto first()
std::unique_ptr< mpi::Communicator > Comm
std::ostream & operator<<(std::ostream &, const BCondBase< Field > &)
typename view_type::host_mirror_type host_mirror_type
const host_mirror_type getHostLocalDomains() const
const NDIndex< Dim > & getDomain() const
KOKKOS_INLINE_FUNCTION Vector< int, Dim > last() const
KOKKOS_INLINE_FUNCTION Vector< int, Dim > first() const
virtual KOKKOS_INLINE_FUNCTION vector_type getVertexPosition(const NDIndex< Dim > &ndi) const =0
NDRegion_t convertNDIndex(const NDIndex< Dim > &, const Mesh &mesh) const
view_type dLocalRegions_m
local regions (device view)
host_mirror_type hLocalRegions_m
local regions (host mirror view)
const view_type getdLocalRegions() const
void fillRegions(const FieldLayout< Dim > &, const Mesh &mesh)
void write(std::ostream &=std::cout) const
std::array< int, Dim > indexOffset_m
Offset from 'normal' Index space to 'Mesh' Index space.
std::array< bool, Dim > centerOffset_m
Offset needed between centering of Index space and Mesh points.
NDRegion< T, Dim > NDRegion_t
const host_mirror_type gethLocalRegions() const
void changeDomain(const FieldLayout< Dim > &, const Mesh &mesh)