MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Non linear system solving

  • To: mathgroup at
  • Subject: [mg71369] Non linear system solving
  • From: "Jean-Paul" <Jean-Paul.VINCENT-3 at>
  • Date: Thu, 16 Nov 2006 00:52:49 -0500 (EST)

Dear Group,
I'm a french student working on gears, particulary on gear engagement.
To summerize quickly:
The active  surfaces  of a gear teeth are made to ensure an homokynetic
(homokinetic) transmission.
We have, in theory,
a1/a2=constant, with ai, the rotation angle of the part i.
My work is to find this relation:
First the surfaces are represented by equations ( a 3D Vector, with two
parameters) in a local coordinate system.
These parameters are u1 and v1 for the gear 1, u2 and v2 for the gear
To simulate the transmission between these gears, we write these
equations in a common coordinate system, giving them another parameter,
for the position , the angle of rotation, a1 and a2.
So for the gear 1, we have:
Active surface for the gear 2 is given by:

To simulate the engaging, we have to translate mathematically the
contact between the two surfaces:

First condition:

Surfaces are in contact, that leads to:

s1(u1,v1,a1)=s1(u2,v2,a2)  -> 3 equations.

Second condition:

The normals at the contact point are parallel.

n1(u1,v1,a1)=k.n2(u2,v2,a2) ->3 equations, one more unkown introduced:

Finaly: we have 6 Equations, and 6 unknowns (u1,v1, u2, v2, a2, k)
Theses equations are too complicated, to obtain an explicit solution.
We have to divide the problem:
Solve the non linear system, for each value of a1.
Then we have several couple of (a1,a2).

This is the context of my work.
I tried to write in Mathematica, using the famous function "Findroot".

My question begin here:

Findroot works well, but when the relative curvatures of the surfaces
near the contact point are close, the fonction shows its limit.
I began to write a program, calculating the Jacobian Matrix of the
system and by iteration i found a solution vector.
The solutions found are not in the interval.
Indeed parameter of the surface v1 varies between 50 and 100.
The solution given by Mathematica is 0.
The FindRoot function allows us to give interval for all unknowns (and
gives 83.3 for v1 (example) if we give the interval, 0 if not).

Can someone, help me to make a program witch take into account
intervals for each unknown?
I am asking for a program, just the mathematical part.
Thank You very much.

Best Regards

PS: Please excuse my bad English.

  • Prev by Date: Re: Define a matrix function with size as argument
  • Next by Date: Re: About NIntegrate
  • Previous by thread: RE: Mathematica and other programs (FEM, FEA)
  • Next by thread: Re: Non linear system solving