Merge branch 'master' of /home/dm4/OpenFOAM/repositories/OpenFOAM-dev

This commit is contained in:
william
2013-12-20 16:40:08 +00:00
31 changed files with 319 additions and 64 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -23,12 +23,14 @@ License
\*---------------------------------------------------------------------------*/
#include "codedBasicSourceTemplate.H"
#include "codedFvOptionTemplate.H"
#include "addToRunTimeSelectionTable.H"
#include "fvPatchFieldMapper.H"
#include "volFields.H"
#include "surfaceFields.H"
#include "unitConversion.H"
#include "fvMatrix.H"
//{{{ begin codeInclude
${codeInclude}
//}}} end codeInclude
@ -39,6 +41,8 @@ ${codeInclude}
namespace Foam
{
namespace fv
{
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
//{{{ begin localCode
@ -73,25 +77,25 @@ extern "C"
//makeRemovablePatchTypeField
//(
// fvPatch${FieldType},
// ${typeName}CodedBasic${SourceType}
// ${typeName}FvOption${SourceType}
//);
defineTypeNameAndDebug(${typeName}CodedBasic${SourceType}, 0);
defineTypeNameAndDebug(${typeName}FvOption${SourceType}, 0);
addRemovableToRunTimeSelectionTable
(
basicSource,
${typeName}CodedBasic${SourceType},
option,
${typeName}FvOption${SourceType},
dictionary
);
const char* const ${typeName}CodedBasic${SourceType}::SHA1sum =
const char* const ${typeName}FvOption${SourceType}::SHA1sum =
"${SHA1sum}";
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
${typeName}CodedBasic${SourceType}::
${typeName}CodedBasic${SourceType}
${typeName}FvOption${SourceType}::
${typeName}FvOption${SourceType}
(
const word& name,
const word& modelType,
@ -99,7 +103,7 @@ ${typeName}CodedBasic${SourceType}
const fvMesh& mesh
)
:
basicSource(name, modelType, dict, mesh)
option(name, modelType, dict, mesh)
{
if (${verbose:-false})
{
@ -111,8 +115,8 @@ ${typeName}CodedBasic${SourceType}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
${typeName}CodedBasic${SourceType}::
~${typeName}CodedBasic${SourceType}()
${typeName}FvOption${SourceType}::
~${typeName}FvOption${SourceType}()
{
if (${verbose:-false})
{
@ -123,14 +127,14 @@ ${typeName}CodedBasic${SourceType}::
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void ${typeName}CodedBasic${SourceType}::correct
void ${typeName}FvOption${SourceType}::correct
(
GeometricField<${TemplateType}, fvPatchField, volMesh>& fld
)
{
if (${verbose:-false})
{
Info<<"${typeName}CodedBasic${SourceType}::correct()\n";
Info<<"${typeName}FvOption${SourceType}::correct()\n";
}
//{{{ begin code
@ -139,7 +143,7 @@ void ${typeName}CodedBasic${SourceType}::correct
}
void ${typeName}CodedBasic${SourceType}::addSup
void ${typeName}FvOption${SourceType}::addSup
(
fvMatrix<${TemplateType}>& eqn,
const label fieldI
@ -147,7 +151,7 @@ void ${typeName}CodedBasic${SourceType}::addSup
{
if (${verbose:-false})
{
Info<<"${typeName}CodedBasic${SourceType}::addSup()\n";
Info<<"${typeName}FvOption${SourceType}::addSup()\n";
}
//{{{ begin code
@ -156,7 +160,7 @@ void ${typeName}CodedBasic${SourceType}::addSup
}
void ${typeName}CodedBasic${SourceType}::setValue
void ${typeName}FvOption${SourceType}::setValue
(
fvMatrix<${TemplateType}>& eqn,
const label fieldI
@ -164,7 +168,7 @@ void ${typeName}CodedBasic${SourceType}::setValue
{
if (${verbose:-false})
{
Info<<"${typeName}CodedBasic${SourceType}::setValue()\n";
Info<<"${typeName}FvOption${SourceType}::setValue()\n";
}
//{{{ begin code
@ -177,4 +181,5 @@ void ${typeName}CodedBasic${SourceType}::setValue
} // End namespace Foam
} // End namespace fv
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -22,32 +22,106 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Description
Template for use with dynamic code generation of a basicSource
Template for use with dynamic code generation of a source.
The hook functions take the following arguments:
- without state
codeCorrect
(
GeometricField<Type, fvPatchField, volMesh>& fld
)
codeAddSup
(
fvMatrix<Type}>& eqn,
const label fieldI
)
setValue
(
fvMatrix<Type}>& eqn,
const label fieldI
)
where :
fld is the field in fieldNames
eqn is the fvMatrix
energySource
{
type scalarCodedSource;
active true;
selectionMode all;
scalarCodedSourceCoeffs
{
fieldNames (h);
redirectType sourceTime;
codeInclude
#{
#};
codeCorrect
#{
Pout<< "**codeCorrect**" << endl;
#};
codeAddSup
#{
const Time& time = mesh().time();
const scalarField& V = mesh_.V();
scalarField& heSource = eqn.source();
heSource -= 0.1*sqr(time.value())*V;
#};
codeSetValue
#{
Pout<< "**codeSetValue**" << endl;
#};
// Dummy entry. Make dependent on above to trigger recompilation
code
#{
$codeInclude
$codeCorrect
$codeAddSup
$codeSetValue
#};
}
sourceTimeCoeffs
{
// Dummy entry
}
}
SourceFiles
codedBasicSourceTemplate.C
codedFvOptionTemplate.C
\*---------------------------------------------------------------------------*/
#ifndef codedBasicSourceTemplate_H
#define codedBasicSourceTemplate_H
#ifndef codedFvOptionTemplate_H
#define codedFvOptionTemplate_H
#include "basicSource.H"
#include "fvOption.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace fv
{
/*---------------------------------------------------------------------------*\
A templated CodedBasicSource
A templated CodedFvOption
\*---------------------------------------------------------------------------*/
class ${typeName}CodedBasic${SourceType}
class ${typeName}FvOption${SourceType}
:
public basicSource
public option
{
public:
@ -61,7 +135,7 @@ public:
// Constructors
//- Construct from patch and internal field
${typeName}CodedBasic${SourceType}
${typeName}FvOption${SourceType}
(
const word& name,
const word& modelType,
@ -70,7 +144,7 @@ public:
);
//- Destructor
virtual ~${typeName}CodedBasic${SourceType}();
virtual ~${typeName}FvOption${SourceType}();
// Member functions
@ -101,6 +175,8 @@ public:
} // End namespace Foam
} // End namespace fv
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif

View File

@ -80,7 +80,7 @@ turbulentTemperatureCoupledBaffleMixedFvPatchScalarField
:
mixedFvPatchScalarField(p, iF),
temperatureCoupledBase(patch(), dict),
TnbrName_(dict.lookup("neighbourFieldName"))
TnbrName_(dict.lookup("Tnbr"))
{
if (!isA<mappedPatchBase>(this->patch().patch()))
{
@ -237,7 +237,7 @@ void turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::write
) const
{
mixedFvPatchScalarField::write(os);
os.writeKeyword("TnbrName")<< TnbrName_
os.writeKeyword("Tnbr")<< TnbrName_
<< token::END_STATEMENT << nl;
temperatureCoupledBase::write(os);
}

View File

@ -40,7 +40,7 @@ Description
myInterfacePatchName
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa lookup;
kappaName kappa;
value uniform 300;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -34,7 +34,7 @@ Description
myInterfacePatchName
{
type compressible::turbulentTemperatureRadCoupledMixed;
TNbr T; // name of T field on neighbour region
Tnbr T; // name of T field on neighbour region
kappa lookup;
KappaName kappa;
QrNbr Qr; // or none. Name of Qr field on neighbour region

View File

@ -56,7 +56,7 @@ dictionaryReplacement
"bottomAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -46,7 +46,7 @@ dictionaryReplacement
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -67,7 +67,7 @@ dictionaryReplacement
"topAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
6
(
maxY
{
type wall;
nFaces 300;
startFace 8300;
}
minX
{
type patch;
nFaces 100;
startFace 8600;
}
maxX
{
type patch;
nFaces 100;
startFace 8700;
}
minY
{
type wall;
nFaces 300;
startFace 8800;
}
minZ
{
type wall;
nFaces 300;
startFace 9100;
}
maxZ
{
type wall;
nFaces 300;
startFace 9400;
}
)
// ************************************************************************* //

View File

@ -69,7 +69,7 @@ dictionaryReplacement
"bottomWater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -47,7 +47,7 @@ dictionaryReplacement
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -68,7 +68,7 @@ dictionaryReplacement
"topAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -56,7 +56,7 @@ dictionaryReplacement
"bottomAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -46,7 +46,7 @@ dictionaryReplacement
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -67,7 +67,7 @@ dictionaryReplacement
"topAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
6
(
maxY
{
type wall;
nFaces 300;
startFace 8300;
}
minX
{
type patch;
nFaces 100;
startFace 8600;
}
maxX
{
type patch;
nFaces 100;
startFace 8700;
}
minY
{
type wall;
nFaces 300;
startFace 8800;
}
minZ
{
type wall;
nFaces 300;
startFace 9100;
}
maxZ
{
type wall;
nFaces 300;
startFace 9400;
}
)
// ************************************************************************* //

View File

@ -56,7 +56,7 @@ dictionaryReplacement
"bottomAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -46,7 +46,7 @@ dictionaryReplacement
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -42,7 +42,7 @@ dictionaryReplacement
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -67,7 +67,7 @@ dictionaryReplacement
"topAir_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa fluidThermo;
kappaName none;
value uniform 300;

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
6
(
maxY
{
type wall;
nFaces 300;
startFace 8300;
}
minX
{
type patch;
nFaces 100;
startFace 8600;
}
maxX
{
type patch;
nFaces 100;
startFace 8700;
}
minY
{
type wall;
nFaces 300;
startFace 8800;
}
minZ
{
type wall;
nFaces 300;
startFace 9100;
}
maxZ
{
type wall;
nFaces 300;
startFace 9400;
}
)
// ************************************************************************* //

View File

@ -69,7 +69,7 @@ dictionaryReplacement
"heater_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -65,7 +65,7 @@ dictionaryReplacement
"leftSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;

View File

@ -65,7 +65,7 @@ dictionaryReplacement
"rightSolid_to_.*"
{
type compressible::turbulentTemperatureCoupledBaffleMixed;
neighbourFieldName T;
Tnbr T;
kappa solidThermo;
kappaName none;
value uniform 300;