
import numpy
H = numpy.array([27,28,32,31,28,30,29,25,28,30],dtype=numpy.float32)
L=62.0
tab_mus = H/numpy.sqrt(L*L-H*H)
mus = numpy.mean(tab_mus)
dmus = numpy.std(tab_mus)
               

import numpy
from matplotlib.pyplot import *

data = numpy.loadtxt("data-54.txt",skiprows=1,unpack=True)
t1 = data[0]
F1 = data[1]
te1 = t1[1]-t1[0]

figure(figsize=(12,5))
plot(t1,F1)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t1.max(),0,0.6])
                

data = numpy.loadtxt("data-56.txt",skiprows=1,unpack=True)
t2 = data[0]
F2 = data[1]
te2 = t2[1]-t2[0]

figure(figsize=(12,5))
plot(t2,F2)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t2.max(),0,0.6])
                

n1 = int(3.0/te1)
n2 = int(26.0/te1)
mf1 = numpy.mean(F1[n1:n2])
df1 = numpy.std(F1[n1:n2])
                 

n1 = int(2.0/te2)
n2 = int(9.0/te2)
mf2 = numpy.mean(F2[n1:n2])
df2 = numpy.std(F2[n1:n2])
                 

N = 0.91
mud1 = mf1/N
dmud1 = df1/N
mud2 = mf2/N
dmud2 = df2/N
                 

data = numpy.loadtxt("data-44.txt",skiprows=1,unpack=True)
t3 = data[0]
F3 = data[1]
te3 = t3[1]-t3[0]

figure(figsize=(12,5))
plot(t3,F3)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t3.max(),0,0.6])
                

data = numpy.loadtxt("data-47.txt",skiprows=1,unpack=True)
t4 = data[0]
F4 = data[1]
te4 = t4[1]-t4[0]

figure(figsize=(12,5))
plot(t4,F4)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t4.max(),0,0.6])
                

data = numpy.loadtxt("data-45.txt",skiprows=1,unpack=True)
t5 = data[0]
F5 = data[1]
te5 = t5[1]-t5[0]

figure(figsize=(12,5))
plot(t5,F5)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t5.max(),0,0.6])
                

data = numpy.loadtxt("data-51.txt",skiprows=1,unpack=True)
t6 = data[0]
F6 = data[1]
te6 = t6[1]-t6[0]

figure(figsize=(12,5))
plot(t6,F6)
xlabel('t (s)')
ylabel('F (N)')
grid()
axis([0,t6.max(),0,0.6])
                

v0=0.04 # vitesse de glissement
mus=0.37 # coefficient de frottement statique
mu=0.25 # coefficient dynamique
g = 9.8
m=0.1 # masse
k=8.0 # coefficient de raideur
    
def integration(tmax,h):
    t = 0.0
    x = 0.0
    v = v0
    vg = 0.0
    glissement = False
    sens_frottement = 1
    liste_t = numpy.array([t])
    liste_x = numpy.array([x])
    liste_vg = numpy.array([vg])
    while t<tmax:
        t += h
        if glissement:
            frottement = sens_frottement*mu*m*g
            acceleration = (frottement-k*x)/m
            v += acceleration*h
            vg = v-v0
            x += v*h
            if vg*sens_frottement > 0:
                glissement = False
        else:
            v = v0
            vg = 0.0
            x += v0*h
            if k*x >= mus*m*g:
                glissement = True
                
                
        liste_t = numpy.append(liste_t,t)
        liste_x = numpy.append(liste_x,x)
        liste_vg = numpy.append(liste_vg,vg)
        
    return (liste_t,liste_x,liste_vg)

tmax = 10.0
(t,x,vg) = integration(tmax,1e-3)
f = k*x
figure()
plot(t,f)
xlabel("t (s)")
ylabel("F (N)")
axis([0,t.max(),0,0.6])
grid()
              

figure()
plot(t,vg)
xlabel("t (s)")
ylabel("v gliss (m/s)")
max = abs(vg.min())
axis([0,t.max(),-max,max])
grid()
              

v0=0.15
tmax = 10.0
(t,x,vg) = integration(tmax,1e-3)
f = k*x
figure()
plot(t,f)
xlabel("t (s)")
ylabel("F (N)")
axis([0,t.max(),0,0.6])
grid()
              

figure()
plot(t,vg)
xlabel("t (s)")
ylabel("v gliss (m/s)")
max = abs(vg.min())
axis([0,t.max(),-max,max])
grid()
              
