43 tmp<VolField<typename outerProduct<vector, Type>::type>>
46 const SurfaceField<Type>& ssf
51 const fvMesh& mesh = ssf.mesh();
54 const labelUList& neighbour = mesh.neighbour();
59 tmp<VolField<GradType>> treconField
63 "reconstruct("+ssf.name()+
')',
75 Field<GradType>& rf = treconField();
79 label own = owner[facei];
80 label nei = neighbour[facei];
82 rf[own] += (Cf[facei] -
C[own])*ssf[facei];
83 rf[nei] -= (Cf[facei] -
C[nei])*ssf[facei];
86 const typename SurfaceField<Type>::
87 Boundary& bsf = ssf.boundaryField();
91 const fvsPatchField<Type>& psf = bsf[
patchi];
98 label own = pOwner[pFacei];
99 rf[own] += (pCf[pFacei] -
C[own])*psf[pFacei];
105 treconField().correctBoundaryConditions();
112 tmp<VolField<typename outerProduct<vector, Type>::type>>
115 const tmp<SurfaceField<Type>>& tssf
119 tmp<VolField<GradType>> tvf
static const Foam::dimensionedScalar C("C", Foam::dimTemperature, 234.5)
#define forAll(list, i)
Loop across all elements in list.
static const char *const typeName
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Reconstruct volField from a face flux field.
tmp< VolField< typename outerProduct< vector, Type >::type > > reconstruct(const SurfaceField< Type > &ssf)
VolField< vector > volVectorField
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Field< vector > vectorField
Specialisation of Field<T> for vector.
const dimensionSet dimArea
SurfaceField< vector > surfaceVectorField
UList< label > labelUList