Commit be655124 authored by Andrew Heather's avatar Andrew Heather
Browse files
parents 1ce132fb 5cda312e
# -*- mode: org; -*-
#
#+TITLE: *OpenFOAM README for version 1.5*
#+TITLE: OpenFOAM README for version 1.6
#+AUTHOR: OpenCFD Ltd.
#+DATE: 26 August 2008
#+DATE: July 2009
#+LINK: http://www.opencfd.co.uk
#+OPTIONS: author:nil ^:{}
......@@ -62,7 +62,7 @@
in the OpenFOAM release. e.g. in
+ $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/
+ where <VERSION> corresponds to the version 1.4, 1.5, ...
+ where <VERSION> corresponds to the version 1.5, 1.6, ...
1) EITHER, if running bash or ksh (if in doubt type 'echo $SHELL'), source the
etc/bashrc file by adding the following line to the end of your
......@@ -135,7 +135,7 @@
* Getting Started
Create a project directory within the $HOME/OpenFOAM directory named
<USER>-<VERSION> (e.g. 'chris-1.5' for user chris and OpenFOAM version 1.5)
<USER>-<VERSION> (e.g. 'chris-1.6' for user chris and OpenFOAM version 1.6)
and create a directory named 'run' within it, e.g. by typing:
+ mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
......@@ -156,12 +156,13 @@
* Compiling Paraview 3.3 and the PV3FoamReader module
A version of Qt 4.3.x must be installed to compile ParaView. The compilation
is a fairly simple process using the supplied buildParaView3.3-cvs script that
has worked is our tests with other packages supplied in the ThirdParty
directory, namely cmake-2.4.6 and gcc-4.3.1. Execute the following:
+ cd $FOAM_INST_DIR/ThirdParty
+ rm -rf ParaView3.3-cvs/platforms
+ buildParaView3.3-cvs
is a fairly simple process using the supplied buildParaView script that
has worked in our tests with other packages supplied in the ThirdParty
directory, namely cmake-2.6.4 and gcc-4.3.3. Execute the following:
+ cd $WM_THIRD_PARTY_DIR
+ rm -rf paraview-3.6/platforms
+ buildParaView
The PV3FoamReader module is an OpenFOAM utility that can be compiled in the
usual manner as follows:
......@@ -184,3 +185,4 @@
is the default mode on a 64-bit machine. To use an installed 32-bit version,
the user must set the environment variable WM_ARCH_OPTION to 32 before
sourcing the etc/bashrc (or etc/cshrc) file.
......@@ -145,6 +145,8 @@
+ The *new* =readList(Istream&)= can read a bracket-delimited list or handle
a single value as a list of size 1. This can be a useful convenience when
processing command-line options.
+ Export *new* environment variable =FOAM_CASENAME= that contains the
name part of the =FOAM_CASE= environment variable
*** Misc. improvements
+ Improved consistency and interoperability between =face= and =triFace= classes.
......
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
set -x
wclean libso BCs
wclean
# ----------------------------------------------------------------- end-of-file
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
set -x
wclean libso phaseModel
wclean libso interfacialModels
wclean libso kineticTheoryModels
wclean
# ----------------------------------------------------------------- end-of-file
......@@ -29,6 +29,7 @@ Description
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "IOstreams.H"
#include "IOobject.H"
#include "IFstream.H"
......@@ -41,6 +42,15 @@ using namespace Foam;
int main(int argc, char *argv[])
{
argList::noParallel();
argList args(argc, argv);
Info<< nl
<< "FOAM_CASE=" << getEnv("FOAM_CASE") << nl
<< "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl
<< endl;
{
dictionary dict1(IFstream("testDict")());
Info<< "dict1: " << dict1 << nl
......
......@@ -14,6 +14,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#inputMode merge
#includeIfPresent "someUnknownFile"
#includeIfPresent "$FOAM_CASE/someUnknownFile"
#includeIfPresent "$FOAM_CASE/someUnknownFile-$FOAM_CASENAME"
internalField uniform 1;
......@@ -78,7 +81,6 @@ boundaryField
// NB: the inputMode has a global scope
#inputMode merge
#include "testDict2"
#includeIfPresent "SomeUnknownFile"
foo
{
......
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
set -x
wclean libso extrudeModel
wclean
# ----------------------------------------------------------------- end-of-file
......@@ -36,8 +36,8 @@ Usage
@param -ascii \n
Write Ensight data in ASCII format instead of "C Binary"
@param -zeroTime \n
Include the often incomplete initial conditions.
@param -noZero \n
Exclude the often incomplete initial conditions.
@param -index \<start\>\n
Ignore the time index contained in the time file and use a
......
......@@ -4,3 +4,5 @@ set -x
rm -rf PV3FoamReader/Make
wclean libso vtkPV3Foam
# ----------------------------------------------------------------- end-of-file
......@@ -261,11 +261,15 @@ Foam::vtkPV3Foam::vtkPV3Foam
// Set the case as an environment variable - some BCs might use this
if (fullCasePath.name().find("processor", 0) == 0)
{
setEnv("FOAM_CASE", fullCasePath.path(), true);
const fileName globalCase = fullCasePath.path();
setEnv("FOAM_CASE", globalCase, true);
setEnv("FOAM_CASENAME", globalCase.name(), true);
}
else
{
setEnv("FOAM_CASE", fullCasePath, true);
setEnv("FOAM_CASENAME", fullCasePath.name(), true);
}
// look for 'case{region}.OpenFOAM'
......@@ -299,6 +303,7 @@ Foam::vtkPV3Foam::vtkPV3Foam
{
Info<< "fullCasePath=" << fullCasePath << nl
<< "FOAM_CASE=" << getEnv("FOAM_CASE") << nl
<< "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl
<< "region=" << meshRegion_ << endl;
}
......
......@@ -33,9 +33,9 @@
#------------------------------------------------------------------------------
# Base settings
FOAM_VERSION=1.5
SUPPLIED_VERSION_GCC=4.3.1
MIN_VERSION_GCC=4.2.0
FOAM_VERSION=1.6
SUPPLIED_VERSION_GCC=4.3.3
MIN_VERSION_GCC=4.3.1
# General
WIDTH=20
......@@ -46,10 +46,8 @@ CRITICALERROR=0
SSHRSHOK=0
# System variables
USER_SHELL=`basename $SHELL`
HOST_NAME=`uname -n`
OS=`uname -s`
OS_VERSION=`uname -r`
USER_NAME=$LOGNAME
if [ ! -n $USER_NAME ]; then
USER_NAME=$USER
......@@ -92,7 +90,7 @@ length () {
stringLength () {
echo $1 | wc -m | tr -d " "
echo $1 | wc -m | tr -d " "
}
......@@ -125,7 +123,7 @@ reportEnv () {
SunOS)
if /usr/bin/test -e $EXP_ENV ; then
EXISTS=" yes "
if [ "$2" != "noPath" ]; then
if [ "$2" != noPath ]; then
ON_PATH=" no "
OLD_IFS=$IFS
IFS=':'
......@@ -152,7 +150,7 @@ reportEnv () {
*)
if [ -e "$EXP_ENV" ] ; then
EXISTS=" yes "
if [ "$2" != "noPath" ]; then
if [ "$2" != noPath ]; then
ON_PATH=" no "
OLD_IFS=$IFS
IFS=':'
......@@ -182,10 +180,10 @@ reportEnv () {
fi
ERROR="false"
if [ "$EXISTS" = "no" ] || [ "$ON_PATH" = "no" ]; then
if [ "$EXISTS" = no ] || [ "$ON_PATH" = no ]; then
ERROR="true"
fi
if [ "$3" = "yes" ] && [ "$ERROR" = "true" ]; then
if [ "$3" = yes ] && [ "$ERROR" = true ]; then
CRITICALERROR=`expr $CRITICALERROR + 1`
echo "WARNING: CRITICAL ERROR"
echo
......@@ -312,9 +310,9 @@ pingTest () {
case $OS in
SunOS)
PINGTEST=`/usr/sbin/ping $1 2>&1`
if [ "`echo $PINGTEST | grep "alive"`" != "" ] ; then
if [ "`echo $PINGTEST | grep alive`" != "" ] ; then
RESULT="Successful"
elif [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
elif [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then
RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
else
RESULT="Networking_cannot_reach_$1"
......@@ -322,9 +320,9 @@ pingTest () {
;;
*)
PINGTEST=`/bin/ping -w 3 -c 1 $1 2>&1`
if [ "`echo $PINGTEST | grep "1 received"`" != "" ] ; then
if [ "`echo $PINGTEST | grep '1 received'`" != "" ] ; then
RESULT="Successful"
elif [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
elif [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then
RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
else
RESULT="Networking_cannot_reach_$1"
......@@ -334,7 +332,7 @@ pingTest () {
echo "`fixlen "Pinging_$1" 25` `fixlen "$RESULT" 45` `fixlen "$2" 5`"
if [ "$2" = "yes" ] && [ "$RESULT" != "Successful" ]; then
if [ "$2" = yes ] && [ "$RESULT" != Successful ]; then
CRITICALERROR=`expr $CRITICALERROR + 1`
echo "WARNING: CRITICAL ERROR"
echo
......@@ -351,7 +349,7 @@ EOF
checkTelnetPort () {
if [ -x "/usr/bin/telnet" ] || [ -x "/bin/telnet" ] ; then
if [ -x "/usr/bin/telnet" ] || [ -x "/bin/telnet" ] ; then
RESULT=`telnetPortTest $1 $2 2>&1 | egrep "onnect.* [t|r]"`
if [ "`echo $RESULT | grep 'Connected to'`" ] ; then
RESULT='Successful'
......@@ -361,7 +359,7 @@ checkTelnetPort () {
RESULT="Not_active*"
fi
else
RESULT='No_telnet_running:_cannot_check*'
RESULT='No_telnet_installed:_cannot_check*'
fi
}
......@@ -369,7 +367,7 @@ checkTelnetPort () {
checkRsh () {
checkTelnetPort $HOST_NAME 222
echo "`fixlen "Test_rsh:" 25` `fixlen "$RESULT" 45` "yes""
if [ "$RESULT" != 'Successful' ]; then
if [ "$RESULT" != Successful ]; then
SSHRSHOK=`expr $SSHRSHOK + 1`
fi
}
......@@ -378,14 +376,14 @@ checkRsh () {
checkSsh () {
checkTelnetPort $HOST_NAME 22
echo "`fixlen "Test_ssh:" 25` `fixlen "$RESULT" 45` "yes""
if [ "$RESULT" != 'Successful' ]; then
if [ "$RESULT" != Successful ]; then
SSHRSHOK=`expr $SSHRSHOK + 1`
fi
}
checkOpenFOAMEnvironment() {
if [ ! -d "$WM_PROJECT_INST_DIR" -o ! -d "$WM_THIRD_PARTY_DIR" ]; then
[ -d "$WM_PROJECT_INST_DIR" ] && [ -d "$WM_THIRD_PARTY_DIR" ] || {
echo ""
echo "FATAL ERROR: OpenFOAM environment not configured."
echo ""
......@@ -394,22 +392,23 @@ checkOpenFOAMEnvironment() {
echo " to source the OpenFOAM environment."
echo ""
exit 1
fi
}
}
checkUserShell() {
case $USER_SHELL in
csh | tcsh)
USER_CONFIG_TYPE="cshrc"
echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
case $SHELL in
*/csh | */tcsh)
# USER_CONFIG_TYPE="cshrc"
echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}"
;;
bash | ksh)
USER_CONFIG_TYPE="bashrc"
echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
*/bash | */ksh)
# USER_CONFIG_TYPE="bashrc"
echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}"
;;
*) USER_CONFIG_TYPE=""
echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
*)
# USER_CONFIG_TYPE=""
echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}"
echo "FATAL ERROR: Cannot identify the shell you are running."
echo " OpenFOAM ${FOAM_VERSION} is compatible with "
echo " csh, tcsh, ksh and bash."
......@@ -435,15 +434,18 @@ checkHostName() {
checkOS () {
if [ "$OS" = "Linux" ] || [ "$OS" = "LinuxAMD64" ] || [ "$OS" = "SunOS" ]; then
echo "`fixlen "OS:" $WIDTH` ${OS} version ${OS_VERSION}"
else
case "$OS" in
Linux | LinuxAMD64 | SunOS )
echo "`fixlen "OS:" $WIDTH` ${OS} version $(uname -r)"
;;
*)
echo "FATAL ERROR: Incompatible operating system \"$OS\"."
echo " OpenFOAM ${FOAM_VERSION} is currently "
echo " available for Linux and SunOS only."
echo
FATALERROR=`expr $FATALERROR + 1`
fi
;;
esac
}
......@@ -485,6 +487,7 @@ hline
reportEnv '$WM_PROJECT_DIR' '$PATH' "yes"
echo ""
reportEnv '$FOAM_APPBIN' '$PATH' "yes"
reportEnv '$FOAM_SITE_APPBIN' '$PATH' "no"
reportEnv '$FOAM_USER_APPBIN' '$PATH' "no"
reportEnv '$WM_DIR' '$PATH' "yes"
hline
......@@ -495,6 +498,7 @@ hline
echo "$COL1 $COL2 $COL3 $COL4 $COL5"
hline
reportEnv '$FOAM_LIBBIN' '$LD_LIBRARY_PATH' "yes"
reportEnv '$FOAM_SITE_LIBBIN' '$LD_LIBRARY_PATH' "no"
reportEnv '$FOAM_USER_LIBBIN' '$LD_LIBRARY_PATH' "no"
reportEnv '$MPI_ARCH_PATH' '$LD_LIBRARY_PATH' "yes"
hline
......@@ -509,7 +513,7 @@ echo "$COL1 $COL2 $COL3"
hline
reportExecutable gcc "${WM_COMPILER_DIR}/bin/gcc"
reportExecutable gzip
if [ "$OS" = "Linux" ] ; then
if [ "$OS" = Linux ] ; then
reportExecutable tar
else
reportExecutable gtar
......
......@@ -34,7 +34,7 @@
# STATIC VARIABLES
# ~~~~~~~~~~~~~~~~
FOAM_VERSION=1.5
FOAM_VERSION=1.6
HLINE="-----------------------------------------------------------------------"
WIDTH=16
......
......@@ -45,15 +45,19 @@ setenv WM_LINK_LANGUAGE c++
setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
# base configuration
setenv FOAM_SRC $WM_PROJECT_DIR/src
setenv FOAM_LIB $WM_PROJECT_DIR/lib
setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS
setenv FOAM_APP $WM_PROJECT_DIR/applications
setenv FOAM_APPBIN $WM_PROJECT_DIR/applications/bin/$WM_OPTIONS
setenv FOAM_LIB $WM_PROJECT_DIR/lib
setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS
setenv FOAM_SRC $WM_PROJECT_DIR/src
# shared site configuration - similar naming convention as ~OpenFOAM expansion
setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
# user configuration
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS
setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
# convenience
setenv FOAM_TUTORIALS $WM_PROJECT_DIR/tutorials
......@@ -65,8 +69,10 @@ setenv FOAM_RUN $WM_PROJECT_USER_DIR/run
set path=($WM_DIR $WM_PROJECT_DIR/bin $path)
_foamAddPath $FOAM_APPBIN
_foamAddPath $FOAM_SITE_APPBIN
_foamAddPath $FOAM_USER_APPBIN
_foamAddLib $FOAM_LIBBIN
_foamAddLib $FOAM_SITE_LIBBIN
_foamAddLib $FOAM_USER_LIBBIN
......
......@@ -61,15 +61,19 @@ export WM_LINK_LANGUAGE=c++
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
# base configuration
export FOAM_SRC=$WM_PROJECT_DIR/src
export FOAM_LIB=$WM_PROJECT_DIR/lib
export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS
export FOAM_APP=$WM_PROJECT_DIR/applications
export FOAM_APPBIN=$WM_PROJECT_DIR/applications/bin/$WM_OPTIONS
export FOAM_LIB=$WM_PROJECT_DIR/lib
export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS
export FOAM_SRC=$WM_PROJECT_DIR/src
# shared site configuration - similar naming convention as ~OpenFOAM expansion
export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS
export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS
# user configuration
export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS
export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS
# convenience
export FOAM_TUTORIALS=$WM_PROJECT_DIR/tutorials
......@@ -80,8 +84,8 @@ export FOAM_RUN=$WM_PROJECT_USER_DIR/run
# add OpenFOAM scripts and wmake to the path
export PATH=$WM_DIR:$WM_PROJECT_DIR/bin:$PATH
_foamAddPath $FOAM_APPBIN $FOAM_USER_APPBIN
_foamAddLib $FOAM_LIBBIN $FOAM_USER_LIBBIN
_foamAddPath $FOAM_APPBIN $FOAM_SITE_APPBIN $FOAM_USER_APPBIN
_foamAddLib $FOAM_LIBBIN $FOAM_SITE_LIBBIN $FOAM_USER_LIBBIN
# Compiler settings
......
......@@ -129,14 +129,18 @@ void Foam::argList::getRootCase()
casePath = iter();
casePath.removeRepeated('/');
casePath.removeTrailing('/');
// handle degenerate form and '-case .' like no -case specified
if (casePath.empty() || casePath == ".")
{
casePath = cwd();
options_.erase("case");
}
}
else
{
// nothing specified, use the current dir
casePath = cwd();
// we could add this back in as '-case'?
// options_.set("case", casePath);
}
rootPath_ = casePath.path();
......@@ -522,8 +526,25 @@ Foam::argList::argList
}
jobInfo.write();
// Set the case as an environment variable
setEnv("FOAM_CASE", rootPath_/globalCase_, true);
// Set the case and case-name as an environment variable
if (rootPath_[0] == '/')
{
// absolute path
setEnv("FOAM_CASE", rootPath_/globalCase_, true);
}
else if (rootPath_ == ".")
{
// relative to the current working directory
setEnv("FOAM_CASE", cwd()/globalCase_, true);
}
else
{
// qualify relative path
setEnv("FOAM_CASE", cwd()/rootPath_/globalCase_, true);
}
setEnv("FOAM_CASENAME", globalCase_, true);
// Switch on signal trapping. We have to wait until after Pstream::init
// since this sets up its own ones.
......
......@@ -54,6 +54,8 @@ Description
The environment variable @b FOAM_CASE is set to the path of the
global case (same for serial and parallel jobs).
The environment variable @b FOAM_CASENAME is set to the name of the
global case.
Note
- Adjustment of the valid (mandatory) arguments
......
......@@ -5,6 +5,8 @@ linearValveFvMesh/linearValveFvMesh.C
linearValveLayersFvMesh/linearValveLayersFvMesh.C
*/
movingConeTopoFvMesh/movingConeTopoFvMesh.C
/*
mixerFvMesh/mixerFvMesh.C
*/
LIB = $(FOAM_LIBBIN)/libtopoChangerFvMesh
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment