Skip to content
Snippets Groups Projects
Commit 15f34ee8 authored by mattijs's avatar mattijs
Browse files

ENH: timeVaryingMapped: added offset like fvPatchField variant

parent 55b13d85
No related merge requests found
......@@ -48,8 +48,8 @@ timeVaryingMappedFixedValuePointPatchField
startAverage_(pTraits<Type>::zero),
endSampleTime_(-1),
endSampledValues_(0),
endAverage_(pTraits<Type>::zero)
endAverage_(pTraits<Type>::zero),
offset_()
{}
......@@ -75,7 +75,13 @@ timeVaryingMappedFixedValuePointPatchField
startAverage_(pTraits<Type>::zero),
endSampleTime_(-1),
endSampledValues_(0),
endAverage_(pTraits<Type>::zero)
endAverage_(pTraits<Type>::zero),
offset_
(
ptf.offset_.valid()
? ptf.offset_().clone().ptr()
: NULL
)
{}
......@@ -100,8 +106,14 @@ timeVaryingMappedFixedValuePointPatchField
startAverage_(pTraits<Type>::zero),
endSampleTime_(-1),
endSampledValues_(0),
endAverage_(pTraits<Type>::zero)
endAverage_(pTraits<Type>::zero),
offset_()
{
if (dict.found("offset"))
{
offset_ = DataEntry<Type>::New("offset", dict);
}
dict.readIfPresent("fieldTableName", fieldTableName_);
if (dict.found("value"))
......@@ -141,7 +153,13 @@ timeVaryingMappedFixedValuePointPatchField
startAverage_(ptf.startAverage_),
endSampleTime_(ptf.endSampleTime_),
endSampledValues_(ptf.endSampledValues_),
endAverage_(ptf.endAverage_)
endAverage_(ptf.endAverage_),
offset_
(
ptf.offset_.valid()
? ptf.offset_().clone().ptr()
: NULL
)
{}
......@@ -165,7 +183,13 @@ timeVaryingMappedFixedValuePointPatchField
startAverage_(ptf.startAverage_),
endSampleTime_(ptf.endSampleTime_),
endSampledValues_(ptf.endSampledValues_),
endAverage_(ptf.endAverage_)
endAverage_(ptf.endAverage_),
offset_
(
ptf.offset_.valid()
? ptf.offset_().clone().ptr()
: NULL
)
{}
......@@ -532,10 +556,18 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::updateCoeffs()
}
}
// apply offset to mapped values
if (offset_.valid())
{
const scalar t = this->db().time().timeOutputValue();
this->operator==(*this + offset_->value(t));
}
if (debug)
{
Pout<< "updateCoeffs : set fixedValue to min:" << gMin(*this)
<< " max:" << gMax(*this) << endl;
<< " max:" << gMax(*this)
<< " avg:" << gAverage(*this) << endl;
}
fixedValuePointPatchField<Type>::updateCoeffs();
......@@ -550,13 +582,21 @@ void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::write
{
fixedValuePointPatchField<Type>::write(os);
os.writeKeyword("setAverage") << setAverage_ << token::END_STATEMENT << nl;
os.writeKeyword("perturb") << perturb_ << token::END_STATEMENT << nl;
if (perturb_ != 1e-5)
{
os.writeKeyword("perturb") << perturb_ << token::END_STATEMENT << nl;
}
if (fieldTableName_ != this->dimensionedInternalField().name())
{
os.writeKeyword("fieldTableName") << fieldTableName_
<< token::END_STATEMENT << nl;
}
if (offset_.valid())
{
offset_->writeData(os);
}
}
......
......@@ -41,6 +41,7 @@ SourceFiles
#include "fixedValuePointPatchField.H"
#include "instantList.H"
#include "pointToPointPlanarInterpolation.H"
#include "DataEntry.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......@@ -91,6 +92,9 @@ class timeVaryingMappedFixedValuePointPatchField
//- If setAverage: end average value
Type endAverage_;
//- Time varying offset values to interpolated data
autoPtr<DataEntry<Type> > offset_;
public:
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment