OpenPFC  0.1.4
Phase Field Crystal simulation framework
Loading...
Searching...
No Matches
Creating

Discrete field with physical coordinate mapping and interpolation.

Discrete field with physical coordinate mapping and interpolationDiscreteField provides a N-dimensional array with physical coordinate system awareness, bridging discrete grid indices and continuous physical space. It supports coordinate transformations, interpolation, and functional operations.

Core Concept:

Design Philosophy:

Template Parameters
TElement type (typically double or std::complex<double>)
DDimensionality (typically 3)

and initializing a field

// 3D field: 32³ points, spacing 0.5 in each direction
{32, 32, 32}, // dimensions
{0, 0, 0}, // offset (for subdomains)
{0.0, 0.0, 0.0}, // origin
{0.5, 0.5, 0.5} // discretization (spacing)
);
// Initialize with mathematical function
field.apply([](double x, double y, double z) {
return std::sin(x) * std::cos(y) * std::exp(-z/10.0);
});
Represents the global simulation domain (the "world").
Definition world.hpp:91