27 #ifndef SCHNEK_FIELD_HPP_ 28 #define SCHNEK_FIELD_HPP_ 38 template<
size_t>
class CheckingPolicy = GridNoArgCheck,
39 template<
typename,
size_t>
class StoragePolicy = SingleArrayGridStorage
41 class Field :
public Grid<T, rank, CheckingPolicy, StoragePolicy>
64 template<
size_t>
class ArrayCheckingPolicy,
65 template<
size_t>
class RangeCheckingPolicy,
66 template<
size_t>
class StaggerCheckingPolicy>
75 template<
size_t>
class ArrayCheckingPolicy,
76 template<
size_t>
class RangeCheckingPolicy,
77 template<
size_t>
class StaggerCheckingPolicy>
87 template<
size_t>
class ArrayCheckingPolicy,
88 template<
size_t>
class RangeCheckingPolicy,
89 template<
size_t>
class StaggerCheckingPolicy>
98 Field(
const FieldType&);
101 IndexType
getInnerLo() {
return this->getLo() + ghostCells; }
104 IndexType
getInnerHi() {
return this->getHi() - ghostCells; }
107 RangeType
getInnerRange() {
return RangeType{this->getLo() + ghostCells, this->getHi() - ghostCells}; }
138 FieldType &
operator=(
const FieldType&) =
default;
151 template<
size_t>
class ArrayCheckingPolicy,
152 template<
size_t>
class RangeCheckingPolicy,
153 template<
size_t>
class StaggerCheckingPolicy>
162 template<
size_t>
class ArrayCheckingPolicy,
163 template<
size_t>
class RangeCheckingPolicy,
164 template<
size_t>
class StaggerCheckingPolicy>
174 template<
size_t>
class ArrayCheckingPolicy,
175 template<
size_t>
class RangeCheckingPolicy,
176 template<
size_t>
class StaggerCheckingPolicy>
190 #endif // SCHNEK_FIELD_HPP_
RangeType getInnerRange()
Definition: field.hpp:107
IndexType getInnerLo()
Definition: field.hpp:101
double indexToPosition(int dim, int index)
Calculates the position of a grid point.
IndexType getInnerHi()
Definition: field.hpp:104
GridType & operator=(const T &val)
Definition: grid.hpp:335
const DomainType & getDomain()
Get the physical domain of the field.
Definition: field.hpp:133
void resize(const Array< int, rank, ArrayCheckingPolicy > &size, const Range< double, rank, RangeCheckingPolicy > &domain, const Array< bool, rank, StaggerCheckingPolicy > &stagger, int ghostCells)
FieldType & operator=(const FieldType &)=default
Assignment operator.
Stagger & getStagger()
Get all three components of the grid stagger.
Definition: field.hpp:125
FieldType & operator=(const T &val)
Definition: field.hpp:141
A multidimensional grid that stores simple data.
Definition: grid.hpp:260
void positionToIndex(int dim, double pos, int &index, double &offset)
bool getStagger(int i)
Get a single component of the grid stagger.
Definition: field.hpp:128