Go to the documentation of this file.
33 void Foam::fa::jouleHeatingSource::initialiseSigma
35 const dictionary&
dict,
36 autoPtr<Function1<Type>>& sigmaVsTPtr
39 typedef GeometricField<Type, faPatchField, areaMesh> AreaFieldType;
41 if (
dict.found(
"sigma"))
44 sigmaVsTPtr = Function1<Type>::New(
"sigma",
dict, &
mesh_);
60 mesh_.objectRegistry::store(tsigma.ptr());
62 Info<<
" Conductivity 'sigma' read from dictionary as f(T)"
81 mesh().objectRegistry::store(tsigma.ptr());
83 Info<<
" Conductivity 'sigma' read from file" <<
nl <<
endl;
90 Foam::fa::jouleHeatingSource::updateSigma
98 mesh().lookupObjectRef<AreaFieldType>
100 typeName +
":sigma_" + regionName_
103 if (!sigmaVsTPtr.valid())
114 sigma[i] = sigmaVsTPtr->value(
T[i]);
119 typename AreaFieldType::Boundary& bf =
sigma.boundaryFieldRef();
122 faPatchField<Type>& pf = bf[patchi];
123 if (!isA<emptyFaPatch>(bf[patchi]))
128 pf[facei] = sigmaVsTPtr->value(Tbf[facei]);
134 sigma.correctBoundaryConditions();
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
static constexpr const zero Zero
static word timeName(const scalar t, const int precision=precision_)
Ostream & endl(Ostream &os)
const dimensionSet dimCurrent(0, 0, 0, 0, 0, 1, 0)
Generic templated field type.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const faMesh & regionMesh() const
const dimensionSet dimPower
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
const fvMesh & mesh() const noexcept
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
static tmp< T > New(Args &&... args)
const Time & time() const
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
Generic GeometricField class.