MRF: new function to add Coriolis contribution to the given field

This commit is contained in:
Henry
2012-03-21 17:34:41 +00:00
parent d318bf6f5b
commit 503eefc325
4 changed files with 44 additions and 0 deletions

View File

@ -292,6 +292,31 @@ Foam::MRFZone::MRFZone(const fvMesh& mesh, Istream& is)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::MRFZone::addCoriolis
(
const volVectorField& U,
volVectorField& ddtU
) const
{
if (cellZoneID_ == -1)
{
return;
}
const labelList& cells = mesh_.cellZones()[cellZoneID_];
const scalarField& V = mesh_.V();
vectorField& ddtUc = ddtU.internalField();
const vectorField& Uc = U.internalField();
const vector& Omega = Omega_.value();
forAll(cells, i)
{
label celli = cells[i];
ddtUc[celli] += V[celli]*(Omega ^ Uc[celli]);
}
}
void Foam::MRFZone::addCoriolis(fvVectorMatrix& UEqn) const
{
if (cellZoneID_ == -1)

View File

@ -166,6 +166,9 @@ public:
setMRFFaces();
}
//- Add the Coriolis force contribution to the acceleration field
void addCoriolis(const volVectorField& U, volVectorField& ddtU) const;
//- Add the Coriolis force contribution to the momentum equation
void addCoriolis(fvVectorMatrix& UEqn) const;

View File

@ -55,6 +55,19 @@ Foam::MRFZones::MRFZones(const fvMesh& mesh)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::MRFZones::addCoriolis
(
const volVectorField& U,
volVectorField& ddtU
) const
{
forAll(*this, i)
{
operator[](i).addCoriolis(U, ddtU);
}
}
void Foam::MRFZones::addCoriolis(fvVectorMatrix& UEqn) const
{
forAll(*this, i)

View File

@ -72,6 +72,9 @@ public:
// Member Functions
//- Add the Coriolis force contribution to the acceleration field
void addCoriolis(const volVectorField& U, volVectorField& ddtU) const;
//- Add the Coriolis force contribution to the momentum equation
void addCoriolis(fvVectorMatrix& UEqn) const;