Message Boards Message Boards

Problem with numerical solution of a system of PDEs

Posted 4 years ago

I am having a problem with with NDSolve.

Background

There is a fast-moving rope in closed path. The variables are:

T is tension.
a is angle beetwen rope and gorizontal plane.
s is curvelinear coordinates [0,1] (0 - the beggining of the rope, 1 - the ending of the rope).
Dr is drag coefficient.
W is weight coefficient.

My model gives the following differential equations for T, a and s:

enter image description here

D[T[s] Sin[a[s]], s] == W + Dr Sin[a[s]], 
D[T[s] Cos[a[s]], s] == Dr Cos[a[s]],

Moreover, boundary conditions comes from equation for beginning and ending of the rope. x[0] = x[1] = 0, y[0] = y[1] = 0, where x[s], y[s]are coordinates of point on the rope with curve distance for the beginnings`. It means, that ending and beginning of the rope are in the same place.

Differential equations for coodinates x[s], y[s] are quite easy.

enter image description here

(Tan[a[s]])/Sqrt[1 + Tan[a[s]]^2] == D[y[s], s],
1/Sqrt[1 + Tan[a[s]]^2] == D[x[s], s],
x[0] == 0,
y[0] == 0,
x[1] == ?,
y[1] == ?

Problem

I've solved it, but solution is unreal and contradicts the boundary conditions.

Mathematica's solution plotted with ParametricPlot looks like this:

<strong>Fig.1 Obtained soltion

Fig.1 Obtained soltion

The rope should be closed, but it's not. And it should look like this:

<strong>Fig.2 Shape of rope in dependence of <strong>Dr/W</strong>

Fig.2 Shape of rope in dependence of Dr/W

Please, help. The final code is: ``` x[s] =. y[s] =. NumSol = Block[{? = $MachineEpsilon}, With[{Dr = 9.9, W = 8}, NDSolve[ {D[T[s] Sin[a[s]], s] == W + Dr Sin[a[s]], D[T[s] Cos[a[s]], s] == Dr Cos[a[s]], (Tan[a[s]])/Sqrt[1 + Tan[a[s]]^2] == D[y[s], s], 1/Sqrt[1 + Tan[a[s]]^2] == D[x[s], s], x[?] == 0, y[?] == 0, x[1 - ?] == ?, y[1 - ?] == ?}, {T, a, x, y}, {s, ?, 1 - ?}, Method -> {"StiffnessSwitching", "NonstiffTest" -> False}]]]

ParametricPlot[{x[s], y[s]} /. NumSol // Evaluate, {s, 0, 1}, PlotRange -> Automatic, AspectRatio -> 1, AxesLabel -> {"x", "y"}] ```

POSTED BY: Daniil Eskoskin
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract