|
[Sponsors] |
![]() |
![]() |
#1 |
Senior Member
Farzad Faraji
Join Date: Nov 2019
Posts: 206
Rep Power: 8 ![]() |
Dear friends
I was working with reactingParcelFoam and I realized that the main equation for species transport has dimension probem. The main equation from YEqn.H is; Code:
fvScalarMatrix YEqn ( fvm::ddt(rho, Yi) + mvConvection->fvmDiv(phi, Yi) - fvm::laplacian(turbulence->muEff(), Yi) == parcels.SYi(i, Yi) + fvOptions(rho, Yi) + combustion->R(Yi) + surfaceFilm.Srho(i) ); Code:
tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(Yi, dimMass/dimTime)); Code:
template<class CloudType> inline Foam::tmp<Foam::fvScalarMatrix> Foam::ReactingCloud<CloudType>::SYi ( const label i, volScalarField& Yi ) const { if (this->solution().coupled()) { if (this->solution().semiImplicit("Yi")) { tmp<volScalarField> trhoTrans ( new volScalarField ( IOobject ( this->name() + ":rhoTrans", this->db().time().timeName(), this->db(), IOobject::NO_READ, IOobject::NO_WRITE, false ), this->mesh(), dimensionedScalar("zero", dimMass/dimTime/dimVolume, 0.0) ) ); volScalarField& sourceField = trhoTrans.ref(); sourceField.primitiveFieldRef() = rhoTrans_[i]/(this->db().time().deltaTValue()*this->mesh().V()); const dimensionedScalar Yismall("Yismall", dimless, small); return fvm::Sp(neg(sourceField)*sourceField/(Yi + Yismall), Yi) + pos0(sourceField)*sourceField; } else // if (this->solution().semiImplicit("Yi")) { tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(Yi, dimMass/dimTime)); fvScalarMatrix& fvm = tfvm.ref(); fvm.source() = -rhoTrans_[i]/this->db().time().deltaTValue(); return tfvm; } } return tmp<fvScalarMatrix>(new fvScalarMatrix(Yi, dimMass/dimTime)); } Thanks, Farzad |
|
![]() |
![]() |
![]() |
![]() |
#2 |
New Member
Hesam Tofighian
Join Date: Mar 2019
Posts: 11
Rep Power: 7 ![]() |
Are you try to multiply the source term by a arbitrary dimension? maybe it is not sensitive to dimension!
|
|
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Farzad Faraji
Join Date: Nov 2019
Posts: 206
Rep Power: 8 ![]() |
Thanks for your answer. I checked what you said. source term is completely sensitive to dimension, and whenever I change it, I got error so basically this is not the case.
|
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Farzad Faraji
Join Date: Nov 2019
Posts: 206
Rep Power: 8 ![]() |
Dear friends
I have found another problem in the KinematicCloudI.H which I will be very thankful if you know the answer; Code:
if (this->solution().coupled()) { if (this->solution().semiImplicit("Yi")) { tmp<volScalarField> trhoTrans ( new volScalarField ( IOobject ( this->name() + ":rhoTrans", this->db().time().timeName(), this->db(), IOobject::NO_READ, IOobject::NO_WRITE, false ), this->mesh(), dimensionedScalar("zero", dimMass/dimTime/dimVolume, 0.0) ) ); volScalarField& sourceField = trhoTrans.ref(); sourceField.primitiveFieldRef() = rhoTrans_[i]/(this->db().time().deltaTValue()*this->mesh().V()); const dimensionedScalar Yismall("Yismall", dimless, small); return fvm::Sp(neg(sourceField)*sourceField/(Yi + Yismall), Yi) + pos0(sourceField)*sourceField; } else // if (this->solution().semiImplicit("Yi")) { tmp<fvScalarMatrix> tfvm(new fvScalarMatrix(Yi, dimMass/dimTime)); fvScalarMatrix& fvm = tfvm.ref(); fvm.source() = -rhoTrans_[i]/this->db().time().deltaTValue(); return tfvm; } } Thanks, Farzad |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Fluent Parallelization Problem After AC Power Dropped | pawl | Hardware | 5 | November 13, 2016 07:08 |
A problem using reactingParcelFoam to simulate turbulence | liyuthu | OpenFOAM Running, Solving & CFD | 1 | February 3, 2016 11:43 |
Problem Importing Geometry ProE to CFX | fatb0y | CFX | 3 | January 14, 2012 20:42 |
natural convection problem for a CHT problem | Se-Hee | CFX | 2 | June 10, 2007 07:29 |
Adiabatic and Rotating wall (Convection problem) | ParodDav | CFX | 5 | April 29, 2007 20:13 |