|
[Sponsors] |
[swak4Foam] viscous force calculation with MRF |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 3, 2015, 13:13 |
viscous force calculation with MRF
|
#1 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
Hi, I'm having trouble calculating viscous force over a patch with swak4Foam (actually two patches). For reference I'm using the built-in libforces calculation. This is the relevant swak4Foam function:
Code:
viscousForces { type patchExpression; variables ( "rho=998.3;" "viscous_force=-rho*nu*snGrad(U)*area();" "impeller1{patch'impeller1}=sum(-998.3*nu*snGrad(U)*area());" ); accumulations ( average ); patches ( impeller0 ); expression "sum(viscous_force)+impeller1"; verbose true; outputControlMode timeStep; outputInterval 1; } Here is some sample output from the functions: Code:
Expression pressureForces on impeller0: average=(4758.3887 -5556.7538 -51217.2) Expression viscousForces on impeller0: average=(-0.42171331 0.93947787 2.6970982) forces rotorForces output: sum of forces: pressure : (4758.3887 -5556.7538 -51217.2) viscous : (-0.62912771 1.5910869 5.3923825) porous : (0 0 0) sum of moments: pressure : (-503.3495 -384.21045 -1364.6771) viscous : (0.12301857 0.063222675 12.807648) porous : (0 0 0) |
|
March 4, 2015, 07:53 |
|
#2 |
Senior Member
|
Hi,
Are you running a turbulent case? If so, the standard forces functionObject takes the turbulent viscosity into account when calculating the viscous forces. Regards, Tom |
|
March 4, 2015, 09:07 |
|
#3 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
Yes it's a turbulent case and I already tried using nu+nut in the calculations, still different results. Should it be just nut?
Output with "viscous_force=-rho*(nu+nut)*snGrad(U)*area();": Code:
Expression pressureForces on impeller0: average=(-2624.4874 1612.6975 33782.874) Expression viscousForces on impeller0: average=(-0.59524669 1.5039751 8.371256) forces rotorForces output: sum of forces: pressure : (-2624.4874 1612.6975 33782.874) viscous : (-0.64199103 1.4823397 8.9218996) porous : (0 0 0) sum of moments: pressure : (143.58526 249.0284 559.52474) viscous : (0.13726107 0.070810696 12.710413) porous : (0 0 0) |
|
March 4, 2015, 09:37 |
|
#4 |
Senior Member
|
The forces functionObject seems to use devRhoReff, which is defined in the turbulence model. Most turbulence models will use nuEff for this, which is indeed nut+nu.
The way the devRhoReff is calculated seems to be different to the way you have defined in the variables section, I think you should investigate on that to find the mismatch. If you type this in your terminal: Code:
cd $FOAM_SRC grep -r devRhoReff . Good luck, Regards, Tom |
|
March 4, 2015, 10:19 |
|
#5 |
Member
Pekka Pasanen
Join Date: Feb 2012
Location: Finland
Posts: 87
Rep Power: 14 |
So it seems that for kOmegaSST the calculation is done by this function in kOmegaSST.C (incompressible):
Code:
tmp<volSymmTensorField> kOmegaSST::devReff() const { return tmp<volSymmTensorField> ( new volSymmTensorField ( IOobject ( "devRhoReff", runTime_.timeName(), mesh_, IOobject::NO_READ, IOobject::NO_WRITE ), -nuEff()*dev(twoSymm(fvc::grad(U_))) ) ); } |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Calculation of Pressure and viscous moments separately | zeenia | CFX | 3 | January 20, 2014 04:38 |
Viscous Force Calculation | cwang5 | OpenFOAM Programming & Development | 1 | May 4, 2010 05:59 |
Forces viscous calculation in VWT with OpenFOAM 15x | terrybarnaby | OpenFOAM Running, Solving & CFD | 0 | November 28, 2008 09:39 |
pressure force and viscous force | CFD | FLUENT | 0 | March 7, 2006 02:03 |
Warning 097- | AB | Siemens | 6 | November 15, 2004 05:41 |