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 "pointBoundaryMesh.H"
00027 #include <OpenFOAM/polyBoundaryMesh.H>
00028 #include <OpenFOAM/facePointPatch.H>
00029 #include <OpenFOAM/globalPointPatch.H>
00030
00031
00032
00033 Foam::pointBoundaryMesh::pointBoundaryMesh
00034 (
00035 const pointMesh& m,
00036 const polyBoundaryMesh& basicBdry
00037 )
00038 :
00039 pointPatchList(basicBdry.size()),
00040 mesh_(m)
00041 {
00042
00043 pointPatchList& Patches = *this;
00044
00045 forAll(Patches, patchI)
00046 {
00047 Patches.set
00048 (
00049 patchI,
00050 facePointPatch::New(basicBdry[patchI], *this).ptr()
00051 );
00052 }
00053 }
00054
00055
00056
00057
00058 void Foam::pointBoundaryMesh::calcGeometry()
00059 {
00060 forAll(*this, patchi)
00061 {
00062 operator[](patchi).initGeometry();
00063 }
00064
00065 forAll(*this, patchi)
00066 {
00067 operator[](patchi).calcGeometry();
00068 }
00069 }
00070
00071
00072 const Foam::globalPointPatch&
00073 Foam::pointBoundaryMesh::globalPatch() const
00074 {
00075 const pointPatchList& patches = *this;
00076
00077 forAll (patches, patchI)
00078 {
00079 if (isType<globalPointPatch>(patches[patchI]))
00080 {
00081 return refCast<const globalPointPatch>(patches[patchI]);
00082 }
00083 }
00084
00085 FatalErrorIn
00086 (
00087 "const pointBoundaryMesh::"
00088 "globalPointPatch& globalPatch() const"
00089 ) << "patch not found."
00090 << abort(FatalError);
00091
00092
00093 return refCast<const globalPointPatch>(patches[0]);
00094 }
00095
00096
00097 void Foam::pointBoundaryMesh::movePoints(const pointField& p)
00098 {
00099 pointPatchList& patches = *this;
00100
00101 forAll(patches, patchi)
00102 {
00103 patches[patchi].initMovePoints(p);
00104 }
00105
00106 forAll(patches, patchi)
00107 {
00108 patches[patchi].movePoints(p);
00109 }
00110 }
00111
00112
00113 void Foam::pointBoundaryMesh::updateMesh()
00114 {
00115 pointPatchList& patches = *this;
00116
00117 forAll(patches, patchi)
00118 {
00119 patches[patchi].initUpdateMesh();
00120 }
00121
00122 forAll(patches, patchi)
00123 {
00124 patches[patchi].updateMesh();
00125 }
00126 }
00127
00128
00129