Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "sampledTriSurfaceMesh.H"
00027
00028
00029
00030 template <class Type>
00031 Foam::tmp<Foam::Field<Type> >
00032 Foam::sampledTriSurfaceMesh::sampleField
00033 (
00034 const GeometricField<Type, fvPatchField, volMesh>& vField
00035 ) const
00036 {
00037
00038 tmp<Field<Type> > tvalues(new Field<Type>(cellLabels_.size()));
00039 Field<Type>& values = tvalues();
00040
00041 forAll(cellLabels_, triI)
00042 {
00043 values[triI] = vField[cellLabels_[triI]];
00044 }
00045
00046 return tvalues;
00047 }
00048
00049
00050 template <class Type>
00051 Foam::tmp<Foam::Field<Type> >
00052 Foam::sampledTriSurfaceMesh::interpolateField
00053 (
00054 const interpolation<Type>& interpolator
00055 ) const
00056 {
00057
00058 tmp<Field<Type> > tvalues(new Field<Type>(pointToFace_.size()));
00059 Field<Type>& values = tvalues();
00060
00061 forAll(pointToFace_, pointI)
00062 {
00063 label triI = pointToFace_[pointI];
00064 label cellI = cellLabels_[triI];
00065
00066 values[pointI] = interpolator.interpolate(points()[pointI], cellI);
00067 }
00068
00069 return tvalues;
00070 }
00071
00072
00073