55 { operationMode::fixedPower,
"power" },
56 { operationMode::fixedHeatFlux,
"flux" },
57 { operationMode::fixedHeatTransferCoeff,
"coefficient" },
65 const word& sourceName,
66 const word& modelType,
71 fa::faceSetOption(sourceName, modelType,
dict, m),
72 mode_(operationModeNames.
get(
"mode",
dict)),
73 TName_(
dict.getOrDefault<
word>(
"T",
"T")),
78 emissivity_(
dict.getOrDefault<scalar>(
"emissivity", 0))
101 <<
name() <<
": applying source to " 106 const scalar timeVal = mesh_.time().timeOutputValue();
119 qflux = q_->value(timeVal);
157 case fixedHeatTransferCoeff:
177 auto& hp = thp.ref();
179 DimensionedField<scalar, areaMesh> hpTa(hp*Ta);
202 dict.readIfPresent(
"T", TName_);
203 dict.readIfPresent(
"emissivity", emissivity_);
205 mode_ = operationModeNames.get(
"mode",
dict);
211 Q_ = Function1<scalar>::New(
"Q",
dict, &mesh_);
216 Q_ = Function1<scalar>::New(
"q",
dict, &mesh_);
219 case fixedHeatTransferCoeff:
221 h_ = Function1<scalar>::New(
"h",
dict, &mesh_);
222 Ta_ = Function1<scalar>::New(
"Ta",
dict, &mesh_);
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
addToRunTimeSelectionTable(option, limitHeight, dictionary)
virtual bool read(const dictionary &dict)
Read source dictionary.
Namespace of functions to calculate implicit derivatives returning a matrix. Time derivatives are cal...
wordList fieldNames_
Field names to apply source to - populated by derived models.
externalHeatFluxSource(const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from explicit source name and mesh.
void resize(const label len)
Adjust allocated size of list.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const word & name() const noexcept
Return the object name.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m2/K4].
zeroField SuSp(const Foam::zero, const GeometricField< Type, faPatchField, areaMesh > &)
A no-op source.
virtual void addSup(const areaScalarField &h, const areaScalarField &rho, faMatrix< scalar > &eqn, const label fieldi)
Add explicit contribution to compressible momentum equation.
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
Macros for easy insertion into run-time selection tables.
scalar A() const noexcept
Return const access to the total face area.
bool useSubMesh() const noexcept
True if sub-selection should be used.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
A class for handling words, derived from Foam::string.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
defineTypeNameAndDebug(limitHeight, 0)
virtual bool read(const dictionary &dict)
Read source dictionary.
const labelList & faces() const noexcept
Return const access to the local finite-area face selection.
#define DebugInfo
Report an information message using Foam::Info.
const dimensionSet dimPower
operationMode
Options for the heat transfer condition mode.
static const Enum< operationMode > operationModeNames
Names for operationMode.
const dimensionedScalar h
Planck constant.
dimensionedScalar pow3(const dimensionedScalar &ds)
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
void resetApplied()
Resize/reset applied flag list for all fieldNames_ entries.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Mesh data needed to do the Finite Volume discretisation.
static tmp< DimensionedField< Type, GeoMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const Field< Type > &iField)
Return tmp field (NO_READ, NO_WRITE) from name, mesh, dimensions, copy of internal field...
A special matrix type and solver, designed for finite area solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
void subsetFilter(List< Type > &field) const
Zero all non-selected locations within field.
const GeometricField< Type, faPatchField, areaMesh > & psi() const
static constexpr const zero Zero
Global zero (0)