OpenPFC  0.1.4
Phase Field Crystal simulation framework
Loading...
Searching...
No Matches
multi_index.hpp File Reference

Multi-dimensional indexing utilities. More...

#include <array>
#include <iostream>
#include <vector>
Include dependency graph for multi_index.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  pfc::MultiIndex< D >
 MultiIndex class for iterating over multi-dimensional indices. More...
 
class  pfc::MultiIndex< D >::Iterator
 Iterator class for iterating over multi-dimensional indices. More...
 

Detailed Description

Multi-dimensional indexing utilities.

This file defines the MultiIndex template class for converting between multi-dimensional and linear indices. Essential for:

  • Iterating over multi-dimensional arrays
  • Converting between (i,j,k) and flat array indices
  • Managing index ranges and offsets
  • Domain decomposition support

The MultiIndex class handles the mapping between N-dimensional integer coordinates and 1D vector storage.

Usage:

pfc::MultiIndex<3> idx({0, 0, 0}, {64, 64, 64});
size_t linear = idx.to_linear({10, 20, 30});
auto multi = idx.from_linear(linear);
Represents the global simulation domain (the "world").
Definition world.hpp:91
See also
array.hpp for array container using MultiIndex
Author
OpenPFC Contributors
Date
2025