diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 1fa7fc51..1a99d116 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -22,5 +22,6 @@ foreach(D IN LISTS AMReX_SPACEDIM) Periodicity.cpp PODVector.cpp Vector.cpp + Utility.cpp ) endforeach() diff --git a/src/Base/Utility.cpp b/src/Base/Utility.cpp new file mode 100644 index 00000000..25a76a12 --- /dev/null +++ b/src/Base/Utility.cpp @@ -0,0 +1,21 @@ +/* Copyright 2021-2022 The AMReX Community + * + * License: BSD-3-Clause-LBNL + */ +#include +#include +#include + +namespace py = pybind11; +using namespace amrex; + +void init_Utility(py::module& m) +{ + m.def("concatenate", + [] (const std::string& root, + int num, + int mindigits) { + return amrex::Concatenate(root, num, mindigits); + }, py::return_value_policy::move, + "Builds plotfile name"); +} diff --git a/src/pyAMReX.cpp b/src/pyAMReX.cpp index cb6aa542..ba785436 100644 --- a/src/pyAMReX.cpp +++ b/src/pyAMReX.cpp @@ -43,7 +43,7 @@ void init_ParticleContainer(py::module &); void init_Periodicity(py::module &); void init_PODVector(py::module &); void init_Vector(py::module &); - +void init_Utility(py::module &); #if AMREX_SPACEDIM == 1 PYBIND11_MODULE(amrex_1d_pybind, m) { @@ -83,6 +83,7 @@ PYBIND11_MODULE(amrex_3d_pybind, m) { PODVector StructOfArrays Vector + Utility )pbdoc"; // note: order from parent to child classes @@ -114,6 +115,9 @@ PYBIND11_MODULE(amrex_3d_pybind, m) { init_ParticleContainer(m); init_AmrMesh(m); + // Wrappers around functions, independent of parent to child order + init_Utility(m); + // API runtime version // note PEP-440 syntax: x.y.zaN but x.y.z.devN #ifdef PYAMReX_VERSION_INFO