H
*
impact of a pendulum with a flat rigid surface
*
L
H
*
packages that have some differential
equations to solve and define some utility functions
*
L
Needs
@
"DifferentialEquations`NDSolveProblems`"
D
;
Needs
@
"DifferentialEquations`NDSolveUtilities`"
D
;
Needs
@
"DifferentialEquations`InterpolatingFunctionAnatomy`"
D
;
Needs
@
"GUIKit`"
D
;
ClearAll
@
"Global`
*
"
D
;
Off
@
General::
spell
D
;
Off
@
General::
spell1
D
;
H
*
geometry of the pendulum
*
L
L
=
1;
H
*
length of the pendulum
@
m
D
*
L
g
=
9.81;
H
*
gravitational acceleration
@
m s^2
D
*
L
ro
=
7800;
H
*
density
@
kg m^3
D
*
L
R
=
0.01;
H
*
radius of the hemisphere end
@
m
D
*
L
m
=
PiR^2L ro;
H
*
mass
@
kg
D
*
L
H
*
angular velocity
*
L
alpha
=
8
0,0,theta''
@
t
D<
;
H
*
position of CM: C
*
L
xC
=
H
L 2
L
*
Cos
@
theta
@
t
DD
;
yC
=
H
L 2
L
*
Sin
@
theta
@
t
DD
;
rC
=
8
xC,yC,0
<
;
H
*
position of the tip A
*
L
xA
=
L
*
Cos
@
theta
@
t
DD
;
yA
=
L
*
Sin
@
theta
@
t
DD
;
rA
=
8
xA,yA,0
<
;
H
*
velocity of the tip A
*
L
vA
=
D
@
rA,t
D
;
H
*
gravitational force at C
*
L
G
=
8
0,mg,0
<
;
H
*
impact angle
*
L
thetai
=
Pi 6;
H
*
mass moment of inertia
*
L
IC
=
m
*
L^2 12;
IO
=
IC
+
m
*
H
L 2
L
^2;
H
*
equation of motion for free fall
*
L
eqI
=
Simplify
@
IO
*
alpha

Cross
@
rC,G
[email protected]@
3
DD
;
H
**
L
sol0
=
NDSolve
@8
eqI 0, theta
@
0
D
==
0, theta'
@
0
D
==
0
<
,theta,
8
t,0,Infinity
<
,
Method
fi
8
EventLocator, "Event"
fi
H
theta
@
t
D

thetai
L<D
;
t0
=
InterpolatingFunctionDomain
@
First
@
theta . sol0
[email protected]@
1,

1
DD
;
theta0
=
H
Evaluate
@
theta
@
t
D
. sol0
D
. t
fi
t0
[email protected]@
1
DD
;
omega0
=
Chop
@H
Evaluate
@
D
@
theta
@
t
D
.sol0,t
DD
.t
fi
t0
[email protected]@
1
DDD
;
vA0
=
vA .
8
theta
@
t
D
>
theta0,theta'
@
t
D
fi
omega0
<
;
v0x
=
vA0
@@
1
DD
;
v0y
=
vA0
@@
2
DD
;
Print
@
" "
D
Print
@
"before impact"
D
H
*
Print
@
"t0
=
",t0,"
@
s
D
"
D
*
L
Print
@
"theta0
=
",theta0,"
@
rad
D
=
", theta0
*
180 Pi,"
@
deg
D
"
D
Print
@
"omega0
=
",omega0,"
@
rad s
D
"
D
Print
@
"v0
=
",vA0,"
@
m s
D
"
D
;
Print
@
" "
D
H
*
thetaplot0
=
Plot
@
Evaluate
@
theta
@
t
D
.sol0
D
*
180 Pi,
8
t,0,t0
<
,AxesLabel
fi
8
"t
@
s
D
","theta
@
deg
D
"
<
,PlotRange
fi
Automatic
D
omegaplot0
=
Plot
@
Evaluate
@
D
@
theta
@
t
D
.sol0,t
DD
,
8
t,0,t0
<
,
AxesLabel
fi
8
"t
@
s
D
","omega
@
rad s
D
"
<
,PlotRange
fi
Automatic
D
*
L
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
AxesLabel
fi
8
"t
@
s
D
","omega
@
rad s
D
"
<
,PlotRange
fi
Automatic
D
*
L
before impact
theta0
=
0.523599
@
rad
D
=
30.
@
deg
D
omega0
=
3.83601
@
rad s
D
v0
=
8

1.91801,3.32209,0
< @
m s
D
Print
@
"impact with a flat surface"
D
H
*
elastic compression
*
L
E1
=
200
*
10^9;
H
*
elastic modulus
@
Pa
D
*
L
Sy
=
1.12
*
10^9;
H
*
yield strength
@
Pa
D
*
L
nu
=
0.33;
H
*
Poisson's ratio
*
L
Ep
=
HH
1

nu^2
L
E1
+
H
1

nu^2
L
E1
L
^

1;
H
*
equivalent elastic modulus
*
L
k1
=
2
H
3
H
1

nu^2
LL
E1Sqrt
@
R
D
;
H
*
elastic constant Hertz
*
L
CJ
=
1.295E^
H
0.736nu
L
;
H
*
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '11
 Marghitu
 Trigraph, print print print, PlotRange Automatic

Click to edit the document details