30 template<
class BasePhaseSystem>
37 BasePhaseSystem(mesh),
40 this->lookup(
"populationBalances"),
41 diameterModels::populationBalanceModel::iNew(*this)
48 template<
class BasePhaseSystem>
56 template<
class BasePhaseSystem>
65 forAll(populationBalances_, popBali)
67 if (populationBalances_[popBali].dmdtfs().
found(key))
69 tDmdtf.
ref() += *populationBalances_[popBali].dmdtfs()[key];
77 template<
class BasePhaseSystem>
83 forAll(populationBalances_, popBali)
88 populationBalances_[popBali].dmdtfs(),
103 template<
class BasePhaseSystem>
108 BasePhaseSystem::momentumTransfer();
112 forAll(populationBalances_, popBali)
114 this->addDmdtUfs(populationBalances_[popBali].dmdtfs(), eqns);
121 template<
class BasePhaseSystem>
126 BasePhaseSystem::momentumTransferf();
130 forAll(populationBalances_, popBali)
132 this->addDmdtUfs(populationBalances_[popBali].dmdtfs(), eqns);
139 template<
class BasePhaseSystem>
144 BasePhaseSystem::heatTransfer();
148 forAll(populationBalances_, popBali)
150 this->addDmdtHefs(populationBalances_[popBali].dmdtfs(), eqns);
157 template<
class BasePhaseSystem>
162 BasePhaseSystem::specieTransfer();
166 forAll(populationBalances_, popBali)
168 this->addDmdtYfs(populationBalances_[popBali].dmdtfs(), eqns);
175 template<
class BasePhaseSystem>
183 forAll(populationBalances_, i)
185 populationBalances_[i].solve();
190 template<
class BasePhaseSystem>
195 forAll(populationBalances_, i)
197 populationBalances_[i].correct();
202 template<
class BasePhaseSystem>
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
virtual autoPtr< phaseSystem::momentumTransferTable > momentumTransfer()
Return the momentum transfer matrices for the cell-based algorithm.
virtual autoPtr< phaseSystem::heatTransferTable > heatTransfer() const
Return the heat transfer matrices.
virtual ~PopulationBalancePhaseSystem()
Destructor.
virtual void correct()
Correct derived properties.
virtual void solve(const PtrList< volScalarField > &rAs)
Solve all population balance equations.
virtual tmp< volScalarField > dmdtf(const phaseInterfaceKey &key) const
Return the mass transfer rate for an interface.
PopulationBalancePhaseSystem(const fvMesh &)
Construct from fvMesh.
virtual autoPtr< phaseSystem::specieTransferTable > specieTransfer() const
Return the specie transfer matrices.
virtual PtrList< volScalarField > dmdts() const
Return the mass transfer rates for each phase.
virtual autoPtr< phaseSystem::momentumTransferTable > momentumTransferf()
Return the momentum transfer matrices for the face-based algorithm.
virtual bool read()
Read base phaseProperties dictionary.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh data needed to do the Finite Volume discretisation.
Word-pair based class used for keying interface models in hash tables.
Class to represent an interface between phases. Derivations can further specify the configuration of ...
const phaseModel & phase1() const
Return phase 1.
const phaseModel & phase2() const
Return phase 2.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
void correct(const RdeltaTType &rDeltaT, const RhoType &rho, volScalarField &psi, const surfaceScalarField &phiCorr, const SpType &Sp, const SuType &Su)
void addField(const label phasei, const word &name, tmp< GeoField > field, PtrList< GeoField > &fieldList)