View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002058||OpenFOAM||Patch||public||2016-04-21 09:33||2018-07-10 11:25|
|Fixed in Version||dev|
|Summary||0002058: [kineticTheory] Frictional stress at walls|
|Description||Applying Coulomb’s law of friction, the frictional shear stress at wall is tauwf = pf*sin(phi) where pf is frictional pressure and phi is the angle of repose.|
The current kineticTheory frictional stress models have some peculiarities:
- JohnsonJacksonFrictionalStressModel writes frictional viscosity on walls i.e. wall mut is muKin + muFric. Note that the viscosity at the wall is independent of the velocity gradient at the wall, thus the model just sets the viscosity at the wall, not the shear stress.
- SchaefferFrictionalStressModel sets frictional viscosity at wall to zero i.e. wall mut = muKin and muFric = 0 at wall.
The particleSlipJohnsonJackson boundary condition calculates a slip velocity at the wall and does not consider frictional stresses in any way. It uses mut provided by kineticTheoryModel which may or may not include frictional viscosity to calculate particle velocity at the wall.
With Schaeffer frictional stress model and JohnsonJackson BC: The slip velocity at the wall is calculated based on just the kinetic portion of the viscosity and is roughly consistent with Johnson & Jackson (1987), but frictional stresses at the wall are always neglected.
With JohnsonJackson frictional stress model and BC: Unlike with Schaeffer model, the mut now includes muFric but the frictional stress component is not accounted for in the wall slip velocity calculation. Frictional viscosity is included in the momentum equation wall shear stress calculation, but the actual stress depends on the (incorrect) wall slip velocity calculation. In addition, as noted above, the JohnsonJackson muFric doesn’t account for the velocity gradient so the frictional shear stress component would not describe the frictional shear stress in any case. If there would have fully packed particles sliding on a wall and Theta = 0, the wall would be frictionless!
I've attached a patch where I've attempted to correct the above issues:
- Frictional viscosity is stored separately as nuFric to allow lookup from BCs.
- Maximum nut is no longer hard coded but a user selectable model parameter with a default value 1000.
- The evaluation functions take const phaseModel as a parameter instead of volScalarField to make the model interface more general.
- Frictional viscosity is now calculated also on the boundaries
- tauwf = pf*sin(phi) = muFric*mag(U.snGrad())
- muFric = pf*sin(phi)/mag(U.snGrad())
- Combines JohnsonJackson frictional pressure with Schaeffer viscosity
- Still included in the patch, although the viscosity calculation that does not account for the velocity gradients does not really describe frictional stresses.
- Could be removed?
- nu = nut - nuFric i.e. wall slip velocity is calculated from the kinetic viscosity
- Note that the momentum equation still uses nut in the final stress calculation i.e. includes the frictional stresses.
|Steps To Reproduce||I've attached a L-bend test case that can be used to evaluate the models. With the original implementation the particles do not pile up even with extreme material parameters (phi = 90 and noSlip). See the attached comparison image.|
|Additional Information||Johnson, P.C., Jackson, R., Frictional-collisional constitutive relations for granular material, with application to plane shearing. J. Fluid Mech., vol. 176, pp. 67-93, 1987|
fricModPatch.tar.gz (10,389 bytes)
LBend_testCase.tar.gz (70,715 bytes)
Lbend_fricMod_spec.png (79,062 bytes)
Lbend_fricMod_spec.png (79,062 bytes)
Thanks for the patch, I will review it today.
Would it be worth updating the JohnsonJacksonFrictionalStressModel model in the same manner as SchaefferFrictionalStressModel or shall I just remove it?
Do you think it would be a good idea to include the Lbend case in the tutorials which are also used for development and release testing?
I added a corrected version of the test case. I am sorry for any confusion the previous one may have caused. It could be useful to have it or something similar as a tutorial.
Regarding the JohnsonJacksonFrictionalStressModel: In my opinion it could be removed as it doesn't really produce frictional behavior, but someone else may have a different opinion?
LBend_corrected.tar.gz (4,654 bytes)
Thanks Juho for the patch and test-case both of which are included in
|2016-04-21 09:33||Juho||New Issue|
|2016-04-21 09:33||Juho||File Added: fricModPatch.tar.gz|
|2016-04-21 09:33||Juho||File Added: LBend_testCase.tar.gz|
|2016-04-21 09:34||Juho||File Added: Lbend_fricMod_spec.png|
|2016-04-21 09:49||henry||Note Added: 0006150|
|2016-04-22 11:10||Juho||Note Added: 0006159|
|2016-04-22 11:12||Juho||File Added: LBend_corrected.tar.gz|
|2016-04-22 14:31||henry||Note Added: 0006160|
|2016-04-22 14:31||henry||Status||new => resolved|
|2016-04-22 14:31||henry||Fixed in Version||=> dev|
|2016-04-22 14:31||henry||Resolution||open => fixed|
|2016-04-22 14:31||henry||Assigned To||=> henry|
|2017-08-03 13:46||Juho||Tag Attached: kinetic theory|
|2017-08-03 13:46||Juho||Tag Attached: kineticTheory|
|2018-07-10 11:25||administrator||Tag Detached: kineticTheory|