OpenPFC  0.1.4
Phase Field Crystal simulation framework
Loading...
Searching...
No Matches
world_factory.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 VTT Technical Research Centre of Finland Ltd
2// SPDX-License-Identifier: AGPL-3.0-or-later
3
24#pragma once
25
26#include "csys.hpp"
27#include "strong_types.hpp"
28#include "types.hpp"
29#include "world.hpp"
30
31namespace pfc {
32namespace world {
33
37using pfc::types::Real3;
38
45CartesianWorld create(const Int3 &size);
46
77 const GridSpacing &spacing);
78
106[[deprecated("Use create(GridSize, PhysicalOrigin, GridSpacing) for type safety. "
107 "See migration guide in documentation.")]] CartesianWorld
108create(const Int3 &size, const Real3 &offset, const Real3 &spacing);
109
110} // namespace world
111} // namespace pfc
std::array< int, 3 > Int3
Type aliases for clarity.
Definition types.hpp:45
Extensible coordinate system framework.
auto create(const World< T > &world, const heffte::box3d< int > &box)
Construct a new World object from an existing one and a box.
Definition decomposition.hpp:62
Strong type aliases for geometric quantities.
Grid dimensions (number of grid points per dimension)
Definition strong_types.hpp:176
Physical spacing between grid points.
Definition strong_types.hpp:370
Physical origin of coordinate system.
Definition strong_types.hpp:424
Tag type for the 3D Cartesian coordinate system.
Definition csys.hpp:147
Primary template for defining coordinate systems by tag.
Definition csys.hpp:87
Represents the global simulation domain (the "world").
Definition world.hpp:91
Common type aliases used throughout OpenPFC.
World class definition and unified interface.