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 <finiteVolume/fvMesh.H>
00027 #include "fvBoundaryMesh.H"
00028
00029
00030
00031
00032 namespace Foam
00033 {
00034
00035
00036
00037 void fvBoundaryMesh::addPatches(const polyBoundaryMesh& basicBdry)
00038 {
00039 setSize(basicBdry.size());
00040
00041
00042 fvPatchList& Patches = *this;
00043
00044 forAll(Patches, patchI)
00045 {
00046 Patches.set(patchI, fvPatch::New(basicBdry[patchI], *this));
00047 }
00048 }
00049
00050
00051
00052
00053 fvBoundaryMesh::fvBoundaryMesh
00054 (
00055 const fvMesh& m
00056 )
00057 :
00058 fvPatchList(0),
00059 mesh_(m)
00060 {}
00061
00062
00063 fvBoundaryMesh::fvBoundaryMesh
00064 (
00065 const fvMesh& m,
00066 const polyBoundaryMesh& basicBdry
00067 )
00068 :
00069 fvPatchList(basicBdry.size()),
00070 mesh_(m)
00071 {
00072 addPatches(basicBdry);
00073 }
00074
00075
00076
00077
00078 void fvBoundaryMesh::movePoints()
00079 {
00080 forAll(*this, patchi)
00081 {
00082 operator[](patchi).initMovePoints();
00083 }
00084
00085 forAll(*this, patchi)
00086 {
00087 operator[](patchi).movePoints();
00088 }
00089 }
00090
00091
00092 lduInterfacePtrsList fvBoundaryMesh::interfaces() const
00093 {
00094 lduInterfacePtrsList interfaces(size());
00095
00096 forAll (interfaces, patchi)
00097 {
00098 if (isA<lduInterface>(this->operator[](patchi)))
00099 {
00100 interfaces.set
00101 (
00102 patchi,
00103 &refCast<const lduInterface>(this->operator[](patchi))
00104 );
00105 }
00106 }
00107
00108 return interfaces;
00109 }
00110
00111
00112 void fvBoundaryMesh::readUpdate(const polyBoundaryMesh& basicBdry)
00113 {
00114 clear();
00115 addPatches(basicBdry);
00116 }
00117
00118
00119
00120
00121 }
00122
00123