Commit 8aec7c19 authored by Andrew Heather's avatar Andrew Heather
Browse files

Merge branch 'release-v1812'

parents 6592c677 d3bdc4ed

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.
......@@ -14,15 +14,24 @@ cd ${0%/*} && wmakeCheckPwd "$WM_PROJECT_DIR" 2>/dev/null || {
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
#------------------------------------------------------------------------------
# Preamble. Report compiler version
case "$WM_COMPILER" in
Gcc*) gcc --version 2>/dev/null | sed -ne '1p' ;;
Clang*) clang --version 2>/dev/null | sed -ne '1p' ;;
esac
# Preamble. Report mpirun location
command -v mpirun 2>/dev/null || true
echo "========================================"
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
echo "Starting ${WM_PROJECT_DIR##*/} ${0##*}"
echo "Starting compile ${WM_PROJECT_DIR##*/} ${0##*}"
echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
echo "========================================"
echo
# Compile wmake tools
(cd "${WM_DIR:-wmake}/src" && make)
# Compile tools for wmake
"${WM_DIR:-wmake}"/src/Allmake
# Compile ThirdParty libraries and applications
if [ -d "$WM_THIRD_PARTY_DIR" ]
......@@ -51,6 +60,13 @@ then
(cd $WM_PROJECT_DIR/modules 2>/dev/null && wmake -all)
fi
# Count files in given directory. Ignore "Test-*" binaries.
_foamCountDirEntries()
{
(cd "$1" 2>/dev/null && find -mindepth 1 -maxdepth 1 -type f 2>/dev/null) |\
sed -e '\@/Test-@d' | wc -l
}
# Some summary information
echo
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
......@@ -59,4 +75,11 @@ echo " ${WM_PROJECT_DIR##*/}"
echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
echo
echo " api = $(wmakeBuildInfo -show-api 2>/dev/null)"
echo " patch = $(wmakeBuildInfo -show-patch 2>/dev/null)"
echo " bin = $(_foamCountDirEntries $FOAM_APPBIN) entries"
echo " lib = $(_foamCountDirEntries $FOAM_LIBBIN) entries"
echo
echo "========================================"
#------------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
OpenFOAM(R) is Copyright (C) 2011 OpenFOAM Foundation
Contact: OpenFOAM Foundation (OpenFOAM.Foundation@gmail.com)
OpenFOAM(R) is released by OpenCFD Ltd. via www.openfoam.com
You may use, distribute and copy the OpenFOAM CFD Toolbox under the terms
of GNU General Public License version 3, which is displayed below, or
......
# Do not track build information
build-info
# Do not track time-stamp
time-stamp
# META-INFO
Meta-information is for OpenFOAM internal use only.
Do not rely on any files or any file contents in this directory,
or even the existence of this directory.
The format, content and meaning may be changed at anytime without
notice.
The information is provided here for internal documentation purposes.
## api-info
This file and its contents are to be tracked by git.
- File content (api) generated by wmakeBuildInfo from OPENFOAM define
in `wmake/rules/General/general`
- File content (patch) is manually generated content.
## build-info
This file is *never* to be tracked by git, but may be present in shipped
source archives.
- File content (branch, build) generated by wmakeBuildInfo from git
information and cached from previous wmake (api)
## Content types
### api
- 4-digit year-month (YYMM) integer corresponding to the major
release or in unusual cases an intermediate release.
- Format is year-month, as per `date +%y%m`.
Eg, `1712` for the Dec-2017 release.
### patch
- 6-digit year-month-day (YYMMDD) integer corresponding to a patch-level
for the given **released** API.
Development branches have a patch value of `0`.
- Format is year-month-day, as per `date +%y%m%d`.
- The first release is by definition unpatched, and thus carries
a patch value of `0`. If this release were to be patched the following
day, the patch level would jump accordingly.
The patch value is only meaningful together with the api value.
## Flow of information
Changes in the build information must be reflected in information
available in the final binaries. Conversely, it is necessary for later
distributions to have a record of the same information.
| property | source | saved |
|-----------|---------------------------|------------|
| api | wmake/rules | api-info |
| patch | manual (api-info) | build-info |
| branch | git | build-info |
| build | git | build-info |
The command `wmakeBuildInfo -check` is used to determine if
the saved information needs synchronization. The command
`wmakeBuildInfo -update` preforms the synchronitzation.
## Notes
The saved information is split into two separate files. The `api-info`
contains more permanent information, whereas the `build-info` is more
transient in nature.
----
2018-11-29
api=1812
patch=0
Notes from merging Integration-TUD-addOns and plus.
0)
- Changed
dynamicMesh/polyTopoChange/polyTopoChange/hexRef8/hexRef8.C
to created internal faces out-of-nothing.
- Added the mapNewInternalFaces to dynamicRefineFvMesh
- unset FOAM_SETNAN, FOAM_SIGFPE and run
testCases/testAMRandLoadBalancing/damBreakWithObstacle
- However when writing V0 we noticed a nan in the V0 field.
(this doesn't get written anymore but it might indicate a bug)
1) Tried moving additional mapping of surface fields to
virtual dynamicRefineFvMesh::mapFields(const mapPolyMesh&);
so it would get called from the fvMesh::updateMesh. However
this mapping (explicitly) gets done using unadapted addressing
and it causes the cell addressing to be wrong:
[1] --> FOAM FATAL ERROR:
[1] index 826015320 out of range 0 ... 71079
[1]
[1] From function void Foam::UList<T>::checkIndex(Foam::label) const [with T = Foam::cell; Foam::label = int]
[1] in file /home/preston2/mattijs/OpenFOAM/work/OpenFOAM-plus.integration-TUD/src/OpenFOAM/lnInclude/UListI.H at line 106.
From dynamicRefineFvMesh::mapNewInternalFaces : (I think)
cell faceOwner = this->cells()[owner[facei]];
So this adaptation should be done in a separate pass
2) Mapping new internal faces:
- currently done by averaging the values of 'properly' mapped
faces from owner and neighbour.
- this would not work if a cell gets split into 3x3x3
- instead this should be done by some geometric interpolation
from point values?
- have selection mechanism instead or use oriented flag on surfaceFields
3) Current averaging is valid only for internal faces & only scalar/vector
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
. $WM_PROJECT_DIR/wmake/scripts/have_fftw
#------------------------------------------------------------------------------
if have_fftw
then
wmake
wmake $targetType
else
echo "==> skip dnsFoam solver (no FFTW)"
fi
......
......@@ -44,9 +44,14 @@ Description
int main(int argc, char *argv[])
{
argList::addNote
(
"Direct numerical simulation for boxes of isotropic turbulence."
);
#include "postProcess.H"
#include "setRootCase.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createMeshNoClear.H"
#include "createControl.H"
......
......@@ -31,11 +31,6 @@ IOdictionary transportProperties
Info<< "Reading diffusivity DT\n" << endl;
dimensionedScalar DT
(
"DT",
dimArea/dimTime,
transportProperties
);
dimensionedScalar DT("DT", dimViscosity, transportProperties);
#include "createFvOptions.H"
......@@ -59,9 +59,13 @@ Description
int main(int argc, char *argv[])
{
#include "addCheckCaseOptions.H"
#include "setRootCase.H"
argList::addNote
(
"Laplace equation solver for a scalar quantity."
);
#include "addCheckCaseOptions.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createMesh.H"
......
......@@ -47,7 +47,4 @@
Info<< "Reading diffusivity DT\n" << endl;
dimensionedScalar DT
(
transportProperties.lookup("DT")
);
dimensionedScalar DT("DT", dimViscosity, transportProperties);
......@@ -60,8 +60,12 @@ Description
int main(int argc, char *argv[])
{
#include "setRootCase.H"
argList::addNote
(
"Overset Laplace equation solver for a scalar quantity."
);
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createNamedDynamicFvMesh.H"
......
if (runTime.outputTime())
if (runTime.writeTime())
{
volVectorField gradT(fvc::grad(T));
......
......@@ -38,10 +38,9 @@ if (args.found("initialiseUBCs"))
// Construct a pressure field
// If it is available read it otherwise construct from the velocity BCs
// converting fixed-value BCs to zero-gradient and vice versa.
word pName("p");
// Update name of the pressure field from the command-line option
args.readIfPresent("pName", pName);
// Allow override from command-line -pName option
const word pName = args.opt<word>("pName", "p");
// Infer the pressure BCs from the velocity
wordList pBCTypes
......
......@@ -38,10 +38,9 @@ if (args.found("initialiseUBCs"))
// Construct a pressure field
// If it is available read it otherwise construct from the velocity BCs
// converting fixed-value BCs to zero-gradient and vice versa.
word pName("p");
// Update name of the pressure field from the command-line option
args.readIfPresent("pName", pName);
// Allow override from command-line -pName option
const word pName = args.opt<word>("pName", "p");
// Infer the pressure BCs from the velocity
wordList pBCTypes
......
......@@ -97,6 +97,11 @@ Description
int main(int argc, char *argv[])
{
argList::addNote
(
"Overset potential flow solver which solves for the velocity potential"
);
argList::addOption
(
"pName",
......@@ -125,10 +130,10 @@ int main(int argc, char *argv[])
argList::addBoolOption
(
"withFunctionObjects",
"execute functionObjects"
"Execute functionObjects"
);
#include "setRootCase.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createNamedDynamicFvMesh.H"
......
......@@ -94,6 +94,11 @@ Description
int main(int argc, char *argv[])
{
argList::addNote
(
"Potential flow solver which solves for the velocity potential"
);
argList::addOption
(
"pName",
......@@ -122,11 +127,11 @@ int main(int argc, char *argv[])
argList::addBoolOption
(
"withFunctionObjects",
"execute functionObjects"
"Execute functionObjects"
);
#include "addCheckCaseOptions.H"
#include "setRootCase.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createMesh.H"
......
......@@ -47,12 +47,7 @@ IOdictionary transportProperties
Info<< "Reading diffusivity DT\n" << endl;
dimensionedScalar DT
(
"DT",
dimArea/dimTime,
transportProperties
);
dimensionedScalar DT("DT", dimViscosity, transportProperties);
#include "createPhi.H"
......
......@@ -61,8 +61,13 @@ Description
int main(int argc, char *argv[])
{
argList::addNote
(
"Passive scalar transport equation solver."
);
#include "addCheckCaseOptions.H"
#include "setRootCase.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createMesh.H"
......
......@@ -86,10 +86,16 @@ Description
int main(int argc, char *argv[])
{
argList::addNote
(
"Solver for compressible premixed/partially-premixed combustion with"
" turbulence modelling."
);
#include "postProcess.H"
#include "addCheckCaseOptions.H"
#include "setRootCase.H"
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createMesh.H"
#include "createControl.H"
......@@ -115,7 +121,7 @@ int main(int argc, char *argv[])
#include "compressibleCourantNo.H"
#include "setDeltaT.H"
runTime++;
++runTime;
Info<< "\n\nTime = " << runTime.timeName() << endl;
#include "rhoEqn.H"
......
......@@ -71,8 +71,13 @@ Description
int main(int argc, char *argv[])
{
#include "setRootCase.H"
argList::addNote
(
"Solver for compressible premixed/partially-premixed combustion with"
" turbulence modelling."
);
#include "setRootCaseLists.H"
#include "createTime.H"
#include "createDynamicFvMesh.H"
......@@ -101,8 +106,8 @@ int main(int argc, char *argv[])
#include "compressibleCourantNo.H"
#include "setDeltaT.H"
// Indicators for refinement. Note: before runTime++
// only for post-processing reasons.
// Indicators for refinement.
// Note: before ++runTime only for post-processing reasons.
tmp<volScalarField> tmagGradP = mag(fvc::grad(p));
volScalarField normalisedGradP
(
......@@ -112,7 +117,7 @@ int main(int argc, char *argv[])
normalisedGradP.writeOpt() = IOobject::AUTO_WRITE;
tmagGradP.clear();
runTime++;
++runTime;
Info<< "\n\nTime = " << runTime.timeName() << endl;
......
......@@ -49,7 +49,7 @@ Foam::XiGModels::basicSubGrid::basicSubGrid
)
:
XiGModel(XiGProperties, thermo, turbulence, Su),
k1(readScalar(XiGModelCoeffs_.lookup("k1"))),
k1(XiGModelCoeffs_.get<scalar>("k1")),
XiGModel_(XiGModel::New(XiGModelCoeffs_, thermo, turbulence, Su))
{}
......@@ -104,7 +104,7 @@ bool Foam::XiGModels::basicSubGrid::read(const dictionary& XiGProperties)
{
XiGModel::read(XiGProperties);
XiGModelCoeffs_.lookup("k1") >> k1;
XiGModelCoeffs_.readEntry("k1", k1);
return true;
}
......
......@@ -81,7 +81,7 @@ bool Foam::PDRDragModel::read(const dictionary& PDRProperties)
{
PDRDragModelCoeffs_ = PDRProperties.optionalSubDict(type() + "Coeffs");
PDRDragModelCoeffs_.read("drag", on_);
PDRDragModelCoeffs_.readEntry("drag", on_);
return true;
}
......
......@@ -165,8 +165,8 @@ bool Foam::PDRDragModels::basic::read(const dictionary& PDRProperties)
{
PDRDragModel::read(PDRProperties);
PDRDragModelCoeffs_.read("Csu", Csu.value());
PDRDragModelCoeffs_.read("Csk", Csk.value());
PDRDragModelCoeffs_.readEntry("Csu", Csu.value());
PDRDragModelCoeffs_.readEntry("Csk", Csk.value());
return true;
}
......
......@@ -49,13 +49,10 @@ Foam::XiEqModels::Gulder::Gulder
)
:
XiEqModel(XiEqProperties, thermo, turbulence, Su),
XiEqCoef_(readScalar(XiEqModelCoeffs_.lookup("XiEqCoef"))),
XiEqCoef_(XiEqModelCoeffs_.get<scalar>("XiEqCoef")),
SuMin_(0.01*Su.average()),
uPrimeCoef_(readScalar(XiEqModelCoeffs_.lookup("uPrimeCoef"))),
subGridSchelkin_
(
readBool(XiEqModelCoeffs_.lookup("subGridSchelkin"))
)
uPrimeCoef_(XiEqModelCoeffs_.get<scalar>("uPrimeCoef")),
subGridSchelkin_(XiEqModelCoeffs_.get<bool>("subGridSchelkin"))
{}
......@@ -96,9 +93,9 @@ bool Foam::XiEqModels::Gulder::read(const dictionary& XiEqProperties)
{
XiEqModel::read(XiEqProperties);
XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef_;
XiEqModelCoeffs_.lookup("uPrimeCoef") >> uPrimeCoef_;
XiEqModelCoeffs_.lookup("subGridSchelkin") >> subGridSchelkin_;
XiEqModelCoeffs_.readEntry("XiEqCoef", XiEqCoef_);
XiEqModelCoeffs_.readEntry("uPrimeCoef", uPrimeCoef_);
XiEqModelCoeffs_.readEntry("subGridSchelkin", subGridSchelkin_);
return true;
}
......
......@@ -49,15 +49,12 @@ Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
)
:
XiEqModel(XiEqProperties, thermo, turbulence, Su),
XiEqCoef_(readScalar(XiEqModelCoeffs_.lookup("XiEqCoef"))),
XiEqExp_(readScalar(XiEqModelCoeffs_.lookup("XiEqExp"))),
lCoef_(readScalar(XiEqModelCoeffs_.lookup("lCoef"))),
XiEqCoef_(XiEqModelCoeffs_.get<scalar>("XiEqCoef")),
XiEqExp_(XiEqModelCoeffs_.get<scalar>("XiEqExp")),
lCoef_(XiEqModelCoeffs_.get<scalar>("lCoef")),
SuMin_(0.01*Su.average()),
uPrimeCoef_(readScalar(XiEqModelCoeffs_.lookup("uPrimeCoef"))),
subGridSchelkin_
(
readBool(XiEqModelCoeffs_.lookup("subGridSchelkin"))
),
uPrimeCoef_(XiEqModelCoeffs_.get<scalar>("uPrimeCoef")),
subGridSchelkin_(XiEqModelCoeffs_.get<bool>("subGridSchelkin")),
MaModel
(
Su.mesh().lookupObject<IOdictionary>("combustionProperties"),
......@@ -147,11 +144,11 @@ bool Foam::XiEqModels::SCOPEXiEq::read(const dictionary& XiEqProperties)
{
XiEqModel::read(XiEqProperties);
XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef_;
XiEqModelCoeffs_.lookup("XiEqExp") >> XiEqExp_;
XiEqModelCoeffs_.lookup("lCoef") >> lCoef_;
XiEqModelCoeffs_.lookup("uPrimeCoef") >> uPrimeCoef_;
XiEqModelCoeffs_.lookup("subGridSchelkin") >> subGridSchelkin_;
XiEqModelCoeffs_.readEntry("XiEqCoef", XiEqCoef_);
XiEqModelCoeffs_.readEntry("XiEqExp", XiEqExp_);
XiEqModelCoeffs_.readEntry("lCoef", lCoef_);
XiEqModelCoeffs_.readEntry("uPrimeCoef", uPrimeCoef_);
XiEqModelCoeffs_.readEntry("subGridSchelkin", subGridSchelkin_);
return true;
}
......