Skip to content

Commit aaa75bd

Browse files
authored
Release: 22.12 (#94)
* AMReX: 22.12 * pyAMReX: 22.12 * MultiFab: Unbreak Methods The overloads changed, fix compilation.
1 parent f23e398 commit aaa75bd

File tree

4 files changed

+31
-12
lines changed

4 files changed

+31
-12
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Preamble ####################################################################
22
#
33
cmake_minimum_required(VERSION 3.20.0)
4-
project(pyAMReX VERSION 22.11)
4+
project(pyAMReX VERSION 22.12)
55

66
include(${pyAMReX_SOURCE_DIR}/cmake/pyAMReXFunctions.cmake)
77

cmake/dependencies/AMReX.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ option(pyAMReX_amrex_internal "Download & build AMReX" ON)
8282
set(pyAMReX_amrex_repo "https://github.com/AMReX-Codes/amrex.git"
8383
CACHE STRING
8484
"Repository URI to pull and build AMReX from if(pyAMReX_amrex_internal)")
85-
set(pyAMReX_amrex_branch "22.11"
85+
set(pyAMReX_amrex_branch "22.12"
8686
CACHE STRING
8787
"Repository branch for pyAMReX_amrex_repo if(pyAMReX_amrex_internal)")
8888

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ def build_extension(self, ext):
185185
AMReX_src = os.environ.get("AMREX_SRC")
186186
AMReX_internal = os.environ.get("AMREX_INTERNAL", "ON")
187187
AMReX_repo = os.environ.get("AMREX_REPO", "https://github.com/AMReX-Codes/amrex.git")
188-
AMReX_branch = os.environ.get("AMREX_BRANCH", "22.11")
188+
AMReX_branch = os.environ.get("AMREX_BRANCH", "22.12")
189189
pybind11_internal = os.environ.get("PYBIND11_INTERNAL", "ON")
190190

191191
# https://cmake.org/cmake/help/v3.0/command/if.html
@@ -220,7 +220,7 @@ def build_extension(self, ext):
220220
setup(
221221
name="amrex",
222222
# note PEP-440 syntax: x.y.zaN but x.y.z.devN
223-
version="22.11",
223+
version="22.12",
224224
packages=["amrex"],
225225
# Python sources:
226226
package_dir={"": "src"},

src/Base/MultiFab.cpp

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ void init_MultiFab(py::module &m) {
126126
py::keep_alive<0, 1>()
127127
)
128128

129+
.def_static("saxpy", py::overload_cast< FabArray<FArrayBox> &, Real, FabArray<FArrayBox> const &, int, int, int, IntVect const & >(&FabArray<FArrayBox>::template Saxpy<FArrayBox>)
130+
)
131+
.def_static("xpay", py::overload_cast< FabArray<FArrayBox> &, Real, FabArray<FArrayBox> const &, int, int, int, IntVect const & >(&FabArray<FArrayBox>::template Xpay<FArrayBox>))
132+
.def_static("lin_comb", py::overload_cast< FabArray<FArrayBox> &, Real, FabArray<FArrayBox> const &, int, Real, FabArray<FArrayBox> const &, int, int, int, IntVect const & >(&FabArray<FArrayBox>::template LinComb<FArrayBox>))
133+
134+
.def("sum", py::overload_cast< int, IntVect const&, bool >(&FabArray<FArrayBox>::template sum<FArrayBox>, py::const_))
129135
.def("sum_boundary", py::overload_cast< Periodicity const & >(&FabArray<FArrayBox>::SumBoundary))
130136
.def("sum_boundary", py::overload_cast< int, int, Periodicity const & >(&FabArray<FArrayBox>::SumBoundary))
131137
.def("sum_boundary", py::overload_cast< int, int, IntVect const&, Periodicity const & >(&FabArray<FArrayBox>::SumBoundary))
@@ -220,7 +226,12 @@ void init_MultiFab(py::module &m) {
220226
.def("norm0", py::overload_cast< int, int, bool, bool >(&MultiFab::norm0, py::const_))
221227
//.def("norm0", py::overload_cast< iMultiFab const &, int, int, bool >(&MultiFab::norm0, py::const_))
222228

223-
.def("norminf", py::overload_cast< int, int, bool, bool >(&MultiFab::norminf, py::const_))
229+
.def("norminf",
230+
//py::overload_cast< int, int, bool, bool >(&MultiFab::norminf, py::const_)
231+
[](MultiFab const & mf, int comp, int nghost, bool local, bool ignore_covered) {
232+
return mf.norminf(comp, nghost, local, ignore_covered);
233+
}
234+
)
224235
//.def("norminf", py::overload_cast< iMultiFab const &, int, int, bool >(&MultiFab::norminf, py::const_))
225236

226237
.def("norm1", py::overload_cast< int, Periodicity const&, bool >(&MultiFab::norm1, py::const_))
@@ -232,7 +243,9 @@ void init_MultiFab(py::module &m) {
232243
.def("norm2", py::overload_cast< Vector<int> const & >(&MultiFab::norm2, py::const_))
233244

234245
/* simple math */
235-
.def("sum", &MultiFab::sum,
246+
.def("sum",
247+
//py::overload_cast< int, bool >(&MultiFab::sum, py::const_),
248+
[](MultiFab const & mf, int comp , bool local) { return mf.sum(comp, local); },
236249
py::arg("comp") = 0, py::arg("local") = false,
237250
"Returns the sum of component 'comp' over the MultiFab -- no ghost cells are included."
238251
)
@@ -303,14 +316,20 @@ void init_MultiFab(py::module &m) {
303316
.def_static("swap", py::overload_cast< MultiFab &, MultiFab &, int, int, int, int >(&MultiFab::Swap))
304317
.def_static("swap", py::overload_cast< MultiFab &, MultiFab &, int, int, int, IntVect const & >(&MultiFab::Swap))
305318

306-
.def_static("saxpy", py::overload_cast< MultiFab &, Real, MultiFab const &, int, int, int, int >(&MultiFab::Saxpy))
307-
.def_static("saxpy", py::overload_cast< MultiFab &, Real, MultiFab const &, int, int, int, IntVect const & >(&MultiFab::Saxpy))
319+
.def_static("saxpy",
320+
// py::overload_cast< MultiFab &, Real, MultiFab const &, int, int, int, int >(&MultiFab::Saxpy)
321+
static_cast<void (*)(MultiFab &, Real, MultiFab const &, int, int, int, int)>(&MultiFab::Saxpy)
322+
)
308323

309-
.def_static("xpay", py::overload_cast< MultiFab &, Real, MultiFab const &, int, int, int, int >(&MultiFab::Xpay))
310-
.def_static("xpay", py::overload_cast< MultiFab &, Real, MultiFab const &, int, int, int, IntVect const & >(&MultiFab::Xpay))
324+
.def_static("xpay",
325+
// py::overload_cast< MultiFab &, Real, MultiFab const &, int, int, int, int >(&MultiFab::Xpay)
326+
static_cast<void (*)(MultiFab &, Real, MultiFab const &, int, int, int, int)>(&MultiFab::Xpay)
327+
)
311328

312-
.def_static("lin_comb", py::overload_cast< MultiFab &, Real, MultiFab const &, int, Real, MultiFab const &, int, int, int, int >(&MultiFab::LinComb))
313-
.def_static("lin_comb", py::overload_cast< MultiFab &, Real, MultiFab const &, int, Real, MultiFab const &, int, int, int, IntVect const & >(&MultiFab::LinComb))
329+
.def_static("lin_comb",
330+
// py::overload_cast< MultiFab &, Real, MultiFab const &, int, Real, MultiFab const &, int, int, int, int >(&MultiFab::LinComb)
331+
static_cast<void (*)(MultiFab &, Real, MultiFab const &, int, Real, MultiFab const &, int, int, int, int)>(&MultiFab::LinComb)
332+
)
314333

315334
.def_static("add_product", py::overload_cast< MultiFab &, MultiFab const &, int, MultiFab const &, int, int, int, int >(&MultiFab::AddProduct))
316335
.def_static("add_product", py::overload_cast< MultiFab &, MultiFab const &, int, MultiFab const &, int, int, int, IntVect const & >(&MultiFab::AddProduct))

0 commit comments

Comments
 (0)