Proper Orthogonal Decomposition Tools. Initial version

This commit is contained in:
Hrvoje Jasak 2010-09-29 21:42:07 +01:00
parent 1d379f54dc
commit 17761aca41
83 changed files with 7564 additions and 0 deletions

7
src/POD/Make/files Normal file
View file

@ -0,0 +1,7 @@
PODEigenBase/PODEigenBase.C
PODOrthoNormalBase/scalarPODOrthoNormalBase.C
PODODE/PODODE.C
scalarTransportPOD/scalarTransportPOD.C
LIB = $(FOAM_LIBBIN)/libPOD

7
src/POD/Make/options Normal file
View file

@ -0,0 +1,7 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/ODE/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lODE

79
src/POD/POD/POD.C Normal file
View file

@ -0,0 +1,79 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Description
Static functions in Proper Orthogonal Decomposition
\*---------------------------------------------------------------------------*/
#include "volFields.H"
#include "surfaceFields.H"
#include "fvMatrix.H"
#include "ddtScheme.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace POD
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template<class Type>
Type projection
(
const GeometricField<Type, fvPatchField, volMesh>& a,
const GeometricField<Type, fvPatchField, volMesh>& b
)
{
return sum(cmptMultiply(a.internalField(), b.internalField()));
}
template<class Type>
Type projection
(
const tmp<GeometricField<Type, fvPatchField, volMesh> >& ta,
const GeometricField<Type, fvPatchField, volMesh>& b
)
{
Type p = projection(ta(), b);
ta.clear();
return p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace POD
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* //

89
src/POD/POD/POD.H Normal file
View file

@ -0,0 +1,89 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
POD
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
Description
Proper Orthogonal Decomposition of fields.
SourceFiles
PODI.H
POD.C
PODIO.C
\*---------------------------------------------------------------------------*/
#ifndef POD_H
#define POD_H
#include "volFieldsFwd.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Namespace POD functions Declaration
\*---------------------------------------------------------------------------*/
namespace POD
{
//- Dot product of snapshots
template<class Type>
Type projection
(
const GeometricField<Type, fvPatchField, volMesh>& a,
const GeometricField<Type, fvPatchField, volMesh>& b
);
template<class Type>
Type projection
(
const tmp<GeometricField<Type, fvPatchField, volMesh> >& ta,
const GeometricField<Type, fvPatchField, volMesh>& b
);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
# include "POD.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,152 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODEigenBase
Description
\*---------------------------------------------------------------------------*/
#include "PODEigenBase.H"
#include "volFields.H"
#include "POD.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::PODEigenBase::calcEigenBase(const scalarSquareMatrix& orthMatrix)
{
// Calculate eigen-values
EigenSolver<scalar> eigenSolver(orthMatrix);
// Sort and assemble
SortableList<scalar> sortedList(orthMatrix.n());
forAll (sortedList, i)
{
sortedList[i] = eigenSolver.eigenValue(i);
}
// Sort will sort the values in descending order and insert values
sortedList.sort();
label n = 0;
forAllReverse(sortedList, i)
{
eigenValues_[n] = sortedList[i];
eigenVectors_.set
(
n,
new scalarField(eigenSolver.eigenVector(sortedList.indices()[i]))
);
n++;
}
// Assemble cumulative relative eigen-values
cumEigenValues_[0] = eigenValues_[0];
// Assemble accumulated normalised eigenvalues
for (label i = 1; i < cumEigenValues_.size(); i++)
{
cumEigenValues_[i] = cumEigenValues_[i - 1] + eigenValues_[i];
}
// Renormalise
cumEigenValues_ /= sum(eigenValues_);
// // Check products
// for (label i = 0; i < orthMatrix.m(); i++)
// {
// const scalarField& eVector = eigenVectors_[i];
// Info<< "Scalar product: "
// << eigenValues_[i]*eVector
// << endl;
// scalarField vp(orthMatrix.m(), 0);
// forAll (vp, i)
// {
// forAll (vp, j)
// {
// vp[i] += orthMatrix[i][j]*eVector[j];
// }
// }
// Info << "Vector product: " << vp << nl << endl;
// }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct given a list of fields
Foam::PODEigenBase::PODEigenBase(const PtrList<volScalarField>& snapshots)
:
eigenValues_(snapshots.size()),
cumEigenValues_(snapshots.size()),
eigenVectors_(snapshots.size())
{
// Calculate the snapshot of the field with all available fields
label nSnapshots = snapshots.size();
scalarSquareMatrix orthMatrix(nSnapshots);
for (label snapI = 0; snapI < nSnapshots; snapI++)
{
for (label snapJ = 0; snapJ <= snapI; snapJ++)
{
// Calculate the inner product and insert it into the matrix
orthMatrix[snapI][snapJ] =
POD::projection
(
snapshots[snapI],
snapshots[snapJ]
);
if (snapI != snapJ)
{
orthMatrix[snapJ][snapI] = orthMatrix[snapI][snapJ];
// Info << "Product: " << orthMatrix[snapI][snapJ]
// << " relative: "
// <<
// orthMatrix[snapI][snapJ]/
// (
// Foam::sqrt(sumSqr(snapshots[snapI]))*
// Foam::sqrt(sumSqr(snapshots[snapJ]))
// + SMALL
// ) << endl;
}
}
}
calcEigenBase(orthMatrix);
}
// ************************************************************************* //

View file

@ -0,0 +1,130 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODEigenBase
Description
Class which assembles scalar eigen-base given a set of scalar fields.
This is performed by establishing a matrix of snapshots, calculating and
sorting them and providing corresponding eigen-vectors. Eigen-values are
sorted in increasing order. Snapshots are added one at a time and
when the base is completed, the calculation is triggered
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
SourceFiles
PODEigenBase.C
\*---------------------------------------------------------------------------*/
#ifndef PODEigenBase_H
#define PODEigenBase_H
#include "primitiveFields.H"
#include "FieldFields.H"
#include "scalarMatrices.H"
#include "SortableList.H"
#include "EigenSolver.H"
#include "volFieldsFwd.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class PODEigenBase Declaration
\*---------------------------------------------------------------------------*/
class PODEigenBase
{
// Private data
//- Eigen-values
scalarField eigenValues_;
//- Cumulative relative eigen-values. Renormalised to sum to 1
scalarField cumEigenValues_;
//- Eigen-vectors
FieldField<Field, scalar> eigenVectors_;
// Private Member Functions
//- Disallow default bitwise copy construct
PODEigenBase(const PODEigenBase&);
//- Disallow default bitwise assignment
void operator=(const PODEigenBase&);
//- Calculate eigen base
void calcEigenBase(const scalarSquareMatrix& orthMatrix);
public:
// Constructors
//- Construct given a list of fields
PODEigenBase(const PtrList<volScalarField>& snapshots);
// Destructor - default
// Member Functions
//- Return eigen-values sorted in decreasing order
const scalarField& eigenValues() const
{
return eigenValues_;
}
//- Return cumulative eigen-values
const scalarField& cumulativeEigenValues() const
{
return cumEigenValues_;
}
//- Return eigen-vectors
const FieldField<Field, scalar>& eigenVectors() const
{
return eigenVectors_;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

78
src/POD/PODODE/PODODE.C Normal file
View file

@ -0,0 +1,78 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODODE
\*---------------------------------------------------------------------------*/
#include "PODODE.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(PODODE, 0);
defineRunTimeSelectionTable(PODODE, dictionary);
}
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::PODODE> Foam::PODODE::New
(
const fvMesh& mesh,
const dictionary& dict
)
{
word PODTypeName = dict.lookup("type");
Info<< "Selecting POD ODE model " << PODTypeName << endl;
dictionaryConstructorTable::iterator cstrIter =
dictionaryConstructorTablePtr_->find(PODTypeName);
if (cstrIter == dictionaryConstructorTablePtr_->end())
{
FatalIOErrorIn
(
"PODODE::New\n"
"(\n"
" const fvMesh& mesh\n"
" const dictionary& dict\n"
")",
dict
) << "Unknown PODODE type "
<< PODTypeName << endl << endl
<< "Valid POD ODEs are : " << endl
<< dictionaryConstructorTablePtr_->toc()
<< exit(FatalIOError);
}
return autoPtr<PODODE>
(cstrIter()(mesh, dict.subDict(PODTypeName + "Coeffs")));
}
// ************************************************************************* //

180
src/POD/PODODE/PODODE.H Normal file
View file

@ -0,0 +1,180 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODODE
Description
Virtual base class for ODEs derived by Proper Orthogonal Decomposition
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
SourceFiles
PODODE.C
\*---------------------------------------------------------------------------*/
#ifndef PODODE_H
#define PODODE_H
#include "ODE.H"
#include "fvMesh.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class PODODE Declaration
\*---------------------------------------------------------------------------*/
class PODODE
:
public ODE
{
// Private data
//- Reference to mesh
const fvMesh& mesh_;
//- Reference to dictionary
const dictionary& dict_;
// Private Member Functions
//- Disallow default bitwise copy construct
PODODE(const PODODE&);
//- Disallow default bitwise assignment
void operator=(const PODODE&);
public:
//- Runtime type information
TypeName("PODODE");
// Declare run-time constructor selection table
declareRunTimeSelectionTable
(
autoPtr,
PODODE,
dictionary,
(
const fvMesh& mesh,
const dictionary& dict
),
(mesh, dict)
);
// Selectors
//- Return a reference to the selected POD model
static autoPtr<PODODE> New
(
const fvMesh& mesh,
const dictionary& dict
);
// Constructors
//- Construct from dictionary
PODODE
(
const fvMesh& mesh,
const dictionary& dict
)
:
mesh_(mesh),
dict_(dict)
{}
// Destructor
virtual ~PODODE()
{}
// Member Functions
//- Return mesh
const fvMesh& mesh() const
{
return mesh_;
}
//- Return dictionary
const dictionary& dict() const
{
return dict_;
}
// Solution variables
//- Return reference to interpolation coefficients
virtual scalarField& coeffs() = 0;
//- Return reference to interpolation coefficients
virtual const scalarField& coeffs() const = 0;
//- Clear ortho-normal base
virtual void clearBase() const = 0;
//- Update reconstructed fields
virtual void updateFields() const = 0;
//- Clear reconstructed field
virtual void clearFields() const = 0;
// Update
//- Update ODE after the solution, advancing by delta
virtual void update(const scalar delta)
{}
//- Write reconstructed fields
virtual void write() const = 0;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,247 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODOrthoNormalBase
Description
Establish POD ortho-normal base and interpolation coefficients give a list
of fields. Size of ortho-normal base is calculated from the desired
accuracy, e.g. 0.99-0.99999 (in energy terms)
\*---------------------------------------------------------------------------*/
#include "PODOrthoNormalBase.H"
#include "POD.H"
#include "PODEigenBase.H"
#include "IOmanip.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
template<class Type>
void Foam::PODOrthoNormalBase<Type>::calcOrthoBase
(
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& snapshots,
const scalar accuracy
)
{
// Calculate ortho-normal base for each component
PtrList<PODEigenBase> eigenBase(pTraits<Type>::nComponents);
const label nSnapshots = snapshots.size();
typename
powProduct<Vector<label>, pTraits<Type>::rank>::type validComponents
(
pow
(
snapshots[0].mesh().solutionD(),
pTraits
<
typename powProduct<Vector<label>,
pTraits<Type>::rank
>::type>::zero
)
);
label nValidCmpts = 0;
for (direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
{
// Component not valid, skipping
if (validComponents[cmpt] == -1) continue;
// Create a list of snapshots
PtrList<volScalarField> sf(nSnapshots);
forAll (snapshots, i)
{
sf.set(i, new volScalarField(snapshots[i].component(cmpt)));
}
// Create eigen base
eigenBase.set(cmpt, new PODEigenBase(sf));
Info<< "Cumulative eigen-values for component " << cmpt
<< ": " << setprecision(14)
<< eigenBase[nValidCmpts].cumulativeEigenValues() << endl;
nValidCmpts++;
}
eigenBase.setSize(nValidCmpts);
Info << "Number of valid eigen components: " << nValidCmpts << endl;
label baseSize = 0;
for (label snapI = 0; snapI < nSnapshots; snapI++)
{
baseSize++;
// Get minimum cumulative eigen value for all valid components
scalar minCumEigen = 1.0;
nValidCmpts = 0;
for (direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
{
// Skip invalid components
if (validComponents[cmpt] != -1)
{
minCumEigen =
Foam::min
(
minCumEigen,
eigenBase[nValidCmpts].cumulativeEigenValues()[snapI]
);
nValidCmpts++;
}
}
if (minCumEigen > accuracy)
{
break;
}
}
Info << "Base size: " << baseSize << endl;
// Establish orthonormal base
orthoFields_.setSize(baseSize);
for (label baseI = 0; baseI < baseSize; baseI++)
{
GeometricField<Type, fvPatchField, volMesh>* onBasePtr
(
new GeometricField<Type, fvPatchField, volMesh>
(
IOobject
(
snapshots[0].name() + "POD" + name(baseI),
snapshots[0].time().timeName(),
snapshots[0].mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
snapshots[0].mesh(),
dimensioned<Type>
(
"zero",
snapshots[0].dimensions(),
pTraits<Type>::zero
)
)
);
GeometricField<Type, fvPatchField, volMesh>& onBase = *onBasePtr;
nValidCmpts = 0;
for (direction cmpt = 0; cmpt < pTraits<Type>::nComponents; cmpt++)
{
if (validComponents[cmpt] != -1)
{
// Valid component, grab eigen-factors
const scalarField& eigenVector =
eigenBase[nValidCmpts].eigenVectors()[baseI];
nValidCmpts++;
volScalarField onBaseCmpt = onBase.component(cmpt);
forAll (eigenVector, eigenI)
{
onBaseCmpt +=
eigenVector[eigenI]*snapshots[eigenI].component(cmpt);
}
// Re-normalise ortho-normal vector
onBaseCmpt /= Foam::sqrt(sumSqr(onBaseCmpt));
onBase.replace(cmpt, onBaseCmpt);
}
else
{
// Component invalid. Grab first snapshot.
onBase.replace
(
cmpt,
snapshots[0].component(cmpt)
);
}
}
orthoFields_.set(baseI, onBasePtr);
}
// Calculate interpolation coefficients
interpolationCoeffsPtr_ =
new RectangularMatrix<Type>(snapshots.size(), orthoFields_.size());
RectangularMatrix<Type>& coeffs = *interpolationCoeffsPtr_;
forAll (snapshots, snapshotI)
{
forAll (orthoFields_, baseI)
{
coeffs[snapshotI][baseI] =
POD::projection
(
snapshots[snapshotI],
orthoFields_[baseI]
);
}
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// given list of snapshots and accuracy
template<class Type>
Foam::PODOrthoNormalBase<Type>::PODOrthoNormalBase
(
const PtrList<GeometricField<Type, fvPatchField, volMesh> >& snapshots,
const scalar accuracy
)
:
orthoFields_(),
interpolationCoeffsPtr_(NULL)
{
calcOrthoBase(snapshots, accuracy);
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
template<class Type>
Foam::PODOrthoNormalBase<Type>::~PODOrthoNormalBase()
{
deleteDemandDrivenData(interpolationCoeffsPtr_);
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
// ************************************************************************* //

View file

@ -0,0 +1,149 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODOrthoNormalBase
Description
Establish POD ortho-normal base and interpolation coefficients give a list
of fields. Size of ortho-normal base is calculated from the desired
accuracy, e.g. 0.99-0.99999 (in energy terms)
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
SourceFiles
PODOrthoNormalBase.C
\*---------------------------------------------------------------------------*/
#ifndef PODOrthoNormalBase_H
#define PODOrthoNormalBase_H
#include "volFields.H"
#include "RectangularMatrix.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class PODOrthoNormalBase Declaration
\*---------------------------------------------------------------------------*/
template<class Type>
class PODOrthoNormalBase
{
public:
// Public typedefs
typedef GeometricField<Type, fvPatchField, volMesh> GeoTypeField;
typedef Field<Type> TypeField;
private:
// Private data
//- List of ortho-normal fields
PtrList<GeoTypeField> orthoFields_;
//- Interpolation coefficients
RectangularMatrix<Type>* interpolationCoeffsPtr_;
// Private Member Functions
//- Disallow default bitwise copy construct
PODOrthoNormalBase(const PODOrthoNormalBase&);
//- Disallow default bitwise assignment
void operator=(const PODOrthoNormalBase&);
//- Calculate ortho-normal base
void calcOrthoBase
(
const PtrList<GeoTypeField>& snapshots,
const scalar accuracy
);
public:
// Constructors
//- Construct given list of snapshots and accuracy
PODOrthoNormalBase
(
const PtrList<GeoTypeField>& snapshots,
const scalar accuracy
);
// Destructor
~PODOrthoNormalBase();
// Member Functions
//- Return base size
label baseSize() const
{
return orthoFields_.size();
}
//- Return n-th ortho-normal base field
const GeoTypeField& orthoField(const label n) const
{
return orthoFields_[n];
}
//- Return interpolation coefficients (snapshots x orthoVectors)
const RectangularMatrix<Type>& interpolationCoeffs() const
{
return *interpolationCoeffsPtr_;
}
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
# include "PODOrthoNormalBase.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,43 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODOrthoNormalBase
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
\*---------------------------------------------------------------------------*/
#ifndef PODOrthoNormalBases_H
#define PODOrthoNormalBases_H
#include "PODOrthoNormalBasesFwd.H"
#include "scalarPODOrthoNormalBase.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,64 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODOrthoNormalBase
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
Description
POD base typedefs
\*---------------------------------------------------------------------------*/
#ifndef PODOrthoNormalBasesFwd_H
#define PODOrthoNormalBasesFwd_H
#include "fieldTypes.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template<class Type> class PODOrthoNormalBase;
typedef PODOrthoNormalBase<scalar> scalarPODOrthoNormalBase;
typedef PODOrthoNormalBase<vector> vectorPODOrthoNormalBase;
typedef PODOrthoNormalBase<tensor> tensorPODOrthoNormalBase;
typedef PODOrthoNormalBase<sphericalTensor> sphericalTensorPODOrthoNormalBase;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,130 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
PODOrthoNormalBase
Description
Establish POD ortho-normal base and interpolation coefficients give a list
of fields. Size of ortho-normal base is calculated from the desired
accuracy, e.g. 0.99-0.99999 (in energy terms)
\*---------------------------------------------------------------------------*/
#include "scalarPODOrthoNormalBase.H"
#include "PODEigenBase.H"
#include "IOmanip.H"
#include "zeroGradientFvPatchFields.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
template<>
void Foam::PODOrthoNormalBase<Foam::scalar>::calcOrthoBase
(
const PtrList<volScalarField>& snapshots,
const scalar accuracy
)
{
PODEigenBase eigenBase(snapshots);
label baseSize = 0;
const scalarField& cumEigenValues = eigenBase.cumulativeEigenValues();
forAll (cumEigenValues, i)
{
baseSize++;
if (cumEigenValues[i] > accuracy)
{
break;
}
}
Info<< "Cumulative eigen-values: "
<< setprecision(14) << cumEigenValues << nl
<< "Base size: " << baseSize << endl;
// Establish orthonormal base
orthoFields_.setSize(baseSize);
for (label baseI = 0; baseI < baseSize; baseI++)
{
const scalarField& eigenVector = eigenBase.eigenVectors()[baseI];
volScalarField* onBasePtr
(
new volScalarField
(
IOobject
(
snapshots[0].name() + "POD" + name(baseI),
snapshots[0].time().timeName(),
snapshots[0].mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
snapshots[0].mesh(),
dimensionedScalar("zero", snapshots[0].dimensions(), 0)
)
);
volScalarField& onBase = *onBasePtr;
forAll (eigenVector, eigenI)
{
onBase += eigenVector[eigenI]*snapshots[eigenI];
}
// Re-normalise ortho-normal vector
scalar magSumSquare = Foam::sqrt(sumSqr(onBase));
if (magSumSquare > SMALL)
{
onBase /= magSumSquare;
onBase.correctBoundaryConditions();
}
orthoFields_.set(baseI, onBasePtr);
}
// Calculate interpolation coefficients
interpolationCoeffsPtr_ =
new RectangularMatrix<scalar>(snapshots.size(), orthoFields_.size());
RectangularMatrix<scalar>& coeffs = *interpolationCoeffsPtr_;
forAll (snapshots, snapshotI)
{
forAll (orthoFields_, baseI)
{
coeffs[snapshotI][baseI] =
POD::projection
(
snapshots[snapshotI],
orthoFields_[baseI]
);
}
}
}
// ************************************************************************* //

View file

@ -0,0 +1,67 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
scalarPODOrthoNormalBase
Description
Template specialisation for scalar ortho-normal decomposition
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
SourceFiles
scalarPODOrthoNormalBase.C
\*---------------------------------------------------------------------------*/
#ifndef scalarPODOrthoNormalBase_H
#define scalarPODOrthoNormalBase_H
#include "PODOrthoNormalBase.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
template<>
void Foam::PODOrthoNormalBase<scalar>::calcOrthoBase
(
const PtrList<volScalarField>& snapshots,
const scalar accuracy
);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,437 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
scalarTransportPOD
Description
\*---------------------------------------------------------------------------*/
#include "scalarTransportPOD.H"
#include "fvc.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(scalarTransportPOD, 0);
addToRunTimeSelectionTable
(
PODODE,
scalarTransportPOD,
dictionary
);
}
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::scalarTransportPOD::calcOrthoBase() const
{
if (orthoBasePtr_)
{
FatalErrorIn
(
"scalarTransportPOD::calcOrthoBase()"
) << "Orthogonal base already calculated"
<< abort(FatalError);
}
// Create ortho-normal base
scalar accuracy = readScalar(dict().lookup("accuracy"));
// Get times list
Time& runTime = const_cast<Time&>(mesh().time());
// Remember time index to restore it after the scan
label origTimeIndex = runTime.timeIndex();
instantList Times = runTime.times();
// Create a list of snapshots
PtrList<volScalarField> fields(Times.size());
label nSnapshots = 0;
forAll (Times, i)
{
if (Times[i].value() < SMALL || Times[i] == runTime.constant())
{
Info << "Skipping time " << Times[i] << endl;
continue;
}
runTime.setTime(Times[i], i);
Info<< "Time = " << runTime.timeName() << endl;
IOobject phiHeader
(
phiName_,
runTime.timeName(),
mesh(),
IOobject::MUST_READ
);
if (phiHeader.headerOk())
{
Info<< " Reading " << phiName_ << endl;
fields.set(nSnapshots, new volScalarField(phiHeader, mesh()));
// Rename the field
fields[nSnapshots].rename(phiName_ + name(i));
nSnapshots++;
}
else
{
Info<< " No " << phiName_ << endl;
}
}
// Reset time index to initial state
runTime.setTime(Times[origTimeIndex], origTimeIndex);
// Resize snapshots
if (nSnapshots < 2)
{
FatalErrorIn
(
"scalarTransportPOD::calcOrthoBase()"
) << "Insufficient number of snapshots: " << nSnapshots
<< abort(FatalError);
}
Info << "Number of snapshots: " << nSnapshots << endl;
fields.setSize(nSnapshots);
// Create ortho-normal base for transported variable
orthoBasePtr_ = new scalarPODOrthoNormalBase(fields, accuracy);
}
void Foam::scalarTransportPOD::calcDerivativeCoeffs() const
{
if (derivativeMatrixPtr_)
{
FatalErrorIn
(
"void scalarTransportPOD::calcDerivativeCoeffs() const"
) << "Derivative matrix already calculated"
<< abort(FatalError);
}
// Calculate coefficients for differential equation
// Get times list
Time& runTime = const_cast<Time&>(this->mesh().time());
// Remember time index to restore it
label origTimeIndex = runTime.timeIndex();
// Read diffusivity
IOdictionary transportProperties
(
IOobject
(
"transportProperties",
runTime.constant(),
this->mesh(),
IOobject::MUST_READ,
IOobject::NO_WRITE
)
);
Info<< "Reading diffusivity D\n" << endl;
dimensionedScalar DT
(
transportProperties.lookup("DT")
);
// Find velocity field
word Uname(this->dict().lookup("velocity"));
instantList Times = runTime.times();
volVectorField* Uptr = NULL;
forAll (Times, i)
{
runTime.setTime(Times[i], i);
Info<< "Time = " << runTime.timeName() << endl;
IOobject Uheader
(
Uname,
runTime.timeName(),
this->mesh(),
IOobject::MUST_READ
);
if (Uheader.headerOk())
{
Info<< " Reading " << Uname << endl;
Uptr = new volVectorField(Uheader, this->mesh());
break;
}
else
{
Info<< " No " << Uname << endl;
}
}
// Reset time index to initial state
runTime.setTime(Times[origTimeIndex], origTimeIndex);
if (!Uptr)
{
FatalErrorIn
(
"void scalarTransportPOD::calcDerivativeCoeffs() const"
) << "Cannot find velocity: " << Uname
<< abort(FatalError);
}
volVectorField& U = *Uptr;
// Create derivative matrix
const scalarPODOrthoNormalBase& b = orthoBase();
derivativeMatrixPtr_ = new scalarSquareMatrix(b.baseSize(), 0.0);
scalarSquareMatrix& derivative = *derivativeMatrixPtr_;
for (label i = 0; i < b.baseSize(); i++)
{
const volScalarField& snapI = b.orthoField(i);
volVectorField gradSnapI = fvc::grad(snapI);
for (label j = 0; j < b.baseSize(); j++)
{
const volScalarField& snapJ = b.orthoField(j);
volVectorField gradSnapJ = fvc::grad(snapJ);
derivative[i][j] =
DT.value()*POD::projection(fvc::div(gradSnapJ), snapI)
- POD::projection((U & gradSnapJ), snapI);
}
}
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::scalarTransportPOD::scalarTransportPOD
(
const fvMesh& mesh,
const dictionary& dict
)
:
PODODE(mesh, dict),
phiName_(dict.lookup("field")),
coeffs_(),
derivativeMatrixPtr_(NULL),
orthoBasePtr_(NULL),
fieldPtr_(NULL)
{
// Grab coefficients from the first snapshot of the ortho-normal base
coeffs_.setSize(orthoBase().baseSize());
const scalarRectangularMatrix& orthoBaseCoeffs =
orthoBase().interpolationCoeffs();
forAll (coeffs_, i)
{
coeffs_[i] = orthoBaseCoeffs[0][i];
}
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::scalarTransportPOD::~scalarTransportPOD()
{
deleteDemandDrivenData(derivativeMatrixPtr_);
clearBase();
clearFields();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::label Foam::scalarTransportPOD::nEqns() const
{
return coeffs().size();
}
Foam::scalarField& Foam::scalarTransportPOD::coeffs()
{
return coeffs_;
}
const Foam::scalarField& Foam::scalarTransportPOD::coeffs() const
{
return coeffs_;
}
void Foam::scalarTransportPOD::derivatives
(
const scalar x,
const scalarField& y,
scalarField& dydx
) const
{
if (!derivativeMatrixPtr_)
{
calcDerivativeCoeffs();
}
const scalarSquareMatrix& derivative = *derivativeMatrixPtr_;
forAll (dydx, i)
{
dydx[i] = 0;
forAll (y, j)
{
dydx[i] += derivative[i][j]*y[j];
}
}
}
void Foam::scalarTransportPOD::jacobian
(
const scalar x,
const scalarField& y,
scalarField& dfdx,
scalarSquareMatrix& dfdy
) const
{
derivatives(x, y, dfdx);
dfdy = 0;
}
const Foam::scalarPODOrthoNormalBase&
Foam::scalarTransportPOD::orthoBase() const
{
if (!orthoBasePtr_)
{
calcOrthoBase();
}
return *orthoBasePtr_;
}
void Foam::scalarTransportPOD::clearBase() const
{
deleteDemandDrivenData(orthoBasePtr_);
}
const Foam::volScalarField& Foam::scalarTransportPOD::field() const
{
if (!fieldPtr_)
{
updateFields();
}
return *fieldPtr_;
}
void Foam::scalarTransportPOD::updateFields() const
{
if (!fieldPtr_)
{
// Allocate field
fieldPtr_ =
new volScalarField
(
IOobject
(
phiName_ + "POD",
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh(),
dimensionedScalar
(
"zero",
orthoBase().orthoField(0).dimensions(),
0
)
);
}
volScalarField& phi = *fieldPtr_;
const scalarPODOrthoNormalBase& b = orthoBase();
phi = dimensionedScalar("zero", b.orthoField(0).dimensions(), 0);
forAll (coeffs_, i)
{
phi += coeffs_[i]*b.orthoField(i);
}
}
void Foam::scalarTransportPOD::clearFields() const
{
deleteDemandDrivenData(fieldPtr_);
}
void Foam::scalarTransportPOD::write() const
{
// Recalculate field and force a write
updateFields();
field().write();
}
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
// ************************************************************************* //

View file

@ -0,0 +1,175 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright held by original author
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Class
scalarTransportPOD
Description
POD solver for a transport equation for a passive scalar
Author
Hrvoje Jasak, Wikki Ltd. All rights reserved.
SourceFiles
scalarTransportPOD.C
\*---------------------------------------------------------------------------*/
#ifndef scalarTransportPOD_H
#define scalarTransportPOD_H
#include "PODODE.H"
#include "PODOrthoNormalBases.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class scalarTransportPOD Declaration
\*---------------------------------------------------------------------------*/
class scalarTransportPOD
:
public PODODE
{
// Private data
//- Field name
word phiName_;
//- POD coefficients
scalarField coeffs_;
//- Derivative coefficient matrix
mutable scalarSquareMatrix* derivativeMatrixPtr_;
//- Ortho-normal base pointer
mutable scalarPODOrthoNormalBase* orthoBasePtr_;
//- Reconstructed field pointer
mutable volScalarField* fieldPtr_;
// Private Member Functions
//- Disallow default bitwise copy construct
scalarTransportPOD(const scalarTransportPOD&);
//- Disallow default bitwise assignment
void operator=(const scalarTransportPOD&);
//- Calculate ortho-normal base
void calcOrthoBase() const;
//- Calculate coefficients
void calcDerivativeCoeffs() const;
public:
//- Runtime type information
TypeName("scalarTransport");
// Constructors
//- Construct from components
scalarTransportPOD
(
const fvMesh& mesh,
const dictionary& dict
);
// Destructor
virtual ~scalarTransportPOD();
// Member Functions
// ODE parameters
//- Return number of equations
virtual label nEqns() const;
//- Return reference to interpolation coefficients
virtual scalarField& coeffs();
//- Return reference to interpolation coefficients
virtual const scalarField& coeffs() const;
//- Return derivatives
virtual void derivatives
(
const scalar x,
const scalarField& y,
scalarField& dydx
) const;
//- Return Jacobian
virtual void jacobian
(
const scalar x,
const scalarField& y,
scalarField& dfdx,
scalarSquareMatrix& dfdy
) const;
// Orthogonalisation and fields
//- Return ortho-normal base
const scalarPODOrthoNormalBase& orthoBase() const;
//- Return reconstructed field
const volScalarField& field() const;
//- Clear ortho-normal base
virtual void clearBase() const;
//- Update reconstructed fields
virtual void updateFields() const;
//- Clear reconstructed field
virtual void clearFields() const;
//- Write reconstructed fields
virtual void write() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

View file

@ -0,0 +1,51 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 1;
boundaryField
{
left
{
type fixedValue;
value uniform 1;
}
right
{
type fixedValue;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD0;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.172642
0.172373
0.172097
0.171812
0.171514
0.171199
0.170862
0.170499
0.170107
0.16968
0.169213
0.168701
0.168139
0.167521
0.166841
0.166093
0.165268
0.16436
0.163362
0.162264
0.161058
0.159734
0.158283
0.156694
0.154956
0.153057
0.150984
0.148725
0.146266
0.143591
0.140685
0.137532
0.134114
0.130413
0.126409
0.122084
0.117417
0.11239
0.106984
0.101184
0.0949805
0.0883665
0.0813443
0.0739244
0.0661276
0.0579857
0.0495416
0.0408494
0.0319722
0.0229809
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.172776;
}
right
{
type calculated;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.106388
0.104715
0.103011
0.101255
0.0994248
0.0974998
0.095458
0.0932768
0.0909331
0.0884033
0.0856633
0.0826879
0.0794518
0.0759286
0.0720912
0.0679124
0.0633639
0.0584175
0.0530446
0.0472169
0.0409057
0.034084
0.026725
0.0188037
0.0102972
0.00118559
-0.00854745
-0.0189133
-0.029918
-0.041559
-0.0538263
-0.0666982
-0.0801412
-0.0941086
-0.108538
-0.123351
-0.138456
-0.153746
-0.169105
-0.184406
-0.199528
-0.214352
-0.228775
-0.242717
-0.256129
-0.268997
-0.281347
-0.293244
-0.304788
-0.316109
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.107219;
}
right
{
type calculated;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.142828
0.138304
0.133711
0.129003
0.124133
0.119055
0.113726
0.1081
0.102132
0.0957811
0.0890049
0.0817638
0.074021
0.0657429
0.0568988
0.0474646
0.0374192
0.0267514
0.0154562
0.00354036
-0.00897923
-0.0220703
-0.0356859
-0.0497583
-0.0642007
-0.0788982
-0.0937083
-0.108453
-0.122918
-0.13684
-0.14991
-0.161755
-0.171945
-0.179981
-0.185293
-0.187252
-0.185169
-0.178316
-0.165951
-0.147355
-0.121872
-0.0889627
-0.0482636
0.000367617
0.0567971
0.120585
0.190969
0.266875
0.346952
0.429624
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.145079;
}
right
{
type calculated;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object TPODreconstruct;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
1.00379
1.00353
1.00327
1.00301
1.00274
1.00246
1.00218
1.00189
1.00159
1.00128
1.00095
1.00062
1.00028
0.999935
0.999581
0.999223
0.998865
0.998509
0.998161
0.997827
0.997512
0.997224
0.996972
0.996763
0.996609
0.99652
0.996505
0.996575
0.99674
0.997005
0.997376
0.997854
0.998435
0.999107
0.999854
1.00065
1.00146
1.00224
1.00294
1.00352
1.0039
1.00405
1.0039
1.00343
1.00263
1.00147
1
0.998249
0.996283
0.994181
)
;
boundaryField
{
left
{
type calculated;
value uniform 1.00392;
}
right
{
type calculated;
value uniform 0;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,51 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
left
{
type fixedValue;
value uniform (0 0 0);
}
right
{
type fixedValue;
value uniform (0 0 0);
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD0;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.195411
0.19541
0.195395
0.195146
0.193662
0.192284
0.191531
0.191106
0.189902
0.187197
0.185082
0.183715
0.182697
0.180133
0.176564
0.173821
0.171913
0.170184
0.166246
0.162028
0.158746
0.15634
0.153752
0.148663
0.143932
0.140186
0.137316
0.133733
0.12786
0.122678
0.118546
0.115243
0.110668
0.104257
0.0987343
0.0942996
0.0905942
0.085118
0.0783762
0.0726324
0.0679807
0.0639042
0.0576887
0.0507922
0.0449691
0.040122
0.0359784
0.0281443
0.0237372
0.014245
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.195411;
}
right
{
type calculated;
value uniform 0.014245;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.196704
-0.1967
-0.196565
-0.194293
-0.180754
-0.168183
-0.161328
-0.157535
-0.147517
-0.125215
-0.107804
-0.0965801
-0.0885691
-0.0703825
-0.0455188
-0.026495
-0.0133734
-0.00240707
0.019359
0.04209
0.0596023
0.0721941
0.0838622
0.103055
0.120283
0.133652
0.143465
0.15269
0.164351
0.174011
0.181372
0.186629
0.190059
0.192071
0.193205
0.193745
0.193417
0.18896
0.181485
0.174602
0.168676
0.16268
0.150287
0.13533
0.122327
0.111209
0.101229
0.0798836
0.0678447
0.0409313
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.196704;
}
right
{
type calculated;
value uniform 0.0409313;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.19803
0.198017
0.197638
0.191233
0.153062
0.117622
0.0983333
0.0881149
0.0652326
0.0155924
-0.0230389
-0.0477777
-0.0638151
-0.0904388
-0.124343
-0.149826
-0.166934
-0.177713
-0.185912
-0.19175
-0.195432
-0.197232
-0.193326
-0.174061
-0.154283
-0.13785
-0.124573
-0.104679
-0.0684237
-0.0357845
-0.00949164
0.0112926
0.037043
0.0708025
0.0993739
0.121905
0.139113
0.155013
0.169742
0.181028
0.189231
0.193688
0.188711
0.178789
0.169044
0.159809
0.149908
0.120335
0.10357
0.0631181
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.19803;
}
right
{
type calculated;
value uniform 0.0631181;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD3;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.19659
0.196563
0.195825
0.183342
0.108953
0.0398907
0.0024052
-0.016176
-0.04567
-0.105141
-0.151005
-0.179978
-0.195181
-0.196665
-0.190279
-0.183893
-0.178431
-0.167661
-0.123401
-0.0724744
-0.0319132
-0.0021583
0.0259631
0.0728768
0.115094
0.147803
0.17089
0.183525
0.185464
0.183765
0.18062
0.175431
0.153234
0.111337
0.072963
0.0409934
0.0140547
-0.023144
-0.0674168
-0.104709
-0.13428
-0.156132
-0.169681
-0.177248
-0.181305
-0.182586
-0.179227
-0.147451
-0.129293
-0.0799001
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.19659;
}
right
{
type calculated;
value uniform -0.0799001;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD4;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.188045
-0.188003
-0.186852
-0.167372
-0.0512928
0.0564606
0.114752
0.141185
0.158188
0.179363
0.194429
0.203169
0.201857
0.15361
0.0761297
0.0148992
-0.0276338
-0.0591427
-0.105191
-0.149831
-0.18309
-0.204924
-0.207688
-0.171316
-0.130743
-0.0959078
-0.0677686
-0.0304398
0.0324228
0.0881387
0.132317
0.16399
0.178413
0.1767
0.170536
0.16278
0.151616
0.113418
0.0556494
0.00371961
-0.0395134
-0.0745787
-0.109485
-0.14106
-0.165447
-0.183234
-0.191229
-0.162283
-0.145552
-0.0914569
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.188045;
}
right
{
type calculated;
value uniform -0.0914569;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD5;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.165974
-0.165922
-0.164456
-0.139655
0.00813498
0.145305
0.21924
0.249331
0.230619
0.157975
0.0986442
0.059831
0.0323455
-0.0277386
-0.109253
-0.171349
-0.212324
-0.226739
-0.179754
-0.115072
-0.0608368
-0.0200088
0.0182104
0.0798365
0.13484
0.177078
0.204891
0.200812
0.148988
0.0951162
0.0483821
0.0100922
-0.0350483
-0.0915188
-0.138642
-0.174926
-0.19729
-0.181909
-0.138281
-0.0947995
-0.0560215
-0.0205855
0.0304491
0.08563
0.131666
0.168119
0.189685
0.166899
0.153501
0.0982182
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.165974;
}
right
{
type calculated;
value uniform 0.0982182;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD6;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.12384
0.123788
0.122349
0.0979878
-0.0471781
-0.181894
-0.254243
-0.280338
-0.222737
-0.0545919
0.0799176
0.165808
0.209052
0.196363
0.150727
0.110897
0.0813042
0.0514278
-0.024835
-0.107881
-0.172496
-0.215969
-0.221225
-0.146397
-0.0630614
0.00814769
0.0622786
0.10233
0.133849
0.155404
0.169055
0.173024
0.135153
0.0505522
-0.0289328
-0.0954527
-0.144449
-0.162195
-0.155485
-0.142414
-0.127056
-0.10603
-0.0481187
0.0255496
0.0904935
0.144453
0.179376
0.164239
0.15507
0.101079
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.12384;
}
right
{
type calculated;
value uniform 0.101079;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD7;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.0670914
0.0670568
0.0660955
0.0498309
-0.0470884
-0.137019
-0.185153
-0.200416
-0.137508
0.0350934
0.172385
0.259056
0.292828
0.198033
0.0247347
-0.115084
-0.210725
-0.25419
-0.19721
-0.108009
-0.0309911
0.0267813
0.0695437
0.110225
0.140871
0.161794
0.171782
0.139914
0.0367286
-0.0634124
-0.146633
-0.205205
-0.205601
-0.145075
-0.0799999
-0.0211688
0.0276796
0.0735606
0.115473
0.147333
0.169601
0.174943
0.118301
0.0311471
-0.0497214
-0.119621
-0.167195
-0.159806
-0.154969
-0.102895
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.0670914;
}
right
{
type calculated;
value uniform -0.102895;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD8;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.0216992
-0.021686
-0.0213184
-0.0150989
0.0219625
0.0563474
0.0746923
0.0797522
0.0468989
-0.040812
-0.110384
-0.153926
-0.166843
-0.0855145
0.0538553
0.164986
0.239316
0.258187
0.127982
-0.042645
-0.183255
-0.28157
-0.302137
-0.163988
-0.00662851
0.128597
0.227058
0.251751
0.173121
0.0821984
-0.000129254
-0.0651545
-0.107212
-0.127927
-0.137566
-0.140088
-0.1322
-0.0718194
0.0267625
0.116739
0.190843
0.234754
0.185727
0.0871719
-0.00937633
-0.0960749
-0.157298
-0.157809
-0.157416
-0.10653
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.0216992;
}
right
{
type calculated;
value uniform -0.10653;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,73 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.1;
vertices
(
(0 -0.1 -0.1)
(1 -0.1 -0.1)
(1 0.1 -0.1)
(0 0.1 -0.1)
(0 -0.1 0.1)
(1 -0.1 0.1)
(1 0.1 0.1)
(0 0.1 0.1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (50 1 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch left
(
(0 4 7 3)
)
patch right
(
(2 6 5 1)
)
empty frontAndBack
(
(3 7 6 2)
(1 5 4 0)
(0 3 2 1)
(4 5 6 7)
)
);
mergePatchPairs
(
);
// ************************************************************************* //

View file

@ -0,0 +1,41 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
3
(
left
{
type patch;
nFaces 1;
startFace 49;
}
right
{
type patch;
nFaces 1;
startFace 50;
}
frontAndBack
{
type empty;
physicalType empty;
nFaces 200;
startFace 51;
}
)
// ************************************************************************* //

View file

@ -0,0 +1,28 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
DT DT [0 2 -1 0 0 0 0] 0.01;
// ************************************************************************* //

View file

@ -0,0 +1,41 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object PODsolverDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type scalarTransport;
solver RK;
//solver Euler;
eps 0.0001;
scalarTransportCoeffs
{
field T;
accuracy 0.999;
velocity U;
}
// ************************************************************************* //

View file

@ -0,0 +1,56 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application scalarTransportFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.1;
deltaT 0.0001;
writeControl runTime;
writeInterval 0.01;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View file

@ -0,0 +1,59 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default Gauss linear;
div(phi,T) Gauss Gamma01 0.5;
}
laplacianSchemes
{
default none;
laplacian(DT,T) Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
T;
}
// ************************************************************************* //

View file

@ -0,0 +1,36 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
T BICCG 1e-06 0;
}
SIMPLE
{
nNonOrthogonalCorrectors 0;
}
// ************************************************************************* //

View file

@ -0,0 +1,50 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.0 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object sampleDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
interpolationScheme cellPoint;
writeFormat raw;
sampleSets
(
uniform
{
name cut;
axis distance;
start (0 0 0);
end (0.1 0 0);
nPoints 100;
}
);
fields
(
// T
// TPODreconstruct
TPOD
);
// ************************************************************************* //

View file

@ -0,0 +1,101 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.993844
0.945503
0.853553
0.726995
0.578217
0.421783
0.273005
0.146447
0.0544967
0.00615583
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
)
;
boundaryField
{
left
{
type fixedValue;
value uniform 1;
}
right
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD0;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.189926
0.189745
0.18939
0.188865
0.188162
0.187279
0.186224
0.185012
0.183671
0.182237
0.180724
0.179035
0.177183
0.175195
0.173084
0.170852
0.168497
0.166017
0.163413
0.160688
0.157846
0.154889
0.151819
0.14864
0.145354
0.141963
0.138471
0.134879
0.131192
0.127412
0.123542
0.119586
0.115547
0.111428
0.107234
0.102969
0.0986365
0.0942433
0.089795
0.0852987
0.0807631
0.0761983
0.0716162
0.0670309
0.0624584
0.0579174
0.0534284
0.0490138
0.0446977
0.0405049
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.189949;
}
right
{
type calculated;
value uniform 0.0405049;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.210076
-0.208047
-0.204092
-0.198281
-0.190607
-0.181151
-0.17008
-0.157689
-0.144401
-0.130719
-0.11692
-0.101999
-0.0861973
-0.069917
-0.053412
-0.0368137
-0.0201979
-0.00364225
0.0127531
0.028872
0.044598
0.0598236
0.0744524
0.0883974
0.101578
0.113919
0.125353
0.135818
0.145261
0.153637
0.16091
0.167052
0.172042
0.175869
0.178529
0.180027
0.180378
0.179605
0.177738
0.174819
0.170899
0.166037
0.160303
0.153777
0.146549
0.138717
0.130389
0.121678
0.112704
0.103588
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.210334;
}
right
{
type calculated;
value uniform 0.103588;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD10;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.0996746
-0.0411048
0.164592
-0.0031535
-0.227545
-0.180165
0.102604
-0.145583
0.000736463
0.396077
-0.049619
-0.131223
-0.00687746
0.111861
-0.103828
-0.0531136
0.0587144
0.0814831
-0.027378
-0.15846
0.0801012
0.224845
-0.133707
-0.0778425
-0.0757692
0.0478153
-0.162861
0.16131
0.285321
-0.124156
-0.101198
-0.124416
0.13571
-0.0900826
0.0391332
0.0688556
0.113675
-0.2676
0.18358
-0.0843985
0.030248
-0.216542
0.0989367
0.226094
0.0999694
-0.198444
-0.141687
0.0644115
0.00483271
0.046172
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.179708;
}
right
{
type calculated;
value uniform 0.046172;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD11;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.0163982
0.156693
-0.282185
0.149278
0.0507361
-0.0296324
0.0277687
-0.163894
-0.0042615
0.0476897
0.172864
0.00844008
-0.177871
0.122851
0.0755799
-0.22866
0.00565934
-0.132352
0.201118
0.045743
0.13967
-0.0245756
-0.0427434
-0.16017
-0.134644
0.206806
-0.00438977
-0.0559619
0.0626961
-0.116909
-0.0617888
0.308665
0.0624005
-0.0370847
-0.0249184
-0.199997
-0.170963
-0.144628
0.194285
0.318183
0.0800782
-0.0314353
-0.0304491
-0.222318
-0.0402076
-0.0905555
0.112543
0.253637
-0.192051
0.0176587
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.0189356;
}
right
{
type calculated;
value uniform 0.0176587;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD12;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.20744
0.0851023
0.234861
0.104506
-0.255081
-0.0221738
-0.111857
0.287712
-0.10572
0.0430541
0.0657299
-0.0951614
-0.174942
0.198547
-0.0803339
0.182147
-0.315083
0.0174616
0.179479
0.0472138
0.0715201
-0.0660365
-0.337738
0.213267
0.0866412
0.154953
-0.185294
-0.177774
0.151401
0.00673127
-0.0125163
0.0554962
-0.0101641
-0.0531956
-0.0272353
0.0880852
0.0601696
-0.0410062
-0.219932
0.135444
0.0919718
-0.0016219
-0.0617661
-0.0510004
-0.0968815
0.203278
0.0454569
-0.0576507
-0.0697376
0.0271118
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.0382717;
}
right
{
type calculated;
value uniform 0.0271118;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD13;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.0259873
0.219077
0.0781797
-0.115757
-0.137999
-0.274395
0.122107
-0.0790873
0.168114
0.117981
0.0425059
-0.0726421
-0.105651
0.0508785
0.0104323
0.0245112
-0.0772162
-0.0180598
0.124121
0.268728
-0.22971
-0.256709
0.126554
-0.190445
0.217918
0.0108242
0.025271
0.0357091
0.0457104
0.0770457
-0.225985
-0.206225
0.112369
0.197982
0.0416061
0.126292
-0.237717
-0.0432981
-0.0572139
-0.00983738
-0.0614752
0.272058
0.142327
-0.0755861
-0.117426
-0.214622
0.134983
-0.0657497
0.135226
-0.0297166
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.18861;
}
right
{
type calculated;
value uniform -0.0297166;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD14;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.014602
-0.0790665
0.155585
-0.103913
0.124262
-0.114551
-0.0231332
0.0936764
0.0317547
-0.106406
-0.0172967
0.0393866
0.130621
-0.044971
-0.148918
0.0709638
0.0222895
-0.15067
-0.0148298
0.277962
0.0230624
-0.156266
0.00258684
0.0738403
-0.140897
0.107031
-0.211171
0.168668
0.0812669
-0.099325
-0.0893349
0.147794
0.270877
-0.298707
-0.0665545
0.0671417
-0.355408
0.360908
0.137057
-0.152987
0.0670903
-0.12101
0.103207
-0.0252606
-0.000428608
0.0699579
-0.238574
0.114655
-0.017023
0.0496575
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.141001;
}
right
{
type calculated;
value uniform 0.0496575;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD15;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.152796
0.100174
-0.00531763
0.0465534
0.0506431
-0.0743569
0.154127
-0.119895
0.0982631
0.00667351
-0.161504
-0.0500499
0.140695
-0.112688
0.0816827
0.11974
-0.0536663
-0.243523
0.113222
0.101773
-0.0578887
0.121246
-0.132417
0.124643
-0.0170393
-0.298581
0.0880966
0.0914099
0.176391
0.0986353
-0.287509
0.169681
-0.161901
-0.246327
0.442893
-0.285345
0.162611
-0.0180055
0.020453
-0.0471241
0.00688094
0.0973449
-0.0208828
-0.0141272
-0.136691
0.0610585
0.0135541
-0.0543101
0.0162512
0.0472524
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.144735;
}
right
{
type calculated;
value uniform 0.0472524;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD16;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.229621
-0.0926633
0.0726813
-0.28148
-0.0968718
0.0520513
0.185929
-0.111057
0.03121
-0.0219197
-0.00393394
-0.0519688
-0.138636
0.359507
0.045737
-0.0012859
-0.274088
0.149901
-0.0637242
-0.0769902
0.211337
-0.273308
0.097242
0.0852854
-0.0728084
0.00723954
0.115269
0.182651
-0.262912
-0.194606
-0.020608
0.24571
0.0485408
-0.111676
0.134071
-0.134069
0.0837876
-0.0141589
0.00208247
-0.0377251
-0.0742546
-0.00401439
0.0292451
0.0690473
-0.107609
0.102021
0.0622366
-0.0730738
0.190398
-0.197358
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.0744544;
}
right
{
type calculated;
value uniform -0.197358;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD17;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.0257391
-0.0532487
0.132653
-0.0682239
-0.0749766
0.0807867
-0.069309
-0.114679
0.103941
0.0760527
0.0321973
0.111964
-0.318148
-0.132276
0.33513
-0.00803254
0.0176764
-0.0284481
0.0692811
-0.14199
-0.0739756
0.105035
-0.168705
0.168514
0.0781574
-0.129377
0.0322535
0.0284644
0.207036
-0.310946
0.159161
-0.109193
-0.0914433
0.0352696
0.0882304
0.0495615
-0.188536
0.310555
0.0527493
-0.214122
-0.0229728
-0.00383752
-0.0261945
-0.0835407
0.0072135
-0.0350368
0.244919
0.220644
-0.0621258
-0.243849
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.215686;
}
right
{
type calculated;
value uniform -0.243849;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD18;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.162805
0.0965194
0.0627659
0.0462049
-0.0724729
-0.0150405
0.0215547
0.193094
-0.0291308
-0.153873
0.0180999
-0.181891
0.141104
0.142853
0.120744
-0.408586
0.0584025
0.10692
-0.0540826
0.145797
0.0142847
-0.0266714
-0.0688054
-0.0654781
0.00745865
-0.0260691
0.232749
-0.102543
-0.029036
-0.0384399
0.0971187
-0.176101
0.0335935
0.0220285
0.205367
-0.146429
0.0185647
0.00992871
-0.120261
-0.167508
0.44454
-0.231199
0.168697
-0.105241
-0.00661507
-0.0504794
-0.12639
0.139429
0.151834
-0.134506
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.0142684;
}
right
{
type calculated;
value uniform -0.134506;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD19;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.00586543
0.14187
-0.191589
0.134749
-0.210786
0.0575168
0.0914135
-0.0756858
0.173663
-0.0185799
-0.123215
-0.115486
-0.151861
0.231524
0.0984009
0.0871144
0.108707
-0.184864
-0.0593154
0.0991754
-0.321362
0.197451
-0.0256879
-0.174533
0.0417568
0.310121
0.121233
0.0233216
-0.24537
-0.0286147
-0.0166216
-0.0572853
-0.0344508
-0.129337
0.104485
0.173235
0.0132038
0.192988
-0.0630624
-0.0133891
-0.143264
-0.222056
-0.0780332
0.162903
0.052491
0.266623
-0.111954
-0.0128964
-0.0996618
0.0191501
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.0115176;
}
right
{
type calculated;
value uniform 0.0191501;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.237506
0.230054
0.215631
0.19482
0.168172
0.136646
0.101544
0.0646256
0.02802
-0.00596254
-0.0360134
-0.0657209
-0.0941769
-0.119929
-0.142093
-0.160281
-0.174404
-0.184477
-0.190534
-0.192622
-0.190833
-0.185331
-0.176351
-0.164192
-0.1492
-0.131754
-0.112258
-0.091129
-0.0687952
-0.0456851
-0.0222222
0.00118294
0.0241389
0.04628
0.0672706
0.0868094
0.104634
0.120522
0.134296
0.145824
0.15502
0.161844
0.166303
0.168451
0.168384
0.16624
0.162191
0.156445
0.149233
0.140806
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.238452;
}
right
{
type calculated;
value uniform 0.140806;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD20;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.335917
0.159396
0.10065
-0.0320339
-0.0118229
0.291659
0.00911121
0.0723855
-0.146017
-0.128813
0.114334
-0.16741
0.00881489
-0.138334
0.1929
0.108949
0.0365372
-0.203967
0.0866406
-0.109847
0.00767782
0.0432768
0.0415785
0.0103341
0.069557
-0.073655
0.079648
0.176187
-0.146827
-0.387489
0.0398746
-0.0374229
0.407221
-0.0399085
0.0132667
0.0329738
-0.042021
-0.235071
0.0419767
0.0823786
-0.0929828
0.119335
-0.0216421
0.0408676
0.12194
-0.091298
-0.10047
-0.132578
0.0731669
0.0928882
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.158789;
}
right
{
type calculated;
value uniform 0.0928882;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD3;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.255082
0.237294
0.203215
0.15537
0.0970329
0.0325276
-0.0330933
-0.0941847
-0.144927
-0.179897
-0.196942
-0.206472
-0.208476
-0.201673
-0.185968
-0.162298
-0.132253
-0.0976864
-0.0604426
-0.0222249
0.0154376
0.0511886
0.0838422
0.112392
0.136031
0.15417
0.166442
0.1727
0.173007
0.167613
0.156932
0.141515
0.122025
0.0992061
0.0738574
0.0468046
0.0188725
-0.00913784
-0.0364727
-0.0624441
-0.0864456
-0.107967
-0.126604
-0.142059
-0.154151
-0.162811
-0.168075
-0.170079
-0.169048
-0.165277
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.257345;
}
right
{
type calculated;
value uniform -0.165277;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD4;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.242255
-0.212539
-0.156298
-0.0799812
0.00719589
0.0945329
0.170855
0.225746
0.250668
0.239909
0.195115
0.140275
0.08172
0.0224457
-0.034398
-0.0857447
-0.128803
-0.161285
-0.181632
-0.189187
-0.184228
-0.167862
-0.14184
-0.10834
-0.0697657
-0.0285778
0.0128325
0.0522563
0.0877512
0.117709
0.140903
0.156516
0.164139
0.16376
0.155729
0.140707
0.119613
0.0935643
0.0638042
0.0316452
-0.00159507
-0.034651
-0.0663573
-0.0956899
-0.121798
-0.144026
-0.161924
-0.17525
-0.18396
-0.188192
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.246041;
}
right
{
type calculated;
value uniform -0.188192;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD5;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.198247
-0.162151
-0.09472
-0.0066301
0.0862963
0.167392
0.221106
0.235992
0.206407
0.133107
0.0275531
-0.071415
-0.148991
-0.198574
-0.21815
-0.20986
-0.178628
-0.130706
-0.0726597
-0.0108251
0.0489789
0.101691
0.143244
0.170801
0.182895
0.179442
0.161625
0.131668
0.0925445
0.0476724
0.000614943
-0.0451833
-0.0866187
-0.121094
-0.146638
-0.161969
-0.166508
-0.160354
-0.144215
-0.11931
-0.0872564
-0.0499404
-0.00938412
0.0323755
0.073403
0.111959
0.146576
0.176111
0.199772
0.217124
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.202855;
}
right
{
type calculated;
value uniform 0.217124;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T1POD6;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.148705
0.113648
0.0489728
-0.0323333
-0.110801
-0.167655
-0.187463
-0.16252
-0.0943959
0.00681124
0.120418
0.201337
0.233084
0.213659
0.151585
0.0631727
-0.0322196
-0.116867
-0.177828
-0.2082
-0.206869
-0.177316
-0.126171
-0.0617568
0.00714344
0.0722763
0.126663
0.165118
0.184546
0.184028
0.164694
0.129426
0.0824132
0.0286554
-0.0265759
-0.0782173
-0.121825
-0.153896
-0.172055
-0.175142
-0.163181
-0.137282
-0.0994426
-0.0523353
0.000954752
0.0571813
0.113173
0.166046
0.213355
0.253211
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.153187;
}
right
{
type calculated;
value uniform 0.253211;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD7;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.0564171
-0.0476301
-0.0732251
-0.0441616
0.0117139
0.0687488
0.105047
0.107098
0.0655284
-0.0233385
-0.143715
-0.194461
-0.170949
-0.0951764
0.00466775
0.101908
0.172641
0.20362
0.189567
0.137021
0.0563672
-0.0338577
-0.117783
-0.180455
-0.211816
-0.208524
-0.172167
-0.109636
-0.0311712
0.051184
0.126064
0.182645
0.214484
0.217586
0.192348
0.142568
0.074486
-0.00308763
-0.0802373
-0.148004
-0.197392
-0.221988
-0.218066
-0.185371
-0.126489
-0.0479176
0.0407719
0.127593
0.198775
0.240423
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.137954;
}
right
{
type calculated;
value uniform 0.240423;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD8;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.00179323
-0.0605196
-0.0568471
-0.00883576
0.0531346
0.0936188
0.110319
0.0846146
0.0298509
-0.0644753
-0.168801
-0.190904
-0.127157
-0.0227347
0.082623
0.165043
0.202602
0.167026
0.0923526
-0.00523769
-0.103161
-0.175011
-0.204785
-0.183325
-0.126356
-0.0314279
0.0638382
0.14997
0.20396
0.216405
0.179796
0.115454
0.0230764
-0.0722871
-0.1543
-0.209921
-0.224159
-0.197448
-0.13475
-0.0429652
0.0575703
0.146846
0.209153
0.234217
0.210085
0.140646
0.0374547
-0.0792449
-0.181358
-0.242082
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.0660584;
}
right
{
type calculated;
value uniform -0.242082;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/POD";
case "1DPODsin";
instance ""0"";
local "";
class volScalarField;
object T1POD9;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.0263777
-0.0870346
-0.0429696
-0.00151532
0.0104438
0.0381483
0.201967
0.164123
-0.126266
-0.0920688
-0.16707
-0.132456
-0.0686251
0.033938
0.17749
0.228705
0.0110855
0.140103
-0.0790959
-0.17493
-0.124296
-0.0715079
-0.101003
-0.0867407
0.128313
0.121285
0.0642636
0.213078
0.0772766
0.0246808
0.0258492
-0.143585
-0.203738
-0.174341
-0.196148
-0.0577899
0.0554802
0.171247
0.256894
0.237567
0.143262
0.0275504
-0.0538951
-0.21235
-0.270777
-0.240157
-0.113746
0.0664897
0.17225
0.204243
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.130795;
}
right
{
type calculated;
value uniform 0.204243;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,95 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev |
| \\ / A nd | Revision: 1697 |
| \\/ M anipulation | Web: http://www.OpenFOAM.org |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object TPODreconstruct;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.992504
0.944533
0.853256
0.727515
0.579456
0.423431
0.2746
0.1475
0.0546224
0.00517136
-0.00198536
-0.00237992
-0.00205154
-0.00111417
0.000157492
0.00140635
0.00230007
0.00262272
0.00232174
0.00150309
0.00038384
-0.00077425
-0.00173051
-0.0023142
-0.00244809
-0.00214808
-0.00150467
-0.000654374
0.00025074
0.00106978
0.00169181
0.00204682
0.00210844
0.00189096
0.00144154
0.000830424
0.000140289
-0.000544348
-0.00114604
-0.00160131
-0.00186524
-0.00191392
-0.00174423
-0.00137206
-0.000828879
-0.000157345
0.000593307
0.00137217
0.00213069
0.00282619
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.998613;
}
right
{
type calculated;
value uniform 0.00282619;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,51 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (1 0 0);
boundaryField
{
left
{
type fixedValue;
value uniform (1 0 0);
}
right
{
type fixedValue;
value uniform (1 0 0);
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD0;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.195411
0.19541
0.195395
0.195146
0.193662
0.192284
0.191531
0.191106
0.189902
0.187197
0.185082
0.183715
0.182697
0.180133
0.176564
0.173821
0.171913
0.170184
0.166246
0.162028
0.158746
0.15634
0.153752
0.148663
0.143932
0.140186
0.137316
0.133733
0.12786
0.122678
0.118546
0.115243
0.110668
0.104257
0.0987343
0.0942996
0.0905942
0.085118
0.0783762
0.0726324
0.0679807
0.0639042
0.0576887
0.0507922
0.0449691
0.040122
0.0359784
0.0281443
0.0237372
0.014245
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.195411;
}
right
{
type calculated;
value uniform 0.014245;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD1;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.196704
-0.1967
-0.196565
-0.194293
-0.180754
-0.168183
-0.161328
-0.157535
-0.147517
-0.125215
-0.107804
-0.0965801
-0.0885691
-0.0703825
-0.0455188
-0.026495
-0.0133734
-0.00240707
0.019359
0.04209
0.0596023
0.0721941
0.0838622
0.103055
0.120283
0.133652
0.143465
0.15269
0.164351
0.174011
0.181372
0.186629
0.190059
0.192071
0.193205
0.193745
0.193417
0.18896
0.181485
0.174602
0.168676
0.16268
0.150287
0.13533
0.122327
0.111209
0.101229
0.0798836
0.0678447
0.0409313
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.196704;
}
right
{
type calculated;
value uniform 0.0409313;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.19803
0.198017
0.197638
0.191233
0.153062
0.117622
0.0983333
0.0881149
0.0652326
0.0155924
-0.0230389
-0.0477777
-0.0638151
-0.0904388
-0.124343
-0.149826
-0.166934
-0.177713
-0.185912
-0.19175
-0.195432
-0.197232
-0.193326
-0.174061
-0.154283
-0.13785
-0.124573
-0.104679
-0.0684237
-0.0357845
-0.00949164
0.0112926
0.037043
0.0708025
0.0993739
0.121905
0.139113
0.155013
0.169742
0.181028
0.189231
0.193688
0.188711
0.178789
0.169044
0.159809
0.149908
0.120335
0.10357
0.0631181
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.19803;
}
right
{
type calculated;
value uniform 0.0631181;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD3;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.19659
0.196563
0.195825
0.183342
0.108953
0.0398907
0.0024052
-0.016176
-0.04567
-0.105141
-0.151005
-0.179978
-0.195181
-0.196665
-0.190279
-0.183893
-0.178431
-0.167661
-0.123401
-0.0724744
-0.0319132
-0.0021583
0.0259631
0.0728768
0.115094
0.147803
0.17089
0.183525
0.185464
0.183765
0.18062
0.175431
0.153234
0.111337
0.072963
0.0409934
0.0140547
-0.023144
-0.0674168
-0.104709
-0.13428
-0.156132
-0.169681
-0.177248
-0.181305
-0.182586
-0.179227
-0.147451
-0.129293
-0.0799001
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.19659;
}
right
{
type calculated;
value uniform -0.0799001;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD4;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.188045
-0.188003
-0.186852
-0.167372
-0.0512928
0.0564606
0.114752
0.141185
0.158188
0.179363
0.194429
0.203169
0.201857
0.15361
0.0761297
0.0148992
-0.0276338
-0.0591427
-0.105191
-0.149831
-0.18309
-0.204924
-0.207688
-0.171316
-0.130743
-0.0959078
-0.0677686
-0.0304398
0.0324228
0.0881387
0.132317
0.16399
0.178413
0.1767
0.170536
0.16278
0.151616
0.113418
0.0556494
0.00371961
-0.0395134
-0.0745787
-0.109485
-0.14106
-0.165447
-0.183234
-0.191229
-0.162283
-0.145552
-0.0914569
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.188045;
}
right
{
type calculated;
value uniform -0.0914569;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD5;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.165974
-0.165922
-0.164456
-0.139655
0.00813498
0.145305
0.21924
0.249331
0.230619
0.157975
0.0986442
0.059831
0.0323455
-0.0277386
-0.109253
-0.171349
-0.212324
-0.226739
-0.179754
-0.115072
-0.0608368
-0.0200088
0.0182104
0.0798365
0.13484
0.177078
0.204891
0.200812
0.148988
0.0951162
0.0483821
0.0100922
-0.0350483
-0.0915188
-0.138642
-0.174926
-0.19729
-0.181909
-0.138281
-0.0947995
-0.0560215
-0.0205855
0.0304491
0.08563
0.131666
0.168119
0.189685
0.166899
0.153501
0.0982182
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.165974;
}
right
{
type calculated;
value uniform 0.0982182;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD6;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.12384
0.123788
0.122349
0.0979878
-0.0471781
-0.181894
-0.254243
-0.280338
-0.222737
-0.0545919
0.0799176
0.165808
0.209052
0.196363
0.150727
0.110897
0.0813042
0.0514278
-0.024835
-0.107881
-0.172496
-0.215969
-0.221225
-0.146397
-0.0630614
0.00814769
0.0622786
0.10233
0.133849
0.155404
0.169055
0.173024
0.135153
0.0505522
-0.0289328
-0.0954527
-0.144449
-0.162195
-0.155485
-0.142414
-0.127056
-0.10603
-0.0481187
0.0255496
0.0904935
0.144453
0.179376
0.164239
0.15507
0.101079
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.12384;
}
right
{
type calculated;
value uniform 0.101079;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD7;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
0.0670914
0.0670568
0.0660955
0.0498309
-0.0470884
-0.137019
-0.185153
-0.200416
-0.137508
0.0350934
0.172385
0.259056
0.292828
0.198033
0.0247347
-0.115084
-0.210725
-0.25419
-0.19721
-0.108009
-0.0309911
0.0267813
0.0695437
0.110225
0.140871
0.161794
0.171782
0.139914
0.0367286
-0.0634124
-0.146633
-0.205205
-0.205601
-0.145075
-0.0799999
-0.0211688
0.0276796
0.0735606
0.115473
0.147333
0.169601
0.174943
0.118301
0.0311471
-0.0497214
-0.119621
-0.167195
-0.159806
-0.154969
-0.102895
)
;
boundaryField
{
left
{
type calculated;
value uniform 0.0670914;
}
right
{
type calculated;
value uniform -0.102895;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,102 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/development";
case "1DPOD";
instance ""constant"";
local "";
class volScalarField;
object T2POD8;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField nonuniform List<scalar>
50
(
-0.0216992
-0.021686
-0.0213184
-0.0150989
0.0219625
0.0563474
0.0746923
0.0797522
0.0468989
-0.040812
-0.110384
-0.153926
-0.166843
-0.0855145
0.0538553
0.164986
0.239316
0.258187
0.127982
-0.042645
-0.183255
-0.28157
-0.302137
-0.163988
-0.00662851
0.128597
0.227058
0.251751
0.173121
0.0821984
-0.000129254
-0.0651545
-0.107212
-0.127927
-0.137566
-0.140088
-0.1322
-0.0718194
0.0267625
0.116739
0.190843
0.234754
0.185727
0.0871719
-0.00937633
-0.0960749
-0.157298
-0.157809
-0.157416
-0.10653
)
;
boundaryField
{
left
{
type calculated;
value uniform -0.0216992;
}
right
{
type calculated;
value uniform -0.10653;
}
frontAndBack
{
type empty;
}
}
// ************************************************************************* //

View file

@ -0,0 +1,73 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 0.1;
vertices
(
(0 -0.1 -0.1)
(1 -0.1 -0.1)
(1 0.1 -0.1)
(0 0.1 -0.1)
(0 -0.1 0.1)
(1 -0.1 0.1)
(1 0.1 0.1)
(0 0.1 0.1)
);
blocks
(
hex (0 1 2 3 4 5 6 7) (50 1 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch left
(
(0 4 7 3)
)
patch right
(
(2 6 5 1)
)
empty frontAndBack
(
(3 7 6 2)
(1 5 4 0)
(0 3 2 1)
(4 5 6 7)
)
);
mergePatchPairs
(
);
// ************************************************************************* //

View file

@ -0,0 +1,50 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "/home/hjasak/OpenFOAM/hjasak-1.3/run/Tempus";
case "1D";
instance ""constant"";
local "polyMesh";
class polyBoundaryMesh;
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
3
(
left
{
type patch;
nFaces 1;
startFace 49;
}
right
{
type patch;
nFaces 1;
startFace 50;
}
frontAndBack
{
type empty;
physicalType empty;
nFaces 200;
startFace 51;
}
)
// ************************************************************************* //

View file

@ -0,0 +1,29 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
DT DT [0 2 -1 0 0 0 0] 0.001;
//DT DT [0 2 -1 0 0 0 0] 0.0;
// ************************************************************************* //

View file

@ -0,0 +1,3 @@
setTcos.C
EXE = $(FOAM_APPBIN)/setTcos

View file

@ -0,0 +1,5 @@
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = \
-lfiniteVolume

View file

@ -0,0 +1,81 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2005 OpenCFD Ltd.
\\/ 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Description
Set up the gamma field
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "mathematicalConstants.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
{
# include "setRootCase.H"
# include "createTime.H"
# include "createMesh.H"
Info<< "Time = " << runTime.value() << endl;
Info<< " Reading field T" << endl;
volScalarField T
(
IOobject
(
"T",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::NO_WRITE
),
mesh
);
// Do cells
const volVectorField& centres = mesh.C();
Info << pos(0.02 - centres.internalField().component(vector::X))*
centres.internalField().component(vector::X)/0.02 << endl;
T.internalField() =
pos(0.02 - centres.internalField().component(vector::X))*
(
Foam::cos
(
centres.internalField().component(vector::X)/0.02*
mathematicalConstant::pi
)/2.0 + 0.5
);
T.write();
Info<< "End\n" << endl;
return(0);
}
// ************************************************************************* //

View file

@ -0,0 +1,41 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object PODsolverDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
type scalarTransport;
//solver RK;
solver Euler;
eps 0.0001;
scalarTransportCoeffs
{
field T;
accuracy 0.9999;
velocity U;
}
// ************************************************************************* //

View file

@ -0,0 +1,56 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application scalarTransportFoam;
startFrom startTime;
startTime 0;
stopAt endTime;
endTime 0.1;
deltaT 0.0001;
writeControl runTime;
writeInterval 0.01;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
// ************************************************************************* //

View file

@ -0,0 +1,64 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
}
divSchemes
{
default Gauss linear;
div(phi,T) Gauss Gamma01 0.5;
}
laplacianSchemes
{
default none;
laplacian(DT,T) Gauss linear corrected;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected;
}
fluxRequired
{
default no;
T;
}
// ************************************************************************* //

View file

@ -0,0 +1,36 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
T BICCG 1e-06 0;
}
SIMPLE
{
nNonOrthogonalCorrectors 0;
}
// ************************************************************************* //

View file

@ -0,0 +1,50 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.0 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object sampleDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
interpolationScheme cellPoint;
writeFormat raw;
sampleSets
(
uniform
{
name cut;
axis distance;
start (0 0 0);
end (0.1 0 0);
nPoints 100;
}
);
fields
(
// T
// TPODreconstruct
TPOD
);
// ************************************************************************* //