Go to the documentation of this file.
30 #include "BlendedInterfacialModel.H"
31 #include "heatTransferModel.H"
42 template<
class BasePhaseSystem>
51 this->generatePairsAndSubModels
66 const phasePair& pair = this->phasePairs_[heatTransferModelIter.key()];
68 if (!heatTransferModels_[pair].first().valid())
71 <<
"A heat transfer model for the " << pair.
phase1().
name()
72 <<
" side of the " << pair <<
" pair is not specified"
75 if (!heatTransferModels_[pair].second().valid())
78 <<
"A heat transfer model for the " << pair.
phase2().
name()
79 <<
" side of the " << pair <<
" pair is not specified"
92 const phasePair& pair = this->phasePairs_[heatTransferModelIter.key()];
111 IOobject::groupName(
"Tf", pair.
name()),
112 this->
mesh().time().timeName(),
117 (H1*T1 + H2*T2)/
max(H1 + H2, HSmall)
126 template<
class BasePhaseSystem>
134 template<
class BasePhaseSystem>
162 heatTransferModelIter
167 this->phasePairs_[heatTransferModelIter.key()]
174 heatTransferModelIter().first()->
K(),
175 heatTransferModelIter().second()->
K()
224 if (this->heatTransferModels_.found(phasePairIter.key()))
238 *eqns[
phase2.name()] -= dmdt12*he1;
246 template<
class BasePhaseSystem>
250 BasePhaseSystem::correctEnergyTransport();
252 correctInterfaceThermo();
256 template<
class BasePhaseSystem>
264 heatTransferModelIter
269 this->phasePairs_[heatTransferModelIter.key()]
291 this->heatTransferModels_[pair].first()->
K()
296 this->heatTransferModels_[pair].second()->
K()
303 Tf = (H1*T1 + H2*T2 + dmdt*
L)/(H1 + H2);
305 Info<<
"Tf." << pair.name()
306 <<
": min = " <<
min(Tf.primitiveField())
307 <<
", mean = " <<
average(Tf.primitiveField())
308 <<
", max = " <<
max(Tf.primitiveField())
314 template<
class BasePhaseSystem>
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const vector L(dict.get< vector >("L"))
Description for mass transfer between a pair of phases. The direction of the mass transfer is from th...
TwoResistanceHeatTransferPhaseSystem(const fvMesh &)
Construct from fvMesh.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
const dimensionSet dimEnergy
dimensionedScalar posPart(const dimensionedScalar &ds)
Calculate the divergence of the given field.
Ostream & endl(Ostream &os)
Add newline and flush stream.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object.
#define forAll(list, i)
Loop across all elements in list.
CGAL::Exact_predicates_exact_constructions_kernel K
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
bool set(const Key &key, T *ptr)
Assign a new entry, overwriting existing entries.
fvMatrix< scalar > fvScalarMatrix
tmp< GeometricField< Type, faPatchField, areaMesh > > average(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Area-weighted average a edgeField creating a areaField.
messageStream Info
Information stream (uses stdout - output is on the master only)
virtual void correctEnergyTransport()
Correct the energy transport e.g. alphat and Tf.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
Mesh data needed to do the Finite Volume discretisation.
bool ordered() const
Return the ordered flag.
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
virtual ~TwoResistanceHeatTransferPhaseSystem()
Destructor.
Calculate the matrix for implicit and explicit sources.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const word & name() const
tmp< GeometricField< Type, PatchField, GeoMesh > > T() const
Return transpose (only if it is a tensor field)
const word & name() const
Return the name of this phase.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedScalar negPart(const dimensionedScalar &ds)
An ordered pair of two objects of type <T> with first() and second() elements.
A HashTable of pointers to objects of type <T>.
virtual bool read()
Read base phaseProperties dictionary.
virtual void correctInterfaceThermo()
Correct the interface thermodynamics.
virtual word name() const
Pair name.
const phaseModel & phase2() const
Return phase 2.
void max(const dimensioned< Type > &dt)
Use the maximum of the field and specified value.
const phaseModel & phase1() const
Return phase 1.