33 void Foam::fa::jouleHeatingSource::initialiseSigma
35 const dictionary&
dict,
36 autoPtr<Function1<Type>>& sigmaVsTPtr
39 typedef GeometricField<Type, faPatchField, areaMesh> AreaFieldType;
43 if (
dict.found(
"sigma"))
46 sigmaVsTPtr = Function1<Type>::New(
"sigma",
dict, &
mesh_);
53 obr.time().timeName(),
64 Info<<
" Conductivity 'sigma' read from dictionary as f(T)" 75 obr.time().timeName(),
85 Info<<
" Conductivity 'sigma' read from file" <<
nl <<
endl;
92 Foam::fa::jouleHeatingSource::updateSigma
99 const auto& obr = regionMesh().thisDb();
102 obr.lookupObjectRef<AreaFieldType>(typeName +
":sigma_" + regionName_);
115 sigma[i] = sigmaVsTPtr->value(
T[i]);
120 typename AreaFieldType::Boundary& bf =
sigma.boundaryFieldRef();
123 faPatchField<Type>& pf = bf[patchi];
124 if (!isA<emptyFaPatch>(bf[patchi]))
129 pf[facei] = sigmaVsTPtr->value(Tbf[facei]);
135 sigma.correctBoundaryConditions();
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
const fvMesh & mesh_
Reference to the mesh database.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
bool store()
Register object with its registry and transfer ownership to the registry.
Generic GeometricField class.
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
virtual const objectRegistry & thisDb() const
Return reference to the mesh database.
#define forAll(list, i)
Loop across all elements in list.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
const dimensionSet dimPower
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
word regionName_
Region name (finite-area)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const dimensionSet dimCurrent(0, 0, 0, 0, 0, 1, 0)
Automatically write from objectRegistry::writeObject()
messageStream Info
Information stream (stdout output on master, null elsewhere)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
const faMesh & regionMesh() const
Return the region mesh database (demand-driven)
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
static constexpr const zero Zero
Global zero (0)