diff --git a/etc/codeTemplates/dynamicCode/Function1Template.C b/etc/codeTemplates/dynamicCode/Function1Template.C
new file mode 100644
index 0000000000..d613a66129
--- /dev/null
+++ b/etc/codeTemplates/dynamicCode/Function1Template.C
@@ -0,0 +1,139 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Copyright (C) YEAR OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM 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.
+
+ OpenFOAM 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 OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "Function1Template.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace Function1s
+{
+ defineTypeNameAndDebug(${typeName}Function1${TemplateType}, 0);
+}
+ Function1<${TemplateType}>::adddictionaryConstructorToTable
+ ${typeName}Function1${TemplateType}ConstructorToTable_;
+}
+
+
+// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
+
+extern "C"
+{
+ // dynamicCode:
+ // SHA1 = ${SHA1sum}
+ //
+ // Unique function name that can be checked if the correct library version
+ // has been loaded
+ void ${typeName}_${SHA1sum}(bool load)
+ {
+ if (load)
+ {
+ // code that can be explicitly executed after loading
+ }
+ else
+ {
+ // code that can be explicitly executed before unloading
+ }
+ }
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+Foam::Function1s::${typeName}Function1${TemplateType}::
+${typeName}Function1${TemplateType}
+(
+ const word& entryName,
+ const dictionary& dict
+)
+:
+ FieldFunction1<${TemplateType}, ${typeName}Function1${TemplateType}>
+ (
+ entryName
+ )
+{
+ if (${verbose:-false})
+ {
+ Info<< "Construct ${typeName} sha1: ${SHA1sum} from dictionary\n";
+ }
+}
+
+
+Foam::Function1s::${typeName}Function1${TemplateType}::
+${typeName}Function1${TemplateType}
+(
+ const ${typeName}Function1${TemplateType}& f1
+)
+:
+ FieldFunction1<${TemplateType}, ${typeName}Function1${TemplateType}>
+ (
+ f1
+ )
+{
+ if (${verbose:-false})
+ {
+ Info<< "Construct ${typeName} sha1: ${SHA1sum} as copy\n";
+ }
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
+
+Foam::Function1s::${typeName}Function1${TemplateType}::
+~${typeName}Function1${TemplateType}()
+{
+ if (${verbose:-false})
+ {
+ Info<< "Destroy ${typeName} sha1: ${SHA1sum}\n";
+ }
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+Foam::${TemplateType}
+Foam::Function1s::${typeName}Function1${TemplateType}::integrate
+(
+ const scalar x1,
+ const scalar x2
+) const
+{
+ NotImplemented;
+ return pTraits<${TemplateType}>::zero;
+}
+
+
+void Foam::Function1s::${typeName}Function1${TemplateType}::writeData
+(
+ Ostream& os
+) const
+{
+ NotImplemented;
+}
+
+
+// ************************************************************************* i/
diff --git a/etc/codeTemplates/dynamicCode/Function1Template.H b/etc/codeTemplates/dynamicCode/Function1Template.H
new file mode 100644
index 0000000000..d7da5a2139
--- /dev/null
+++ b/etc/codeTemplates/dynamicCode/Function1Template.H
@@ -0,0 +1,131 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Copyright (C) YEAR OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM 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.
+
+ OpenFOAM 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 OpenFOAM. If not, see .
+
+Description
+ Template for use with dynamic code generation of a Function1.
+
+ - without state
+
+SourceFiles
+ Function1Template.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef Function1Template_H
+#define Function1Template_H
+
+#include "Function1.H"
+
+//{{{ begin codeInclude
+${codeInclude}
+//}}} end codeInclude
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace Function1s
+{
+
+/*---------------------------------------------------------------------------*\
+ A templated Function1
+\*---------------------------------------------------------------------------*/
+
+class ${typeName}Function1${TemplateType}
+:
+ public FieldFunction1<${TemplateType}, ${typeName}Function1${TemplateType}>
+{
+
+public:
+
+ // Runtime type information
+ TypeName("${typeName}");
+
+
+ // Constructors
+
+ //- Construct from entry name and dictionary
+ ${typeName}Function1${TemplateType}
+ (
+ const word& entryName,
+ const dictionary& dict
+ );
+
+ //- Copy constructor
+ ${typeName}Function1${TemplateType}
+ (
+ const ${typeName}Function1${TemplateType}& f1
+ );
+
+ //- Construct and return a clone
+ virtual tmp> clone() const
+ {
+ return tmp>
+ (
+ new ${typeName}Function1${TemplateType}(*this)
+ );
+ }
+
+
+ //- Destructor
+ virtual ~${typeName}Function1${TemplateType}();
+
+
+ // Member Functions
+
+ //- Return constant value
+ inline virtual ${TemplateType} value(const scalar x) const
+ {
+//{{{ begin code
+ ${code}
+//}}} end code
+ }
+
+ //- Integrate between two values
+ virtual ${TemplateType} integrate
+ (
+ const scalar x1,
+ const scalar x2
+ ) const;
+
+ //- Write in dictionary format
+ virtual void writeData(Ostream& os) const;
+
+
+ // Member Operators
+
+ //- Disallow default bitwise assignment
+ void operator=(const ${typeName}Function1${TemplateType}&) = delete;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Function1s
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.C b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.C
new file mode 100644
index 0000000000..10c3066dc9
--- /dev/null
+++ b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.C
@@ -0,0 +1,232 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM 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.
+
+ OpenFOAM 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 OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "CodedFunction1.H"
+#include "dynamicCode.H"
+#include "dynamicCodeContext.H"
+
+// * * * * * * * * * * * * Private Static Data Members * * * * * * * * * * * //
+
+template
+const Foam::wordList Foam::Function1s::Coded::codeKeys_ =
+ {"code", "codeInclude"};
+
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+template
+const Foam::word Foam::Function1s::Coded::codeTemplateC =
+ "Function1Template.C";
+
+template
+const Foam::word Foam::Function1s::Coded::codeTemplateH =
+ "Function1Template.H";
+
+
+// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
+
+template
+void Foam::Function1s::Coded::prepare
+(
+ dynamicCode& dynCode,
+ const dynamicCodeContext& context
+) const
+{
+ dynCode.setFilterVariable("typeName", name_);
+
+ // Set TemplateType filter variables
+ dynCode.setFilterVariable("TemplateType", pTraits::typeName);
+
+ // Compile filtered C template
+ dynCode.addCompileFile(codeTemplateC);
+
+ // Copy filtered H template
+ dynCode.addCopyFile(codeTemplateH);
+
+ // debugging: make verbose
+ // dynCode.setFilterVariable("verbose", "true");
+ // Info<<"compile " << name_ << " sha1: "
+ // << context.sha1() << endl;
+
+ // define Make/options
+ dynCode.setMakeOptions
+ (
+ "EXE_INC = -g \\\n"
+ + context.options()
+ + "\n\nLIB_LIBS = \\\n"
+ + " -lOpenFOAM \\\n"
+ + context.libs()
+ );
+}
+
+
+template
+Foam::string Foam::Function1s::Coded::description() const
+{
+ return "Function1 " + name_;
+}
+
+
+template
+void Foam::Function1s::Coded::clearRedirect() const
+{
+ // Remove instantiation of Function1 provided by library
+ redirectFunction1Ptr_.clear();
+}
+
+
+template
+const Foam::dictionary& Foam::Function1s::Coded::codeDict()
+const
+{
+ return dict_;
+}
+
+
+template
+const Foam::wordList& Foam::Function1s::Coded::codeKeys() const
+{
+ return codeKeys_;
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+template
+Foam::Function1s::Coded::Coded
+(
+ const word& entryName,
+ const dictionary& dict
+)
+:
+ Function1(entryName),
+ dict_(dict),
+ name_
+ (
+ dict.found("redirectType")
+ ? dict.lookup("redirectType")
+ : dict.lookup("name")
+ ),
+ redirectFunction1Ptr_()
+{
+ updateLibrary(name_);
+
+ dictionary redirectDict(dict_);
+ redirectDict.set(name_, name_);
+ redirectFunction1Ptr_ = Function1::New(name_, redirectDict);
+}
+
+
+
+template
+Foam::Function1s::Coded::Coded(const Coded& cf1)
+:
+ Function1(cf1),
+ codedBase(),
+ dict_(cf1.dict_),
+ name_(cf1.name_)
+{
+ updateLibrary(name_);
+
+ dictionary redirectDict(dict_);
+ redirectDict.set(name_, name_);
+ redirectFunction1Ptr_ = Function1::New(name_, redirectDict);
+}
+
+
+template
+Foam::tmp> Foam::Function1s::Coded::clone() const
+{
+ return tmp>(new Coded(*this));
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
+
+template
+Foam::Function1s::Coded::~Coded()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+template
+Foam::tmp> Foam::Function1s::Coded::value
+(
+ const scalarField& x
+) const
+{
+ return redirectFunction1Ptr_->value(x);
+}
+
+
+template
+inline Type Foam::Function1s::Coded::integrate
+(
+ const scalar x1,
+ const scalar x2
+) const
+{
+ NotImplemented;
+ return pTraits::zero;
+}
+
+
+template
+Foam::tmp> Foam::Function1s::Coded::integrate
+(
+ const scalarField& x1,
+ const scalarField& x2
+) const
+{
+ NotImplemented;
+ return tmp>();
+}
+
+
+template
+void Foam::Function1s::Coded::writeData(Ostream& os) const
+{
+ Function1::writeData(os);
+ os << token::END_STATEMENT << nl;
+ writeEntry(os, "name", name_);
+
+ if (dict_.found("codeInclude"))
+ {
+ writeKeyword(os, "codeInclude");
+ os.write(verbatimString(dict_["codeInclude"]))
+ << token::END_STATEMENT << nl;
+ }
+
+ if (dict_.found("code"))
+ {
+ writeKeyword(os, "code");
+ os.write(verbatimString(dict_["code"]))
+ << token::END_STATEMENT << nl;
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H
new file mode 100644
index 0000000000..b18a78ddba
--- /dev/null
+++ b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1.H
@@ -0,0 +1,220 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM 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.
+
+ OpenFOAM 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 OpenFOAM. If not, see .
+
+Class
+ Foam::Function1s::Coded
+
+Description
+ Constructs on-the-fly a Function1 which is then used to evaluate.
+
+Usage
+ Example:
+ \verbatim
+
+ {
+ type codedFixedValue;
+ value uniform 0;
+ name rampedFixedValue; // name of generated BC
+
+ code
+ #{
+ operator==(min(10, 0.1*this->db().time().value()));
+ #};
+
+ // codeInclude
+ //#{
+ // #include "fvCFD.H"
+ //#};
+
+ // codeOptions
+ //#{
+ // -I$(LIB_SRC)/finiteVolume/lnInclude
+ //#};
+ }
+ \endverbatim
+
+ A special form is if the 'code' section is not supplied. In this case
+ the code is read from a (runTimeModifiable!) dictionary system/codeDict
+ which would have a corresponding entry:
+
+ \verbatim
+
+ {
+ code
+ #{
+ operator==(min(10, 0.1*this->db().time().value()));
+ #};
+ }
+ \endverbatim
+
+See also
+ Foam::dynamicCode
+ Foam::functionEntries::codeStream
+
+SourceFiles
+ CodedI.H
+ Coded.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef CodedFunction1_H
+#define CodedFunction1_H
+
+#include "Function1.H"
+#include "codedBase.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace Function1s
+{
+
+/*---------------------------------------------------------------------------*\
+ Class Coded Declaration
+\*---------------------------------------------------------------------------*/
+
+template
+class Coded
+:
+ public Function1,
+ public codedBase
+{
+ // Private static data
+
+ //- The keywords associated with source code
+ static const wordList codeKeys_;
+
+
+ // Private Data
+
+ //- Dictionary contents for the Function1
+ const dictionary dict_;
+
+ //- Name of the dynamically generated Function1
+ const word name_;
+
+ //- The dynamically generated Function1 pointer
+ mutable autoPtr> redirectFunction1Ptr_;
+
+
+ // Private Member Functions
+
+ //- Adapt the context for the current object
+ virtual void prepare(dynamicCode&, const dynamicCodeContext&) const;
+
+ //- Return a description (type + name) for the output
+ virtual string description() const;
+
+ //- Clear the ptr to the redirected object
+ virtual void clearRedirect() const;
+
+ //- Get the dictionary to initialize the codeContext
+ virtual const dictionary& codeDict() const;
+
+ //- Get the keywords associated with source code
+ virtual const wordList& codeKeys() const;
+
+
+public:
+
+ // Static Data Members
+
+ //- Name of the C code template to be used
+ static const word codeTemplateC;
+
+ //- Name of the H code template to be used
+ static const word codeTemplateH;
+
+
+ // Runtime type information
+ TypeName("coded");
+
+
+ // Constructors
+
+ //- Construct from entry name and dictionary
+ Coded
+ (
+ const word& entryName,
+ const dictionary& dict
+ );
+
+ //- Copy constructor
+ Coded(const Coded& cf1);
+
+ //- Construct and return a clone
+ virtual tmp> clone() const;
+
+
+ //- Destructor
+ virtual ~Coded();
+
+
+ // Member Functions
+
+ //- Return value
+ virtual inline Type value(const scalar x) const;
+
+ //- Return value as a function of (scalar) independent variable
+ virtual tmp> value(const scalarField& x) const;
+
+ //- Integrate between two values
+ virtual Type integrate(const scalar x1, const scalar x2) const;
+
+ //- Integrate between two (scalar) values
+ virtual tmp> integrate
+ (
+ const scalarField& x1,
+ const scalarField& x2
+ ) const;
+
+ //- Write in dictionary format
+ virtual void writeData(Ostream& os) const;
+
+
+ // Member Operators
+
+ //- Disallow default bitwise assignment
+ void operator=(const Coded&) = delete;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Function1s
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#include "CodedFunction1I.H"
+
+#ifdef NoRepository
+ #include "CodedFunction1.C"
+#endif
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1I.H b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1I.H
new file mode 100644
index 0000000000..937399ada8
--- /dev/null
+++ b/src/OpenFOAM/primitives/functions/Function1/Coded/CodedFunction1I.H
@@ -0,0 +1,40 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM 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.
+
+ OpenFOAM 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 OpenFOAM. If not, see .
+
+\*---------------------------------------------------------------------------*/
+
+#include "CodedFunction1.H"
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+template
+inline Type Foam::Function1s::Coded::value(const scalar x) const
+{
+ // Make sure library containing user-defined Function1 is up-to-date
+ updateLibrary(name_);
+
+ return redirectFunction1Ptr_->value(x);
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/primitives/functions/Function1/makeFunction1s.C b/src/OpenFOAM/primitives/functions/Function1/makeFunction1s.C
index 316e286d69..e3560333c8 100644
--- a/src/OpenFOAM/primitives/functions/Function1/makeFunction1s.C
+++ b/src/OpenFOAM/primitives/functions/Function1/makeFunction1s.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
- \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
+ \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -33,6 +33,7 @@ License
#include "Table.H"
#include "TableFile.H"
#include "Scale.H"
+#include "CodedFunction1.H"
#include "fieldTypes.H"
@@ -49,7 +50,8 @@ License
makeFunction1Type(Square, Type); \
makeFunction1Type(Table, Type); \
makeFunction1Type(TableFile, Type); \
- makeFunction1Type(Scale, Type);
+ makeFunction1Type(Scale, Type); \
+ makeFunction1Type(Coded, Type);
namespace Foam
{
diff --git a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
index 5eec886e91..bab3776dcb 100644
--- a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
+++ b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.C
@@ -193,13 +193,9 @@ bool Foam::codedFunctionObject::read(const dictionary& dict)
// The name keyword is "name". "redirectType" is also maintained here
// for backwards compatibility, but "name" is taken in preference and
// is printed in the error message if neither keyword is present.
- name_ = word::null;
- name_ = dict.lookupOrDefault("redirectType", name_);
- name_ = dict.lookupOrDefault("name", name_);
- if (name_ == word::null)
- {
- dict.lookup("name"); // <-- generate error message with "name" in it
- }
+ name_ = dict.found("redirectType")
+ ? dict.lookup("redirectType")
+ : dict.lookup("name");
updateLibrary(name_);
return redirectFunctionObject().read(dict);
diff --git a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
index 8961022c1a..705cfa0716 100644
--- a/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
+++ b/src/functionObjects/utilities/codedFunctionObject/codedFunctionObject.H
@@ -104,10 +104,10 @@ protected:
//- Input dictionary
dictionary dict_;
- //- The name
+ //- Name of the dynamically generated functionObject
word name_;
- //- Underlying functionObject
+ //- The dynamically generated functionObject pointer
mutable autoPtr redirectFunctionObjectPtr_;
diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/Allrun b/tutorials/basic/scalarTransportFoam/pitzDaily/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/basic/scalarTransportFoam/pitzDaily/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict b/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/basic/scalarTransportFoam/pitzDaily/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/Allrun b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/Allrun b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/blockMeshDict b/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/incompressible/adjointShapeOptimizationFoam/pitzDaily/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/Allrun b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/incompressible/pimpleFoam/RAS/pitzDaily/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/Allrun b/tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/system/blockMeshDict b/tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/0/U b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/0/U
new file mode 100644
index 0000000000..f36da64d7f
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/0/U
@@ -0,0 +1,67 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volVectorField;
+ object U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 1 -1 0 0 0 0];
+
+internalField uniform (0 0 0);
+
+boundaryField
+{
+ inlet
+ {
+ type uniformFixedValue;
+ uniformValue coded;
+
+ name pulse;
+
+ codeInclude
+ #{
+ #include "mathematicalConstants.H"
+ #};
+
+ code
+ #{
+ return vector
+ (
+ 0.5*(1 - cos(constant::mathematical::twoPi*min(x/0.3, 1))),
+ 0,
+ 0
+ );
+ #};
+ }
+
+ outlet
+ {
+ type zeroGradient;
+ }
+
+ upperWall
+ {
+ type noSlip;
+ }
+
+ lowerWall
+ {
+ type noSlip;
+ }
+
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/0/p b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/0/p
new file mode 100644
index 0000000000..0521b7991c
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/0/p
@@ -0,0 +1,50 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class volScalarField;
+ object p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions [0 2 -2 0 0 0 0];
+
+internalField uniform 0;
+
+boundaryField
+{
+ inlet
+ {
+ type zeroGradient;
+ }
+
+ outlet
+ {
+ type fixedValue;
+ value uniform 0;
+ }
+
+ upperWall
+ {
+ type zeroGradient;
+ }
+
+ lowerWall
+ {
+ type zeroGradient;
+ }
+
+ frontAndBack
+ {
+ type empty;
+ }
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/Allrun b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/transportProperties b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/transportProperties
new file mode 100644
index 0000000000..dcfc183c11
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/transportProperties
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "constant";
+ object transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+transportModel Newtonian;
+
+nu [0 2 -1 0 0 0 0] 1e-4;
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/turbulenceProperties b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/turbulenceProperties
new file mode 100644
index 0000000000..e61cb31334
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/turbulenceProperties
@@ -0,0 +1,20 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "constant";
+ object turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType laminar;
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/controlDict b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/controlDict
new file mode 100644
index 0000000000..2f3a4319ca
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/controlDict
@@ -0,0 +1,57 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "system";
+ object controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application pimpleFoam;
+
+startFrom startTime;
+
+startTime 0;
+
+stopAt endTime;
+
+endTime 1;
+
+deltaT 0.001;
+
+writeControl adjustableRunTime;
+
+writeInterval 0.02;
+
+purgeWrite 0;
+
+writeFormat ascii;
+
+writePrecision 6;
+
+writeCompression off;
+
+timeFormat general;
+
+timePrecision 6;
+
+runTimeModifiable yes;
+
+adjustTimeStep yes;
+
+maxCo 5;
+
+functions
+{
+ #includeFunc patchAverage(name=inlet, fields=(p U))
+}
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/fvSchemes b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/fvSchemes
new file mode 100644
index 0000000000..c71fff9c43
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/fvSchemes
@@ -0,0 +1,53 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "system";
+ object fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+ default Euler;
+}
+
+gradSchemes
+{
+ default Gauss linear;
+}
+
+divSchemes
+{
+ default none;
+
+ div(phi,U) Gauss linearUpwind grad(U);
+
+ div((nuEff*dev2(T(grad(U))))) Gauss linear;
+}
+
+laplacianSchemes
+{
+ default Gauss linear corrected;
+}
+
+interpolationSchemes
+{
+ default linear;
+}
+
+snGradSchemes
+{
+ default corrected;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/fvSolution b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/fvSolution
new file mode 100644
index 0000000000..f09cf9af67
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/system/fvSolution
@@ -0,0 +1,58 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration | Website: https://openfoam.org
+ \\ / A nd | Version: dev
+ \\/ M anipulation |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+ version 2.0;
+ format ascii;
+ class dictionary;
+ location "system";
+ object fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+ p
+ {
+ solver GAMG;
+ tolerance 1e-7;
+ relTol 0.01;
+
+ smoother DICGaussSeidel;
+
+ }
+
+ pFinal
+ {
+ $p;
+ relTol 0;
+ }
+
+ U
+ {
+ solver smoothSolver;
+ smoother symGaussSeidel;
+ tolerance 1e-05;
+ relTol 0.1;
+ }
+
+ UFinal
+ {
+ $U;
+ relTol 0;
+ }
+}
+
+PIMPLE
+{
+ nNonOrthogonalCorrectors 0;
+ nCorrectors 2;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/LES/pitzDaily/Allrun b/tutorials/incompressible/pisoFoam/LES/pitzDaily/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/LES/pitzDaily/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/blockMeshDict b/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/incompressible/pisoFoam/LES/pitzDaily/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/Allrun b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict b/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict
deleted file mode 100644
index bc3bf987f2..0000000000
--- a/tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-70 0 -0.5)
- (-70 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-70 0 0.5)
- (-70 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (70 30 1)
- simpleGrading (1 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-boundary
-(
- inlet
- {
- type mappedPatch;
- offset (0.0495 0 0);
- sampleRegion region0;
- sampleMode nearestCell;
- samplePatch none;
-
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/Allrun b/tutorials/incompressible/simpleFoam/pitzDaily/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/pitzDaily/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/blockMeshDict b/tutorials/incompressible/simpleFoam/pitzDaily/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/incompressible/simpleFoam/pitzDaily/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/Allrun b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/Allrun
new file mode 100755
index 0000000000..3e9b87adc3
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/Allrun
@@ -0,0 +1,12 @@
+#!/bin/sh
+cd ${0%/*} || exit 1 # Run from this directory
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+application="$(getApplication)"
+
+runApplication blockMesh -dict $FOAM_TUTORIALS/resources/blockMesh/pitzDaily
+runApplication $application
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/blockMeshDict b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/blockMeshDict
deleted file mode 100644
index f133c1d268..0000000000
--- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/blockMeshDict
+++ /dev/null
@@ -1,152 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
- ========= |
- \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
- \\ / O peration | Website: https://openfoam.org
- \\ / A nd | Version: dev
- \\/ M anipulation |
-\*---------------------------------------------------------------------------*/
-FoamFile
-{
- version 2.0;
- format ascii;
- class dictionary;
- object blockMeshDict;
-}
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-convertToMeters 0.001;
-
-vertices
-(
- (-20.6 0 -0.5)
- (-20.6 25.4 -0.5)
- (0 -25.4 -0.5)
- (0 0 -0.5)
- (0 25.4 -0.5)
- (206 -25.4 -0.5)
- (206 0 -0.5)
- (206 25.4 -0.5)
- (290 -16.6 -0.5)
- (290 0 -0.5)
- (290 16.6 -0.5)
-
- (-20.6 0 0.5)
- (-20.6 25.4 0.5)
- (0 -25.4 0.5)
- (0 0 0.5)
- (0 25.4 0.5)
- (206 -25.4 0.5)
- (206 0 0.5)
- (206 25.4 0.5)
- (290 -16.6 0.5)
- (290 0 0.5)
- (290 16.6 0.5)
-);
-
-negY
-(
- (2 4 1)
- (1 3 0.3)
-);
-
-posY
-(
- (1 4 2)
- (2 3 4)
- (2 4 0.25)
-);
-
-posYR
-(
- (2 1 1)
- (1 1 0.25)
-);
-
-
-blocks
-(
- hex (0 3 4 1 11 14 15 12)
- (18 30 1)
- simpleGrading (0.5 $posY 1)
-
- hex (2 5 6 3 13 16 17 14)
- (180 27 1)
- edgeGrading (4 4 4 4 $negY 1 1 $negY 1 1 1 1)
-
- hex (3 6 7 4 14 17 18 15)
- (180 30 1)
- edgeGrading (4 4 4 4 $posY $posYR $posYR $posY 1 1 1 1)
-
- hex (5 8 9 6 16 19 20 17)
- (25 27 1)
- simpleGrading (2.5 1 1)
-
- hex (6 9 10 7 17 20 21 18)
- (25 30 1)
- simpleGrading (2.5 $posYR 1)
-);
-
-edges
-(
-);
-
-boundary
-(
- inlet
- {
- type patch;
- faces
- (
- (0 1 12 11)
- );
- }
- outlet
- {
- type patch;
- faces
- (
- (8 9 20 19)
- (9 10 21 20)
- );
- }
- upperWall
- {
- type wall;
- faces
- (
- (1 4 15 12)
- (4 7 18 15)
- (7 10 21 18)
- );
- }
- lowerWall
- {
- type wall;
- faces
- (
- (0 3 14 11)
- (3 2 13 14)
- (2 5 16 13)
- (5 8 19 16)
- );
- }
- frontAndBack
- {
- type empty;
- faces
- (
- (0 3 4 1)
- (2 5 6 3)
- (3 6 7 4)
- (5 8 9 6)
- (6 9 10 7)
- (11 14 15 12)
- (13 16 17 14)
- (14 17 18 15)
- (16 19 20 17)
- (17 20 21 18)
- );
- }
-);
-
-// ************************************************************************* //
diff --git a/tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict b/tutorials/resources/blockMesh/pitzDaily
similarity index 100%
rename from tutorials/basic/potentialFoam/pitzDaily/system/blockMeshDict
rename to tutorials/resources/blockMesh/pitzDaily