|
[Sponsors] |
cell_t c0, c1 = -1 what does -1 mean, see codes inside |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 6, 2011, 08:00 |
cell_t c0, c1 = -1 what does -1 mean, see codes inside
|
#1 |
New Member
jason
Join Date: May 2011
Location: uk
Posts: 10
Rep Power: 15 |
DEFINE_UDS_FLUX(my_uds_flux,f,t,i)
{ cell_t c0, c1 = -1;/*what does the -1 mean?*/ Thread *t0, *t1 = NULL;/*what does the NULL mean?*/ real NV_VEC(psi_vec), NV_VEC(A), flux = 0.0; c0 = F_C0(f,t); t0 = F_C0_THREAD(f,t); F_AREA(A, f, t); /* If face lies at domain boundary, use face values; */ /* If face lies IN the domain, use average of adjacent cells. */ if (BOUNDARY_FACE_THREAD_P(t)) /*Most face values will be available*/ { real dens; /* Depending on its BC, density may not be set on face thread*/ if (NNULLP(THREAD_STORAGE(t,SV_DENSITY))) dens = F_R(f,t); /* Set dens to face value if available */ else dens = C_R(c0,t0); /* else, set dens to cell value */ NV_DS(psi_vec, =, F_U(f,t), F_V(f,t), F_W(f,t), *, dens); flux = NV_DOT(psi_vec, A); /* flux through Face */ } else { c1 = F_C1(f,t); /* Get cell on other side of face */ t1 = F_C1_THREAD(f,t); NV_DS(psi_vec, =, C_U(c0,t0),C_V(c0,t0),C_W(c0,t0),*,C_R(c0,t0)); NV_DS(psi_vec, +=, C_U(c1,t1),C_V(c1,t1),C_W(c1,t1),*,C_R(c1,t1)); flux = NV_DOT(psi_vec, A)/2.0; /* Average flux through face */ } /* ANSYS FLUENT will multiply the returned value by phi_f (the scalar's value at the face) to get the "complete'' advective term. */ return flux; } ************************************************** ****** see the picture, am I right? cell_t.jpg |
|
June 10, 2011, 09:08 |
|
#2 |
New Member
Kristian Etienne Einarsrud
Join Date: Oct 2010
Location: Trondheim
Posts: 29
Rep Power: 16 |
Hey,
For this particular example the intialization of the neighbour cell and thread pointers does not have any significance as they are set to their correct values later in the code (i.e. c1 = F_C1(f,t); and t1 = F_C1_THREAD(f,t); ). I guess they are initialized to these values in order to handle any exceptions arising, although these should not occur for this case. Note that the cell pointers refer to the cells adjacent to the face in question. So, in your figure, if the (face) thread pointer f is on a boundary (which is checked by BOUNDARY_FACE_THREAD_P(t) ), only one cell is available, namely C0. If you are in the interior, C0 and C1 will be the cells neighboring to the face thread in question. See section 3.2.5.1 in the R13 UDF guide for further information. Cheers! |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Is it worth it? | Jason Bardis | Main CFD Forum | 47 | July 27, 2011 05:52 |
OpenFOAM on MinGW crosscompiler hosted on Linux | allenzhao | OpenFOAM Installation | 127 | January 30, 2009 20:08 |
how to extend FSI 2D codes to 3D, need advises | abouziar | Main CFD Forum | 1 | May 30, 2008 05:08 |
Modelling the Heat flow inside the curing oven | Marios Vlad | CFX | 1 | February 6, 2008 08:11 |
meshing F1 front wing | Steve | FLUENT | 0 | April 17, 2003 13:37 |