|
IPPL (Independent Parallel Particle Layer)
IPPL
|
SubFieldLayout provides a layout for a sub-region of a larger field. More...
#include <SubFieldLayout.h>
Public Types | |
| using | NDIndex_t = NDIndex<Dim> |
| using | view_type = typename detail::ViewType<NDIndex_t, 1>::view_type |
| using | host_mirror_type = typename view_type::host_mirror_type |
| using | rank_list = std::vector<int> |
| using | bounds_list = std::vector<bound_type> |
| using | neighbor_list = std::array<rank_list, detail::countHypercubes(Dim) - 1> |
| using | neighbor_range_list = std::array<bounds_list, detail::countHypercubes(Dim) - 1> |
Public Member Functions | |
| SubFieldLayout (const mpi::Communicator &=MPI_COMM_WORLD) | |
| Default constructor, which should only be used if you are going to call 'initialize' soon after (before using in any context). | |
| SubFieldLayout (mpi::Communicator, const NDIndex< Dim > &domain, const NDIndex< Dim > &subDomain, std::array< bool, Dim > decomp, bool isAllPeriodic=false) | |
| Constructor that creates a SubFieldLayout for a sub-region of a larger domain. | |
| SubFieldLayout (mpi::Communicator, const NDIndex< Dim > &domain, std::array< bool, Dim > decomp, bool isAllPeriodic=false) | |
| Constructor for full-domain layout. | |
| virtual | ~SubFieldLayout ()=default |
| Destructor: Everything deletes itself automatically. | |
| void | initialize (const NDIndex< Dim > &domain, const NDIndex< Dim > &subDomain, std::array< bool, Dim > decomp, bool isAllPeriodic=false) |
| Initializes a SubFieldLayout with the sub-domain partitioned in the same way as the original FieldLayout partitiones the full domain. | |
| void | initialize (const NDIndex< Dim > &domain, std::array< bool, Dim > decomp, bool isAllPeriodic=false) |
| Initializes a SubFieldLayout using the domain as both the full domain and sub-domain. | |
| const NDIndex< Dim > & | getOriginDomain () const |
| Return the original domain before sub-region extraction. | |
| template<unsigned Dim2> | |
| bool | operator== (const SubFieldLayout< Dim2 > &x) const |
| Compare SubFieldLayouts to see if they represent the same domain. | |
| template<unsigned Dim2> | |
| bool | operator== (const FieldLayout< Dim2 > &x) const |
| Compare SubFieldLayout to a FieldLayout to see if they represent the same domain. | |
| const NDIndex< Dim > & | getDomain () const |
| bool | operator== (const FieldLayout< Dim > &x) const |
| bool | getDistribution (unsigned int d) const |
| std::array< bool, Dim > | isParallel () const |
| const NDIndex_t & | getLocalNDIndex () const |
| const NDIndex_t & | getLocalNDIndex (int rank) const |
| const host_mirror_type | getHostLocalDomains () const |
| const view_type | getDeviceLocalDomains () const |
| const neighbor_list & | getNeighbors () const |
| const neighbor_range_list & | getNeighborsSendRange () const |
| const neighbor_range_list & | getNeighborsRecvRange () const |
| void | findPeriodicNeighbors (const int nghost, const NDIndex< Dim > &localDomain, NDIndex< Dim > &grown, NDIndex< Dim > &neighborDomain, const int rank, std::map< unsigned int, int > &offsets, unsigned d0=0, unsigned codim=0) |
| void | findNeighbors (int nghost=1) |
| void | addNeighbors (const NDIndex_t &gnd, const NDIndex_t &nd, const NDIndex_t &ndNeighbor, const NDIndex_t &intersect, int nghost, int rank) |
| void | write (std::ostream &=std::cout) const |
| void | updateLayout (const std::vector< NDIndex_t > &domains) |
Static Public Member Functions | |
| static int | getMatchingIndex (int index) |
Public Attributes | |
| bool | isAllPeriodic_m |
| mpi::Communicator | comm |
Protected Member Functions | |
| void | calcWidths () |
Protected Attributes | |
| NDIndex_t | gDomain_m |
| Global domain. | |
| view_type | dLocalDomains_m |
| Local domains (device view). | |
| host_mirror_type | hLocalDomains_m |
| Local domains (host mirror view). | |
| std::array< bool, Dim > | isParallelDim_m |
| unsigned int | minWidth_m [Dim] |
Private Member Functions | |
| bound_type | getBounds (const NDIndex_t &nd1, const NDIndex_t &nd2, const NDIndex_t &offset, int nghost) |
| int | getPeriodicOffset (const NDIndex_t &nd, const unsigned int d, const int k) |
Private Attributes | |
| NDIndex_t | originDomain_m |
| Original global domain in which the sub-field is defined. | |
| neighbor_list | neighbors_m |
| neighbor_range_list | neighborsSendRange_m |
| neighbor_range_list | neighborsRecvRange_m |
SubFieldLayout provides a layout for a sub-region of a larger field.
SubFieldLayout extends FieldLayout to handle sub-regions of a larger computational domain. It ensures that the sub-region is partitioned in the same way as the original FieldLayout, maintaining consistent parallel decomposition and neighbor relationships within the sub-region.
| Dim | Number of spatial dimensions |
Definition at line 39 of file SubFieldLayout.h.
|
inherited |
Definition at line 192 of file FieldLayout.h.
| using ippl::SubFieldLayout< Dim >::host_mirror_type = typename view_type::host_mirror_type |
Definition at line 43 of file SubFieldLayout.h.
| using ippl::SubFieldLayout< Dim >::NDIndex_t = NDIndex<Dim> |
Definition at line 41 of file SubFieldLayout.h.
|
inherited |
Definition at line 194 of file FieldLayout.h.
|
inherited |
Definition at line 195 of file FieldLayout.h.
|
inherited |
Definition at line 191 of file FieldLayout.h.
| using ippl::SubFieldLayout< Dim >::view_type = typename detail::ViewType<NDIndex_t, 1>::view_type |
Definition at line 42 of file SubFieldLayout.h.
| ippl::SubFieldLayout< Dim >::SubFieldLayout | ( | const mpi::Communicator & | communicator = MPI_COMM_WORLD | ) |
Default constructor, which should only be used if you are going to call 'initialize' soon after (before using in any context).
Default constructor, which should only be used if you are going to call 'initialize' soon after (before using in any context).
| communicator | MPI communicator to use (defaults to MPI_COMM_WORLD) |
| communicator | MPI communicator to use (defaults to MPI_COMM_WORLD) |
Creates a SubFieldLayout without specifying domains. The layout must be initialized later using the initialize() methods. This constructor is useful when you need to defer the layout configuration until more information is available.
Creates a SubFieldLayout without specifying domains. The layout must be initialized later using the initialize() methods. This constructor is useful when you need to defer the layout configuration until more information is available.
Definition at line 28 of file SubFieldLayout.hpp.
References Dim, and ippl::FieldLayout< Dim >::FieldLayout().
Referenced by operator==().
| ippl::SubFieldLayout< Dim >::SubFieldLayout | ( | mpi::Communicator | communicator, |
| const NDIndex< Dim > & | domain, | ||
| const NDIndex< Dim > & | subDomain, | ||
| std::array< bool, Dim > | isParallel, | ||
| bool | isAllPeriodic = false ) |
Constructor that creates a SubFieldLayout for a sub-region of a larger domain.
Constructor that creates a SubFieldLayout for a sub-region of a larger domain.
| communicator | MPI communicator to use |
| domain | The full domain that defines the partitioning |
| subDomain | The sub-region within the full domain, which is partitioned in the same way as the fullomain |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
| communicator | MPI communicator to use |
| domain | The full domain that defines the partitioning |
| subDomain | The sub-region within the full domain, which is partitioned in the same way as the fullomain |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
Implementation details: Initializes both the full domain decomposition and the sub-domain layout. The sub-domain must be contained within the full domain. All MPI ranks must have non-empty local domains after intersection with the sub-domain, otherwise an exception will be thrown.
This constructor sets up the parallel decomposition based on the full domain, then restricts the full domain to the specified sub-region while maintaining the same partitioning structure.
Implementation details: Initializes both the full domain decomposition and the sub-domain layout. The sub-domain must be contained within the full domain. All MPI ranks must have non-empty local domains after intersection with the sub-domain, otherwise an exception will be thrown.
This constructor sets up the parallel decomposition based on the full domain, then restricts the full domain to the specified sub-region while maintaining the same partitioning structure.
Definition at line 44 of file SubFieldLayout.hpp.
References Dim, ippl::FieldLayout< Dim >::FieldLayout(), initialize(), and ippl::FieldLayout< Dim >::isParallel().
| ippl::SubFieldLayout< Dim >::SubFieldLayout | ( | mpi::Communicator | communicator, |
| const NDIndex< Dim > & | domain, | ||
| std::array< bool, Dim > | isParallel, | ||
| bool | isAllPeriodic = false ) |
Constructor for full-domain layout.
Constructor for full-domain layout.
| communicator | MPI communicator to use |
| domain | The full domain that defines the partitioning and is used as the sub-domain simultaneously |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
| communicator | MPI communicator to use |
| domain | The full domain that defines the partitioning and is used as the sub-domain simultaneously |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
Implementation details: Creates a SubFieldLayout where the sub-domain is the same as the full domain, making it functionally equivalent to a regular FieldLayout.
Implementation details: Creates a SubFieldLayout where the sub-domain is the same as the full domain, making it functionally equivalent to a regular FieldLayout.
Definition at line 58 of file SubFieldLayout.hpp.
References Dim, ippl::FieldLayout< Dim >::FieldLayout(), initialize(), and ippl::FieldLayout< Dim >::isParallel().
|
virtualdefault |
Destructor: Everything deletes itself automatically.
|
inherited |
Adds a neighbor to the neighbor list
| gnd | the local domain, including ghost cells |
| nd | the local domain |
| ndNeighbor | the neighbor rank's domain |
| intersect | the intersection of the domains |
| nghost | number of ghost cells |
| rank | the neighbor's rank |
Definition at line 275 of file FieldLayout.hpp.
References getBounds().
|
protectedinherited |
Definition at line 172 of file FieldLayout.hpp.
References Dim, gDomain_m, hLocalDomains_m, ippl::NDIndex< Dim >::length(), and minWidth_m.
Referenced by initialize(), ippl::SubFieldLayout< Dim >::initialize(), and updateLayout().
|
inherited |
Finds all neighboring ranks based on the field layout
| nghost | number of ghost cells (default 1) |
Definition at line 228 of file FieldLayout.hpp.
References comm, ippl::detail::countHypercubes(), Dim, IpplTimings::getTimer(), hLocalDomains_m, neighbors_m, neighborsRecvRange_m, neighborsSendRange_m, and IpplTimings::startTimer().
Referenced by initialize(), ippl::SubFieldLayout< Dim >::initialize(), and updateLayout().
|
inherited |
Recursively finds neighbor ranks for layouts with all periodic boundary conditions
| nghost | number of ghost cells |
| localDomain | the rank's local domain |
| grown | the local domain, grown by the number of ghost cells |
| neighborDomain | a candidate neighbor rank's domain |
| rank | the candidate neighbor's rank |
| offsets | a dictionary containing offsets along different dimensions |
| d0 | the dimension from which to start checking (default 0) |
| codim | the codimension of overlapping regions to check (default 0) |
Definition at line 190 of file FieldLayout.hpp.
References Dim, and getPeriodicOffset().
|
privateinherited |
Obtain the bounds to send / receive. The second domain, i.e., nd2, is grown by nghost cells in each dimension in order to figure out the intersecting cells.
| nd1 | either remote or owned domain |
| nd2 | either remote or owned domain |
| offset | to map global to local grid point |
| nghost | number of ghost cells per dimension |
Definition at line 305 of file FieldLayout.hpp.
References ippl::NDIndex< Dim >::grow().
Referenced by addNeighbors().
|
inherited |
Definition at line 135 of file FieldLayout.hpp.
References dLocalDomains_m.
|
inlineinherited |
Definition at line 252 of file FieldLayout.h.
References gDomain_m, and minWidth_m.
|
inlineinherited |
Definition at line 219 of file FieldLayout.h.
References gDomain_m.
Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::applyPeriodicSerialDim(), ippl::OrthogonalRecursiveBisection< Field, Tp >::binaryRepartition(), ippl::detail::RegionLayout< T, Dim, Mesh, Properties >::changeDomain(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::BareField< T, Dim, ViewArgs... >::getDomain(), ippl::BareField< T, Dim, ViewArgs... >::getIndex(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::initialize(), operator==(), operator==(), ippl::SubFieldLayout< Dim >::operator==(), and ippl::SubFieldLayout< Dim >::operator==().
|
inherited |
Definition at line 129 of file FieldLayout.hpp.
References hLocalDomains_m.
Referenced by ippl::ExtrapolateFace< Field >::apply(), ippl::detail::HaloCells< T, Dim, ViewArgs >::applyPeriodicSerialDim(), ChargedParticles< PLayout, T, Dim >::dumpLocalDomains(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::detail::RegionLayout< T, Dim, Mesh, Properties >::fillRegions(), and ippl::PeriodicFace< Field >::findBCNeighbors().
|
inherited |
Definition at line 116 of file FieldLayout.hpp.
References comm, and hLocalDomains_m.
Referenced by ippl::assemble_rhs_from_particles(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::FFTBase< Field, FFT, Backend, BufferType >::FFTBase(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::initializeElementIndices(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::initializeElementIndices(), ippl::interpolate_to_diracs(), main(), operator==(), ippl::SubFieldLayout< Dim >::operator==(), ippl::SubFieldLayout< Dim >::operator==(), and ippl::OrthogonalRecursiveBisection< Field, Tp >::scatterR().
|
inherited |
Definition at line 121 of file FieldLayout.hpp.
References comm, hLocalDomains_m, and PAssert.
|
staticinherited |
Given the index of a hypercube, find the index of the opposite hypercube, i.e. the component with the same codimension belonging to a neighboring domain that touches the hypercube with the given index, as determined by the ternary encoding for hypercubes.
For neighbor communication, the opposite component is the one that receives sent data or sends us data to receive for a given component.
The matching index is given by swapping alls 1s for 0s and vice versa in the ternary encoding, while keeping the 2s unchanged. This can be understood from the fact that if the local component is on the upper boundary of the local domain, the neighbor component must be on the lower boundary of its local domain, and vice versa. The 2s are unchanged because both the local component and the neighbor component must be parallel to the same axes, otherwise their intersection would have lower or higher dimension than the components themselves.
| index | index of the known component |
Definition at line 22 of file FieldLayout.hpp.
References ippl::detail::countHypercubes(), and Dim.
Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries().
|
inherited |
Get a list of all the neighbors, arranged by ternary encoding of the hypercubes
Definition at line 140 of file FieldLayout.hpp.
References neighbors_m.
Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries().
|
inherited |
Get the domain ranges corresponding to regions that should be received from neighbor ranks
Definition at line 151 of file FieldLayout.hpp.
References neighborsRecvRange_m.
Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries().
|
inherited |
Get the domain ranges corresponding to regions that should be sent to neighbor ranks
Definition at line 145 of file FieldLayout.hpp.
References neighborsSendRange_m.
Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries().
|
inline |
Return the original domain before sub-region extraction.
Definition at line 108 of file SubFieldLayout.h.
References originDomain_m.
Referenced by operator==().
|
privateinherited |
Definition at line 327 of file FieldLayout.hpp.
References gDomain_m, and ippl::max.
Referenced by findPeriodicNeighbors().
| void ippl::SubFieldLayout< Dim >::initialize | ( | const NDIndex< Dim > & | domain, |
| const NDIndex< Dim > & | subDomain, | ||
| std::array< bool, Dim > | isParallel, | ||
| bool | isAllPeriodic = false ) |
Initializes a SubFieldLayout with the sub-domain partitioned in the same way as the original FieldLayout partitiones the full domain.
Initializes a SubFieldLayout with the sub-domain partitioned in the same way as the original FieldLayout partitiones the full domain.
| domain | The full domain to be partitioned |
| subDomain | The sub-region within the full domain |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
| domain | The full domain to be partitioned |
| subDomain | The sub-region within the full domain |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
Implementation details: This method first partitions the full domain for parallel processing, then restricts each rank's local domain to the specified sub-domain.
The sub-domain must be contained within the full domain, and all MPI ranks must have non-empty local domains after intersection with the sub-domain, otherwise an exception will be thrown.
Implementation details: This method first partitions the full domain for parallel processing, then restricts each rank's local domain to the specified sub-domain.
The sub-domain must be contained within the full domain, and all MPI ranks must have non-empty local domains after intersection with the sub-domain, otherwise an exception will be thrown.
Definition at line 76 of file SubFieldLayout.hpp.
References ippl::FieldLayout< Dim >::calcWidths(), ippl::FieldLayout< Dim >::comm, ippl::NDIndex< Dim >::contains(), ippl::FieldLayout< Dim >::dLocalDomains_m, ippl::FieldLayout< Dim >::findNeighbors(), ippl::FieldLayout< Dim >::gDomain_m, ippl::FieldLayout< Dim >::hLocalDomains_m, ippl::FieldLayout< Dim >::initialize(), ippl::FieldLayout< Dim >::isParallel(), originDomain_m, and PAssert.
Referenced by SubFieldLayout(), and SubFieldLayout().
| void ippl::SubFieldLayout< Dim >::initialize | ( | const NDIndex< Dim > & | domain, |
| std::array< bool, Dim > | isParallel, | ||
| bool | isAllPeriodic = false ) |
Initializes a SubFieldLayout using the domain as both the full domain and sub-domain.
Initializes a SubFieldLayout using the domain as both the full domain and sub-domain.
| domain | The domain to be partitioned |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
| domain | The domain to be partitioned |
| decomp | Array specifying which dimensions should be parallel |
| isAllPeriodic | Whether all dimensions have periodic boundary conditions |
Implementation details: This method initializes the layout to use the entire domain as both the full domain and the sub-domain, making it equivalent to a regular FieldLayout.
Implementation details: This method initializes the layout to use the entire domain as both the full domain and the sub-domain, making it equivalent to a regular FieldLayout.
Definition at line 120 of file SubFieldLayout.hpp.
References ippl::FieldLayout< Dim >::initialize(), ippl::FieldLayout< Dim >::isParallel(), and originDomain_m.
|
inlineinherited |
Definition at line 258 of file FieldLayout.h.
References isParallelDim_m.
Referenced by FieldLayout(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::initialize(), initialize(), ippl::SubFieldLayout< Dim >::initialize(), ippl::SubFieldLayout< Dim >::initialize(), ippl::SubFieldLayout< Dim >::SubFieldLayout(), and ippl::SubFieldLayout< Dim >::SubFieldLayout().
|
inlineinherited |
Definition at line 235 of file FieldLayout.h.
References comm, Dim, FieldLayout(), gDomain_m, getDomain(), getLocalNDIndex(), and hLocalDomains_m.
|
inline |
Compare SubFieldLayout to a FieldLayout to see if they represent the same domain.
| Dim2 | Dimension of the FieldLayout |
| x | The FieldLayout to compare with |
Definition at line 148 of file SubFieldLayout.h.
References ippl::FieldLayout< Dim >::comm, Dim, ippl::FieldLayout< Dim >::FieldLayout(), ippl::FieldLayout< Dim >::gDomain_m, ippl::FieldLayout< Dim >::getDomain(), ippl::FieldLayout< Dim >::getLocalNDIndex(), ippl::FieldLayout< Dim >::hLocalDomains_m, and originDomain_m.
|
inline |
Compare SubFieldLayouts to see if they represent the same domain.
| Dim2 | Dimension of the other SubFieldLayout |
| x | The other SubFieldLayout to compare with |
Definition at line 118 of file SubFieldLayout.h.
References ippl::FieldLayout< Dim >::comm, Dim, ippl::FieldLayout< Dim >::getDomain(), ippl::FieldLayout< Dim >::getLocalNDIndex(), getOriginDomain(), ippl::FieldLayout< Dim >::hLocalDomains_m, originDomain_m, and SubFieldLayout().
|
inherited |
Definition at line 54 of file FieldLayout.hpp.
References calcWidths(), dLocalDomains_m, findNeighbors(), and hLocalDomains_m.
Referenced by ippl::OrthogonalRecursiveBisection< Field, Tp >::binaryRepartition().
|
inherited |
Definition at line 157 of file FieldLayout.hpp.
References comm, gDomain_m, and hLocalDomains_m.
Referenced by ippl::operator<<().
|
inherited |
Definition at line 353 of file FieldLayout.h.
Referenced by ippl::detail::HaloCells< T, Dim, ViewArgs >::applyPeriodicSerialDim(), ippl::OrthogonalRecursiveBisection< Field, Tp >::binaryRepartition(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), FieldLayout(), findNeighbors(), ippl::BareField< T, Dim, ViewArgs... >::getCommunicator(), getLocalNDIndex(), getLocalNDIndex(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::initialize(), initialize(), ippl::SubFieldLayout< Dim >::initialize(), operator==(), ippl::SubFieldLayout< Dim >::operator==(), ippl::SubFieldLayout< Dim >::operator==(), and write().
|
protectedinherited |
Local domains (device view).
Definition at line 382 of file FieldLayout.h.
Referenced by FieldLayout(), getDeviceLocalDomains(), initialize(), ippl::SubFieldLayout< Dim >::initialize(), and updateLayout().
|
protectedinherited |
Global domain.
Definition at line 379 of file FieldLayout.h.
Referenced by calcWidths(), getDistribution(), getDomain(), getPeriodicOffset(), initialize(), ippl::SubFieldLayout< Dim >::initialize(), operator==(), operator==(), ippl::SubFieldLayout< Dim >::operator==(), and write().
|
protectedinherited |
Local domains (host mirror view).
Definition at line 385 of file FieldLayout.h.
Referenced by calcWidths(), FieldLayout(), findNeighbors(), getHostLocalDomains(), getLocalNDIndex(), getLocalNDIndex(), initialize(), ippl::SubFieldLayout< Dim >::initialize(), operator==(), ippl::SubFieldLayout< Dim >::operator==(), ippl::SubFieldLayout< Dim >::operator==(), updateLayout(), and write().
|
inherited |
Definition at line 351 of file FieldLayout.h.
Referenced by initialize().
|
protectedinherited |
Definition at line 387 of file FieldLayout.h.
Referenced by initialize(), and isParallel().
|
protectedinherited |
Definition at line 390 of file FieldLayout.h.
Referenced by calcWidths(), FieldLayout(), and getDistribution().
|
privateinherited |
Definition at line 371 of file FieldLayout.h.
Referenced by findNeighbors(), and getNeighbors().
|
privateinherited |
Definition at line 375 of file FieldLayout.h.
Referenced by findNeighbors(), and getNeighborsRecvRange().
|
privateinherited |
Definition at line 375 of file FieldLayout.h.
Referenced by findNeighbors(), and getNeighborsSendRange().
|
private |
Original global domain in which the sub-field is defined.
This stores the full domain before any sub-region extraction, allowing comparison with regular FieldLayouts.
Definition at line 177 of file SubFieldLayout.h.
Referenced by getOriginDomain(), initialize(), initialize(), operator==(), and operator==().