void reactingOneDimRPvol2::solveContinuity() { if (debug) { InfoInFunction << endl; } const scalarField mass0 = rho_*regionMesh().V(); fvScalarMatrix rhoEqn ( fvm::ddt(rho_) + fvc::div(phiPyrolysis_) == - solidChemistry_->RRg() ); if (regionMesh().moving()) { surfaceScalarField phiRhoMesh ( fvc::interpolate(rho_)*regionMesh().phi() ); rhoEqn += fvc::div(phiRhoMesh); } rhoEqn.solve(); updateMesh(mass0); }
void reactingOneDim::solveSpeciesMass() { if (debug) { Info<< "reactingOneDim::solveSpeciesMass()" << endl; } volScalarField Yt(0.0*Ys_[0]); for (label i=0; i<Ys_.size()-1; i++) { volScalarField& Yi = Ys_[i]; fvScalarMatrix YiEqn ( fvm::ddt(rho_, Yi) == solidChemistry_->RRs(i) ); if (moveMesh_) { surfaceScalarField phiRhoMesh ( fvc::interpolate(Yi*rho_)*regionMesh().phi() ); YiEqn -= fvc::div(phiRhoMesh); } YiEqn.solve(regionMesh().solver("Yi")); Yi.max(0.0); Yt += Yi; } Ys_[Ys_.size() - 1] = 1.0 - Yt; }