#!/bin/bash
#------------------------------------------------------------------------------
# coupledmatrixfoam-fe5 unset script
#
# This script unloads the coupledMatrixFoam environment
# Usage: coupledmatrixfoam-fe5_Unset (alias created by loader)
#------------------------------------------------------------------------------

# Restore original PATH if it was saved
if [ -n "$_COUPLEDMATRIX_SAVED_PATH" ]; then
    export PATH="$_COUPLEDMATRIX_SAVED_PATH"
    unset _COUPLEDMATRIX_SAVED_PATH
else
    echo "Warning: Original PATH not found, attempting to remove foam-extend paths..."
    # Fallback: Strip foam-extend-5.0 paths from PATH
    export PATH=$(echo "$PATH" | sed -e 's|[^:]*foam-extend-5.0[^:]*:||g' -e 's|:[^:]*foam-extend-5.0[^:]*||g')
fi

if [ -n "$_COUPLEDMATRIX_SAVED_LD_LIBRARY_PATH" ]; then
    export LD_LIBRARY_PATH="$_COUPLEDMATRIX_SAVED_LD_LIBRARY_PATH"
    unset _COUPLEDMATRIX_SAVED_LD_LIBRARY_PATH
else
    echo "Warning: Original LD_LIBRARY_PATH not found, attempting to remove foam-extend paths..."
    # Fallback: Strip foam-extend-5.0 paths from LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$(echo "$LD_LIBRARY_PATH" | sed -e 's|[^:]*foam-extend-5.0[^:]*:||g' -e 's|:[^:]*foam-extend-5.0[^:]*||g')
fi

# Restore original MANPATH if it was saved
if [ -n "$_COUPLEDMATRIX_SAVED_MANPATH" ]; then
    export MANPATH="$_COUPLEDMATRIX_SAVED_MANPATH"
    unset _COUPLEDMATRIX_SAVED_MANPATH
fi

# Unset foam-extend FOAM_* variables
[ -n "$FOAM_APP" ] && unset FOAM_APP
[ -n "$FOAM_APPBIN" ] && unset FOAM_APPBIN
[ -n "$FOAM_DEV" ] && unset FOAM_DEV
[ -n "$FOAM_INST_DIR" ] && unset FOAM_INST_DIR
[ -n "$FOAM_JOB_DIR" ] && unset FOAM_JOB_DIR
[ -n "$FOAM_LIB" ] && unset FOAM_LIB
[ -n "$FOAM_LIBBIN" ] && unset FOAM_LIBBIN
[ -n "$FOAM_RUN" ] && unset FOAM_RUN
[ -n "$FOAM_SIGFPE" ] && unset FOAM_SIGFPE
[ -n "$FOAM_SITE_APPBIN" ] && unset FOAM_SITE_APPBIN
[ -n "$FOAM_SITE_DIR" ] && unset FOAM_SITE_DIR
[ -n "$FOAM_SITE_LIBBIN" ] && unset FOAM_SITE_LIBBIN
[ -n "$FOAM_SOLVERS" ] && unset FOAM_SOLVERS
[ -n "$FOAM_SRC" ] && unset FOAM_SRC
[ -n "$FOAM_TEST_HARNESS_DIR" ] && unset FOAM_TEST_HARNESS_DIR
[ -n "$FOAM_TUTORIALS" ] && unset FOAM_TUTORIALS
[ -n "$FOAM_USER_APPBIN" ] && unset FOAM_USER_APPBIN
[ -n "$FOAM_USER_LIBBIN" ] && unset FOAM_USER_LIBBIN
[ -n "$FOAM_UTILITIES" ] && unset FOAM_UTILITIES

# Unset METIS variables
[ -n "$METIS_BIN_DIR" ] && unset METIS_BIN_DIR
[ -n "$METIS_DIR" ] && unset METIS_DIR
[ -n "$METIS_INCLUDE_DIR" ] && unset METIS_INCLUDE_DIR
[ -n "$METIS_LIB_DIR" ] && unset METIS_LIB_DIR
[ -n "$METIS_SYSTEM" ] && unset METIS_SYSTEM

# Unset MPI variables
[ -n "$MPI_ARCH_PATH" ] && unset MPI_ARCH_PATH
[ -n "$MPI_BUFFER_SIZE" ] && unset MPI_BUFFER_SIZE
[ -n "$MPI_HOME" ] && unset MPI_HOME

# Unset OpenMPI variables
[ -n "$OPENMPI_BIN_DIR" ] && unset OPENMPI_BIN_DIR
[ -n "$OPENMPI_COMPILE_FLAGS" ] && unset OPENMPI_COMPILE_FLAGS
[ -n "$OPENMPI_INCLUDE_DIR" ] && unset OPENMPI_INCLUDE_DIR
[ -n "$OPENMPI_LIB_DIR" ] && unset OPENMPI_LIB_DIR
[ -n "$OPENMPI_LINK_FLAGS" ] && unset OPENMPI_LINK_FLAGS

# Unset PARMETIS variables
[ -n "$PARMETIS_BIN_DIR" ] && unset PARMETIS_BIN_DIR
[ -n "$PARMETIS_DIR" ] && unset PARMETIS_DIR
[ -n "$PARMETIS_INCLUDE_DIR" ] && unset PARMETIS_INCLUDE_DIR
[ -n "$PARMETIS_LIB_DIR" ] && unset PARMETIS_LIB_DIR
[ -n "$PARMETIS_SYSTEM" ] && unset PARMETIS_SYSTEM

# Unset MPI compiler flags
[ -n "$PINC" ] && unset PINC
[ -n "$PLIBS" ] && unset PLIBS

# Unset PyFoam variable
[ -n "$PYFOAM_SITE_DIR" ] && unset PYFOAM_SITE_DIR

# Unset SCOTCH variables
[ -n "$SCOTCH_BIN_DIR" ] && unset SCOTCH_BIN_DIR
[ -n "$SCOTCH_DIR" ] && unset SCOTCH_DIR
[ -n "$SCOTCH_INCLUDE_DIR" ] && unset SCOTCH_INCLUDE_DIR
[ -n "$SCOTCH_LIB_DIR" ] && unset SCOTCH_LIB_DIR
[ -n "$SCOTCH_SYSTEM" ] && unset SCOTCH_SYSTEM

# Unset WM_* (OpenFOAM/foam-extend build system) variables
[ -n "$WM_ARCH" ] && unset WM_ARCH
[ -n "$WM_ARCH_OPTION" ] && unset WM_ARCH_OPTION
[ -n "$WM_CC" ] && unset WM_CC
[ -n "$WM_CFLAGS" ] && unset WM_CFLAGS
[ -n "$WM_COMPILER" ] && unset WM_COMPILER
[ -n "$WM_COMPILER_ARCH" ] && unset WM_COMPILER_ARCH
[ -n "$WM_COMPILER_LIB_ARCH" ] && unset WM_COMPILER_LIB_ARCH
[ -n "$WM_COMPILE_OPTION" ] && unset WM_COMPILE_OPTION
[ -n "$WM_CXX" ] && unset WM_CXX
[ -n "$WM_CXXFLAGS" ] && unset WM_CXXFLAGS
[ -n "$WM_DIR" ] && unset WM_DIR
[ -n "$WM_FORK" ] && unset WM_FORK
[ -n "$WM_LABEL_OPTION" ] && unset WM_LABEL_OPTION
[ -n "$WM_LABEL_SIZE" ] && unset WM_LABEL_SIZE
[ -n "$WM_LDFLAGS" ] && unset WM_LDFLAGS
[ -n "$WM_LINK_LANGUAGE" ] && unset WM_LINK_LANGUAGE
[ -n "$WM_MPLIB" ] && unset WM_MPLIB
[ -n "$WM_NCOMPPROCS" ] && unset WM_NCOMPPROCS
[ -n "$WM_OPTIONS" ] && unset WM_OPTIONS
[ -n "$WM_OSTYPE" ] && unset WM_OSTYPE
[ -n "$WM_PRECISION_OPTION" ] && unset WM_PRECISION_OPTION
[ -n "$WM_PROJECT" ] && unset WM_PROJECT
[ -n "$WM_PROJECT_DIR" ] && unset WM_PROJECT_DIR
[ -n "$WM_PROJECT_INST_DIR" ] && unset WM_PROJECT_INST_DIR
[ -n "$WM_PROJECT_USER_DIR" ] && unset WM_PROJECT_USER_DIR
[ -n "$WM_PROJECT_VERSION" ] && unset WM_PROJECT_VERSION
[ -n "$WM_SYSTEM_BIN_DIR" ] && unset WM_SYSTEM_BIN_DIR
[ -n "$WM_SYSTEM_DIR" ] && unset WM_SYSTEM_DIR
[ -n "$WM_SYSTEM_INCLUDE_DIR" ] && unset WM_SYSTEM_INCLUDE_DIR
[ -n "$WM_SYSTEM_LIB_DIR" ] && unset WM_SYSTEM_LIB_DIR
[ -n "$WM_THIRD_PARTY_DIR" ] && unset WM_THIRD_PARTY_DIR
[ -n "$WM_THIRD_PARTY_USE_HWLOC_201" ] && unset WM_THIRD_PARTY_USE_HWLOC_201
[ -n "$WM_THIRD_PARTY_USE_MESQUITE_230" ] && unset WM_THIRD_PARTY_USE_MESQUITE_230
[ -n "$WM_THIRD_PARTY_USE_PARMGRIDGEN_10" ] && unset WM_THIRD_PARTY_USE_PARMGRIDGEN_10
[ -n "$WM_THIRD_PARTY_USE_PYFOAM_069" ] && unset WM_THIRD_PARTY_USE_PYFOAM_069

# Unset environment loaded marker
[ -n "$_COUPLEDMATRIX_ENV_LOADED" ] && unset _COUPLEDMATRIX_ENV_LOADED

# Unset the unset alias itself
unalias coupledporousmedia_Unset 2>/dev/null

echo "coupledPorousMedia environment unloaded"
