|
[Sponsors] |
[solidMechanics] solidMechanics gear contact in rotation |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 28, 2014, 13:54 |
solidMechanics gear contact in rotation
|
#1 |
Member
Nicolas Lussier Clément
Join Date: Apr 2009
Location: Montréal, Qc, Canada
Posts: 61
Rep Power: 17 |
Hi,
I'm trying to study a gear contact with the solid solver of Foam-extended 3.0 Ok the solver elasticSolidFoam work perfectly for contact but dos not allow rotation. elasticNonLinTLSolidFoam and elasticNonLinULSolidFoam work for rotation but I cant seam to make them work for contact. In the case of elasticNonLinTLSolidFoam I get the error Code:
Starting time loop Time: 1 Slave contact patch pinionTeeth grabbing normalContactModel pointer from master Slave contact patch pinionTeeth grabbing frictionContactModel pointer from master --> FOAM FATAL ERROR: request for volVectorField U_0 from objectRegistry region0 failed available objects of type volVectorField are 3 ( div((magSf*((((((-(interpolate(mu)+interpolate(lambda))*(snGrad(U)&((1)-((S|magSf)*(S|magSf)))))+((interpolate(lambda)*tr(((((1)-((S|magSf)*(S|magSf)))&interpolate(grad(U)))&((1)-((S|magSf)*(S|magSf))))))*(S|magSf)))+(interpolate(mu)*((((1)-((S|magSf)*(S|magSf)))&interpolate(grad(U)))&(S|magSf))))+(interpolate(mu)*((S|magSf)&interpolate((grad(U)&grad(U).T())))))+((0.5*interpolate(lambda))*((S|magSf)*tr(interpolate((grad(U)&grad(U).T()))))))+((S|magSf)&interpolate((sigma&grad(U))))))) U UPrevIter ) From function objectRegistry::lookupObject<Type>(const word&) const in file /home/Foam/foam-extend-3.0/src/foam/lnInclude/objectRegistryTemplates.C at line 139. Code:
Starting time loop Time = 1 Slave contact patch pinionTeeth grabbing normalContactModel pointer from master Slave contact patch pinionTeeth grabbing frictionContactModel pointer from master Time 1, Corrector 0, Solving for DU using DICPCG, res = 1, rel res = 1, inner iters 3 Time 1, Corrector 1, Solving for DU using DICPCG, res = 0.0745107, rel res = 1, inner iters 12 Time 1, Corrector 2, Solving for DU using DICPCG, res = 0.0670055, rel res = 0.204413, inner iters 10 Time 1, Corrector 3, Solving for DU using DICPCG, res = 0.0300142, rel res = 0.0550744, inner iters 7 Time 1, Corrector 4, Solving for DU using DICPCG, res = 0.0139227, rel res = 0.0486533, inner iters 7 Time 1, Corrector 5, Solving for DU using DICPCG, res = 0.00770099, rel res = 0.0133588, inner iters 8 Time 1, Corrector 6, Solving for DU using DICPCG, res = 0.00474556, rel res = 0.0197897, inner iters 6 Time 1, Corrector 7, Solving for DU using DICPCG, res = 0.00321626, rel res = 0.00619995, inner iters 7 Time 1, Corrector 8, Solving for DU using DICPCG, res = 0.00237219, rel res = 0.0093214, inner iters 6 Time 1, Corrector 9, Solving for DU using DICPCG, res = 0.001763, rel res = 0.00428953, inner iters 7 Time 1, Corrector 10, Solving for DU using DICPCG, res = 0.00214489, rel res = 0.0123793, inner iters 13 Time 1, Corrector 11, Solving for DU using DICPCG, res = 0.00176585, rel res = 0.01188, inner iters 9 Time 1, Corrector 12, Solving for DU using DICPCG, res = 0.00101126, rel res = 0.00232465, inner iters 8 Time 1, Corrector 13, Solving for DU using DICPCG, res = 0.000605676, rel res = 0.00126276, inner iters 5 Time 1, Corrector 14, Solving for DU using DICPCG, res = 0.00035762, rel res = 0.000939143, inner iters 21 Time 1, Corrector 15, Solving for DU using DICPCG, res = 0.000258029, rel res = 0.000650839, inner iters 6 Time 1, Corrector 16, Solving for DU using DICPCG, res = 0.000173268, rel res = 0.000342203, inner iters 10 Time 1, Corrector 17, Solving for DU using DICPCG, res = 0.000120151, rel res = 0.000454567, inner iters 21 Time 1, Corrector 18, Solving for DU using DICPCG, res = 8.35921e-05, rel res = 0.000200285, inner iters 10 Time 1, Corrector 19, Solving for DU using DICPCG, res = 5.68496e-05, rel res = 0.000201291, inner iters 25 Time 1, Corrector 20, Solving for DU using DICPCG, res = 0.0543611, rel res = 0.946589, inner iters 40 Time 1, Corrector 21, Solving for DU using DICPCG, res = 0.0150151, rel res = 2.09456, inner iters 33 Time 1, Corrector 22, Solving for DU using DICPCG, res = 0.0449331, rel res = 1.1662, inner iters 30 Time 1, Corrector 23, Solving for DU using DICPCG, res = 0.0221391, rel res = 1.3073, inner iters 31 Time 1, Corrector 24, Solving for DU using DICPCG, res = 0.0148178, rel res = 0.532443, inner iters 30 Time 1, Corrector 25, Solving for DU using DICPCG, res = 0.0235522, rel res = 0.183507, inner iters 31 Time 1, Corrector 26, Solving for DU using DICPCG, res = 0.0199556, rel res = 0.220766, inner iters 17 Time 1, Corrector 27, Solving for DU using DICPCG, res = 0.0147405, rel res = 0.117636, inner iters 29 Time 1, Corrector 28, Solving for DU using DICPCG, res = 0.0104383, rel res = 0.103261, inner iters 26 Time 1, Corrector 29, Solving for DU using DICPCG, res = 0.00777503, rel res = 0.0755759, inner iters 26 Time 1, Corrector 30, Solving for DU using DICPCG, res = 0.0454017, rel res = 1, inner iters 39 Time 1, Corrector 31, Solving for DU using DICPCG, res = 0.0849541, rel res = 1.85395, inner iters 37 Time 1, Corrector 32, Solving for DU using DICPCG, res = 0.15859, rel res = 126.43, inner iters 32 Time 1, Corrector 33, Solving for DU using DICPCG, res = 0.999821, rel res = 28.6856, inner iters 5 Time 1, Corrector 34, Solving for DU using DICPCG, res = 1, rel res = 4.67685, inner iters 5 Time 1, Corrector 35, Solving for DU using DICPCG, res = 1, rel res = 1, inner iters 4 Exception en point flottant Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | foam-extend: Open Source CFD | | \\ / O peration | Version: 3.0 | | \\ / A nd | Web: http://www.extend-project.de | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volVectorField; location "0"; object U; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 0 0 0 0 0]; internalField uniform (0 0 0); boundaryField { pinionDisplacement { /* type timeVaryingFixedDisplacement; outOfBounds clamp; fileName "$FOAM_CASE/constant/timeVsTopDisp"; value uniform (0 0 0); */ type timeVaryingFixedRotation; rotationAxis (0 0 -1); rotationOrigin (0 0 0); fileName "$FOAM_CASE/constant/timeVsPignonAngle"; outOfBounds clamp; value uniform ( 0 0 0 ); } gearDisplacement { type fixedDisplacement; value uniform ( 0 0 0 ); /* type timeVaryingFixedRotation; rotationAxis (0 0 1); rotationOrigin (-2 0 0); fileName "$FOAM_CASE/constant/timeVsPignonAngle"; outOfBounds clamp; value uniform ( 0 0 0 ); */ } gearTeeth { type solidContact; master yes; contactActive yes; rigidMaster no; shadowPatch pinionTeeth; interpolationMethod ggi; //interpolationMethod patchToPatch; projectionAlgo visible; projectionDir contactSphere; //projectionDir vector; correctionFrequency 10; normalContactModel standardPenalty; standardPenaltyNormalModelDict { relaxationFactor 0.1; penaltyScale 1; returnScale 1.5; contactGapTol 1e-7; limitPenetration no; penetrationLimit -0.03; limitPressure no; pressureLimit 1e12; correctMissedVertices yes; distanceMethod point; //distanceMethod face; oscillationCorrection yes; smoothingSteps 1; infoFrequency 10; } //frictionContactModel frictionless; frictionContactModel standardPenalty; standardPenaltyFrictionModelDict { relaxationFactor 0.1; penaltyScale 1; oscillationCorrection yes; smoothingSteps 1; infoFrequency 10; frictionLaw coulomb; frictionLawDict { frictionCoeff 0.1; } } value uniform (0 0 0); } pinionTeeth { type solidContact; shadowPatch gearTeeth; master no; contactActive yes; value uniform (0 0 0); } empty { type empty; } Thank you for your help |
|
January 8, 2015, 10:11 |
|
#2 |
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 22 |
I hit the same problem (see thread http://www.cfd-online.com/Forums/ope...-openfoam.html). Did you find a solution?
|
|
January 10, 2015, 18:34 |
|
#3 |
Member
Nicolas Lussier Clément
Join Date: Apr 2009
Location: Montréal, Qc, Canada
Posts: 61
Rep Power: 17 |
Yes I manage to make a contact in rotation work. I still have problem with false constraint cause buy numerical error due to rotation. And I need a torque boundary condition.
Here is the video of the gear contact simulation: https://www.youtube.com/watch?v=sW_sLQ9JbHI The problem in my case was that the boundary contact condition treatment dos not seem to allow for surface that has 2 point intersect buy the contact normal. So I spited the contact boundary. This work with UL and IncTL Regards |
|
January 11, 2015, 07:41 |
|
#4 |
Senior Member
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 22 |
Thank you for your answer. Actually, in my case the problem was the parameter correctionFrequency for the solidContact boundary condition. By reducing it from 10 to 1 it now works.
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Dynamic contact angle | rmousavibt | Fluent UDF and Scheme Programming | 12 | October 31, 2021 23:38 |
Dynamic contact angle issue: fluent UDF couldn't set the correct contact angle | FelixJJ | FLUENT | 2 | October 20, 2021 03:39 |
Java Macro -- Passive Pith in Superposing Rotation Motion | Weidong Dai | STAR-CCM+ | 2 | August 4, 2018 06:39 |
Contact analysis in Flexible gear | virgo86 | ANSYS | 0 | October 1, 2016 13:01 |
help with UDF for contact angle based on contact line velocity | gandesk | Fluent UDF and Scheme Programming | 14 | October 29, 2012 14:58 |