|
[Sponsors] |
Addressing each Face cell in a certain Thread |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 10, 2015, 11:10 |
Addressing each Face cell in a certain Thread
|
#1 |
New Member
Join Date: Oct 2014
Posts: 17
Rep Power: 11 |
Hi Guys
Does anyone one,how can I address each face cell in a certain face thread.In other words how can I get a certain Value based on x,y,z positions ,say C=f(x,y) on a B.C. without using profiles.I just need to address my Values by postion on faces and use them for the rest of the UDF. Thank you very much in advance if you would share your infos Regards |
|
March 10, 2015, 16:32 |
|
#2 |
Senior Member
Join Date: Mar 2015
Posts: 892
Rep Power: 18 |
You can loop over faces in a face thread using the begin_f_loop(f,t) and end_f_loop(f,t) macros. Then use F_CENTROID(x,f,t) to find the coordinate position of the face.
|
|
March 11, 2015, 03:55 |
|
#3 |
New Member
Join Date: Oct 2014
Posts: 17
Rep Power: 11 |
Thank you 'e'
This is yeah very simple.Let me put it so: I want to say for example save the values in every face which is in an angular position of say 30 Degrees,then save values in cells with angular position of 31 Dgrees and so on.So The question is ,is there any way to adress a certain face among a certain face thread? Thanks in advance again |
|
March 11, 2015, 05:05 |
|
#4 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26 |
How I would do it:
Go through all cells, using the begin_f_loop(f,t) and end_f_loop(f,t) macros. Calculate the angular position of your cell. If angle=30, save info in "info30.dat". If angle=31, save info in "info31.dat", and so on. Do this for all cells. |
|
March 12, 2015, 05:44 |
|
#5 |
New Member
Join Date: Oct 2014
Posts: 17
Rep Power: 11 |
Thank you very much Pakk
This is a good idea ,but I just want to mention that I have about 200000 face cells and more that 2000 time steps.So It's not practical to do so. I want to tell the Fluent go and give me the value of say Temperature of the face which has a certain postion.Temp=f(x,y,z) or f(r,tetha,z).What I have to do is to save them in UDMs internally.Now the Problem is that I need to save the values in each face in one time step and by the next time step save the value of the face which located in left side neighborhood of the face in previous time step.This is the reason why I am looking for adressing each face indipendently.I have to adress them circumferentially (based on tangential position).F_CENTROID gets the adresses accidentaly and not on a regular basis. Thank you all for any suggestion |
|
March 12, 2015, 06:06 |
|
#6 | ||
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26 |
Quote:
Quote:
Go for the simple solution first. If that is too slow, then you can always try a different solution that is smarter later. I can think of a smarter solution easily. On the first timestep, check the angles of all the faces, group them according to angles, save the groups, and in the next timesteps re-use the groups, using direct access to the Fluent variables. And I can easily think of the drawbacks: you have to distinguish between the first timestep and the others, if your mesh are moving this will not work, if you reload Fluent with saved solution you may have lost the groups, and if in a new version of Fluent something changes variables are stored internally, your UDF will no longer work. If you can gain 400 hours of simulation by using the smarter method, it is worth these problems. If you can gain 0.04 seconds by using the smarter method, it definitely is not worth it. My experience says that in your case it is not worth it. Go for simple first, and test it. |
|||
March 12, 2015, 06:50 |
|
#7 |
New Member
Join Date: Oct 2014
Posts: 17
Rep Power: 11 |
Thank you pakk
I'm really happy for your tips.It's a very kind of you.So to give you more info: 1.I need the values of mass fraction of one of my spieces for each face ,every time step,but in every time step I need to get the value of the face which is on the position of (Tetha=tetha_init+omega*time).Finally I need to add the values together and take an average.I really don't know if .dat data can give me statistical results (like Excel format or so).Moreover if itis capable,what should I do with 2268 timesteps and 2268 .dat files. 2.When I say: ...... F_CENTRIOD(x,f,t) ....transform to cylindrical coord. sys..----> r and Tetha_init tetha=tetha_init+omega*time; ....(this is now the problem,where I want to get the value of my"mass fraction of my specie" which I have calculated it's position by "tetha" because in the command F_YI(f,t,i) "f" has the address (x,y,z) or (r,tetha1,z) ,which is read by fluent itself and not by my addressing.I have to find some how a relationship btw my adress giving and getting F_YI(f,t,i) value. Thank you very much again |
|
March 12, 2015, 07:02 |
|
#8 | ||
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26 |
Quote:
And is the average value all you need? In that case, simply calculate the average value in your UDF and save the average value, and append this every time step to your result file. Keep it simple. Quote:
|
|||
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Questions on dynamicTopoFvMesh | danvica | OpenFOAM Running, Solving & CFD | 80 | April 16, 2019 17:58 |
[blockMesh] non-orthogonal faces and incorrect orientation? | nennbs | OpenFOAM Meshing & Mesh Conversion | 7 | April 17, 2013 06:42 |
[Commercial meshers] Converting meshes that includes interfaces | ham | OpenFOAM Meshing & Mesh Conversion | 29 | January 8, 2007 09:58 |
[Commercial meshers] Trimmed cell and embedded refinement mesh conversion issues | michele | OpenFOAM Meshing & Mesh Conversion | 2 | July 15, 2005 05:15 |
how to connect faces(only one adjacent cell thread | BC | FLUENT | 8 | July 13, 2005 17:07 |