|
[Sponsors] |
December 7, 2020, 18:36 |
fvBoundayMesh vs fvPatch
|
#1 |
Senior Member
Mandeep Shetty
Join Date: Apr 2016
Posts: 185
Rep Power: 10 |
I read that "OpenFOAMŪ decomposes the boundary mesh into patches stored in a list
designated by polyPatchList under the class polyBoundaryMesh. Then, similar to interior mesh, a specialized class denoted by fvBoundaryMesh is derived from polyBoundaryMesh that inherits its functionalities and expands on it to include specific functions and data needed for finite-volume discretization. As for internal discretization, a similar hierarchy of classes composed of primitivePatch, polyPatch, and fvPatch is defined for boundary discretization.These classes are specific for the boundary mesh and contain the geometric information of each boundary. But it is the fvPatch that is used to implement the boundary conditions during the finite volume discretization. Figure 7.9 presents a schematic of the basic mesh description used in OpenFOAMŪ." Here what does internal discritization and boundary discritization mean??. Also, what is the difference between fvBoundayMesh and fvPatch? |
|
December 8, 2020, 02:27 |
|
#2 |
Senior Member
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 615
Rep Power: 15 |
I suggest this excellent book where you get all your answers to your questions:
https://www.springer.com/de/book/9783319168739 with a bit google search you can also find a pdf |
|
December 8, 2020, 03:00 |
|
#3 | |
Senior Member
Mandeep Shetty
Join Date: Apr 2016
Posts: 185
Rep Power: 10 |
Quote:
|
||
December 8, 2020, 03:29 |
|
#4 |
Senior Member
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 615
Rep Power: 15 |
From https://www.openfoam.com/documentati...ndaryMesh.html
and https://www.openfoam.com/documentati...h.html#details you see that fvBoundaryMesh inherits from a fvPatchList and has some additional functions. The rest is up to you... |
|
December 26, 2020, 06:15 |
|
#5 | |
Senior Member
Mandeep Shetty
Join Date: Apr 2016
Posts: 185
Rep Power: 10 |
Quote:
A 'CFD mesh' in OF is made up of points, faces cells etc. But the faces that make up the boundary of the domain need to be given special care so the boundary faces are dealt with separately from the internal faces so as to make it easy to apply boundary conditions. If I start at the 'primitiveMesh' class, it's just a class that defines how everything needs to be connected(ie how points are connected to make faces...how faces are connected to make cells etc) to form the mesh that defines the computational domain. So this primitiveMesh class deals with giving the topology of the mesh. Along with defining topological info it also has funcitons to give primitive geometrical info such as area of face, volume of cells etc. The primitiveMesh class is further extended by the polyMesh calss (this is the class that is the main mesh class) which is used to build mesh with polyhedral-cells. More importatnly primitiveMesh class dosnt have any special way to of dealing with the boundary, but its child the polyMesh class does deal with the boundary of the domain as a seperate entity. The polyMesh class employes a polyBoundaryMesh class to deal with the boundaries. Now, in OF the (closed)boudary of the of a computational domain is broken down into seperate 'patches' and each of these patches are broken down into individual boundary 'faces'. This is done so that implimentation of boundary conditions are dealt with easily. The polyBoundaryMesh has a list of these 'patches' (the patches are called polyPatch), called the 'polyPatchList', that make up the entire boudanry of the domain. The polyPatch is actualy a seperate class which deals with faces that make up the patch. So, group of faces make up a patch (dealt with by polyPatch class) -> group of patches makes list called polyPatchList and this list is employed by polyBoundaryMesh-> the polyBoundaryMesh is inturn employed by the polyMesh. All the classes mentioned above dosnt take into accoun any perticular disceitization scheme. To make is easy to employ a perticular discritization scheme, say the FV shchem, the polyMesh calss is further extended by the fvMesh class. Similar to polyMeshClass the fvMesh class employes a seperate class, the fvBoundaryMesh(child of polyboundaryMesh), to deal with the domain boundary. The fvBoundaryMesh also has a list of patches (now called the fvPatch) called the fvPatchList. Each of the fvPatch (this is not a child of ployPatch, but does take a polyPatch as input) is made up of groups of faces. The fvPatch is the one used to impliment different kinds of boundary conditions (look into fvPatchField). Ref: 'Draft version for mesh classes documentation primitiveMesh, polyMesh, fvMesh - The OpenFOAM mesh hierarchy' 'The Finite Volume Method in Computational Fluid Dynamics: An Advanced Introduction with OpenFOAMŪ and Matlab' |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
FvPatch operations | maka | OpenFOAM Post-Processing | 4 | July 10, 2008 07:36 |
How to use findCelloctree | chen_jun | OpenFOAM Running, Solving & CFD | 11 | December 20, 2005 09:18 |