|
[Sponsors] |
November 25, 2011, 20:10 |
9 point laplacian
|
#1 |
Member
valerio
Join Date: Jun 2009
Location: Nancy
Posts: 30
Rep Power: 17 |
Goodmorning,
I'm trying to solve a PDE (ex: dT/dt=Lapl(T)) and I would try to access the 8 points close to a cell "i" in order to calculate a 9 point laplacian. The idea it's to solve it in a esplicit way using a forAll loop on the internal mesh points of the domain. The mesh is regular and the domain is a square (nothing complicated). Can you please tell me, once that I start the farAll loop how to find the neighboors of (exemple) alpha[i]? and how they are ordered (N,S,E,W,NE,NW,SW and SE)? thank you Last edited by Alucard; November 26, 2011 at 03:59. |
|
November 26, 2011, 02:48 |
|
#2 |
Senior Member
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,903
Rep Power: 37 |
Hello and good morning to you
1. You can get all of the neighbours including the cell, cellI, itself by using the following: Code:
const labelListList & cellPoints( mesh.cellPoints() ); const labelListList & pointCells( mesh.pointCells() ); label count(0); const labelList & cps( cellPoints[cellI] ); forAll(cps, pointi) count += pointCells[cps[pointi]].size(); labelList allCellCells(count); count = 0; forAll(cps, pointi) { const labelList & pcs( pointCells[cellPoints[cellI]] ); forAll( pcs, celli) allCellCells[count++] = pcs[celli]; } // Do a sort and a unique to remove duplicates Good luck, Niels |
|
November 28, 2011, 06:17 |
|
#3 |
Member
valerio
Join Date: Jun 2009
Location: Nancy
Posts: 30
Rep Power: 17 |
Thank you very much i try it (infact i solve a more complicated equation than the heat transfer one but I needed the 9 points stencil so your answer is really what I need)
-- Best regards, Valerio |
|
November 28, 2011, 06:28 |
|
#4 |
Senior Member
Niels Gjoel Jacobsen
Join Date: Mar 2009
Location: Copenhagen, Denmark
Posts: 1,903
Rep Power: 37 |
Hi Valerio
Good. BTW: Note that the outlined code also works in 3D, which would give you the entire 27 cell stencil. I typically use the std::sort and std::unique to truncate the list of cell labels. Best regards, Niels |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
block-structured mesh for t-junction | Robert@cfd | ANSYS Meshing & Geometry | 20 | November 11, 2011 05:59 |
Problem with UDF compiling for kTkLW model | Wantami | FLUENT | 0 | July 18, 2011 06:11 |
CFX Post: Problems with moving point cloud for changing time steps | spatialtime | CFX | 0 | December 7, 2009 05:56 |
[Gmsh] Gmsh and samplesurface | touf | OpenFOAM Meshing & Mesh Conversion | 2 | December 10, 2007 03:27 |
CFX4.3 -build analysis form | Chie Min | CFX | 5 | July 13, 2001 00:19 |