Hello all!
We are using VisIt files (post-processed with a custom MATLAB script) to extract quantities such as Div_U, U_x, U_y, and pressure for our simulation. We have noticed that the grid layout of these quantities differs depending on the IBAMR version used.
Seemingly, the older version outputs velocities and divergence defined on a cell-center grid of size N_Finest. In newer versions (built with autoIBAMR), it seems that the divergence is defined on a cell-centered grid of size N_finest x N_finest, whereas other quantities (e.g., velocity and pressure) are defined on a nodal grid of size (N_finest + 1) x (N_finest + 1).
We would like to confirm whether this change in staggering/layout is expected behavior across IBAMR versions, or if it may be related to build configuration, VisIt output settings, or SAMRAI changes. Any insight into whether this behavior is expected, or guidance on how to ensure consistent grid layouts across versions, would be greatly appreciated!
For reference, here are the build environments:
Older Version
1. Built and Run On Colorado School of Mines' HPC Wendian.
- IBAMR-0.11.0
- cmake-3.20.5
- cmake-3.28.4
- hdf5-1.12.1
- hdf5-1.12.2
- libmesh-1.6.2
- numdiff-5.9.0
- petsc-3.17.2
- samrai-2.4.4
- samrai-2024.06.28
- silo-4.11-bsd
Newer Versions
1. Built and Run on a 2022 Macbook Pro:
- IBAMR-0.16.0
- cmake-3.30.6
- hdf5-1.12.2
- libmesh-1.7.8
- numdiff-5.9.0
- petsc-3.23.3
- samrai-2025.01.09
- silo-4.11-bsd
2. Built and run on Purdue's HPC Anvil:
- IBAMR-0.14.0
- cmake-3.20.5
- cmake-3.28.4
- hdf5-1.12.2
- petsc-3.17.5
- samrai-2024.01.24
- silo-4.11-bsd
Here is the shell script used to setup and run autoibamr on Anvil:
#!/bin/bash
module load anaconda/2024.02-py311
module load gcc/11.2.0 openmpi/4.1.6
export WORK="/anvil/projects/x-mth250056"
port PROJECT=IBAMR-toolchain
VERSION=0.14.0
echo $WORK
INSTALL_DIR=$WORK/sw/libs
export TMPDIR=$INSTALL_DIR/tmp
cd $TMPDIR
mkdir -p $TMPDIR
mkdir -p $INSTALL_DIR
rpm2cpio libtirpc-devel-1.1.4-5.el8.x86_64.rpm | cpio -D $INSTALL_DIR/libtirpc-devel -idmv
export CXXFLAGS="-I${INSTALL_DIR}/libtirpc-devel/usr/include"
export CFLAGS="-I${INSTALL_DIR}/libtirpc-devel/lib64"
export CMAKE_CXX_FLAGS=$CXXFLAGS
export CMAKE_C_FLAGS=$CFLAGS
export CMAKE_VERBOSE_MAKEFILE=ON
INSTALL_DIR=$WORK/sw/apps
mkdir -p $INSTALL_DIR
cd $INSTALL_DIR
pwd
rm -rf ${INSTALL_DIR}/ibamr
cd $TMPDIR
cd autoibamr
git checkout ibamr-0.14
./autoibamr.sh --disable-libmesh --prefix=${INSTALL_DIR}