Esempio n. 1
0
void Foam::genericFvPatchField<Type>::rmap
(
    const fvPatchField<Type>& ptf,
    const labelList& addr
)
{
    calculatedFvPatchField<Type>::rmap(ptf, addr);

    const genericFvPatchField<Type>& dptf =
        refCast<const genericFvPatchField<Type> >(ptf);

    for
    (
        HashPtrTable<scalarField>::iterator iter = scalarFields_.begin();
        iter != scalarFields_.end();
        ++iter
    )
    {
        HashPtrTable<scalarField>::const_iterator dptfIter =
            dptf.scalarFields_.find(iter.key());

        if (dptfIter != dptf.scalarFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<vectorField>::iterator iter = vectorFields_.begin();
        iter != vectorFields_.end();
        ++iter
    )
    {
        HashPtrTable<vectorField>::const_iterator dptfIter =
            dptf.vectorFields_.find(iter.key());

        if (dptfIter != dptf.vectorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<sphericalTensorField>::iterator iter =
            sphericalTensorFields_.begin();
        iter != sphericalTensorFields_.end();
        ++iter
    )
    {
        HashPtrTable<sphericalTensorField>::const_iterator dptfIter =
            dptf.sphericalTensorFields_.find(iter.key());

        if (dptfIter != dptf.sphericalTensorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<symmTensorField>::iterator iter =
            symmTensorFields_.begin();
        iter != symmTensorFields_.end();
        ++iter
    )
    {
        HashPtrTable<symmTensorField>::const_iterator dptfIter =
            dptf.symmTensorFields_.find(iter.key());

        if (dptfIter != dptf.symmTensorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<tensorField>::iterator iter = tensorFields_.begin();
        iter != tensorFields_.end();
        ++iter
    )
    {
        HashPtrTable<tensorField>::const_iterator dptfIter =
            dptf.tensorFields_.find(iter.key());

        if (dptfIter != dptf.tensorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }
}
void
GenericPointPatchField<PatchField, Mesh, PointPatch, MatrixType, Type>::rmap
(
    const PointPatchField<PatchField, Mesh, PointPatch, MatrixType, Type>& ptf,
    const labelList& addr
)
{
    const GenericPointPatchField
        <PatchField, Mesh, PointPatch, MatrixType, Type>& dptf =
        refCast<const GenericPointPatchField
        <PatchField, Mesh, PointPatch, MatrixType, Type> >(ptf);

    for
    (
        HashPtrTable<scalarField>::iterator iter = scalarFields_.begin();
        iter != scalarFields_.end();
        ++iter
    )
    {
        HashPtrTable<scalarField>::const_iterator dptfIter =
            dptf.scalarFields_.find(iter.key());

        if (dptfIter != scalarFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<vectorField>::iterator iter = vectorFields_.begin();
        iter != vectorFields_.end();
        ++iter
    )
    {
        HashPtrTable<vectorField>::const_iterator dptfIter =
            dptf.vectorFields_.find(iter.key());

        if (dptfIter != vectorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<sphericalTensorField>::iterator iter =
            sphericalTensorFields_.begin();
        iter != sphericalTensorFields_.end();
        ++iter
    )
    {
        HashPtrTable<sphericalTensorField>::const_iterator dptfIter =
            dptf.sphericalTensorFields_.find(iter.key());

        if (dptfIter != sphericalTensorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<symmTensorField>::iterator iter =
            symmTensorFields_.begin();
        iter != symmTensorFields_.end();
        ++iter
    )
    {
        HashPtrTable<symmTensorField>::const_iterator dptfIter =
            dptf.symmTensorFields_.find(iter.key());

        if (dptfIter != symmTensorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }

    for
    (
        HashPtrTable<tensorField>::iterator iter = tensorFields_.begin();
        iter != tensorFields_.end();
        ++iter
    )
    {
        HashPtrTable<tensorField>::const_iterator dptfIter =
            dptf.tensorFields_.find(iter.key());

        if (dptfIter != tensorFields_.end())
        {
            iter()->rmap(*dptfIter(), addr);
        }
    }
}