Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

217 lines
5.8 KiB

#! /usr/bin/env bash
# Copyright(C) 1999-2023 National Technology & Engineering Solutions
# of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
# NTESS, the U.S. Government retains certain rights in this software.
#
# See packages/seacas/LICENSE for details
set -o errexit
set -o nounset
set -o pipefail
if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace; fi
function usage {
USAGE="Usage: fastq [-help] [-options option] [--] filename [device]"
echo ""
echo "${USAGE}"
echo " Other options: Argument: Default:"
echo " -device dev_code x11"
echo " -input cmd_file -none-"
echo " -mesh mesh-file -none-"
echo " -exodus 1/2 or I/II 1 or I (exodusI)"
echo " -hardcopy met_filename *.met"
echo " -help (Prints this message)"
echo " "
echo " Contact: gdsjaar@sandia.gov"
echo " Documentation: https://sandialabs.github.io/seacas-docs/sphinx/html/index.html#fastq"
echo " "
show_device
exit 1
}
function show_device {
echo " "
tempA=`find ${ACCESSBIN} -name ${codename}_\* |sed -e s:${ACCESSBIN}/${codename}_::`
echo "Standard options for 'device':"
echo "${txtgrn}" $tempA "${txtrst}"
echo " "
}
function show_ps_option {
echo ""
echo "The PostScript drivers have seven options."
echo " 1. black & white, no polygon fill"
echo " 3. black & white, polygon fill"
echo " 5. color,"
echo " 7. color, black-white interchange"
echo " 8. gray-scale, black-white interchange"
echo " 9. color, black background"
echo " 10. gray-scale, black background"
echo " "
echo "Enter -ps_option <num> to select one."
echo "Default is '7'"
echo ""
}
codename=fastq
ACCESSBIN="`dirname \"$0\"`"
ACCESSBIN="`( cd \"${ACCESSBIN}\" && pwd )`"
# Text color variables
if [[ $TERM == *"xterm"* ]] || [[ $TERM == "screen" ]]; then
txtund=$(tput sgr 0 1) # Underline
txtbld=$(tput bold) # Bold
txtred=$(tput setaf 1) # Red
txtgrn=$(tput setaf 2) # Green
txtylw=$(tput setaf 3) # Yellow
txtblu=$(tput setaf 4) # Blue
txtpur=$(tput setaf 5) # Purple
txtcyn=$(tput setaf 6) # Cyan
txtwht=$(tput setaf 7) # White
txtrst=$(tput sgr0) # Text reset
else
export TERM=dumb
txtund=""
txtbld=""
txtred=""
txtgrn=""
txtylw=""
txtblu=""
txtpur=""
txtcyn=""
txtwht=""
txtrst=""
fi
echo " "
echo "=============================================================="
echo "| Sandia Engineering Analysis Access procedure for: ${codename}"
echo "| Send email to gdsjaar@sandia.gov for help"
echo "=============================================================="
aprepro="false"
device="x11"
filename="${codename}"
batch="false"
export EXT03=INT
TEMP=`getopt -o m:hi:p:d:e:a -a --long ps_option:,mesh:,device:,input:,exodus:,hardcopy:,aprepro,help -n 'fastq' -- "$@"`
if [ $? != 0 ] ; then usage ; exit 1 ; fi
# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"
while true ; do
case "$1" in
-m|--mesh)
export FOR009="$2" ; shift 2
export EXT03="BAT"
if [ -e ${FOR009} ] ; then
echo "${FOR009} will be overwritten"
rm ${FOR009}
fi
batch="true"
;;
-h|--help)
usage ; shift ;;
-i|--input)
export FOR001="$2" ; shift 2
export EXT04="YES"
if [ ! -e ${FOR001} ] ; then
echo "${txtred}ERROR: Input file '$FOR001' does not exist.${txtrst}"
goto usage
fi
;;
-p|--ps_option)
ps_option="$2" ; shift 2
if [ "${ps_option}" == "list" ] || [ "${ps_option}" == "help" ] ; then
show_ps_option
exit 0
fi
;;
-d|--device)
device="$2" ; shift 2
if [ "${device}" == "list" ] || [ "${device}" == "help" ] ; then
show_device
exit 0
fi
;;
--hardcopy)
filename="$2" ; shift 2 ;;
-e|--exodus)
if [ "$2" == "1" ] || [ "$2" == "i" ] || [ "$2" == "I" ] ; then
export EXT04="GENESIS"
elif [ "$2" == "2" ] || [ "$2" == "ii" ] || [ "$2" == "II" ] ; then
export EXT04="EXODUSII"
fi
shift 2 ;;
-a|--aprepro)
aprepro="true" ; shift ;;
--) shift ; break ;;
*) echo "${txtred}ERROR: unrecognized option $1${txtrst}" ; shift ;;
esac
done
if [ $# -gt 0 ] ; then
if [ -e "$1" ] ; then
export FOR001=$1
else
echo "${txtred}ERROR: File '$1' does not exist.${txtrst}"
usage
fi
shift
fi
# Check for device specified, use ${device} if none specified
if [ $# -gt 0 ] ; then
device="$1"
fi
if [ ${aprepro} == "true" ] && [ ! -z "$FOR001" ] ; then
aprepro="file"
tmp=$FOR001
export FOR001="./fastq.$$"
${ACCESSBIN}/aprepro "$tmp" "${FOR001}"
fi
if [ "${device}" == "dual" ] ; then
export DUAL_FILENAME="${filename}.met"
export EXT01="x11"
export EXT02="met"
elif [ "${device}" == "xcps" ] ; then
export DUAL_FILENAME="${filename}.cps"
export EXT01="x11"
export EXT02="cps"
else
export EXT01=${device}
fi
if [ ! -x "${ACCESSBIN}/${codename}_${device}" ]
then
echo "${txtred}ERROR: ${ACCESSBIN}/${codename}_${device} does not exist.${txtrst}"
echo " Contact gdsjaar@sandia.gov if you need this device;"
echo " otherwise use one of the supported devices:"
show_device
exit 1
fi
# Run the code, --
if ${ACCESSBIN}/${codename}_${device} -basename ${filename}
then
echo "${txtgrn}FASTQ Successful Execution${txtrst}"
fi
if [ ! -z ${filename} ] && [ "${device}" != "dual" ] && [ "${device}" != "xcps" ]
then
if [ ${device} == "met" ] ; then mv cgimet1 ${filename}.met ; fi
if [ ${device} == "cps" ] ; then mv vdicps.ps ${filename}.ps ; fi
if [ ${device} == "eps" ] ; then mv cgiout.epsi ${filename}.eps ; fi
if [ ${device} == "pst" ] ; then mv cgiout1 ${filename}.ps ; fi
fi
if [ "${aprepro}" == "file" ] ; then
rm -f ${FOR001}
fi