BUG: timeVaryingMapped: missing rmap,automap functionality

This commit is contained in:
mattijs
2013-03-27 10:18:03 +00:00
parent f918b70e8e
commit 2f74439607
2 changed files with 59 additions and 1 deletions

View File

@ -156,6 +156,47 @@ timeVaryingMappedFixedValuePointPatchField
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
template<class Type>
void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::autoMap
(
const pointPatchFieldMapper& m
)
{
fixedValuePointPatchField<Type>::autoMap(m);
if (startSampledValues_.size())
{
startSampledValues_.autoMap(m);
endSampledValues_.autoMap(m);
}
// Clear interpolator
mapperPtr_.clear();
startSampleTime_ = -1;
endSampleTime_ = -1;
}
template<class Type>
void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::rmap
(
const pointPatchField<Type>& ptf,
const labelList& addr
)
{
fixedValuePointPatchField<Type>::rmap(ptf, addr);
const timeVaryingMappedFixedValuePointPatchField<Type>& tiptf =
refCast<const timeVaryingMappedFixedValuePointPatchField<Type> >(ptf);
startSampledValues_.rmap(tiptf.startSampledValues_, addr);
endSampledValues_.rmap(tiptf.endSampledValues_, addr);
// Clear interpolator
mapperPtr_.clear();
startSampleTime_ = -1;
endSampleTime_ = -1;
}
template<class Type> template<class Type>
void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable() void Foam::timeVaryingMappedFixedValuePointPatchField<Type>::checkTable()
{ {

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2012-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -167,6 +167,23 @@ public:
void checkTable(); void checkTable();
// Mapping functions
//- Map (and resize as needed) from self given a mapping object
virtual void autoMap
(
const pointPatchFieldMapper&
);
//- Reverse map the given PointPatchField onto
// this PointPatchField
virtual void rmap
(
const pointPatchField<Type>&,
const labelList&
);
// Evaluation functions // Evaluation functions
//- Update the coefficients associated with the patch field //- Update the coefficients associated with the patch field