FEATURE: Updates to coupled solver and linear solvers. Author: Hrvoje Jasak. Merge: Dominik Christ.
This commit is contained in:
commit
fac323eb99
61 changed files with 1813 additions and 250 deletions
33
ThirdParty/AllMake.stage1
vendored
33
ThirdParty/AllMake.stage1
vendored
|
@ -62,22 +62,35 @@ echo
|
|||
|
||||
# Gcc and companion libraries
|
||||
#
|
||||
# Uncomment the following 3 lines for gcc-4.4.5. You need gmp and mpfr for gcc-4.4.5
|
||||
#( rpm_make -p gmp-5.0.1 -s gmp-5.0.1.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.gz )
|
||||
#( rpm_make -p mpfr-3.0.1 -s mpfr-3.0.1.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.0.1.tar.gz )
|
||||
#( rpm_make -p gcc-4.4.5 -s gcc-4.4.5.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.4.5/gcc-4.4.5.tar.gz )
|
||||
# Uncomment the following 4 lines for gcc-4.9.2. You need gmp, mpfr and mpc for gcc-4.9.2
|
||||
#( rpm_make -p gmp-5.1.2 -s gmp-5.1.2.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2 )
|
||||
#( rpm_make -p mpfr-3.1.2 -s mpfr-3.1.2.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.gz )
|
||||
#( rpm_make -p mpc-1.0.1 -s mpc-1.0.1.spec -u http://www.multiprecision.org/mpc/download/mpc-1.0.1.tar.gz )
|
||||
#( rpm_make -p gcc-4.9.2 -s gcc-4.9.2.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz )
|
||||
#
|
||||
# Uncomment the following 4 lines for gcc-4.7.4. You need gmp, mpfr and mpc for gcc-4.7.4
|
||||
#( rpm_make -p gmp-5.1.2 -s gmp-5.1.2.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2 )
|
||||
#( rpm_make -p mpfr-3.1.2 -s mpfr-3.1.2.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.gz )
|
||||
#( rpm_make -p mpc-1.0.1 -s mpc-1.0.1.spec -u http://www.multiprecision.org/mpc/download/mpc-1.0.1.tar.gz )
|
||||
#( rpm_make -p gcc-4.7.4 -s gcc-4.7.4.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.7.4/gcc-4.7.4.tar.gz )
|
||||
#
|
||||
# Uncomment the following 4 lines for gcc-4.6.4. You need gmp, mpfr and mpc for gcc-4.6.4
|
||||
#( rpm_make -p gmp-5.1.2 -s gmp-5.1.2.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2 )
|
||||
#( rpm_make -p mpfr-3.1.2 -s mpfr-3.1.2.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.gz )
|
||||
#( rpm_make -p mpc-1.0.1 -s mpc-1.0.1.spec -u http://www.multiprecision.org/mpc/download/mpc-1.0.1.tar.gz )
|
||||
#( rpm_make -p gcc-4.6.4 -s gcc-4.6.4.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.4/gcc-4.6.4.tar.gz )
|
||||
#
|
||||
# Uncomment the following 4 lines for gcc-4.5.1. You need gmp, mpfr and mpc for gcc-4.5.1
|
||||
#( rpm_make -p gmp-5.0.1 -s gmp-5.0.1.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.gz )
|
||||
#( rpm_make -p mpfr-3.0.1 -s mpfr-3.0.1.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.0.1.tar.gz )
|
||||
#( rpm_make -p mpc-0.8.2 -s mpc-0.8.2.spec -u http://www.multiprecision.org/mpc/download/mpc-0.8.2.tar.gz )
|
||||
#( rpm_make -p gcc-4.5.1 -s gcc-4.5.1.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.gz )
|
||||
|
||||
# Uncomment the following 4 lines for gcc-4.6.3. You need gmp, mpfr and mpc for gcc-4.6.3
|
||||
#( rpm_make -p gmp-5.0.5 -s gmp-5.0.5.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.5.tar.bz2 )
|
||||
#( rpm_make -p mpfr-3.1.0 -s mpfr-3.1.0.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.1.0.tar.gz )
|
||||
#( rpm_make -p mpc-0.9 -s mpc-0.9.spec -u http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz )
|
||||
#( rpm_make -p gcc-4.6.3 -s gcc-4.6.3.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.3/gcc-4.6.3.tar.gz )
|
||||
#
|
||||
# Uncomment the following 3 lines for gcc-4.4.5. You need gmp and mpfr for gcc-4.4.5
|
||||
#( rpm_make -p gmp-5.0.1 -s gmp-5.0.1.spec -u ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.gz )
|
||||
#( rpm_make -p mpfr-3.0.1 -s mpfr-3.0.1.spec -u ftp://ftp.gnu.org/gnu/mpfr/mpfr-3.0.1.tar.gz )
|
||||
#( rpm_make -p gcc-4.4.5 -s gcc-4.4.5.spec -u ftp://ftp.gnu.org/gnu/gcc/gcc-4.4.5/gcc-4.4.5.tar.gz )
|
||||
#
|
||||
|
||||
# Python
|
||||
#( rpm_make -p Python-2.7 -s Python-2.7.spec -u http://www.python.org/ftp/python/2.7/Python-2.7.tgz )
|
||||
|
|
12
ThirdParty/rpmBuild/SOURCES/ParaView-4.2.0.patch_darwin
vendored
Normal file
12
ThirdParty/rpmBuild/SOURCES/ParaView-4.2.0.patch_darwin
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -ruN ParaView-4.2.0_orig/Applications/ParaView-4.2.0_extra_install_Darwin.cmake ParaView-4.2.0/Applications/ParaView-4.2.0_extra_install_Darwin.cmake
|
||||
--- ParaView-4.2.0_orig/Applications/ParaView-4.2.0_extra_install_Darwin.cmake 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ ParaView-4.2.0/Applications/ParaView-4.2.0_extra_install_Darwin.cmake 2013-10-02 19:00:00.000000000 -0400
|
||||
@@ -0,0 +1,8 @@
|
||||
+#
|
||||
+# Additional install rules for Mac OS X platforms
|
||||
+#
|
||||
+INSTALL (DIRECTORY ../../buildObj/bin/paraview.app
|
||||
+ DESTINATION ${PV_INSTALL_BIN_DIR}
|
||||
+ USE_SOURCE_PERMISSIONS
|
||||
+ COMPONENT Runtime)
|
||||
+
|
274
ThirdParty/rpmBuild/SPECS/ParaView-4.2.0.spec
vendored
Normal file
274
ThirdParty/rpmBuild/SPECS/ParaView-4.2.0.spec
vendored
Normal file
|
@ -0,0 +1,274 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# RPM spec file for ParaView-4.2.0
|
||||
#
|
||||
# Description
|
||||
# RPM spec file for creating a relocatable RPM
|
||||
#
|
||||
# Authors:
|
||||
# Martin Beaudoin, Hydro-Quebec, (2010)
|
||||
# Andreas Feymark, Chalmers University of Technology, (2013)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
|
||||
%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
|
||||
%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
|
||||
|
||||
# Disable the generation of debuginfo packages
|
||||
%define debug_package %{nil}
|
||||
|
||||
# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
|
||||
%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
|
||||
%define _tmppath %{_topdir}/tmp
|
||||
|
||||
# Will install the package directly $WM_THIRD_PARTY_DIR
|
||||
# Some comments about package relocation:
|
||||
# By using this prefix for the Prefix: parameter in this file, you will make this
|
||||
# package relocatable.
|
||||
#
|
||||
# This is fine, as long as your software is itself relocatable.
|
||||
#
|
||||
# Simply take note that libraries built with libtool are not relocatable because the
|
||||
# prefix we specify will be hard-coded in the library .la files.
|
||||
# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
|
||||
#
|
||||
# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
|
||||
# not be able to reutilize this RPM, even though it is relocatable. You will need to
|
||||
# regenerate the RPM.
|
||||
#
|
||||
%define _prefix %{_WM_THIRD_PARTY_DIR}
|
||||
|
||||
%define name ParaView
|
||||
%define release %{_WM_OPTIONS}
|
||||
%define version 4.2.0
|
||||
|
||||
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||
|
||||
BuildRoot: %{buildroot}
|
||||
Summary: ParaView
|
||||
License: Unkown
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: http://www.paraview.org/files/v4.2/
|
||||
Source: %url/%{name}-v%{version}-source.tar.gz
|
||||
Prefix: %{_prefix}
|
||||
Group: Development/Tools
|
||||
Patch0: paraview-4.2.0.patch_darwin
|
||||
|
||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Here, we define default compiling options for cmake
|
||||
#
|
||||
# One can override the option on the commande line : --define='MACRO EXPR'
|
||||
#
|
||||
%{!?_withVerbose: %define _withVerbose false}
|
||||
%{!?_withMesa: %define _withMesa false}
|
||||
%{!?_withMPI: %define _withMPI false}
|
||||
%{!?_withPython: %define _withPython false}
|
||||
%{!?_withQt: %define _withQt true}
|
||||
%{!?_qmakePath: %define _qmakePath Undefined}
|
||||
%{!?_mesaIncludePath: %define _mesaIncludePath Undefined}
|
||||
%{!?_mesaLibPath: %define _mesaLibPath Undefined}
|
||||
%{!?_pythonLibPath: %define _pythonLibPath Undefined}
|
||||
|
||||
#--------------------------------------------------------------------------
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-v%{version}-source
|
||||
|
||||
%ifos darwin
|
||||
%patch0 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
#
|
||||
# set CMake cache variables
|
||||
#
|
||||
addCMakeVariable()
|
||||
{
|
||||
while [ -n "$1" ]
|
||||
do
|
||||
CMAKE_VARIABLES="$CMAKE_VARIABLES -D$1"
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
# export WM settings in a form that GNU configure recognizes
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
|
||||
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
|
||||
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
|
||||
|
||||
set +x
|
||||
echo ""
|
||||
echo "Compilation options:"
|
||||
echo " _withVerbose : %{_withVerbose}"
|
||||
echo " _withMesa : %{_withMesa}"
|
||||
echo " _withMPI : %{_withMPI}"
|
||||
echo " _withPython : %{_withPython}"
|
||||
echo " _withQt : %{_withQt}"
|
||||
echo " _qmakePath : %{_qmakePath}"
|
||||
echo " _mesaIncludePath : %{_mesaIncludePath}"
|
||||
echo " _mesaLibPath : %{_mesaLibPath}"
|
||||
echo " _pythonLibPath : %{_pythonLibPath}"
|
||||
echo ""
|
||||
set -x
|
||||
|
||||
# start with these general settings
|
||||
addCMakeVariable VTK_USE_TK:BOOL=OFF
|
||||
addCMakeVariable BUILD_SHARED_LIBS:BOOL=ON VTK_USE_RPATH:BOOL=OFF
|
||||
addCMakeVariable CMAKE_BUILD_TYPE:STRING=Release
|
||||
|
||||
# include development files in "make install"
|
||||
addCMakeVariable PARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=ON
|
||||
|
||||
# new alternative to "make HTMLDocumentation"
|
||||
addCMakeVariable PARAVIEW_GENERATE_PROXY_DOCUMENTATION:BOOL=ON
|
||||
|
||||
%ifos darwin
|
||||
# Additional installation rules for Mac OS X
|
||||
addCMakeVariable PARAVIEW_EXTRA_INSTALL_RULES_FILE:FILEPATH=%{_topdir}/BUILD/%{name}-%{version}/Applications/ParaView-3.8.1_extra_install_Darwin.cmake
|
||||
%endif
|
||||
|
||||
# Add the value of _qmakePath for QT_QMAKE_EXECUTABLE
|
||||
addCMakeVariable QT_QMAKE_EXECUTABLE:FILEPATH=%{_qmakePath}
|
||||
|
||||
echo "CMAKE_VARIABLES: $CMAKE_VARIABLES"
|
||||
|
||||
mkdir -p ./buildObj
|
||||
cd ./buildObj
|
||||
|
||||
cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=%{_installPrefix} \
|
||||
$CMAKE_VARIABLES \
|
||||
..
|
||||
|
||||
[ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
|
||||
make -j $WM_NCOMPPROCS
|
||||
|
||||
%install
|
||||
# On OpenSUSE, rpmbuild, will choke when detecting unreferenced symlinks
|
||||
# created during installation.
|
||||
# Qt version 4.6.3 will generate some unreferenced symlinks when
|
||||
# ParaView is compiled and installed. By enabling the following
|
||||
# environment variable, the command brp-symlink will still complain
|
||||
# about missing link targets, but it won't stop rpmbuild from generating
|
||||
# the final rpm.
|
||||
# For all other Unix distros, this is a no-op.
|
||||
export NO_BRP_STALE_LINK_ERROR=yes
|
||||
|
||||
cd buildObj
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
# Creation of foam-extend specific .csh and .sh files"
|
||||
|
||||
echo ""
|
||||
echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
|
||||
echo ""
|
||||
#
|
||||
# Generate package specific .sh file for foam-extend
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
|
||||
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export PARAVIEW_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
export PARAVIEW_BIN_DIR=\$PARAVIEW_DIR/bin
|
||||
export PARAVIEW_LIB_DIR=\$PARAVIEW_DIR/lib
|
||||
export PARAVIEW_INCLUDE_DIR=\$PARAVIEW_DIR/include/paraview-4.2
|
||||
|
||||
export PARAVIEW_VERSION=%{version}
|
||||
|
||||
# NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins.
|
||||
# Otherwise, paraview will try to automatically autoload each and every dynamic library it can find in the
|
||||
# specified directory to see if a given library is a paraview plugin.
|
||||
# In the case of \$FOAM_LIBBIN, with over 80 libraries, this is a total waste of time that will slow down the
|
||||
# startup of paraview or even make paraview crash on startup.
|
||||
export PV_PLUGIN_PATH=\$FOAM_LIBBIN/paraview_plugins
|
||||
|
||||
[ -d \$PARAVIEW_LIB_DIR/paraview-4.2 ] && _foamAddLib \$PARAVIEW_LIB_DIR/paraview-4.2
|
||||
|
||||
# Enable access to the package applications if present
|
||||
[ -d \$PARAVIEW_BIN_DIR ] && _foamAddPath \$PARAVIEW_BIN_DIR
|
||||
|
||||
# Additional binary path if running on Mac OS X
|
||||
[ -d \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS ] && _foamAddPath \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS
|
||||
|
||||
DOT_SH_EOF
|
||||
|
||||
#
|
||||
# Generate package specific .csh file for foam-extend
|
||||
#
|
||||
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
setenv PARAVIEW_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
setenv PARAVIEW_BIN_DIR \$PARAVIEW_DIR/bin
|
||||
setenv PARAVIEW_LIB_DIR \$PARAVIEW_DIR/lib
|
||||
setenv PARAVIEW_INCLUDE_DIR \$PARAVIEW_DIR/include/paraview-4.2
|
||||
|
||||
setenv PARAVIEW_VERSION %{version}
|
||||
|
||||
# NB: It is important to set the PV_PLUGIN_PATH location to a directory containing only the ParaView plugins.
|
||||
# Otherwise, paraview will try to automatically autoload each and every dynamic library it can find in the
|
||||
# specified directory to see if a given library is a paraview plugin.
|
||||
# In the case of \$FOAM_LIBBIN, with over 80 libraries, this is a total waste of time that will slow down the
|
||||
# startup of paraview or even make paraview crash on startup.
|
||||
setenv PV_PLUGIN_PATH \$FOAM_LIBBIN/paraview_plugins
|
||||
|
||||
if ( -e \$PARAVIEW_BIN_DIR ) then
|
||||
_foamAddPath \$PARAVIEW_BIN_DIR
|
||||
endif
|
||||
|
||||
if ( -e \$PARAVIEW_LIB_DIR/paraview-4.2 ) then
|
||||
_foamAddLib \$PARAVIEW_LIB_DIR/paraview-4.2
|
||||
endif
|
||||
|
||||
|
||||
# Additional binary path if running on Mac OS X
|
||||
if ( -e \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS ) then
|
||||
_foamAddPath \$PARAVIEW_BIN_DIR/paraview.app/Contents/MacOS
|
||||
endif
|
||||
DOT_CSH_EOF
|
||||
|
||||
#finally, generate a .tgz file for systems where using rpm for installing packages
|
||||
# as a non-root user might be a problem.
|
||||
(mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
|
||||
|
||||
%clean
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_installPrefix}
|
||||
|
174
ThirdParty/rpmBuild/SPECS/gcc-4.7.4.spec
vendored
Normal file
174
ThirdParty/rpmBuild/SPECS/gcc-4.7.4.spec
vendored
Normal file
|
@ -0,0 +1,174 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# RPM spec file for gcc-4.7.4
|
||||
#
|
||||
# Description
|
||||
# RPM spec file for creating a relocatable RPM
|
||||
#
|
||||
# Author:
|
||||
# Hrvoje Jasak, Wikki Ltd. (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
|
||||
%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
|
||||
%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
|
||||
|
||||
# Disable the generation of debuginfo packages
|
||||
%define debug_package %{nil}
|
||||
|
||||
# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
|
||||
%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
|
||||
%define _tmppath %{_topdir}/tmp
|
||||
|
||||
# Will install the package directly $WM_THIRD_PARTY_DIR
|
||||
# Some comments about package relocation:
|
||||
# By using this prefix for the Prefix: parameter in thi file, you will make this
|
||||
# package relocatable.
|
||||
#
|
||||
# This is fine, as long as your software is itself relocatable.
|
||||
#
|
||||
# Simply take note that libraries built with libtool are not relocatable because the
|
||||
# prefix we specify will be hard-coded in the library .la files.
|
||||
# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
|
||||
#
|
||||
# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
|
||||
# not be able to reutilize this RPM, even though it is relocatable. You will need to
|
||||
# regenerate the RPM.
|
||||
#
|
||||
%define _prefix %{_WM_THIRD_PARTY_DIR}
|
||||
|
||||
%define name gcc
|
||||
%define release %{_WM_OPTIONS}
|
||||
%define version 4.7.4
|
||||
|
||||
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||
|
||||
BuildRoot: %{buildroot}
|
||||
Summary: gcc
|
||||
License: Unkown
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: ftp://ftp.gnu.org/gnu/gcc/gcc-4.7.4
|
||||
Source: %url/%{name}-%{version}.tar.gz
|
||||
Prefix: %{_prefix}
|
||||
Group: Development/Tools
|
||||
|
||||
|
||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
# export WM settings in a form that GNU configure recognizes
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
|
||||
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
|
||||
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
|
||||
|
||||
GMP_VERSION=gmp-5.1.2
|
||||
MPFR_VERSION=mpfr-3.1.2
|
||||
MPC_VERSION=mpc-1.0.1
|
||||
|
||||
mkdir ./objBuildDir
|
||||
cd ./objBuildDir
|
||||
|
||||
../configure \
|
||||
--prefix=%{_installPrefix} \
|
||||
--enable-languages=c,c++ \
|
||||
--enable-shared \
|
||||
--disable-multilib \
|
||||
--with-mpc=$WM_THIRD_PARTY_DIR/packages/$MPC_VERSION/platforms/$WM_OPTIONS \
|
||||
--with-gmp=$WM_THIRD_PARTY_DIR/packages/$GMP_VERSION/platforms/$WM_OPTIONS \
|
||||
--with-mpfr=$WM_THIRD_PARTY_DIR/packages/$MPFR_VERSION/platforms/$WM_OPTIONS
|
||||
|
||||
[ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
|
||||
make -j $WM_NCOMPPROCS
|
||||
|
||||
%install
|
||||
cd ./objBuildDir
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
# Creation of foam-extend specific .csh and .sh files"
|
||||
|
||||
echo ""
|
||||
echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
|
||||
echo ""
|
||||
#
|
||||
# Generate package specific .sh file for foam-extend
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
|
||||
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export GCC_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
[ -d \$GCC_DIR/lib ] && _foamAddLib \$GCC_DIR/lib
|
||||
|
||||
[ -d \$GCC_DIR/lib64 ] && _foamAddLib \$GCC_DIR/lib64
|
||||
|
||||
# Enable access to the package applications if present
|
||||
[ -d \$GCC_DIR/bin ] && _foamAddPath \$GCC_DIR/bin
|
||||
DOT_SH_EOF
|
||||
|
||||
#
|
||||
# Generate package specific .csh file for foam-extend
|
||||
#
|
||||
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
setenv GCC_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
if ( -e \$GCC_DIR/lib ) then
|
||||
_foamAddLib \$GCC_DIR/lib
|
||||
endif
|
||||
|
||||
if ( -e \$GCC_DIR/lib64 ) then
|
||||
_foamAddLib \$GCC_DIR/lib64
|
||||
endif
|
||||
|
||||
if ( -e \$GCC_DIR/bin ) then
|
||||
_foamAddPath \$GCC_DIR/bin
|
||||
endif
|
||||
DOT_CSH_EOF
|
||||
|
||||
#finally, generate a .tgz file for systems where using rpm for installing packages
|
||||
# as a non-root user might be a problem.
|
||||
(mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_installPrefix}
|
174
ThirdParty/rpmBuild/SPECS/gcc-4.9.2.spec
vendored
Normal file
174
ThirdParty/rpmBuild/SPECS/gcc-4.9.2.spec
vendored
Normal file
|
@ -0,0 +1,174 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# RPM spec file for gcc-4.9.2
|
||||
#
|
||||
# Description
|
||||
# RPM spec file for creating a relocatable RPM
|
||||
#
|
||||
# Author:
|
||||
# Hrvoje Jasak, Wikki Ltd. (2015)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
|
||||
%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
|
||||
%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
|
||||
|
||||
# Disable the generation of debuginfo packages
|
||||
%define debug_package %{nil}
|
||||
|
||||
# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
|
||||
%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
|
||||
%define _tmppath %{_topdir}/tmp
|
||||
|
||||
# Will install the package directly $WM_THIRD_PARTY_DIR
|
||||
# Some comments about package relocation:
|
||||
# By using this prefix for the Prefix: parameter in thi file, you will make this
|
||||
# package relocatable.
|
||||
#
|
||||
# This is fine, as long as your software is itself relocatable.
|
||||
#
|
||||
# Simply take note that libraries built with libtool are not relocatable because the
|
||||
# prefix we specify will be hard-coded in the library .la files.
|
||||
# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
|
||||
#
|
||||
# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
|
||||
# not be able to reutilize this RPM, even though it is relocatable. You will need to
|
||||
# regenerate the RPM.
|
||||
#
|
||||
%define _prefix %{_WM_THIRD_PARTY_DIR}
|
||||
|
||||
%define name gcc
|
||||
%define release %{_WM_OPTIONS}
|
||||
%define version 4.9.2
|
||||
|
||||
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||
|
||||
BuildRoot: %{buildroot}
|
||||
Summary: gcc
|
||||
License: Unkown
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.2
|
||||
Source: %url/%{name}-%{version}.tar.gz
|
||||
Prefix: %{_prefix}
|
||||
Group: Development/Tools
|
||||
|
||||
|
||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
# export WM settings in a form that GNU configure recognizes
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
|
||||
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
|
||||
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
|
||||
|
||||
GMP_VERSION=gmp-5.1.2
|
||||
MPFR_VERSION=mpfr-3.1.2
|
||||
MPC_VERSION=mpc-1.0.1
|
||||
|
||||
mkdir ./objBuildDir
|
||||
cd ./objBuildDir
|
||||
|
||||
../configure \
|
||||
--prefix=%{_installPrefix} \
|
||||
--enable-languages=c,c++ \
|
||||
--enable-shared \
|
||||
--disable-multilib \
|
||||
--with-mpc=$WM_THIRD_PARTY_DIR/packages/$MPC_VERSION/platforms/$WM_OPTIONS \
|
||||
--with-gmp=$WM_THIRD_PARTY_DIR/packages/$GMP_VERSION/platforms/$WM_OPTIONS \
|
||||
--with-mpfr=$WM_THIRD_PARTY_DIR/packages/$MPFR_VERSION/platforms/$WM_OPTIONS
|
||||
|
||||
[ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
|
||||
make -j $WM_NCOMPPROCS
|
||||
|
||||
%install
|
||||
cd ./objBuildDir
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
# Creation of foam-extend specific .csh and .sh files"
|
||||
|
||||
echo ""
|
||||
echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
|
||||
echo ""
|
||||
#
|
||||
# Generate package specific .sh file for foam-extend
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
|
||||
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export GCC_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
[ -d \$GCC_DIR/lib ] && _foamAddLib \$GCC_DIR/lib
|
||||
|
||||
[ -d \$GCC_DIR/lib64 ] && _foamAddLib \$GCC_DIR/lib64
|
||||
|
||||
# Enable access to the package applications if present
|
||||
[ -d \$GCC_DIR/bin ] && _foamAddPath \$GCC_DIR/bin
|
||||
DOT_SH_EOF
|
||||
|
||||
#
|
||||
# Generate package specific .csh file for foam-extend
|
||||
#
|
||||
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
setenv GCC_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
if ( -e \$GCC_DIR/lib ) then
|
||||
_foamAddLib \$GCC_DIR/lib
|
||||
endif
|
||||
|
||||
if ( -e \$GCC_DIR/lib64 ) then
|
||||
_foamAddLib \$GCC_DIR/lib64
|
||||
endif
|
||||
|
||||
if ( -e \$GCC_DIR/bin ) then
|
||||
_foamAddPath \$GCC_DIR/bin
|
||||
endif
|
||||
DOT_CSH_EOF
|
||||
|
||||
#finally, generate a .tgz file for systems where using rpm for installing packages
|
||||
# as a non-root user might be a problem.
|
||||
(mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_installPrefix}
|
155
ThirdParty/rpmBuild/SPECS/gmp-4.3.2.spec
vendored
Normal file
155
ThirdParty/rpmBuild/SPECS/gmp-4.3.2.spec
vendored
Normal file
|
@ -0,0 +1,155 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# RPM spec file for gmp-4.3.2
|
||||
#
|
||||
# Description
|
||||
# RPM spec file for creating a relocatable RPM
|
||||
#
|
||||
# Author:
|
||||
# Martin Beaudoin, Hydro-Quebec, (2010)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
|
||||
%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
|
||||
%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
|
||||
|
||||
# Disable the generation of debuginfo packages
|
||||
%define debug_package %{nil}
|
||||
|
||||
# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
|
||||
%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
|
||||
%define _tmppath %{_topdir}/tmp
|
||||
|
||||
# Will install the package directly $WM_THIRD_PARTY_DIR
|
||||
# Some comments about package relocation:
|
||||
# By using this prefix for the Prefix: parameter in thi file, you will make this
|
||||
# package relocatable.
|
||||
#
|
||||
# This is fine, as long as your software is itself relocatable.
|
||||
#
|
||||
# Simply take note that libraries built with libtool are not relocatable because the
|
||||
# prefix we specify will be hard-coded in the library .la files.
|
||||
# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
|
||||
#
|
||||
# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
|
||||
# not be able to reutilize this RPM, even though it is relocatable. You will need to
|
||||
# regenerate the RPM.
|
||||
#
|
||||
%define _prefix %{_WM_THIRD_PARTY_DIR}
|
||||
|
||||
%define name gmp
|
||||
%define release %{_WM_OPTIONS}
|
||||
%define version 4.3.2
|
||||
|
||||
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||
|
||||
BuildRoot: %{buildroot}
|
||||
Summary: gmp
|
||||
License: Unkown
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: ftp://ftp.gnu.org/gnu/gmp
|
||||
Source: %url/%{name}-%{version}.tar.bz2
|
||||
Prefix: %{_prefix}
|
||||
Group: Development/Tools
|
||||
|
||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
# export WM settings in a form that GNU configure recognizes
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
|
||||
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
|
||||
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
|
||||
|
||||
./configure --prefix=%{_installPrefix}
|
||||
|
||||
[ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
|
||||
make -j $WM_NCOMPPROCS
|
||||
|
||||
%install
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
# Creation of foam-extend specific .csh and .sh files"
|
||||
|
||||
echo ""
|
||||
echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
|
||||
echo ""
|
||||
#
|
||||
# Generate package specific .sh file for foam-extend
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
|
||||
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export GMP_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
[ -d \$GMP_DIR/lib ] && _foamAddLib \$GMP_DIR/lib
|
||||
|
||||
# Enable access to the package applications if present
|
||||
[ -d \$GMP_DIR/bin ] && _foamAddPath \$GMP_DIR/bin
|
||||
DOT_SH_EOF
|
||||
|
||||
#
|
||||
# Generate package specific .csh file for foam-extend
|
||||
#
|
||||
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
setenv GMP_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
if ( -e \$GMP_DIR/lib ) then
|
||||
_foamAddLib \$GMP_DIR/lib
|
||||
endif
|
||||
|
||||
if ( -e \$GMP_DIR/bin ) then
|
||||
_foamAddPath \$GMP_DIR/bin
|
||||
endif
|
||||
DOT_CSH_EOF
|
||||
|
||||
#finally, generate a .tgz file for systems where using rpm for installing packages
|
||||
# as a non-root user might be a problem.
|
||||
(mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_installPrefix}/etc
|
||||
%{_installPrefix}/include
|
||||
%{_installPrefix}/lib
|
||||
%{_installPrefix}/share
|
||||
|
157
ThirdParty/rpmBuild/SPECS/mpfr-2.4.2.spec
vendored
Normal file
157
ThirdParty/rpmBuild/SPECS/mpfr-2.4.2.spec
vendored
Normal file
|
@ -0,0 +1,157 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# RPM spec file for mpfr-2.4.2
|
||||
#
|
||||
# Description
|
||||
# RPM spec file for creating a relocatable RPM
|
||||
#
|
||||
# Author:
|
||||
# Martin Beaudoin, Hydro-Quebec, (2010)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
|
||||
%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
|
||||
%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
|
||||
|
||||
# Disable the generation of debuginfo packages
|
||||
%define debug_package %{nil}
|
||||
|
||||
# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
|
||||
%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
|
||||
%define _tmppath %{_topdir}/tmp
|
||||
|
||||
# Will install the package directly $WM_THIRD_PARTY_DIR
|
||||
# Some comments about package relocation:
|
||||
# By using this prefix for the Prefix: parameter in thi file, you will make this
|
||||
# package relocatable.
|
||||
#
|
||||
# This is fine, as long as your software is itself relocatable.
|
||||
#
|
||||
# Simply take note that libraries built with libtool are not relocatable because the
|
||||
# prefix we specify will be hard-coded in the library .la files.
|
||||
# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
|
||||
#
|
||||
# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
|
||||
# not be able to reutilize this RPM, even though it is relocatable. You will need to
|
||||
# regenerate the RPM.
|
||||
#
|
||||
%define _prefix %{_WM_THIRD_PARTY_DIR}
|
||||
|
||||
%define name mpfr
|
||||
%define release %{_WM_OPTIONS}
|
||||
%define version 2.4.2
|
||||
|
||||
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||
|
||||
BuildRoot: %{buildroot}
|
||||
Summary: mpfr
|
||||
License: Unkown
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: http://www.mpfr.org/mpfr-current
|
||||
Source: %url/%{name}-%{version}.tar.gz
|
||||
Prefix: %{_prefix}
|
||||
Group: Development/Tools
|
||||
|
||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
# export WM settings in a form that GNU configure recognizes
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
|
||||
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
|
||||
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
|
||||
|
||||
GMP_VERSION=gmp-5.1.2
|
||||
./configure \
|
||||
--prefix=%{_installPrefix} \
|
||||
--with-gmp=$WM_THIRD_PARTY_DIR/packages/$GMP_VERSION/platforms/$WM_OPTIONS
|
||||
|
||||
[ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
|
||||
make -j $WM_NCOMPPROCS
|
||||
|
||||
%install
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
|
||||
# Creation of foam-extend specific .csh and .sh files"
|
||||
|
||||
echo ""
|
||||
echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
|
||||
echo ""
|
||||
#
|
||||
# Generate package specific .sh file for foam-extend
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
|
||||
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export MPFR_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
[ -d \$MPFR_DIR/lib ] && _foamAddLib \$MPFR_DIR/lib
|
||||
|
||||
# Enable access to the package applications if present
|
||||
[ -d \$MPFR_DIR/bin ] && _foamAddPath \$MPFR_DIR/bin
|
||||
DOT_SH_EOF
|
||||
|
||||
#
|
||||
# Generate package specific .csh file for foam-extend
|
||||
#
|
||||
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
setenv MPFR_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
|
||||
if ( -e \$MPFR_DIR/lib ) then
|
||||
_foamAddLib \$MPFR_DIR/lib
|
||||
endif
|
||||
|
||||
if ( -e \$MPFR_DIR/bin ) then
|
||||
_foamAddPath \$MPFR_DIR/bin
|
||||
endif
|
||||
DOT_CSH_EOF
|
||||
|
||||
#finally, generate a .tgz file for systems where using rpm for installing packages
|
||||
# as a non-root user might be a problem.
|
||||
(mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_installPrefix}
|
||||
|
183
ThirdParty/rpmBuild/SPECS/qt-everywhere-opensource-src-4.8.6.spec
vendored
Normal file
183
ThirdParty/rpmBuild/SPECS/qt-everywhere-opensource-src-4.8.6.spec
vendored
Normal file
|
@ -0,0 +1,183 @@
|
|||
#------------------------------------------------------------------------------
|
||||
# ========= |
|
||||
# \\ / F ield | foam-extend: Open Source CFD
|
||||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
# foam-extend is free software: you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation, either version 3 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# foam-extend is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Script
|
||||
# RPM spec file for qt-everywhere-opensource-src-4.8.6
|
||||
#
|
||||
# Description
|
||||
# RPM spec file for creating a relocatable RPM
|
||||
#
|
||||
# Author:
|
||||
# Martin Beaudoin, Hydro-Quebec, (2014)
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# We grab the value of WM_THIRD_PARTY and WM_OPTIONS from the environment variable
|
||||
%{expand:%%define _WM_THIRD_PARTY_DIR %(echo $WM_THIRD_PARTY_DIR)}
|
||||
%{expand:%%define _WM_OPTIONS %(echo $WM_OPTIONS)}
|
||||
|
||||
# Disable the generation of debuginfo packages
|
||||
%define debug_package %{nil}
|
||||
|
||||
# The topdir needs to point to the $WM_THIRD_PARTY/rpmbuild directory
|
||||
%define _topdir %{_WM_THIRD_PARTY_DIR}/rpmBuild
|
||||
%define _tmppath %{_topdir}/tmp
|
||||
|
||||
# Will install the package directly $WM_THIRD_PARTY_DIR
|
||||
# Some comments about package relocation:
|
||||
# By using this prefix for the Prefix: parameter in this file, you will make this
|
||||
# package relocatable.
|
||||
#
|
||||
# This is fine, as long as your software is itself relocatable.
|
||||
#
|
||||
# Simply take note that libraries built with libtool are not relocatable because the
|
||||
# prefix we specify will be hard-coded in the library .la files.
|
||||
# Ref: http://sourceware.org/autobook/autobook/autobook_80.html
|
||||
#
|
||||
# In that case, if you ever change the value of the $WM_THIRD_PARTY_DIR, you will
|
||||
# not be able to reutilize this RPM, even though it is relocatable. You will need to
|
||||
# regenerate the RPM.
|
||||
#
|
||||
%define _prefix %{_WM_THIRD_PARTY_DIR}
|
||||
|
||||
%define name qt-everywhere-opensource-src
|
||||
%define release %{_WM_OPTIONS}
|
||||
%define version 4.8.6
|
||||
|
||||
%define buildroot %{_topdir}/BUILD/%{name}-%{version}-root
|
||||
|
||||
%define _unpackaged_files_terminate_build 0
|
||||
%define _missing_doc_files_terminate_build 0
|
||||
|
||||
BuildRoot: %{buildroot}
|
||||
Summary: qt-everywhere-opensource-src
|
||||
License: Unkown
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
URL: http://download.qt-project.org/official_releases/qt/4.8/4.8.6
|
||||
Source: %url/%{name}-%{version}.tar.gz
|
||||
Prefix: %{_prefix}
|
||||
Group: Development/Tools
|
||||
|
||||
|
||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
# export WM settings in a form that GNU configure recognizes
|
||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||
[ -n "$WM_CFLAGS" ] && export CFLAGS="$WM_CFLAGS"
|
||||
[ -n "$WM_CXXFLAGS" ] && export CXXFLAGS="$WM_CXXFLAGS"
|
||||
[ -n "$WM_LDFLAGS" ] && export LDFLAGS="$WM_LDFLAGS"
|
||||
|
||||
%ifos darwin
|
||||
# Under Mac OS X, Qt 4.8 will only compile using the stock native g++ compiler supplied with Xcode.
|
||||
# If your native Mac OS X g++ compiler is not located under /usr/bin, simply adjust the redefinition of the following variables accordingly.
|
||||
# This is ugly, I know...
|
||||
export CC=/usr/bin/gcc
|
||||
export CXX=/usr/bin/g++
|
||||
export PATH=/usr/bin:$PATH
|
||||
%endif
|
||||
|
||||
./configure \
|
||||
-opensource --confirm-license=yes \
|
||||
-release -shared \
|
||||
-nomake examples -nomake demos \
|
||||
--prefix=%{_installPrefix}
|
||||
|
||||
# Explicitely specify LD_LIBRARY_PATH so it can find QT own libraries
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{_builddir}/%{name}-%{version}/lib
|
||||
|
||||
[ -z "$WM_NCOMPPROCS" ] && WM_NCOMPPROCS=1
|
||||
make -j $WM_NCOMPPROCS
|
||||
|
||||
%install
|
||||
# Makefiles generated by qmake do not to support the DESTDIR= option
|
||||
# We need to use the INSTALL_ROOT= option instead
|
||||
|
||||
# Somehow, we need to clean up for the RPM to install properly
|
||||
rm -rf %{_installPrefix}
|
||||
|
||||
make install INSTALL_ROOT=$RPM_BUILD_ROOT
|
||||
|
||||
# Creation of foam-extend specific .csh and .sh files"
|
||||
|
||||
echo ""
|
||||
echo "Generating foam-extend specific .csh and .sh files for the package %{name}-%{version}"
|
||||
echo ""
|
||||
#
|
||||
# Generate package specific .sh file for foam-extend
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_installPrefix}/etc
|
||||
cat << DOT_SH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.sh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export QT_DIR=\$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
export QT_BIN_DIR=\$QT_DIR/bin
|
||||
export QT_LIB_DIR=\$QT_DIR/lib
|
||||
|
||||
# Enable access to the runtime package applications
|
||||
[ -d \$QT_BIN_DIR ] && _foamAddPath \$QT_BIN_DIR
|
||||
[ -d \$QT_LIB_DIR ] && _foamAddLib \$QT_LIB_DIR
|
||||
DOT_SH_EOF
|
||||
|
||||
#
|
||||
# Generate package specific .csh file for foam-extend
|
||||
#
|
||||
cat << DOT_CSH_EOF > $RPM_BUILD_ROOT/%{_installPrefix}/etc/%{name}-%{version}.csh
|
||||
# Load %{name}-%{version} libraries and binaries if available
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
setenv QT_DIR \$WM_THIRD_PARTY_DIR/packages/%{name}-%{version}/platforms/\$WM_OPTIONS
|
||||
setenv QT_BIN_DIR \$QT_DIR/bin
|
||||
setenv QT_LIB_DIR \$QT_DIR/lib
|
||||
|
||||
if ( -e \$QT_BIN_DIR ) then
|
||||
_foamAddPath \$QT_BIN_DIR
|
||||
endif
|
||||
|
||||
if ( -e \$QT_LIB_DIR ) then
|
||||
_foamAddLib \$QT_LIB_DIR
|
||||
endif
|
||||
DOT_CSH_EOF
|
||||
|
||||
#finally, generate a .tgz file for systems where using rpm for installing packages
|
||||
# as a non-root user might be a problem.
|
||||
(mkdir -p %{_topdir}/TGZS/%{_target_cpu}; cd $RPM_BUILD_ROOT/%{_prefix}; tar -zcvf %{_topdir}/TGZS/%{_target_cpu}/%{name}-%{version}.tgz packages/%{name}-%{version})
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_installPrefix}
|
||||
|
||||
|
32
applications/solvers/coupled/pUCoupledFoam/boundPU.H
Normal file
32
applications/solvers/coupled/pUCoupledFoam/boundPU.H
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
// Bound the pressure
|
||||
dimensionedScalar p1 = min(p);
|
||||
dimensionedScalar p2 = max(p);
|
||||
|
||||
if (p1 < pMin || p2 > pMax)
|
||||
{
|
||||
Info<< "p: " << p1.value() << " " << p2.value()
|
||||
<< ". Bounding." << endl;
|
||||
|
||||
p.max(pMin);
|
||||
p.min(pMax);
|
||||
p.correctBoundaryConditions();
|
||||
}
|
||||
|
||||
// Bound the velocity
|
||||
volScalarField magU = mag(U);
|
||||
dimensionedScalar U1 = max(magU);
|
||||
|
||||
if (U1 > UMax)
|
||||
{
|
||||
Info<< "U: " << U1.value() << ". Bounding." << endl;
|
||||
|
||||
volScalarField Ulimiter = pos(magU - UMax)*UMax/(magU + smallU)
|
||||
+ neg(magU - UMax);
|
||||
Ulimiter.max(scalar(0));
|
||||
Ulimiter.min(scalar(1));
|
||||
|
||||
U *= Ulimiter;
|
||||
U.correctBoundaryConditions();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
// Check convergence
|
||||
if (maxResidual < convergenceCriterion)
|
||||
{
|
||||
Info<< "reached convergence criterion: " << convergenceCriterion << endl;
|
||||
runTime.writeAndEnd();
|
||||
Info<< "latestTime = " << runTime.timeName() << endl;
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
// initialize values for convergence checks
|
||||
|
||||
scalar maxResidual = 0;
|
||||
scalar convergenceCriterion = 0;
|
|
@ -52,11 +52,14 @@ int main(int argc, char *argv[])
|
|||
# include "createMesh.H"
|
||||
# include "createFields.H"
|
||||
# include "initContinuityErrs.H"
|
||||
# include "readBlockSolverControls.H"
|
||||
# include "initConvergenceCheck.H"
|
||||
|
||||
Info<< "\nStarting time loop\n" << endl;
|
||||
while (runTime.loop())
|
||||
{
|
||||
# include "readBlockSolverControls.H"
|
||||
# include "readFieldBounds.H"
|
||||
|
||||
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||
|
||||
p.storePrevIter();
|
||||
|
@ -74,7 +77,7 @@ int main(int argc, char *argv[])
|
|||
# include "couplingTerms.H"
|
||||
|
||||
// Solve the block matrix
|
||||
UpEqn.solve();
|
||||
maxResidual = cmptMax(UpEqn.solve().initialResidual());
|
||||
|
||||
// Retrieve solution
|
||||
UpEqn.retrieveSolution(0, U.internalField());
|
||||
|
@ -87,6 +90,8 @@ int main(int argc, char *argv[])
|
|||
|
||||
# include "continuityErrs.H"
|
||||
|
||||
# include "boundPU.H"
|
||||
|
||||
p.relax();
|
||||
|
||||
turbulence->correct();
|
||||
|
@ -95,6 +100,8 @@ int main(int argc, char *argv[])
|
|||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
|
||||
# include "convergenceCheck.H"
|
||||
}
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
|
|
|
@ -1,3 +1,15 @@
|
|||
label pRefCell = 0;
|
||||
scalar pRefValue = 0;
|
||||
setRefCell(p, mesh.solutionDict().subDict("blockSolver"), pRefCell, pRefValue);
|
||||
label pRefCell = 0;
|
||||
scalar pRefValue = 0;
|
||||
setRefCell
|
||||
(
|
||||
p,
|
||||
mesh.solutionDict().subDict("blockSolver"),
|
||||
pRefCell,
|
||||
pRefValue
|
||||
);
|
||||
|
||||
mesh.solutionDict().subDict("blockSolver").readIfPresent
|
||||
(
|
||||
"convergence",
|
||||
convergenceCriterion
|
||||
);
|
||||
|
|
14
applications/solvers/coupled/pUCoupledFoam/readFieldBounds.H
Normal file
14
applications/solvers/coupled/pUCoupledFoam/readFieldBounds.H
Normal file
|
@ -0,0 +1,14 @@
|
|||
// Read field bounds
|
||||
dictionary fieldBounds = mesh.solutionDict().subDict("fieldBounds");
|
||||
|
||||
// Pressure bounds
|
||||
dimensionedScalar pMin("pMin", p.dimensions(), 0);
|
||||
dimensionedScalar pMax("pMax", p.dimensions(), 0);
|
||||
|
||||
fieldBounds.lookup(p.name()) >> pMin.value() >> pMax.value();
|
||||
|
||||
// Velocity bound
|
||||
dimensionedScalar UMax("UMax", U.dimensions(), 0);
|
||||
|
||||
fieldBounds.lookup(U.name()) >> UMax.value();
|
||||
dimensionedScalar smallU("smallU", dimVelocity, 1e-10);
|
|
@ -35,7 +35,7 @@ Description
|
|||
#include "wallFvPatch.H"
|
||||
|
||||
#include "EulerDdtScheme.H"
|
||||
#include "CrankNicholsonDdtScheme.H"
|
||||
#include "CrankNicolsonDdtScheme.H"
|
||||
#include "backwardDdtScheme.H"
|
||||
|
||||
#include "tetFemMatrices.H"
|
||||
|
@ -480,7 +480,7 @@ bool freeSurface::movePoints(const scalarField& interfacePhi)
|
|||
if
|
||||
(
|
||||
ddtScheme
|
||||
== fv::CrankNicholsonDdtScheme<vector>::typeName
|
||||
== fv::CrankNicolsonDdtScheme<vector>::typeName
|
||||
)
|
||||
{
|
||||
sweptVolCorr *= (1.0/2.0)*DB().deltaT().value();
|
||||
|
@ -890,7 +890,7 @@ bool freeSurface::moveMeshPoints()
|
|||
if
|
||||
(
|
||||
ddtScheme
|
||||
== fv::CrankNicholsonDdtScheme<vector>::typeName
|
||||
== fv::CrankNicolsonDdtScheme<vector>::typeName
|
||||
)
|
||||
{
|
||||
sweptVolCorr *= (1.0/2.0)*DB().deltaT().value();
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
# aliases.csh
|
||||
#
|
||||
# Description
|
||||
# Aliases for working with OpenFOAM
|
||||
# Sourced from OpenFOAM-??/etc/cshrc and/or ~/.cshrc
|
||||
# Aliases for working with FOAM
|
||||
# Sourced from FOAM-??/etc/cshrc and/or ~/.cshrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
# aliases.sh
|
||||
#
|
||||
# Description
|
||||
# Aliases for working with OpenFOAM
|
||||
# Sourced from OpenFOAM-??/etc/bashrc and/or ~/.bashrc
|
||||
# Aliases for working with FOAM
|
||||
# Sourced from FOAM-??/etc/bashrc and/or ~/.bashrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#
|
||||
# Description
|
||||
# Setup file for Ensight 8.?
|
||||
# Sourced from OpenFOAM-?.?/etc/bashrc
|
||||
# Sourced from FOAM-?.?/etc/bashrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# \\ / O peration |
|
||||
# \\ / A nd | For copyright notice see file Copyright
|
||||
# \\/ M anipulation |
|
||||
#-------------------------------------------------------------------------------
|
||||
#------------------------------------------------------------------------------
|
||||
# License
|
||||
# This file is part of foam-extend.
|
||||
#
|
||||
|
@ -26,7 +26,7 @@
|
|||
#
|
||||
# Description
|
||||
# Startup File for Ensight 8.?.
|
||||
# Sourced from OpenFOAM-?.?/etc/cshrc
|
||||
# Sourced from FOAM-?.?/etc/cshrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#
|
||||
# Description
|
||||
# Setup file for paraview-3.x
|
||||
# Sourced from OpenFOAM-*/etc/bashrc
|
||||
# Sourced from FOAM-*/etc/bashrc
|
||||
#
|
||||
# Note
|
||||
# The env. variable 'ParaView_DIR' is required for building plugins
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#
|
||||
# Description
|
||||
# Setup file for paraview-3.x
|
||||
# Sourced from OpenFOAM-*/etc/cshrc
|
||||
# Sourced from FOAM-*/etc/cshrc
|
||||
#
|
||||
# Note
|
||||
# The env. variable 'ParaView_DIR' is required for building plugins
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
# etc/bashrc
|
||||
#
|
||||
# Description
|
||||
# Startup file for OpenFOAM
|
||||
# Startup file for FOAM
|
||||
# Sourced from ~/.profile or ~/.bashrc
|
||||
# Should be usable by any POSIX-compliant shell (eg, ksh)
|
||||
#
|
||||
|
@ -43,7 +43,7 @@ export FOAM_DEV=1
|
|||
# USER EDITABLE PART
|
||||
#
|
||||
# either set $FOAM_INST_DIR before sourcing this file or set
|
||||
# $foamInstall below to where OpenFOAM is installed
|
||||
# $foamInstall below to where FOAM is installed
|
||||
#
|
||||
# Location of FOAM installation
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -379,7 +379,7 @@ SunOS)
|
|||
cat <<USAGE
|
||||
|
||||
Your "$WM_ARCH" operating system is not supported by this release
|
||||
of OpenFOAM. For further assistance, please contact www.extend-project.de
|
||||
of foam-extend. For further assistance, please contact www.foam-extend.org
|
||||
|
||||
USAGE
|
||||
;;
|
||||
|
|
|
@ -22,7 +22,7 @@ Documentation
|
|||
doxyDocDirs
|
||||
(
|
||||
"$WM_PROJECT_USER_DIR/Doxygen/html"
|
||||
"~OpenFOAM/Doxygen/html"
|
||||
"~foam/Doxygen/html"
|
||||
"$WM_PROJECT_DIR/doc/Doxygen/html"
|
||||
);
|
||||
doxySourceFileExts
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
# etc/cshrc
|
||||
#
|
||||
# Description
|
||||
# Startup file for OpenFOAM
|
||||
# Startup file for FOAM
|
||||
# Sourced from ~/.login or ~/.cshrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
|
|
@ -25,16 +25,17 @@
|
|||
# etc/prefs.csh
|
||||
#
|
||||
# Description
|
||||
# Preset variables for the OpenFOAM configuration - C-Shell shell syntax.
|
||||
# Preset variables for the FOAM configuration - C-Shell shell syntax.
|
||||
#
|
||||
# The prefs.csh file will be sourced by the OpenFOAM etc/cshrc when it is
|
||||
# The prefs.csh file will be sourced by the FOAM etc/cshrc when it is
|
||||
# found
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
## Specify system compiler
|
||||
## ~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#set compilerInstall=system
|
||||
#set compilerInstall=System
|
||||
#set compilerInstall=FOAM
|
||||
|
||||
# Specify system openmpi
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -161,11 +162,11 @@
|
|||
#setenv ParaView_MAJOR 3.7
|
||||
|
||||
|
||||
# System identifier for the OpenFOAM CDash test harness on openfoam-extend
|
||||
# System identifier for the FOAM CDash test harness on foam-extend
|
||||
#
|
||||
# By default, your system FQN/hostname will be used as the system identifier
|
||||
# when publishing your test harness results on the OpenFOAM CDash server
|
||||
# on openfoam-extend.
|
||||
# when publishing your test harness results on the FOAM CDash server
|
||||
# on foam-extend.
|
||||
# You can override your identifier using this environment variable
|
||||
#setenv CDASH_SUBMIT_LOCAL_HOST_ID choose_your_CDash_system_identifer
|
||||
|
||||
|
|
|
@ -25,9 +25,9 @@
|
|||
# etc/prefs.sh
|
||||
#
|
||||
# Description
|
||||
# Preset variables for the OpenFOAM configuration - POSIX shell syntax.
|
||||
# Preset variables for the FOAM configuration - POSIX shell syntax.
|
||||
#
|
||||
# The prefs.sh file will be sourced by the OpenFOAM etc/bashrc when it is
|
||||
# The prefs.sh file will be sourced by the FOAM etc/bashrc when it is
|
||||
# found
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
@ -36,7 +36,8 @@ export FOAM_VERBOSE=1
|
|||
|
||||
# Specify system compiler
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~
|
||||
compilerInstall=System
|
||||
#compilerInstall=System
|
||||
#compilerInstall=FOAM
|
||||
|
||||
# Specify system openmpi
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -171,11 +172,11 @@ compilerInstall=System
|
|||
#export ParaView_MAJOR=3.7
|
||||
|
||||
|
||||
# System identifier for the OpenFOAM CDash test harness on openfoam-extend
|
||||
# System identifier for the FOAM CDash test harness on foam-extend
|
||||
#
|
||||
# By default, your system FQN/hostname will be used as the system identifier
|
||||
# when publishing your test harness results on the OpenFOAM CDash server
|
||||
# on openfoam-extend.
|
||||
# when publishing your test harness results on the FOAM CDash server
|
||||
# on foam-extend.
|
||||
# You can override your identifier using this environment variable
|
||||
#export CDASH_SUBMIT_LOCAL_HOST_ID=choose_your_CDash_system_identifer
|
||||
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
# etc/settings.csh
|
||||
#
|
||||
# Description
|
||||
# Startup file for OpenFOAM
|
||||
# Sourced from OpenFOAM-??/etc/cshrc
|
||||
# Startup file for FOAM
|
||||
# Sourced from FOAM-??/etc/cshrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
@ -51,7 +51,7 @@ 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
|
||||
# shared site configuration - similar naming convention as ~FOAM 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
|
||||
|
||||
|
@ -65,7 +65,7 @@ setenv FOAM_UTILITIES $FOAM_APP/utilities
|
|||
setenv FOAM_SOLVERS $FOAM_APP/solvers
|
||||
setenv FOAM_RUN $WM_PROJECT_USER_DIR/run
|
||||
|
||||
# add OpenFOAM scripts and wmake to the path
|
||||
# add FOAM scripts and wmake to the path
|
||||
set path=($WM_DIR $WM_PROJECT_DIR/bin $path)
|
||||
|
||||
_foamAddPath $FOAM_APPBIN
|
||||
|
@ -80,41 +80,49 @@ _foamAddLib $FOAM_USER_LIBBIN
|
|||
|
||||
# Select compiler installation
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# compilerInstall = OpenFOAM | System
|
||||
#set compilerInstall=OpenFOAM
|
||||
# compilerInstall = FOAM | System
|
||||
#set compilerInstall=FOAM
|
||||
#set compilerInstall=System
|
||||
if ( ! $?compilerInstall ) then
|
||||
setenv compilerInstall System
|
||||
endif
|
||||
|
||||
switch ("$compilerInstall")
|
||||
case OpenFOAM:
|
||||
case FOAM:
|
||||
switch ("$WM_COMPILER")
|
||||
case Gcc:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/gcc-4.3.3/platforms/$WM_ARCH$WM_COMPILER_ARCH
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/mpfr-2.4.1/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/gmp-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/packages/gcc-4.6.4/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.1.2/platforms/$WM_OPTIONS/etc/gmp-5.1.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.1.2/platforms/$WM_OPTIONS/etc/mpfr-3.1.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-1.0.1/platforms/$WM_OPTIONS/etc/mpc-1.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.6.4/platforms/$WM_OPTIONS/etc/gcc-4.6.4.csh
|
||||
breaksw
|
||||
case Gcc49:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/packages/gcc-4.9.2/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.1.2/platforms/$WM_OPTIONS/etc/gmp-5.1.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.1.2/platforms/$WM_OPTIONS/etc/mpfr-3.1.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-1.0.1/platforms/$WM_OPTIONS/etc/mpc-1.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.9.2/platforms/$WM_OPTIONS/etc/gcc-4.9.2.csh
|
||||
breaksw
|
||||
case Gcc47:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/packages/gcc-4.7.4/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.1.2/platforms/$WM_OPTIONS/etc/gmp-5.1.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.1.2/platforms/$WM_OPTIONS/etc/mpfr-3.1.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-1.0.1/platforms/$WM_OPTIONS/etc/mpc-1.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.7.4/platforms/$WM_OPTIONS/etc/gcc-4.7.4.csh
|
||||
breaksw
|
||||
case Gcc45:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/packages/gcc-4.5.1/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-0.8.2/platforms/$WM_OPTIONS/etc/mpc-0.8.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.5.1/platforms/$WM_OPTIONS/etc/gcc-4.5.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-0.8.2/platforms/$WM_OPTIONS/etc/mpc-0.8.2.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.5.1/platforms/$WM_OPTIONS/etc/gcc-4.5.1.csh
|
||||
breaksw
|
||||
case Gcc44:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/packages/gcc-4.4.5/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.4.5/platforms/$WM_OPTIONS/etc/gcc-4.4.5.csh
|
||||
breaksw
|
||||
case Gcc43:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/gcc-4.3.3/platforms/$WM_ARCH$WM_COMPILER_ARCH
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/mpfr-2.4.1/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/gmp-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
breaksw
|
||||
case Gcc42:
|
||||
setenv WM_COMPILER_DIR $WM_THIRD_PARTY_DIR/gcc-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.csh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.4.5/platforms/$WM_OPTIONS/etc/gcc-4.4.5.csh
|
||||
breaksw
|
||||
endsw
|
||||
|
||||
|
@ -530,8 +538,8 @@ endif
|
|||
|
||||
# QT
|
||||
# ~~~~~
|
||||
if ( $?QT_SYSTEM == 0 && -e "$WM_THIRD_PARTY_DIR"/packages/qt-everywhere-opensource-src-4.8.5/platforms/$WM_OPTIONS )then
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.8.5/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.8.5.csh
|
||||
if ( $?QT_SYSTEM == 0 && -e "$WM_THIRD_PARTY_DIR"/packages/qt-everywhere-opensource-src-4.8.6/platforms/$WM_OPTIONS )then
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.8.6/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.8.6.csh
|
||||
endif
|
||||
|
||||
# PARAVIEW
|
||||
|
|
66
etc/settings.sh
Executable file → Normal file
66
etc/settings.sh
Executable file → Normal file
|
@ -26,8 +26,8 @@
|
|||
# etc/settings.sh
|
||||
#
|
||||
# Description
|
||||
# Startup file for OpenFOAM
|
||||
# Sourced from OpenFOAM-??/etc/bashrc
|
||||
# Startup file for FOAM
|
||||
# Sourced from FOAM-??/etc/bashrc
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
@ -89,7 +89,7 @@ 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
|
||||
# shared site configuration - similar naming convention as ~FOAM 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
|
||||
|
||||
|
@ -103,7 +103,7 @@ export FOAM_UTILITIES=$FOAM_APP/utilities
|
|||
export FOAM_SOLVERS=$FOAM_APP/solvers
|
||||
export FOAM_RUN=$WM_PROJECT_USER_DIR/run
|
||||
|
||||
# add OpenFOAM scripts and wmake to the path
|
||||
# add FOAM scripts and wmake to the path
|
||||
export PATH=$WM_DIR:$WM_PROJECT_DIR/bin:$PATH
|
||||
|
||||
_foamAddPath $FOAM_APPBIN $FOAM_SITE_APPBIN $FOAM_USER_APPBIN
|
||||
|
@ -118,43 +118,51 @@ unset compilerBin compilerLib
|
|||
|
||||
# Select compiler installation
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
# compilerInstall = OpenFOAM | System
|
||||
# compilerInstall = FOAM | System
|
||||
#
|
||||
# We can override the value of compilerInstall from prefs.sh
|
||||
: ${compilerInstall:=System}
|
||||
|
||||
# Or we can force it right here
|
||||
#compilerInstall=OpenFOAM
|
||||
#compilerInstall=FOAM
|
||||
#compilerInstall=System
|
||||
|
||||
case "${compilerInstall:-OpenFOAM}" in
|
||||
OpenFOAM)
|
||||
case "${compilerInstall}" in
|
||||
FOAM)
|
||||
case "$WM_COMPILER" in
|
||||
Gcc)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/gcc-4.3.3/platforms/$WM_ARCH$WM_COMPILER_ARCH
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/mpfr-2.4.1/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/gmp-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/packages/gcc-4.6.4/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.1.2/platforms/$WM_OPTIONS/etc/gmp-5.1.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.1.2/platforms/$WM_OPTIONS/etc/mpfr-3.1.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-1.0.1/platforms/$WM_OPTIONS/etc/mpc-1.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.6.4/platforms/$WM_OPTIONS/etc/gcc-4.6.4.csh
|
||||
;;
|
||||
Gcc49)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/packages/gcc-4.9.2/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.1.2/platforms/$WM_OPTIONS/etc/gmp-5.1.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.1.2/platforms/$WM_OPTIONS/etc/mpfr-3.1.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-1.0.1/platforms/$WM_OPTIONS/etc/mpc-1.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.9.2/platforms/$WM_OPTIONS/etc/gcc-4.9.2.csh
|
||||
;;
|
||||
Gcc47)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/packages/gcc-4.7.4/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.1.2/platforms/$WM_OPTIONS/etc/gmp-5.1.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.1.2/platforms/$WM_OPTIONS/etc/mpfr-3.1.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-1.0.1/platforms/$WM_OPTIONS/etc/mpc-1.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.7.4/platforms/$WM_OPTIONS/etc/gcc-4.7.4.csh
|
||||
;;
|
||||
Gcc45)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/packages/gcc-4.5.1/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-0.8.2/platforms/$WM_OPTIONS/etc/mpc-0.8.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.5.1/platforms/$WM_OPTIONS/etc/gcc-4.5.1.sh
|
||||
;;
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpc-0.8.2/platforms/$WM_OPTIONS/etc/mpc-0.8.2.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.5.1/platforms/$WM_OPTIONS/etc/gcc-4.5.1.sh
|
||||
;;
|
||||
Gcc44)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/packages/gcc-4.4.5/platforms/$WM_OPTIONS
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.4.5/platforms/$WM_OPTIONS/etc/gcc-4.4.5.sh
|
||||
;;
|
||||
Gcc43)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/gcc-4.3.3/platforms/$WM_ARCH$WM_COMPILER_ARCH
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/mpfr-2.4.1/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
_foamAddLib $WM_THIRD_PARTY_DIR/gmp-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH/lib
|
||||
;;
|
||||
Gcc42)
|
||||
export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/gcc-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gmp-5.0.1/platforms/$WM_OPTIONS/etc/gmp-5.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/mpfr-3.0.1/platforms/$WM_OPTIONS/etc/mpfr-3.0.1.sh
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/gcc-4.4.5/platforms/$WM_OPTIONS/etc/gcc-4.4.5.sh
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -641,8 +649,8 @@ export MPI_BUFFER_SIZE
|
|||
|
||||
# Load QT
|
||||
# ~~~~~~~
|
||||
[ ! -z "$QT_THIRD_PARTY" ] && [ -e $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.8.5/platforms/$WM_OPTIONS ] && {
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.8.5/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.8.5.sh
|
||||
[ ! -z "$QT_THIRD_PARTY" ] && [ -e $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.8.6/platforms/$WM_OPTIONS ] && {
|
||||
_foamSource $WM_THIRD_PARTY_DIR/packages/qt-everywhere-opensource-src-4.8.6/platforms/$WM_OPTIONS/etc/qt-everywhere-opensource-src-4.8.6.sh
|
||||
}
|
||||
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo " QT_DIR is initialized to: $QT_DIR"
|
||||
|
||||
|
|
|
@ -328,7 +328,7 @@ $(ddtSchemes)/SLTSDdtScheme/SLTSDdtSchemes.C
|
|||
$(ddtSchemes)/backwardDdtScheme/backwardDdtSchemes.C
|
||||
$(ddtSchemes)/boundedBackwardDdtScheme/boundedBackwardDdtScheme.C
|
||||
$(ddtSchemes)/boundedBackwardDdtScheme/boundedBackwardDdtSchemes.C
|
||||
$(ddtSchemes)/CrankNicholsonDdtScheme/CrankNicholsonDdtSchemes.C
|
||||
$(ddtSchemes)/CrankNicolsonDdtScheme/CrankNicolsonDdtSchemes.C
|
||||
$(ddtSchemes)/steadyInertialDdtScheme/steadyInertialDdtSchemes.C
|
||||
|
||||
d2dt2Schemes = finiteVolume/d2dt2Schemes
|
||||
|
@ -344,11 +344,11 @@ $(divSchemes)/gaussDivScheme/gaussDivSchemes.C
|
|||
|
||||
gradSchemes = finiteVolume/gradSchemes
|
||||
$(gradSchemes)/gradScheme/gradSchemes.C
|
||||
$(gradSchemes)/scalarGaussGrad/scalarGaussGrad.C
|
||||
$(gradSchemes)/gaussGrad/scalarGaussGrad.C
|
||||
$(gradSchemes)/gaussGrad/gaussGrads.C
|
||||
$(gradSchemes)/beGaussGrad/beGaussGrads.C
|
||||
$(gradSchemes)/leastSquaresGrad/leastSquaresVectors.C
|
||||
$(gradSchemes)/scalarLeastSquaresGrad/scalarLeastSquaresGrad.C
|
||||
$(gradSchemes)/leastSquaresGrad/scalarLeastSquaresGrad.C
|
||||
$(gradSchemes)/leastSquaresGrad/leastSquaresGrads.C
|
||||
$(gradSchemes)/extendedLeastSquaresGrad/extendedLeastSquaresVectors.C
|
||||
$(gradSchemes)/extendedLeastSquaresGrad/extendedLeastSquaresGrads.C
|
||||
|
|
|
@ -28,7 +28,7 @@ License
|
|||
#include "fvPatchFieldMapper.H"
|
||||
#include "volFields.H"
|
||||
#include "EulerDdtScheme.H"
|
||||
#include "CrankNicholsonDdtScheme.H"
|
||||
#include "CrankNicolsonDdtScheme.H"
|
||||
#include "backwardDdtScheme.H"
|
||||
#include "steadyStateDdtScheme.H"
|
||||
|
||||
|
@ -270,7 +270,7 @@ void advectiveFvPatchField<Type>::updateCoeffs()
|
|||
if
|
||||
(
|
||||
ddtScheme == fv::EulerDdtScheme<Type>::typeName
|
||||
|| ddtScheme == fv::CrankNicholsonDdtScheme<Type>::typeName
|
||||
|| ddtScheme == fv::CrankNicolsonDdtScheme<Type>::typeName
|
||||
)
|
||||
{
|
||||
this->refValue() =
|
||||
|
@ -318,7 +318,7 @@ void advectiveFvPatchField<Type>::updateCoeffs()
|
|||
if
|
||||
(
|
||||
ddtScheme == fv::EulerDdtScheme<Type>::typeName
|
||||
|| ddtScheme == fv::CrankNicholsonDdtScheme<Type>::typeName
|
||||
|| ddtScheme == fv::CrankNicolsonDdtScheme<Type>::typeName
|
||||
)
|
||||
{
|
||||
this->refValue() = field.oldTime().boundaryField()[patchi];
|
||||
|
|
|
@ -28,7 +28,7 @@ Description
|
|||
Advective outflow boundary condition based on solving DDt(psi, U) = 0
|
||||
at the boundary.
|
||||
|
||||
The standard (Euler, backward, CrankNicholson) time schemes are
|
||||
The standard (Euler, backward, CrankNicolson) time schemes are
|
||||
supported. Additionally an optional mechanism to relax the value at
|
||||
the boundary to a specified far-field value is provided which is
|
||||
switched on by specifying the relaxation length-scale lInf and the
|
||||
|
|
|
@ -186,7 +186,7 @@ void pressureInletOutletVelocityFvPatchVectorField::updateCoeffs()
|
|||
InfoIn
|
||||
(
|
||||
"pressureInletOutletVelocityFvPatchVectorField::updateCoeffs()"
|
||||
)<< "Cannot find phi. Return" << endl;
|
||||
) << "Cannot find phi. Return" << endl;
|
||||
|
||||
valueFraction() = symmTensor::one;
|
||||
}
|
||||
|
|
|
@ -52,7 +52,8 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
|
|||
"fvPatchField<Type>::New(const word&, const fvPatch&, "
|
||||
"const DimensionedField<Type, volMesh>&)"
|
||||
) << "Unknown patch field type " << patchFieldType
|
||||
<< endl << endl
|
||||
<< " for field " << iF.name() << " on patch " << p.name()
|
||||
<< nl << nl
|
||||
<< "Valid patchField types are :" << endl
|
||||
<< patchConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
|
@ -86,7 +87,7 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
|
|||
{
|
||||
Info<< "fvPatchField<Type>::New(const fvPatch&, "
|
||||
"const DimensionedField<Type, volMesh>&, "
|
||||
"const dictionary&) : patchFieldType=" << patchFieldType
|
||||
"const dictionary&) : patchFieldType = " << patchFieldType
|
||||
<< endl;
|
||||
}
|
||||
|
||||
|
@ -109,6 +110,7 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
|
|||
"const dictionary&)",
|
||||
dict
|
||||
) << "Unknown patch field type " << patchFieldType
|
||||
<< " for field " << iF.name() << " on patch " << p.name()
|
||||
<< " for patch type " << p.type() << endl << endl
|
||||
<< "Valid patch field types are :" << endl
|
||||
<< dictionaryConstructorTablePtr_->sortedToc()
|
||||
|
@ -137,8 +139,8 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
|
|||
"const DimensionedField<Type, volMesh>&, "
|
||||
"const dictionary&)",
|
||||
dict
|
||||
) << "inconsistent patch and patchField types for field "
|
||||
<< iF.name() << "\n"
|
||||
) << "Inconsistent patch and patchField types for field "
|
||||
<< iF.name() << " on patch " << p.name() << "\n"
|
||||
<< " patch type " << p.type()
|
||||
<< " and patchField type " << patchFieldType
|
||||
<< exit(FatalIOError);
|
||||
|
@ -177,7 +179,9 @@ Foam::tmp<Foam::fvPatchField<Type> > Foam::fvPatchField<Type>::New
|
|||
"fvPatchField<Type>::New(const fvPatchField<Type>&, "
|
||||
"const fvPatch&, const DimensionedField<Type, volMesh>&, "
|
||||
"const fvPatchFieldMapper&)"
|
||||
) << "unknown patch field type " << ptf.type() << endl << endl
|
||||
) << "unknown patch field type " << ptf.type()
|
||||
<< " for field " << iF.name() << " on patch " << p.name()
|
||||
<< nl << nl
|
||||
<< "Valid patchField types are :" << endl
|
||||
<< patchMapperConstructorTablePtr_->sortedToc()
|
||||
<< exit(FatalError);
|
||||
|
|
|
@ -23,7 +23,7 @@ License
|
|||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "CrankNicholsonDdtScheme.H"
|
||||
#include "CrankNicolsonDdtScheme.H"
|
||||
#include "surfaceInterpolate.H"
|
||||
#include "fvcDiv.H"
|
||||
#include "fvMatrices.H"
|
||||
|
@ -42,7 +42,7 @@ namespace fv
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
|
||||
CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
|
||||
(
|
||||
const IOobject& io,
|
||||
const fvMesh& mesh
|
||||
|
@ -60,7 +60,7 @@ CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
|
||||
CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
|
||||
(
|
||||
const IOobject& io,
|
||||
const fvMesh& mesh,
|
||||
|
@ -74,7 +74,7 @@ CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
label CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::
|
||||
label CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::
|
||||
startTimeIndex() const
|
||||
{
|
||||
return startTimeIndex_;
|
||||
|
@ -83,7 +83,7 @@ startTimeIndex() const
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
GeoField& CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::
|
||||
GeoField& CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::
|
||||
operator()()
|
||||
{
|
||||
return *this;
|
||||
|
@ -92,7 +92,7 @@ operator()()
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
void CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::
|
||||
void CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>::
|
||||
operator=(const GeoField& gf)
|
||||
{
|
||||
GeoField::operator=(gf);
|
||||
|
@ -101,8 +101,8 @@ operator=(const GeoField& gf)
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>&
|
||||
CrankNicholsonDdtScheme<Type>::ddt0_
|
||||
CrankNicolsonDdtScheme<Type>::DDt0Field<GeoField>&
|
||||
CrankNicolsonDdtScheme<Type>::ddt0_
|
||||
(
|
||||
const word& name,
|
||||
const dimensionSet& dims
|
||||
|
@ -183,7 +183,7 @@ CrankNicholsonDdtScheme<Type>::ddt0_
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
bool CrankNicholsonDdtScheme<Type>::evaluate
|
||||
bool CrankNicolsonDdtScheme<Type>::evaluate
|
||||
(
|
||||
const DDt0Field<GeoField>& ddt0
|
||||
) const
|
||||
|
@ -193,7 +193,7 @@ bool CrankNicholsonDdtScheme<Type>::evaluate
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
scalar CrankNicholsonDdtScheme<Type>::coef_
|
||||
scalar CrankNicolsonDdtScheme<Type>::coef_
|
||||
(
|
||||
const DDt0Field<GeoField>& ddt0
|
||||
) const
|
||||
|
@ -211,7 +211,7 @@ scalar CrankNicholsonDdtScheme<Type>::coef_
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
scalar CrankNicholsonDdtScheme<Type>::coef0_
|
||||
scalar CrankNicolsonDdtScheme<Type>::coef0_
|
||||
(
|
||||
const DDt0Field<GeoField>& ddt0
|
||||
) const
|
||||
|
@ -229,7 +229,7 @@ scalar CrankNicholsonDdtScheme<Type>::coef0_
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
dimensionedScalar CrankNicholsonDdtScheme<Type>::rDtCoef_
|
||||
dimensionedScalar CrankNicolsonDdtScheme<Type>::rDtCoef_
|
||||
(
|
||||
const DDt0Field<GeoField>& ddt0
|
||||
) const
|
||||
|
@ -240,7 +240,7 @@ dimensionedScalar CrankNicholsonDdtScheme<Type>::rDtCoef_
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
dimensionedScalar CrankNicholsonDdtScheme<Type>::rDtCoef0_
|
||||
dimensionedScalar CrankNicolsonDdtScheme<Type>::rDtCoef0_
|
||||
(
|
||||
const DDt0Field<GeoField>& ddt0
|
||||
) const
|
||||
|
@ -251,7 +251,7 @@ dimensionedScalar CrankNicholsonDdtScheme<Type>::rDtCoef0_
|
|||
|
||||
template<class Type>
|
||||
template<class GeoField>
|
||||
tmp<GeoField> CrankNicholsonDdtScheme<Type>::offCentre_
|
||||
tmp<GeoField> CrankNicolsonDdtScheme<Type>::offCentre_
|
||||
(
|
||||
const GeoField& ddt0
|
||||
) const
|
||||
|
@ -281,7 +281,7 @@ const FieldField<fvPatchField, Type>& ff
|
|||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvPatchField, volMesh> >
|
||||
CrankNicholsonDdtScheme<Type>::fvcDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
const dimensioned<Type>& dt
|
||||
)
|
||||
|
@ -343,7 +343,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
|
|||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvPatchField, volMesh> >
|
||||
CrankNicholsonDdtScheme<Type>::fvcDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
)
|
||||
|
@ -432,7 +432,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
|
|||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvPatchField, volMesh> >
|
||||
CrankNicholsonDdtScheme<Type>::fvcDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
const dimensionedScalar& rho,
|
||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
|
@ -522,7 +522,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
|
|||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvPatchField, volMesh> >
|
||||
CrankNicholsonDdtScheme<Type>::fvcDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
const volScalarField& rho,
|
||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
|
@ -622,7 +622,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
|
|||
|
||||
template<class Type>
|
||||
tmp<fvMatrix<Type> >
|
||||
CrankNicholsonDdtScheme<Type>::fvmDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvmDdt
|
||||
(
|
||||
GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
)
|
||||
|
@ -705,7 +705,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
|
|||
|
||||
template<class Type>
|
||||
tmp<fvMatrix<Type> >
|
||||
CrankNicholsonDdtScheme<Type>::fvmDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvmDdt
|
||||
(
|
||||
const dimensionedScalar& rho,
|
||||
GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
|
@ -787,7 +787,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
|
|||
|
||||
template<class Type>
|
||||
tmp<fvMatrix<Type> >
|
||||
CrankNicholsonDdtScheme<Type>::fvmDdt
|
||||
CrankNicolsonDdtScheme<Type>::fvmDdt
|
||||
(
|
||||
const volScalarField& rho,
|
||||
GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
|
@ -877,8 +877,8 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
|
|||
|
||||
|
||||
template<class Type>
|
||||
tmp<typename CrankNicholsonDdtScheme<Type>::fluxFieldType>
|
||||
CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
|
||||
tmp<typename CrankNicolsonDdtScheme<Type>::fluxFieldType>
|
||||
CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
||||
(
|
||||
const volScalarField& rA,
|
||||
const GeometricField<Type, fvPatchField, volMesh>& U,
|
||||
|
@ -964,8 +964,8 @@ CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||
|
||||
|
||||
template<class Type>
|
||||
tmp<typename CrankNicholsonDdtScheme<Type>::fluxFieldType>
|
||||
CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
|
||||
tmp<typename CrankNicolsonDdtScheme<Type>::fluxFieldType>
|
||||
CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
||||
(
|
||||
const volScalarField& rA,
|
||||
const volScalarField& rho,
|
||||
|
@ -1157,7 +1157,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr"
|
||||
"CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr"
|
||||
) << "dimensions of phi are not correct"
|
||||
<< abort(FatalError);
|
||||
|
||||
|
@ -1168,7 +1168,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||
|
||||
|
||||
template<class Type>
|
||||
tmp<surfaceScalarField> CrankNicholsonDdtScheme<Type>::meshPhi
|
||||
tmp<surfaceScalarField> CrankNicolsonDdtScheme<Type>::meshPhi
|
||||
(
|
||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||
)
|
|
@ -22,19 +22,19 @@ License
|
|||
along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::fv::CrankNicholsonDdtScheme
|
||||
Foam::fv::CrankNicolsonDdtScheme
|
||||
|
||||
Description
|
||||
Second-oder CrankNicholson implicit ddt using the current and
|
||||
Second-oder CrankNicolson implicit ddt using the current and
|
||||
previous time-step fields as well as the previous time-step ddt.
|
||||
|
||||
SourceFiles
|
||||
CrankNicholsonDdtScheme.C
|
||||
CrankNicolsonDdtScheme.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef CrankNicholsonDdtScheme_H
|
||||
#define CrankNicholsonDdtScheme_H
|
||||
#ifndef CrankNicolsonDdtScheme_H
|
||||
#define CrankNicolsonDdtScheme_H
|
||||
|
||||
#include "ddtScheme.H"
|
||||
|
||||
|
@ -49,11 +49,11 @@ namespace fv
|
|||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class CrankNicholsonDdtScheme Declaration
|
||||
Class CrankNicolsonDdtScheme Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class Type>
|
||||
class CrankNicholsonDdtScheme
|
||||
class CrankNicolsonDdtScheme
|
||||
:
|
||||
public fv::ddtScheme<Type>
|
||||
{
|
||||
|
@ -105,10 +105,10 @@ class CrankNicholsonDdtScheme
|
|||
// Private Member Functions
|
||||
|
||||
//- Disallow default bitwise copy construct
|
||||
CrankNicholsonDdtScheme(const CrankNicholsonDdtScheme&);
|
||||
CrankNicolsonDdtScheme(const CrankNicolsonDdtScheme&);
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const CrankNicholsonDdtScheme&);
|
||||
void operator=(const CrankNicolsonDdtScheme&);
|
||||
|
||||
template<class GeoField>
|
||||
DDt0Field<GeoField>& ddt0_
|
||||
|
@ -149,20 +149,20 @@ class CrankNicholsonDdtScheme
|
|||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("CrankNicholson");
|
||||
TypeName("CrankNicolson");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh
|
||||
CrankNicholsonDdtScheme(const fvMesh& mesh)
|
||||
CrankNicolsonDdtScheme(const fvMesh& mesh)
|
||||
:
|
||||
ddtScheme<Type>(mesh),
|
||||
ocCoeff_(1.0)
|
||||
{}
|
||||
|
||||
//- Construct from mesh and Istream
|
||||
CrankNicholsonDdtScheme(const fvMesh& mesh, Istream& is)
|
||||
CrankNicolsonDdtScheme(const fvMesh& mesh, Istream& is)
|
||||
:
|
||||
ddtScheme<Type>(mesh, is),
|
||||
ocCoeff_(readScalar(is))
|
||||
|
@ -171,7 +171,7 @@ public:
|
|||
{
|
||||
FatalIOErrorIn
|
||||
(
|
||||
"CrankNicholsonDdtScheme(const fvMesh& mesh, Istream& is)",
|
||||
"CrankNicolsonDdtScheme(const fvMesh& mesh, Istream& is)",
|
||||
is
|
||||
) << "coefficient = " << ocCoeff_
|
||||
<< " should be >= 0 and <= 1"
|
||||
|
@ -253,7 +253,7 @@ public:
|
|||
|
||||
|
||||
template<>
|
||||
tmp<surfaceScalarField> CrankNicholsonDdtScheme<scalar>::fvcDdtPhiCorr
|
||||
tmp<surfaceScalarField> CrankNicolsonDdtScheme<scalar>::fvcDdtPhiCorr
|
||||
(
|
||||
const volScalarField& rA,
|
||||
const volScalarField& U,
|
||||
|
@ -262,7 +262,7 @@ tmp<surfaceScalarField> CrankNicholsonDdtScheme<scalar>::fvcDdtPhiCorr
|
|||
|
||||
|
||||
template<>
|
||||
tmp<surfaceScalarField> CrankNicholsonDdtScheme<scalar>::fvcDdtPhiCorr
|
||||
tmp<surfaceScalarField> CrankNicolsonDdtScheme<scalar>::fvcDdtPhiCorr
|
||||
(
|
||||
const volScalarField& rA,
|
||||
const volScalarField& rho,
|
||||
|
@ -282,7 +282,7 @@ tmp<surfaceScalarField> CrankNicholsonDdtScheme<scalar>::fvcDdtPhiCorr
|
|||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
# include "CrankNicholsonDdtScheme.C"
|
||||
# include "CrankNicolsonDdtScheme.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
@ -25,7 +25,7 @@ Description
|
|||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "CrankNicholsonDdtScheme.H"
|
||||
#include "CrankNicolsonDdtScheme.H"
|
||||
#include "fvMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
@ -34,7 +34,7 @@ namespace Foam
|
|||
{
|
||||
namespace fv
|
||||
{
|
||||
makeFvDdtScheme(CrankNicholsonDdtScheme)
|
||||
makeFvDdtScheme(CrankNicolsonDdtScheme)
|
||||
}
|
||||
}
|
||||
|
|
@ -163,6 +163,8 @@ public:
|
|||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "scalarGaussGrad.H"
|
||||
|
||||
#ifdef NoRepository
|
||||
# include "gaussGrad.C"
|
||||
#endif
|
||||
|
|
|
@ -27,7 +27,7 @@ Description
|
|||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "scalarGaussGrad.H"
|
||||
#include "gaussGrad.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
@ -71,20 +71,20 @@ tmp<BlockLduSystem<vector, vector> > gaussGrad<scalar>::fvmGrad
|
|||
bs.negSumDiag();
|
||||
|
||||
// Boundary contributions
|
||||
forAll(vf.boundaryField(), patchI)
|
||||
forAll (vf.boundaryField(), patchI)
|
||||
{
|
||||
const fvPatchScalarField& pf = vf.boundaryField()[patchI];
|
||||
const fvPatch& patch = pf.patch();
|
||||
const vectorField& Sf = patch.Sf();
|
||||
const vectorField& pSf = patch.Sf();
|
||||
const fvsPatchScalarField& pw = tweights().boundaryField()[patchI];
|
||||
const labelList& fc = patch.faceCells();
|
||||
|
||||
const scalarField internalCoeffs(pf.valueInternalCoeffs(pw));
|
||||
|
||||
// Diag contribution
|
||||
forAll(pf, faceI)
|
||||
forAll (pf, faceI)
|
||||
{
|
||||
d[fc[faceI]] += internalCoeffs[faceI]*Sf[faceI];
|
||||
d[fc[faceI]] += internalCoeffs[faceI]*pSf[faceI];
|
||||
}
|
||||
|
||||
if (patch.coupled())
|
||||
|
@ -94,8 +94,8 @@ tmp<BlockLduSystem<vector, vector> > gaussGrad<scalar>::fvmGrad
|
|||
CoeffField<vector>::linearTypeField& pcoupleLower =
|
||||
bs.coupleLower()[patchI].asLinear();
|
||||
|
||||
const vectorField pcl = -pw*Sf;
|
||||
const vectorField pcu = pcl + Sf;
|
||||
const vectorField pcl = -pw*pSf;
|
||||
const vectorField pcu = pcl + pSf;
|
||||
|
||||
// Coupling contributions
|
||||
pcoupleLower -= pcl;
|
||||
|
@ -106,9 +106,9 @@ tmp<BlockLduSystem<vector, vector> > gaussGrad<scalar>::fvmGrad
|
|||
const scalarField boundaryCoeffs(pf.valueBoundaryCoeffs(pw));
|
||||
|
||||
// Boundary contribution
|
||||
forAll(pf, faceI)
|
||||
forAll (pf, faceI)
|
||||
{
|
||||
source[fc[faceI]] -= boundaryCoeffs[faceI]*Sf[faceI];
|
||||
source[fc[faceI]] -= boundaryCoeffs[faceI]*pSf[faceI];
|
||||
}
|
||||
}
|
||||
}
|
|
@ -119,6 +119,8 @@ public:
|
|||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#include "scalarLeastSquaresGrad.H"
|
||||
|
||||
#ifdef NoRepository
|
||||
# include "leastSquaresGrad.C"
|
||||
#endif
|
||||
|
|
|
@ -36,6 +36,12 @@ namespace Foam
|
|||
}
|
||||
|
||||
|
||||
const Foam::scalar Foam::leastSquaresVectors::smallDotProdTol_
|
||||
(
|
||||
debug::tolerances("leastSquaresSmallDotProdTol", 0.1)
|
||||
);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh)
|
||||
|
@ -106,7 +112,7 @@ void Foam::leastSquaresVectors::makeLeastSquaresVectors() const
|
|||
// Set up temporary storage for the dd tensor (before inversion)
|
||||
symmTensorField dd(mesh().nCells(), symmTensor::zero);
|
||||
|
||||
forAll(owner, faceI)
|
||||
forAll (owner, faceI)
|
||||
{
|
||||
label own = owner[faceI];
|
||||
label nei = neighbour[faceI];
|
||||
|
@ -118,18 +124,18 @@ void Foam::leastSquaresVectors::makeLeastSquaresVectors() const
|
|||
dd[nei] += wdd;
|
||||
}
|
||||
|
||||
forAll(lsP.boundaryField(), patchI)
|
||||
forAll (lsP.boundaryField(), patchI)
|
||||
{
|
||||
const fvPatch& p = mesh().boundary()[patchI];
|
||||
const unallocLabelList& faceCells = p.patch().faceCells();
|
||||
const unallocLabelList& fc = p.patch().faceCells();
|
||||
|
||||
// Better version of d-vectors: Zeljko Tukovic, 25/Apr/2010
|
||||
const vectorField pd = p.delta();
|
||||
|
||||
forAll(pd, patchFaceI)
|
||||
forAll (pd, pFaceI)
|
||||
{
|
||||
const vector& d = pd[patchFaceI];
|
||||
dd[faceCells[patchFaceI]] += (1.0/magSqr(d))*sqr(d);
|
||||
const vector& d = pd[pFaceI];
|
||||
dd[fc[pFaceI]] += (1.0/magSqr(d))*sqr(d);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -147,9 +153,12 @@ void Foam::leastSquaresVectors::makeLeastSquaresVectors() const
|
|||
),
|
||||
mesh(),
|
||||
dimensionedSymmTensor("zero", dimless, symmTensor::zero),
|
||||
"zeroGradient"
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
symmTensorField& invDd = volInvDd.internalField();
|
||||
|
||||
// Invert least squares matrix using Householder transformations to avoid
|
||||
// badly posed cells
|
||||
// invDd = inv(dd);
|
||||
invDd = hinv(dd);
|
||||
|
||||
|
@ -158,7 +167,11 @@ void Foam::leastSquaresVectors::makeLeastSquaresVectors() const
|
|||
volInvDd.boundaryField().evaluateCoupled();
|
||||
|
||||
// Revisit all faces and calculate the lsP and lsN vectors
|
||||
forAll(owner, faceI)
|
||||
vectorField& lsPIn = lsP.internalField();
|
||||
vectorField& lsNIn = lsN.internalField();
|
||||
|
||||
// Least squares vectors on internal faces
|
||||
forAll (owner, faceI)
|
||||
{
|
||||
label own = owner[faceI];
|
||||
label nei = neighbour[faceI];
|
||||
|
@ -166,16 +179,17 @@ void Foam::leastSquaresVectors::makeLeastSquaresVectors() const
|
|||
vector d = C[nei] - C[own];
|
||||
scalar magSfByMagSqrd = 1.0/magSqr(d);
|
||||
|
||||
lsP[faceI] = magSfByMagSqrd*(invDd[own] & d);
|
||||
lsN[faceI] = -magSfByMagSqrd*(invDd[nei] & d);
|
||||
lsPIn[faceI] = magSfByMagSqrd*(invDd[own] & d);
|
||||
lsNIn[faceI] = -magSfByMagSqrd*(invDd[nei] & d);
|
||||
}
|
||||
|
||||
forAll(lsP.boundaryField(), patchI)
|
||||
// Least squares vectors on boundary faces
|
||||
forAll (lsP.boundaryField(), patchI)
|
||||
{
|
||||
fvsPatchVectorField& patchLsP = lsP.boundaryField()[patchI];
|
||||
fvsPatchVectorField& patchLsN = lsN.boundaryField()[patchI];
|
||||
const fvPatch& p = mesh().boundary()[patchI];
|
||||
const unallocLabelList& faceCells = p.faceCells();
|
||||
const unallocLabelList& fc = p.faceCells();
|
||||
|
||||
// Better version of d-vectors: Zeljko Tukovic, 25/Apr/2010
|
||||
const vectorField pd = p.delta();
|
||||
|
@ -185,29 +199,215 @@ void Foam::leastSquaresVectors::makeLeastSquaresVectors() const
|
|||
const symmTensorField invDdNei =
|
||||
volInvDd.boundaryField()[patchI].patchNeighbourField();
|
||||
|
||||
forAll(pd, patchFaceI)
|
||||
forAll (pd, pFaceI)
|
||||
{
|
||||
const vector& d = pd[patchFaceI];
|
||||
const vector& d = pd[pFaceI];
|
||||
|
||||
patchLsP[patchFaceI] = (1.0/magSqr(d))
|
||||
*(invDd[faceCells[patchFaceI]] & d);
|
||||
patchLsP[pFaceI] = (1.0/magSqr(d))*(invDd[fc[pFaceI]] & d);
|
||||
|
||||
patchLsN[patchFaceI] = - (1.0/magSqr(d))
|
||||
*(invDdNei[patchFaceI] & d);
|
||||
patchLsN[pFaceI] = - (1.0/magSqr(d))*(invDdNei[pFaceI] & d);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
forAll(pd, patchFaceI)
|
||||
forAll (pd, pFaceI)
|
||||
{
|
||||
const vector& d = pd[patchFaceI];
|
||||
const vector& d = pd[pFaceI];
|
||||
|
||||
patchLsP[patchFaceI] = (1.0/magSqr(d))
|
||||
*(invDd[faceCells[patchFaceI]] & d);
|
||||
patchLsP[pFaceI] = (1.0/magSqr(d))*(invDd[fc[pFaceI]] & d);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# if 0
|
||||
|
||||
// Coefficient sign correction on least squares vectors
|
||||
// The sign of the coefficient must be positive to ensure correct
|
||||
// behaviour in coupled systems. This is checked by evaluating
|
||||
// dot-product of the P/N vectors with the face area vector.
|
||||
// If the dot-product is negative, cell is marked for use with the
|
||||
// Gauss gradient, which is unconditionally positive
|
||||
// HJ, 21/Apr/2015
|
||||
|
||||
// First loop: detect cells with bad least squares vectors
|
||||
Info<< "NEW LEAST SQUARES VECTORS" << endl;
|
||||
// Use Gauss Gradient field: set to 1 if Gauss is needed
|
||||
volScalarField useGaussGrad
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"useGaussGrad",
|
||||
mesh().pointsInstance(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar("zero", dimVolume, 0),
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
|
||||
const surfaceVectorField& Sf = mesh().Sf();
|
||||
const surfaceScalarField& w = mesh().weights();
|
||||
|
||||
const vectorField& SfIn = Sf.internalField();
|
||||
const scalarField& wIn = w.internalField();
|
||||
scalarField& uggIn = useGaussGrad.internalField();
|
||||
|
||||
// Check internal faces
|
||||
forAll (owner, faceI)
|
||||
{
|
||||
if
|
||||
(
|
||||
(lsPIn[faceI] & SfIn[faceI])/(mag(lsPIn[faceI])*mag(SfIn[faceI]))
|
||||
< smallDotProdTol_
|
||||
)
|
||||
{
|
||||
// Least square points in the wrong direction for owner
|
||||
// Use Gauss gradient
|
||||
uggIn[owner[faceI]] = 1;
|
||||
}
|
||||
|
||||
if
|
||||
(
|
||||
(lsNIn[faceI] & SfIn[faceI])/(mag(lsNIn[faceI])*mag(SfIn[faceI]))
|
||||
> -smallDotProdTol_
|
||||
)
|
||||
{
|
||||
// Least square points in the wrong direction for owner.
|
||||
// Note that Sf points into neighbour cell
|
||||
// Use Gauss gradient
|
||||
uggIn[neighbour[faceI]] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
forAll (lsP.boundaryField(), patchI)
|
||||
{
|
||||
fvsPatchVectorField& patchLsP = lsP.boundaryField()[patchI];
|
||||
const vectorField& pSf = Sf.boundaryField()[patchI];
|
||||
const fvPatch& p = mesh().boundary()[patchI];
|
||||
const unallocLabelList& fc = p.faceCells();
|
||||
|
||||
// Same check for coupled and uncoupled
|
||||
forAll (patchLsP, pFaceI)
|
||||
{
|
||||
if
|
||||
(
|
||||
(patchLsP[pFaceI] & pSf[pFaceI])/
|
||||
(mag(patchLsP[pFaceI])*mag(pSf[pFaceI]))
|
||||
< smallDotProdTol_
|
||||
)
|
||||
{
|
||||
uggIn[fc[pFaceI]] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update boundary conditions for coupled boundaries. This synchronises
|
||||
// the Gauss grad indication field
|
||||
useGaussGrad.boundaryField().evaluateCoupled();
|
||||
|
||||
// Replace least square vectors with weighted Gauss gradient vectors
|
||||
// for marked cells
|
||||
|
||||
// Prepare cell volumes with parallel communications
|
||||
volScalarField cellV
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"cellV",
|
||||
mesh().pointsInstance(),
|
||||
mesh(),
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh(),
|
||||
dimensionedScalar("zero", dimVolume, 0),
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
cellV.internalField() = mesh().V();
|
||||
|
||||
// Evaluate coupled to exchange coupled neighbour field data
|
||||
// across coupled boundaries. HJ, 18/Mar/2015
|
||||
cellV.boundaryField().evaluateCoupled();
|
||||
|
||||
const scalarField& cellVIn = cellV.internalField();
|
||||
|
||||
// Internal faces
|
||||
forAll (owner, faceI)
|
||||
{
|
||||
label own = owner[faceI];
|
||||
label nei = neighbour[faceI];
|
||||
|
||||
if (uggIn[own] > SMALL)
|
||||
{
|
||||
// Gauss gradient for owner cell
|
||||
lsPIn[faceI] = (1 - wIn[faceI])*SfIn[faceI]/cellVIn[own];
|
||||
}
|
||||
|
||||
if (uggIn[nei] > SMALL)
|
||||
{
|
||||
// Gauss gradient for neighbour cell
|
||||
lsNIn[faceI] = -wIn[faceI]*SfIn[faceI]/cellVIn[nei];
|
||||
}
|
||||
}
|
||||
|
||||
// Boundary faces
|
||||
forAll (lsP.boundaryField(), patchI)
|
||||
{
|
||||
fvsPatchVectorField& patchLsP = lsP.boundaryField()[patchI];
|
||||
fvsPatchVectorField& patchLsN = lsN.boundaryField()[patchI];
|
||||
const fvPatch& p = mesh().boundary()[patchI];
|
||||
const unallocLabelList& fc = p.faceCells();
|
||||
|
||||
const fvsPatchScalarField& pw = w.boundaryField()[patchI];
|
||||
const vectorField& pSf = Sf.boundaryField()[patchI];
|
||||
|
||||
// Get indicator for local side
|
||||
const fvPatchScalarField& ugg = useGaussGrad.boundaryField()[patchI];
|
||||
const scalarField pUgg = ugg.patchInternalField();
|
||||
|
||||
if (p.coupled())
|
||||
{
|
||||
const scalarField cellVInNei =
|
||||
cellV.boundaryField()[patchI].patchNeighbourField();
|
||||
|
||||
// Get indicator for neighbour side
|
||||
const scalarField nUgg = ugg.patchNeighbourField();
|
||||
|
||||
forAll (pUgg, pFaceI)
|
||||
{
|
||||
if (pUgg[pFaceI] > SMALL)
|
||||
{
|
||||
// Gauss grad for owner cell
|
||||
patchLsP[pFaceI] =
|
||||
(1 - pw[pFaceI])*pSf[pFaceI]/cellVIn[fc[pFaceI]];
|
||||
}
|
||||
|
||||
if (nUgg[pFaceI] > SMALL)
|
||||
{
|
||||
// Gauss gradient for neighbour cell
|
||||
patchLsN[pFaceI] =
|
||||
-pw[pFaceI]*pSf[pFaceI]/cellVInNei[pFaceI];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
forAll (pUgg, pFaceI)
|
||||
{
|
||||
if (pUgg[pFaceI] > SMALL)
|
||||
{
|
||||
// Gauss grad for owner cell
|
||||
patchLsP[pFaceI] =
|
||||
(1 - pw[pFaceI])*pSf[pFaceI]/cellVIn[fc[pFaceI]];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if (debug)
|
||||
{
|
||||
Info<< "leastSquaresVectors::makeLeastSquaresVectors() :"
|
||||
|
|
|
@ -74,6 +74,12 @@ public:
|
|||
TypeName("leastSquaresVectors");
|
||||
|
||||
|
||||
// Static data members
|
||||
|
||||
//- Point merge tolerance
|
||||
static const scalar smallDotProdTol_;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct given an fvMesh
|
||||
|
|
|
@ -27,7 +27,7 @@ Description
|
|||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "scalarLeastSquaresGrad.H"
|
||||
#include "leastSquaresGrad.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
@ -64,7 +64,7 @@ tmp<BlockLduSystem<vector, vector> > leastSquaresGrad<scalar>::fvmGrad
|
|||
),
|
||||
mesh,
|
||||
dimensionedScalar("zero", dimVolume, 0),
|
||||
"zeroGradient"
|
||||
zeroGradientFvPatchScalarField::typeName
|
||||
);
|
||||
cellV.internalField() = mesh.V();
|
||||
cellV.correctBoundaryConditions();
|
||||
|
@ -90,7 +90,7 @@ tmp<BlockLduSystem<vector, vector> > leastSquaresGrad<scalar>::fvmGrad
|
|||
const surfaceVectorField& ownLs = lsv.pVectors();
|
||||
const surfaceVectorField& neiLs = lsv.nVectors();
|
||||
|
||||
forAll(nei, faceI)
|
||||
forAll (nei, faceI)
|
||||
{
|
||||
register label owner = own[faceI];
|
||||
register label neighbour = nei[faceI];
|
||||
|
@ -104,7 +104,7 @@ tmp<BlockLduSystem<vector, vector> > leastSquaresGrad<scalar>::fvmGrad
|
|||
}
|
||||
|
||||
// Boundary contributions
|
||||
forAll(vf.boundaryField(), patchI)
|
||||
forAll (vf.boundaryField(), patchI)
|
||||
{
|
||||
const fvPatchScalarField& pf = vf.boundaryField()[patchI];
|
||||
const fvPatch& patch = pf.patch();
|
||||
|
@ -113,7 +113,7 @@ tmp<BlockLduSystem<vector, vector> > leastSquaresGrad<scalar>::fvmGrad
|
|||
const labelList& fc = patch.faceCells();
|
||||
|
||||
// Part of diagonal contribution irrespective of the patch type
|
||||
forAll(pf, faceI)
|
||||
forAll (pf, faceI)
|
||||
{
|
||||
const label cellI = fc[faceI];
|
||||
d[cellI] -= cellVIn[cellI]*pownLs[faceI];
|
||||
|
@ -131,7 +131,7 @@ tmp<BlockLduSystem<vector, vector> > leastSquaresGrad<scalar>::fvmGrad
|
|||
bs.coupleLower()[patchI].asLinear();
|
||||
|
||||
// Coupling and diagonal contributions
|
||||
forAll(pf, faceI)
|
||||
forAll (pf, faceI)
|
||||
{
|
||||
const vector upper = cellVIn[fc[faceI]]*pownLs[faceI];
|
||||
const vector lower = cellVInNei[faceI]*pneiLs[faceI];
|
||||
|
@ -146,7 +146,7 @@ tmp<BlockLduSystem<vector, vector> > leastSquaresGrad<scalar>::fvmGrad
|
|||
const scalarField boundaryCoeffs(pf.valueBoundaryCoeffs(pw));
|
||||
|
||||
// Diagonal and source contributions depending on the patch type
|
||||
forAll(pf, faceI)
|
||||
forAll (pf, faceI)
|
||||
{
|
||||
const label cellI = fc[faceI];
|
||||
d[cellI] += cellVIn[cellI]*pownLs[faceI]*internalCoeffs[faceI];
|
Binary file not shown.
|
@ -200,27 +200,25 @@ void Foam::BlockMatrixAgglomeration<Type>::calcAgglomeration()
|
|||
}
|
||||
|
||||
// Collect solo equations
|
||||
label nSolo = 0;
|
||||
|
||||
forAll (zeroCluster, eqnI)
|
||||
{
|
||||
if (zeroCluster[eqnI])
|
||||
{
|
||||
// Found solo equation
|
||||
nSolo++;
|
||||
nSolo_++;
|
||||
|
||||
agglomIndex_[eqnI] = nCoarseEqns_;
|
||||
}
|
||||
}
|
||||
|
||||
if (nSolo > 0)
|
||||
if (nSolo_ > 0)
|
||||
{
|
||||
// Found solo equations
|
||||
nCoarseEqns_++;
|
||||
|
||||
if (BlockLduMatrix<Type>::debug >= 2)
|
||||
if (BlockLduMatrix<Type>::debug >= 3)
|
||||
{
|
||||
Pout<< "Found " << nSolo << " weakly connected equations."
|
||||
Pout<< "Found " << nSolo_ << " weakly connected equations."
|
||||
<< endl;
|
||||
}
|
||||
}
|
||||
|
@ -347,7 +345,7 @@ void Foam::BlockMatrixAgglomeration<Type>::calcAgglomeration()
|
|||
|
||||
reduce(coarsen_, andOp<bool>());
|
||||
|
||||
if (BlockLduMatrix<Type>::debug >= 2)
|
||||
if (BlockLduMatrix<Type>::debug >= 3)
|
||||
{
|
||||
Pout << "Coarse level size: " << nCoarseEqns_;
|
||||
|
||||
|
@ -379,6 +377,7 @@ Foam::BlockMatrixAgglomeration<Type>::BlockMatrixAgglomeration
|
|||
normPtr_(BlockCoeffNorm<Type>::New(dict)),
|
||||
agglomIndex_(matrix_.lduAddr().size()),
|
||||
groupSize_(groupSize),
|
||||
nSolo_(0),
|
||||
nCoarseEqns_(0),
|
||||
coarsen_(false)
|
||||
{
|
||||
|
@ -441,6 +440,8 @@ Foam::BlockMatrixAgglomeration<Type>::restrictMatrix() const
|
|||
}
|
||||
# endif
|
||||
|
||||
// Does the matrix have solo equations
|
||||
bool soloEqns = nSolo_ > 0;
|
||||
|
||||
// Storage for block neighbours and coefficients
|
||||
|
||||
|
@ -468,6 +469,13 @@ Foam::BlockMatrixAgglomeration<Type>::restrictMatrix() const
|
|||
label rmUpperAddr = agglomIndex_[upperAddr[fineCoeffi]];
|
||||
label rmLowerAddr = agglomIndex_[lowerAddr[fineCoeffi]];
|
||||
|
||||
// If the coefficient touches block zero and solo equations are
|
||||
// present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (rmUpperAddr == rmLowerAddr)
|
||||
{
|
||||
// For each fine coeff inside of a coarse cluster keep the address
|
||||
|
@ -563,6 +571,16 @@ Foam::BlockMatrixAgglomeration<Type>::restrictMatrix() const
|
|||
|
||||
forAll(coeffRestrictAddr, fineCoeffi)
|
||||
{
|
||||
label rmUpperAddr = agglomIndex_[upperAddr[fineCoeffi]];
|
||||
label rmLowerAddr = agglomIndex_[lowerAddr[fineCoeffi]];
|
||||
|
||||
// If the coefficient touches block zero and solo equations are
|
||||
// present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (coeffRestrictAddr[fineCoeffi] >= 0)
|
||||
{
|
||||
coeffRestrictAddr[fineCoeffi] =
|
||||
|
@ -765,6 +783,16 @@ Foam::BlockMatrixAgglomeration<Type>::restrictMatrix() const
|
|||
|
||||
forAll(coeffRestrictAddr, fineCoeffI)
|
||||
{
|
||||
label rmUpperAddr = agglomIndex_[upperAddr[fineCoeffI]];
|
||||
label rmLowerAddr = agglomIndex_[lowerAddr[fineCoeffI]];
|
||||
|
||||
// If the coefficient touches block zero and
|
||||
// solo equations are present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
label cCoeff = coeffRestrictAddr[fineCoeffI];
|
||||
|
||||
if (cCoeff >= 0)
|
||||
|
@ -837,6 +865,16 @@ Foam::BlockMatrixAgglomeration<Type>::restrictMatrix() const
|
|||
|
||||
forAll(coeffRestrictAddr, fineCoeffI)
|
||||
{
|
||||
label rmUpperAddr = agglomIndex_[upperAddr[fineCoeffI]];
|
||||
label rmLowerAddr = agglomIndex_[lowerAddr[fineCoeffI]];
|
||||
|
||||
// If the coefficient touches block zero and
|
||||
// solo equations are present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
label cCoeff = coeffRestrictAddr[fineCoeffI];
|
||||
|
||||
if (cCoeff >= 0)
|
||||
|
|
|
@ -74,6 +74,9 @@ class BlockMatrixAgglomeration
|
|||
//- Group size
|
||||
label groupSize_;
|
||||
|
||||
//- Number of solo cells
|
||||
label nSolo_;
|
||||
|
||||
//- Number of coarse equations
|
||||
label nCoarseEqns_;
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ template<class Type>
|
|||
class BlockAmgLevel;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class BlockMatrixCoarsening Declaration
|
||||
Class BlockMatrixCoarsening Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class Type>
|
||||
|
@ -79,6 +79,7 @@ class BlockMatrixCoarsening
|
|||
//- Minimum number of coarse level equations
|
||||
label minCoarseEqns_;
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
//- Disallow default bitwise copy construct
|
||||
|
|
|
@ -224,7 +224,7 @@ void Foam::coarseBlockAmgLevel<Type>::solve
|
|||
// Switch of debug in top-level direct solve
|
||||
label oldDebug = BlockLduMatrix<Type>::debug;
|
||||
|
||||
if (BlockLduMatrix<Type>::debug >= 3)
|
||||
if (BlockLduMatrix<Type>::debug >= 4)
|
||||
{
|
||||
BlockLduMatrix<Type>::debug = 1;
|
||||
}
|
||||
|
|
|
@ -329,7 +329,7 @@ void Foam::lduMatrix::operator*=(scalar s)
|
|||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::scalarField > Foam::lduMatrix::H1() const
|
||||
Foam::tmp<Foam::scalarField> Foam::lduMatrix::H1() const
|
||||
{
|
||||
tmp<scalarField > tH1
|
||||
(
|
||||
|
|
|
@ -66,14 +66,9 @@ class BlockCoeffMaxNorm
|
|||
//- Control data dictionary
|
||||
dictionary dict_;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
// Protected data types
|
||||
|
||||
|
||||
// Protected data
|
||||
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Return dictionary
|
||||
|
@ -82,6 +77,7 @@ protected:
|
|||
return dict_;
|
||||
}
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
|
|
@ -179,27 +179,25 @@ void Foam::pamgPolicy::calcChild()
|
|||
}
|
||||
|
||||
// Collect solo equations
|
||||
label nSolo = 0;
|
||||
|
||||
forAll (zeroCluster, eqnI)
|
||||
{
|
||||
if (zeroCluster[eqnI])
|
||||
{
|
||||
// Found solo equation
|
||||
nSolo++;
|
||||
nSolo_++;
|
||||
|
||||
child_[eqnI] = nCoarseEqns_;
|
||||
}
|
||||
}
|
||||
|
||||
if (nSolo > 0)
|
||||
if (nSolo_ > 0)
|
||||
{
|
||||
// Found solo equations
|
||||
nCoarseEqns_++;
|
||||
|
||||
if (lduMatrix::debug >= 2)
|
||||
{
|
||||
Pout << "Found " << nSolo << " weakly connected equations."
|
||||
Pout<< "Found " << nSolo_ << " weakly connected equations."
|
||||
<< endl;
|
||||
}
|
||||
}
|
||||
|
@ -334,6 +332,7 @@ Foam::pamgPolicy::pamgPolicy
|
|||
amgPolicy(groupSize, minCoarseEqns),
|
||||
matrix_(matrix),
|
||||
child_(),
|
||||
nSolo_(0),
|
||||
nCoarseEqns_(0),
|
||||
coarsen_(false)
|
||||
{
|
||||
|
@ -395,6 +394,9 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
# endif
|
||||
|
||||
|
||||
// Does the matrix have solo equations
|
||||
bool soloEqns = nSolo_ > 0;
|
||||
|
||||
// Storage for block neighbours and coefficients
|
||||
|
||||
// Guess initial maximum number of neighbours in block
|
||||
|
@ -409,6 +411,9 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
scalarList blockCoeffsData(maxNnbrs*nCoarseEqns_, 0.0);
|
||||
|
||||
// Create face-restriction addressing
|
||||
// Note: value of coeffRestrictAddr for off-diagonal coefficients
|
||||
// touching solo cells will be invalid
|
||||
// HJ, 7/Apr/2015
|
||||
labelList coeffRestrictAddr(nFineCoeffs);
|
||||
|
||||
// Initial neighbour array (not in upper-triangle order)
|
||||
|
@ -418,17 +423,24 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
label nCoarseCoeffs = 0;
|
||||
|
||||
// Loop through all fine coeffs
|
||||
forAll (upperAddr, fineCoeffi)
|
||||
forAll (upperAddr, fineCoeffI)
|
||||
{
|
||||
label rmUpperAddr = child_[upperAddr[fineCoeffi]];
|
||||
label rmLowerAddr = child_[lowerAddr[fineCoeffi]];
|
||||
label rmUpperAddr = child_[upperAddr[fineCoeffI]];
|
||||
label rmLowerAddr = child_[lowerAddr[fineCoeffI]];
|
||||
|
||||
// If the coefficient touches block zero and solo equations are
|
||||
// present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (rmUpperAddr == rmLowerAddr)
|
||||
{
|
||||
// For each fine coeff inside of a coarse cluster keep the address
|
||||
// of the cluster corresponding to the coeff in the
|
||||
// coeffRestrictAddr as a negative index
|
||||
coeffRestrictAddr[fineCoeffi] = -(rmUpperAddr + 1);
|
||||
coeffRestrictAddr[fineCoeffI] = -(rmUpperAddr + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -455,7 +467,7 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
if (initCoarseNeighb[ccCoeffs[i]] == cNei)
|
||||
{
|
||||
nbrFound = true;
|
||||
coeffRestrictAddr[fineCoeffi] = ccCoeffs[i];
|
||||
coeffRestrictAddr[fineCoeffI] = ccCoeffs[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -485,7 +497,7 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
|
||||
ccCoeffs[ccnCoeffs] = nCoarseCoeffs;
|
||||
initCoarseNeighb[nCoarseCoeffs] = cNei;
|
||||
coeffRestrictAddr[fineCoeffi] = nCoarseCoeffs;
|
||||
coeffRestrictAddr[fineCoeffI] = nCoarseCoeffs;
|
||||
ccnCoeffs++;
|
||||
|
||||
// New coarse coeff created
|
||||
|
@ -518,12 +530,22 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
}
|
||||
}
|
||||
|
||||
forAll(coeffRestrictAddr, fineCoeffi)
|
||||
forAll (coeffRestrictAddr, fineCoeffI)
|
||||
{
|
||||
if (coeffRestrictAddr[fineCoeffi] >= 0)
|
||||
label rmUpperAddr = child_[upperAddr[fineCoeffI]];
|
||||
label rmLowerAddr = child_[lowerAddr[fineCoeffI]];
|
||||
|
||||
// If the coefficient touches block zero and solo equations are
|
||||
// present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
coeffRestrictAddr[fineCoeffi] =
|
||||
coarseCoeffMap[coeffRestrictAddr[fineCoeffi]];
|
||||
continue;
|
||||
}
|
||||
|
||||
if (coeffRestrictAddr[fineCoeffI] >= 0)
|
||||
{
|
||||
coeffRestrictAddr[fineCoeffI] =
|
||||
coarseCoeffMap[coeffRestrictAddr[fineCoeffI]];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -696,8 +718,18 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
scalarField& coarseUpper = coarseMatrix.upper();
|
||||
scalarField& coarseLower = coarseMatrix.lower();
|
||||
|
||||
forAll(coeffRestrictAddr, fineCoeffI)
|
||||
forAll (coeffRestrictAddr, fineCoeffI)
|
||||
{
|
||||
label rmUpperAddr = child_[upperAddr[fineCoeffI]];
|
||||
label rmLowerAddr = child_[lowerAddr[fineCoeffI]];
|
||||
|
||||
// If the coefficient touches block zero and solo equations are
|
||||
// present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
label cCoeff = coeffRestrictAddr[fineCoeffI];
|
||||
|
||||
if (cCoeff >= 0)
|
||||
|
@ -721,8 +753,18 @@ Foam::autoPtr<Foam::amgMatrix> Foam::pamgPolicy::restrictMatrix
|
|||
// Coarse matrix upper coefficients
|
||||
scalarField& coarseUpper = coarseMatrix.upper();
|
||||
|
||||
forAll(coeffRestrictAddr, fineCoeffI)
|
||||
forAll (coeffRestrictAddr, fineCoeffI)
|
||||
{
|
||||
label rmUpperAddr = child_[upperAddr[fineCoeffI]];
|
||||
label rmLowerAddr = child_[lowerAddr[fineCoeffI]];
|
||||
|
||||
// If the coefficient touches block zero and solo equations are
|
||||
// present, skip it
|
||||
if (soloEqns && (rmUpperAddr == 0 || rmLowerAddr == 0))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
label cCoeff = coeffRestrictAddr[fineCoeffI];
|
||||
|
||||
if (cCoeff >= 0)
|
||||
|
|
|
@ -59,9 +59,12 @@ class pamgPolicy
|
|||
//- Reference to matrix
|
||||
const lduMatrix& matrix_;
|
||||
|
||||
//- Child array
|
||||
//- Child array: for each fine equation give coarse cluster index
|
||||
labelField child_;
|
||||
|
||||
//- Number of solo cells
|
||||
label nSolo_;
|
||||
|
||||
//- Number of coarse equations
|
||||
label nCoarseEqns_;
|
||||
|
||||
|
|
|
@ -263,7 +263,9 @@ void Foam::fineAmgLevel::scaleX
|
|||
// Scale x
|
||||
if
|
||||
(
|
||||
scalingVector[0]*scalingVector[1] <= 0
|
||||
mag(scalingVector[0]) > GREAT
|
||||
|| mag(scalingVector[1]) > GREAT
|
||||
|| scalingVector[0]*scalingVector[1] <= 0
|
||||
|| mag(scalingVector[0]) < mag(scalingVector[1])
|
||||
)
|
||||
{
|
||||
|
|
|
@ -236,7 +236,10 @@ Foam::lduSolverPerformance Foam::deflationSolver::solve
|
|||
if
|
||||
(
|
||||
nDirs < maxDirs_
|
||||
&& R[qI][qI] > 1e-3*Foam::max(R[0][0], R[1][1])
|
||||
&& (
|
||||
R[qI][qI] > GREAT
|
||||
|| R[qI][qI] > 1e-3*Foam::max(R[0][0], R[1][1])
|
||||
)
|
||||
)
|
||||
{
|
||||
Z.set(nDirs, new scalarField(Q[qI]));
|
||||
|
|
|
@ -110,11 +110,11 @@ void Foam::gradientEnthalpyFvPatchScalarField::updateCoeffs()
|
|||
)
|
||||
{
|
||||
gradient() = thermo.Cp(Tw, patchi)*Tw.snGrad()
|
||||
+ patch().deltaCoeffs()*
|
||||
(
|
||||
thermo.h(Tw, patchi)
|
||||
- thermo.h(Tw, patch().faceCells())
|
||||
);
|
||||
+ patch().deltaCoeffs()*
|
||||
(
|
||||
thermo.h(Tw, patchi)
|
||||
- thermo.h(Tw, patch().faceCells())
|
||||
);
|
||||
}
|
||||
else if
|
||||
(
|
||||
|
|
|
@ -119,11 +119,11 @@ void Foam::mixedEnthalpyFvPatchScalarField::updateCoeffs()
|
|||
{
|
||||
refValue() = thermo.h(Tw.refValue(), patchi);
|
||||
refGrad() = thermo.Cp(Tw, patchi)*Tw.refGrad()
|
||||
+ patch().deltaCoeffs()*
|
||||
(
|
||||
thermo.h(Tw, patchi)
|
||||
- thermo.h(Tw, patch().faceCells())
|
||||
);
|
||||
+ patch().deltaCoeffs()*
|
||||
(
|
||||
thermo.h(Tw, patchi)
|
||||
- thermo.h(Tw, patch().faceCells())
|
||||
);
|
||||
}
|
||||
else if
|
||||
(
|
||||
|
@ -135,11 +135,11 @@ void Foam::mixedEnthalpyFvPatchScalarField::updateCoeffs()
|
|||
{
|
||||
refValue() = thermo.hs(Tw.refValue(), patchi);
|
||||
refGrad() = thermo.Cp(Tw, patchi)*Tw.refGrad()
|
||||
+ patch().deltaCoeffs()*
|
||||
(
|
||||
thermo.hs(Tw, patchi)
|
||||
- thermo.hs(Tw, patch().faceCells())
|
||||
);
|
||||
+ patch().deltaCoeffs()*
|
||||
(
|
||||
thermo.hs(Tw, patchi)
|
||||
- thermo.hs(Tw, patch().faceCells())
|
||||
);
|
||||
}
|
||||
|
||||
mixedFvPatchScalarField::updateCoeffs();
|
||||
|
|
|
@ -68,13 +68,21 @@ solvers
|
|||
}
|
||||
|
||||
blockSolver
|
||||
{}
|
||||
{
|
||||
convergence 1e-6;
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
{
|
||||
nNonOrthoCorrectors 0;
|
||||
}
|
||||
|
||||
fieldBounds
|
||||
{
|
||||
U 500;
|
||||
p -5e4 5e4;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
U 0.95;
|
||||
|
|
|
@ -82,7 +82,9 @@ solvers
|
|||
}
|
||||
|
||||
blockSolver
|
||||
{}
|
||||
{
|
||||
convergence 1e-6;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
|
@ -91,6 +93,12 @@ relaxationFactors
|
|||
epsilon 0.9;
|
||||
}
|
||||
|
||||
fieldBounds
|
||||
{
|
||||
U 500;
|
||||
p -5e4 5e4;
|
||||
}
|
||||
|
||||
SIMPLE
|
||||
{
|
||||
nNonOrthoCorrectors 0;
|
||||
|
|
|
@ -69,10 +69,18 @@ solvers
|
|||
|
||||
blockSolver
|
||||
{
|
||||
convergence 1e-6;
|
||||
|
||||
pRefCell 0;
|
||||
pRefValue 0;
|
||||
}
|
||||
|
||||
fieldBounds
|
||||
{
|
||||
U 500;
|
||||
p -5e4 5e4;
|
||||
}
|
||||
|
||||
relaxationFactors
|
||||
{
|
||||
U 0.999;
|
||||
|
|
|
@ -16,7 +16,7 @@ FoamFile
|
|||
|
||||
ddtSchemes
|
||||
{
|
||||
default CrankNicholson 0.9;
|
||||
default CrankNicolson 0.9;
|
||||
}
|
||||
|
||||
gradSchemes
|
||||
|
|
Reference in a new issue