Summing phi over all faces in patch
Hey,
I am writing a boundary condition and I need to access (not modify) the values of Phi over all the faces in a patch in updateCoeffs() I went along with something like const surfaceScalarField& phi = this->db().objectRegistry::lookupObject<surfaceScalarFi eld>("phi"); I thought this might grab the phi field from the openfoam database and i'd be able to just find the faces on my patch....and just sum over the corresponding face entries in the phi list. I thought this might be good...however this would be for the values of phi everywhere not just in my patch right? so i'd be storing a lot of values I do not need. Also when I check my phi list it doesn't match the Phi files that are created in each timestep directory. There must be an easy and nice way of just finding the sum(phi) over the faces of my patch. Thanks in advance. I'm brand new to programming so sometimes this stuff makes me weep. I'll be combing doxygen and google in the mean time. David |
Hi David,
Welcome to the Forum. You are actually on the right track here, and before I suggest a solution, then please allow me to bring your attention to the "&" in Code:
const surfaceScalarField & phi = this->db().objectRegistry().lookupObject<surfaceScalarField>("phi"); I hope this helped a bit, and then on to your problem at hand: Code:
// This line gather the index of the patch Have a nice evening, Niels |
Hi,
perfect ! This was exactly what I was looking for! I have just one question. When I use Code:
const surfaceScalarField & phi = this->db().objectRegistry().lookupObject<surfaceScalarField>("phi"); However I noticed that changing it to this works perfectly and matches what I expect Code:
const surfaceScalarField & phi = this->db().objectRegistry::lookupObject<surfaceScalarField>("phi"); David |
All times are GMT -4. The time now is 11:27. |