CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   How to get cell face temperature?? (https://www.cfd-online.com/Forums/openfoam-solving/121042-how-get-cell-face-temperature.html)

jorkolino July 19, 2013 14:57

How to get cell face temperature??
 
Hi,

I need the boundary cell face temperature to use in an expression. How can I access it in the code ? For example, I can define boundary field like:

Code:

        const surfaceScalarField::GeometricBoundaryField& patchHeatFlux =
            heatFlux.boundaryField();

(where heatFlux is a SurfaceScalarField entity). However, expression like T.boundaryField() ( instead of heatFlux.boundaryField() )produces an error. Why the temperature cannot have a boundary field defined like that?

Ed. I am maybe heading into some sort of a solution, but I have a question. Why is the h field (probably enthalpy) recognized when adressed in the code, and T field is not? The brutal example is I can interpolate fvc::interpolate(h) and take gradient fvc::snGrad(h), but non of these with T. I am customizing the wallHeatFlux utility, by the way.

ARTem July 22, 2013 04:24

Hello, jorkolino.

Any field type has boundaryField (bF). But as far as I know, there are different types of bF (e.g. surfaceScalarField.bF() and volScalarField.bF() are not same even on same mesh). i don't know the details of that inconsistency, but this should do the job:
const volScalarField::GeometricBoundaryField& Tpatch =T.boundaryField();

The most robust choise is to use cycle (e.g. you want to make some algebraical operations with boundaryFields of vol (vf) and surfaceFields(sf)).

Code:

forAll(sf.boundaryField(), patchi)
{
  forAll(sf.boundaryField()[patchi], facei)
  {
    sf.boundaryField()[patchi][facei] += fv.boundaryField()[patchi][facei];
  }
}

But be accurate with dimensions, because type of sf.boundaryField()[patchi][facei] is scalar (or double in c++) and dimensions checking isn't done here.


All times are GMT -4. The time now is 04:31.