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 "pointMesh.H"
00027 #include <OpenFOAM/globalMeshData.H>
00028 #include <OpenFOAM/globalPointPatch.H>
00029 #include <OpenFOAM/pointMeshMapper.H>
00030 #include <OpenFOAM/pointFields.H>
00031 #include <OpenFOAM/MapGeometricFields.H>
00032 #include <OpenFOAM/MapPointField.H>
00033
00034
00035
00036 void Foam::pointMesh::mapFields(const mapPolyMesh& mpm)
00037 {
00038
00039 const pointMeshMapper m(*this, mpm);
00040
00041 MapGeometricFields<scalar, pointPatchField, pointMeshMapper, pointMesh>(m);
00042 MapGeometricFields<vector, pointPatchField, pointMeshMapper, pointMesh>(m);
00043 MapGeometricFields
00044 <
00045 sphericalTensor,
00046 pointPatchField,
00047 pointMeshMapper,
00048 pointMesh
00049 >(m);
00050 MapGeometricFields<symmTensor, pointPatchField, pointMeshMapper, pointMesh>
00051 (m);
00052 MapGeometricFields<tensor, pointPatchField, pointMeshMapper, pointMesh>(m);
00053 }
00054
00055
00056
00057
00058 Foam::pointMesh::pointMesh
00059 (
00060 const polyMesh& pMesh,
00061 bool alwaysConstructGlobalPatch
00062 )
00063 :
00064 MeshObject<polyMesh, pointMesh>(pMesh),
00065 GeoMesh<polyMesh>(pMesh),
00066 boundary_(*this, pMesh.boundaryMesh())
00067 {
00068
00069 if
00070 (
00071 alwaysConstructGlobalPatch
00072 || GeoMesh<polyMesh>::mesh_.globalData().nGlobalPoints()
00073 )
00074 {
00075 boundary_.setSize(boundary_.size() + 1);
00076
00077 boundary_.set
00078 (
00079 boundary_.size() - 1,
00080 new globalPointPatch
00081 (
00082 boundary_,
00083 boundary_.size() - 1
00084 )
00085 );
00086 }
00087
00088
00089 boundary_.calcGeometry();
00090 }
00091
00092
00093 void Foam::pointMesh::movePoints(const pointField& newPoints)
00094 {
00095 boundary_.movePoints(newPoints);
00096 }
00097
00098
00099 void Foam::pointMesh::updateMesh(const mapPolyMesh& mpm)
00100 {
00101 boundary_.updateMesh();
00102
00103
00104 mapFields(mpm);
00105 }
00106
00107
00108