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

Factory functions for creating domain decompositions. More...

#include "openpfc/core/decomposition.hpp"
#include "openpfc/core/world.hpp"
#include <mpi.h>
Include dependency graph for decomposition_factory.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Decomposition pfc::make_decomposition (const World &world, int rank, int num_domains)
 Factory function to create a Decomposition object.
 
Decomposition pfc::make_decomposition (const World &world, MPI_Comm comm=MPI_COMM_WORLD)
 Factory function to create a Decomposition from MPI communicator.
 

Detailed Description

Factory functions for creating domain decompositions.

This header provides factory functions to create Decomposition objects for distributing computational domains across MPI processes.

Two factory functions are provided:

  • make_decomposition(world, rank, num_domains): Explicit rank/size
  • make_decomposition(world, comm): Use MPI communicator

The factory encapsulates the logic for choosing an optimal decomposition strategy based on domain geometry and number of processes.

pfc::World world({64, 64, 64}, {1.0, 1.0, 1.0});
auto decomp = pfc::make_decomposition(world, MPI_COMM_WORLD);
Factory functions for creating domain decompositions.
Decomposition make_decomposition(const World &world, int rank, int num_domains)
Factory function to create a Decomposition object.
Represents the global simulation domain (the "world").
Definition world.hpp:91
World class definition and unified interface.
See also
core/decomposition.hpp for Decomposition class
core/world.hpp for World definition
Author
OpenPFC Development Team
Date
2025

Function Documentation

◆ make_decomposition() [1/2]

Decomposition pfc::make_decomposition ( const World world,
int  rank,
int  num_domains 
)

Factory function to create a Decomposition object.

Parameters
worldThe World object.
rankThe rank of the current process (defaults to 0).
num_domainsThe total number of domains (defaults to 1).
Returns
Decomposition
Here is the call graph for this function:
Here is the caller graph for this function:

◆ make_decomposition() [2/2]

Decomposition pfc::make_decomposition ( const World world,
MPI_Comm  comm = MPI_COMM_WORLD 
)

Factory function to create a Decomposition from MPI communicator.

Parameters
worldThe World object.
commThe MPI communicator (defaults to MPI_COMM_WORLD).
Returns
Decomposition
Here is the call graph for this function: