Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Accommodate parth API change for GetLevel #8

Merged
merged 3 commits into from
Feb 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions env/bash
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ elif [[ $PARTITION == "darwin-volta-x86" ]]; then
module load clang/12.0.1
module load nvhpc/23.5
module load cuda/11.4.2
module load gcc/9.4.0
module load hdf5/1.12.2
module load miniconda3
source /projects/opt/centos8/x86_64/miniconda3/py39_4.12.0/bin/activate /usr/projects/jovian/dependencies/python/volta-x86-py39
Expand Down
2 changes: 1 addition & 1 deletion external/parthenon
Submodule parthenon updated 46 files
+2 −2 .github/workflows/ci-extended.yml
+1 −1 .github/workflows/ci-macos.yml
+4 −4 .github/workflows/ci-short.yml
+5 −0 CHANGELOG.md
+3 −2 CMakeLists.txt
+4 −17 benchmarks/burgers/burgers_driver.cpp
+1 −0 doc/sphinx/src/building.rst
+4 −0 doc/sphinx/src/interface/state.rst
+77 −15 doc/sphinx/src/solvers.rst
+37 −30 example/fine_advection/advection_package.cpp
+1 −0 example/fine_advection/advection_package.hpp
+66 −0 example/poisson_gmg/plot_convergence.py
+33 −41 example/poisson_gmg/poisson_driver.cpp
+162 −59 example/poisson_gmg/poisson_equation.hpp
+36 −26 example/poisson_gmg/poisson_package.cpp
+3 −0 src/CMakeLists.txt
+34 −21 src/amr_criteria/amr_criteria.cpp
+4 −4 src/amr_criteria/amr_criteria.hpp
+137 −79 src/amr_criteria/refinement_package.cpp
+12 −7 src/amr_criteria/refinement_package.hpp
+3 −0 src/basic_types.hpp
+3 −0 src/config.hpp.in
+8 −2 src/interface/sparse_pack.hpp
+47 −12 src/interface/sparse_pack_base.cpp
+2 −0 src/interface/sparse_pack_base.hpp
+6 −0 src/interface/state_descriptor.hpp
+1 −1 src/interface/swarm_comms.cpp
+16 −2 src/mesh/mesh.cpp
+4 −0 src/mesh/mesh.hpp
+0 −11 src/mesh/mesh_refinement.cpp
+0 −1 src/mesh/mesh_refinement.hpp
+4 −0 src/mesh/meshblock.hpp
+6 −6 src/parameter_input.cpp
+20 −0 src/parthenon_array_generic.hpp
+139 −103 src/solvers/bicgstab_solver.hpp
+282 −0 src/solvers/cg_solver.hpp
+203 −0 src/solvers/internal_prolongation.hpp
+202 −197 src/solvers/mg_solver.hpp
+53 −0 src/solvers/solver_base.hpp
+218 −19 src/solvers/solver_utils.hpp
+3 −3 src/tasks/tasks.cpp
+4 −4 src/tasks/tasks.hpp
+40 −1 src/tasks/thread_pool.hpp
+18 −0 src/utils/indexer.hpp
+7 −0 src/utils/type_list.hpp
+26 −0 tst/unit/test_parameter_input.cpp
24 changes: 18 additions & 6 deletions src/jaybenne/jaybenne.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -343,8 +343,12 @@ TaskStatus UpdateDerivedTransportFields(MeshData<Real> *md, const Real dt) {

// get current, lower, upper neighbor block levels in x-direction
const Real rlev = static_cast<Real>(vmesh.GetLevel(b, 0, 0, 0));
const Real rlev_lx = static_cast<Real>(vmesh.GetLevel(b, 0, 0, -1));
const Real rlev_ux = static_cast<Real>(vmesh.GetLevel(b, 0, 0, 1));
const Real rlev_lx = (vmesh.IsPhysicalBoundary(b, 0, 0, -1))
? rlev
: static_cast<Real>(vmesh.GetLevel(b, 0, 0, -1));
const Real rlev_ux = (vmesh.IsPhysicalBoundary(b, 0, 0, 1))
? rlev
: static_cast<Real>(vmesh.GetLevel(b, 0, 0, 1));

// calculate neighbor dx values
const Real dx_lx = i == ib.s ? std::pow(2.0, rlev - rlev_lx) * dx_i : dx_i;
Expand Down Expand Up @@ -391,8 +395,12 @@ TaskStatus UpdateDerivedTransportFields(MeshData<Real> *md, const Real dt) {

// get current, lower, upper neighbor block levels in x-direction
const Real rlev = static_cast<Real>(vmesh.GetLevel(b, 0, 0, 0));
const Real rlev_ly = static_cast<Real>(vmesh.GetLevel(b, 0, -1, 0));
const Real rlev_uy = static_cast<Real>(vmesh.GetLevel(b, 0, 1, 0));
const Real rlev_ly = (vmesh.IsPhysicalBoundary(b, 0, -1, 0))
? rlev
: static_cast<Real>(vmesh.GetLevel(b, 0, -1, 0));
const Real rlev_uy = (vmesh.IsPhysicalBoundary(b, 0, 1, 0))
? rlev
: static_cast<Real>(vmesh.GetLevel(b, 0, 1, 0));

// calculate neighbor dx values
const Real dx_ly = j == jb.s ? std::pow(2.0, rlev - rlev_ly) * dx_j : dx_j;
Expand Down Expand Up @@ -440,8 +448,12 @@ TaskStatus UpdateDerivedTransportFields(MeshData<Real> *md, const Real dt) {

// get current, lower, upper neighbor block levels in x-direction
const Real rlev = static_cast<Real>(vmesh.GetLevel(b, 0, 0, 0));
const Real rlev_lz = static_cast<Real>(vmesh.GetLevel(b, -1, 0, 0));
const Real rlev_uz = static_cast<Real>(vmesh.GetLevel(b, 1, 0, 0));
const Real rlev_lz = (vmesh.IsPhysicalBoundary(b, -1, 0, 0))
? rlev
: static_cast<Real>(vmesh.GetLevel(b, -1, 0, 0));
const Real rlev_uz = (vmesh.IsPhysicalBoundary(b, 1, 0, 0))
? rlev
: static_cast<Real>(vmesh.GetLevel(b, 1, 0, 0));

// calculate neighbor dx values
const Real dx_lz = k == kb.s ? std::pow(2.0, rlev - rlev_lz) * dx_k : dx_k;
Expand Down