mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: surfaceInterpolateFields : enable writing
This commit is contained in:
@ -24,7 +24,6 @@ License
|
|||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "surfaceInterpolateFields.H"
|
#include "surfaceInterpolateFields.H"
|
||||||
//#include "dictionary.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -89,20 +88,21 @@ void Foam::surfaceInterpolateFields::read(const dictionary& dict)
|
|||||||
|
|
||||||
void Foam::surfaceInterpolateFields::execute()
|
void Foam::surfaceInterpolateFields::execute()
|
||||||
{
|
{
|
||||||
//Info<< type() << " " << name_ << ":" << nl;
|
if (active_)
|
||||||
|
{
|
||||||
|
// Clear out any previously loaded fields
|
||||||
|
ssf_.clear();
|
||||||
|
svf_.clear();
|
||||||
|
sSpheretf_.clear();
|
||||||
|
sSymmtf_.clear();
|
||||||
|
stf_.clear();
|
||||||
|
|
||||||
// Clear out any previously loaded fields
|
interpolateFields<scalar>(ssf_);
|
||||||
ssf_.clear();
|
interpolateFields<vector>(svf_);
|
||||||
svf_.clear();
|
interpolateFields<sphericalTensor>(sSpheretf_);
|
||||||
sSpheretf_.clear();
|
interpolateFields<symmTensor>(sSymmtf_);
|
||||||
sSymmtf_.clear();
|
interpolateFields<tensor>(stf_);
|
||||||
stf_.clear();
|
}
|
||||||
|
|
||||||
interpolateFields<scalar>(ssf_);
|
|
||||||
interpolateFields<vector>(svf_);
|
|
||||||
interpolateFields<sphericalTensor>(sSpheretf_);
|
|
||||||
interpolateFields<symmTensor>(sSymmtf_);
|
|
||||||
interpolateFields<tensor>(stf_);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -114,7 +114,32 @@ void Foam::surfaceInterpolateFields::end()
|
|||||||
|
|
||||||
void Foam::surfaceInterpolateFields::write()
|
void Foam::surfaceInterpolateFields::write()
|
||||||
{
|
{
|
||||||
// Do nothing
|
if (active_)
|
||||||
|
{
|
||||||
|
Info<< "Writing interpolated surface fields to "
|
||||||
|
<< obr_.time().timeName() << endl;
|
||||||
|
|
||||||
|
forAll(ssf_, i)
|
||||||
|
{
|
||||||
|
ssf_[i].write();
|
||||||
|
}
|
||||||
|
forAll(svf_, i)
|
||||||
|
{
|
||||||
|
svf_[i].write();
|
||||||
|
}
|
||||||
|
forAll(sSpheretf_, i)
|
||||||
|
{
|
||||||
|
sSpheretf_[i].write();
|
||||||
|
}
|
||||||
|
forAll(sSymmtf_, i)
|
||||||
|
{
|
||||||
|
sSymmtf_[i].write();
|
||||||
|
}
|
||||||
|
forAll(stf_, i)
|
||||||
|
{
|
||||||
|
stf_[i].write();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -27,9 +27,24 @@ Class
|
|||||||
Description
|
Description
|
||||||
Linear interpolates volFields to surfaceFields
|
Linear interpolates volFields to surfaceFields
|
||||||
|
|
||||||
Note: gets executed every time step. Could move it to write() but then
|
- at write it writes the fields
|
||||||
you'd have problems if you have different write frequencies for different
|
- it executes every time step
|
||||||
function objects.
|
|
||||||
|
so it can either be used to calculate and write the interpolate or
|
||||||
|
(since the interpolates are registered) use some other functionObject
|
||||||
|
to work on them.
|
||||||
|
|
||||||
|
sampleSomeFields
|
||||||
|
{
|
||||||
|
type surfaceInterpolateFields;
|
||||||
|
..
|
||||||
|
enabled true;
|
||||||
|
outputControl outputTime;
|
||||||
|
..
|
||||||
|
// Name of volField and corresponding surfaceField
|
||||||
|
fields ((p pInterpolate)(U UInterpolate));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
surfaceInterpolateFields.C
|
surfaceInterpolateFields.C
|
||||||
|
|||||||
Reference in New Issue
Block a user