import numpy as np a=int(input('entre le nombre des elements : ')) K=np.zeros((a+1,a+1)) F=np.zeros(a+1) for r in range (1,a+1): print ('element ',r) E=float(input('saisie la valeur de module de YOUNG E de l element = ')) A=float(input('saisie la valeur de la section A de l element = ')) L=float(input('saisie la valeur de longeur L de l element= ')) kr=np.array([[E*(A/L),-E*(A/L)],[-E*(A/L),E*(A/L)]]) print('matrice de regidité de l element ',r,' : ',kr) f1=float(input('saisie la valeur du force au neuds 1 de l element = ')) f2=float(input('saisie la valeur du force au neuds 2 de l element= ')) fr=np.array([f1,f2]) print('le vecetur des forces de l element ',r,' : ',fr) Kr=np.zeros((a+1,a+1)) Fr=np.zeros(a+1) print('remarque importante : la numérotation des noeuds commace par 0') print ('element ',r) i=int(input('saisie la valeur du premier noeud i de l element ')) j=int(input('saisie la valeur du deuxieme noeud j de l element ')) Kr[i,i]=Kr[i,i]+kr[0,0] Kr[i,j]=Kr[i,j]+kr[0,1] Kr[j,i]=Kr[j,i]+kr[1,0] Kr[j,j]=Kr[j,j]+kr[1,1] Fr[i]=Fr[i]+fr[0] Fr[j]=Fr[j]+fr[1] print('matrice de regidité de l element ',r,' dans le repere global : ',Kr) print('le vecetur des forces de l element ',r,' dans le repere global : ',Fr) K+=Kr F+=Fr print('la matrice global de la structure est : ',K) print('le vecteur des forces global de la structure est : ',F) B=int(input('saisie le nombre des noeuds bloker de la srtuctures = ')) for i in range (0,B): s=int(input('saisie le numeros des noeuds bloker = ')) K[s,:]=0 K[:,s]=0 K[s,s]=1 F[s]=0 print(K) print(F) u=np.linalg.solve(K,F) print(u)