Merge remote-tracking branch 'origin/develop' into feature-shared-file

This commit is contained in:
mattijs
2016-03-02 09:54:15 +00:00
3 changed files with 51 additions and 10 deletions

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -38,6 +38,16 @@ Description
we detect the keywords in zones and redo the dictionary entries we detect the keywords in zones and redo the dictionary entries
to be labelLists. to be labelLists.
Usage
- foamFormatConvert [OPTION]
\param -noConstant \n
Exclude the constant/ directory from the times list
\param -enableFunctionEntries \n
By default all dictionary preprocessing of fields is disabled
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "argList.H" #include "argList.H"
@ -148,6 +158,11 @@ int main(int argc, char *argv[])
"noConstant", "noConstant",
"exclude the 'constant/' dir in the times list" "exclude the 'constant/' dir in the times list"
); );
argList::addBoolOption
(
"enableFunctionEntries",
"enable expansion of dictionary directives - #include, #codeStream etc"
);
#include "addRegionOption.H" #include "addRegionOption.H"
#include "setRootCase.H" #include "setRootCase.H"
@ -166,6 +181,19 @@ int main(int argc, char *argv[])
#include "createTime.H" #include "createTime.H"
const bool enableEntries = args.optionFound("enableFunctionEntries");
if (enableEntries)
{
Info<< "Allowing dictionary preprocessing ('#include', '#codeStream')."
<< endl;
}
int oldFlag = entry::disableFunctionEntries;
if (!enableEntries)
{
// By default disable dictionary expansion for fields
entry::disableFunctionEntries = 1;
}
// Make sure we do not use the master-only reading since we read // Make sure we do not use the master-only reading since we read
// fields (different per processor) as dictionaries. // fields (different per processor) as dictionaries.
@ -267,6 +295,8 @@ int main(int argc, char *argv[])
Info<< endl; Info<< endl;
} }
entry::disableFunctionEntries = oldFlag;
Info<< "End\n" << endl; Info<< "End\n" << endl;
return 0; return 0;

View File

@ -86,15 +86,26 @@ Foam::fixedFluxPressureFvPatchScalarField::fixedFluxPressureFvPatchScalarField
gradient().map(ptf.gradient(), mapper); gradient().map(ptf.gradient(), mapper);
// Evaluate the value field from the gradient if the internal field is valid // Evaluate the value field from the gradient if the internal field is valid
if (notNull(iF) && iF.size()) if (notNull(iF))
{ {
scalarField::operator= if (iF.size())
( {
//patchInternalField() + gradient()/patch().deltaCoeffs() // Note: cannot ask for nf() if zero faces
// ***HGW Hack to avoid the construction of mesh.deltaCoeffs
// which fails for AMI patches for some mapping operations scalarField::operator=
patchInternalField() + gradient()*(patch().nf() & patch().delta()) (
); //patchInternalField() + gradient()/patch().deltaCoeffs()
// ***HGW Hack to avoid the construction of mesh.deltaCoeffs
// which fails for AMI patches for some mapping operations
patchInternalField()
+ gradient()*(patch().nf() & patch().delta())
);
}
}
else
{
// Enforce mapping of values so we have a valid starting value
this->map(ptf, mapper);
} }
} }