mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Updating codedFvOptionTemplate
This commit is contained in:
@ -2,7 +2,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) 2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -23,12 +23,14 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "codedBasicSourceTemplate.H"
|
#include "codedFvOptionTemplate.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
#include "fvPatchFieldMapper.H"
|
#include "fvPatchFieldMapper.H"
|
||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
#include "surfaceFields.H"
|
#include "surfaceFields.H"
|
||||||
#include "unitConversion.H"
|
#include "unitConversion.H"
|
||||||
|
#include "fvMatrix.H"
|
||||||
|
|
||||||
//{{{ begin codeInclude
|
//{{{ begin codeInclude
|
||||||
${codeInclude}
|
${codeInclude}
|
||||||
//}}} end codeInclude
|
//}}} end codeInclude
|
||||||
@ -39,6 +41,8 @@ ${codeInclude}
|
|||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
|
||||||
|
namespace fv
|
||||||
|
{
|
||||||
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
//{{{ begin localCode
|
//{{{ begin localCode
|
||||||
@ -73,25 +77,25 @@ extern "C"
|
|||||||
//makeRemovablePatchTypeField
|
//makeRemovablePatchTypeField
|
||||||
//(
|
//(
|
||||||
// fvPatch${FieldType},
|
// fvPatch${FieldType},
|
||||||
// ${typeName}CodedBasic${SourceType}
|
// ${typeName}FvOption${SourceType}
|
||||||
//);
|
//);
|
||||||
defineTypeNameAndDebug(${typeName}CodedBasic${SourceType}, 0);
|
defineTypeNameAndDebug(${typeName}FvOption${SourceType}, 0);
|
||||||
addRemovableToRunTimeSelectionTable
|
addRemovableToRunTimeSelectionTable
|
||||||
(
|
(
|
||||||
basicSource,
|
option,
|
||||||
${typeName}CodedBasic${SourceType},
|
${typeName}FvOption${SourceType},
|
||||||
dictionary
|
dictionary
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
const char* const ${typeName}CodedBasic${SourceType}::SHA1sum =
|
const char* const ${typeName}FvOption${SourceType}::SHA1sum =
|
||||||
"${SHA1sum}";
|
"${SHA1sum}";
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
${typeName}CodedBasic${SourceType}::
|
${typeName}FvOption${SourceType}::
|
||||||
${typeName}CodedBasic${SourceType}
|
${typeName}FvOption${SourceType}
|
||||||
(
|
(
|
||||||
const word& name,
|
const word& name,
|
||||||
const word& modelType,
|
const word& modelType,
|
||||||
@ -99,7 +103,7 @@ ${typeName}CodedBasic${SourceType}
|
|||||||
const fvMesh& mesh
|
const fvMesh& mesh
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
basicSource(name, modelType, dict, mesh)
|
option(name, modelType, dict, mesh)
|
||||||
{
|
{
|
||||||
if (${verbose:-false})
|
if (${verbose:-false})
|
||||||
{
|
{
|
||||||
@ -111,8 +115,8 @@ ${typeName}CodedBasic${SourceType}
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
${typeName}CodedBasic${SourceType}::
|
${typeName}FvOption${SourceType}::
|
||||||
~${typeName}CodedBasic${SourceType}()
|
~${typeName}FvOption${SourceType}()
|
||||||
{
|
{
|
||||||
if (${verbose:-false})
|
if (${verbose:-false})
|
||||||
{
|
{
|
||||||
@ -123,14 +127,14 @@ ${typeName}CodedBasic${SourceType}::
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
void ${typeName}CodedBasic${SourceType}::correct
|
void ${typeName}FvOption${SourceType}::correct
|
||||||
(
|
(
|
||||||
GeometricField<${TemplateType}, fvPatchField, volMesh>& fld
|
GeometricField<${TemplateType}, fvPatchField, volMesh>& fld
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (${verbose:-false})
|
if (${verbose:-false})
|
||||||
{
|
{
|
||||||
Info<<"${typeName}CodedBasic${SourceType}::correct()\n";
|
Info<<"${typeName}FvOption${SourceType}::correct()\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
//{{{ begin code
|
//{{{ begin code
|
||||||
@ -139,7 +143,7 @@ void ${typeName}CodedBasic${SourceType}::correct
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ${typeName}CodedBasic${SourceType}::addSup
|
void ${typeName}FvOption${SourceType}::addSup
|
||||||
(
|
(
|
||||||
fvMatrix<${TemplateType}>& eqn,
|
fvMatrix<${TemplateType}>& eqn,
|
||||||
const label fieldI
|
const label fieldI
|
||||||
@ -147,7 +151,7 @@ void ${typeName}CodedBasic${SourceType}::addSup
|
|||||||
{
|
{
|
||||||
if (${verbose:-false})
|
if (${verbose:-false})
|
||||||
{
|
{
|
||||||
Info<<"${typeName}CodedBasic${SourceType}::addSup()\n";
|
Info<<"${typeName}FvOption${SourceType}::addSup()\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
//{{{ begin code
|
//{{{ begin code
|
||||||
@ -156,7 +160,7 @@ void ${typeName}CodedBasic${SourceType}::addSup
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ${typeName}CodedBasic${SourceType}::setValue
|
void ${typeName}FvOption${SourceType}::setValue
|
||||||
(
|
(
|
||||||
fvMatrix<${TemplateType}>& eqn,
|
fvMatrix<${TemplateType}>& eqn,
|
||||||
const label fieldI
|
const label fieldI
|
||||||
@ -164,7 +168,7 @@ void ${typeName}CodedBasic${SourceType}::setValue
|
|||||||
{
|
{
|
||||||
if (${verbose:-false})
|
if (${verbose:-false})
|
||||||
{
|
{
|
||||||
Info<<"${typeName}CodedBasic${SourceType}::setValue()\n";
|
Info<<"${typeName}FvOption${SourceType}::setValue()\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
//{{{ begin code
|
//{{{ begin code
|
||||||
@ -177,4 +181,5 @@ void ${typeName}CodedBasic${SourceType}::setValue
|
|||||||
|
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
|
} // End namespace fv
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
@ -2,7 +2,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) 2012 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -22,32 +22,106 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Description
|
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
|
SourceFiles
|
||||||
codedBasicSourceTemplate.C
|
codedFvOptionTemplate.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef codedBasicSourceTemplate_H
|
#ifndef codedFvOptionTemplate_H
|
||||||
#define codedBasicSourceTemplate_H
|
#define codedFvOptionTemplate_H
|
||||||
|
|
||||||
#include "basicSource.H"
|
#include "fvOption.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
|
|
||||||
|
namespace fv
|
||||||
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
A templated CodedBasicSource
|
A templated CodedFvOption
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
class ${typeName}CodedBasic${SourceType}
|
class ${typeName}FvOption${SourceType}
|
||||||
:
|
:
|
||||||
public basicSource
|
public option
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -61,7 +135,7 @@ public:
|
|||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from patch and internal field
|
//- Construct from patch and internal field
|
||||||
${typeName}CodedBasic${SourceType}
|
${typeName}FvOption${SourceType}
|
||||||
(
|
(
|
||||||
const word& name,
|
const word& name,
|
||||||
const word& modelType,
|
const word& modelType,
|
||||||
@ -70,7 +144,7 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~${typeName}CodedBasic${SourceType}();
|
virtual ~${typeName}FvOption${SourceType}();
|
||||||
|
|
||||||
|
|
||||||
// Member functions
|
// Member functions
|
||||||
@ -101,6 +175,8 @@ public:
|
|||||||
|
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
|
} // End namespace fv
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Reference in New Issue
Block a user