Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION ................................................................................................................................. 2
I. PRESENTATION DU PROJET .................................................................................................. 3
II. SPECIFICATIONS FONCTIONNELLES ............................................................................. 4
1. Fonctionnalités principales ....................................................................................................... 4
2. Interfaces utilisateur ................................................................................................................. 5
3. Formats de données d'entrée et de sortie ................................................................................ 5
4. FONCTIONNALITES TECHNIQUES .................................................................................. 6
III. SPECIFICATIONS NON FONCTIONNELLES ................................................................... 8
1. Convivialité et ergonomie ......................................................................................................... 8
2. Portabilité ................................................................................................................................... 8
3. Maintenance et évolutivité ........................................................................................................ 8
4. Documentation technique ......................................................................................................... 8
5. Contraintes légales et réglementaires ...................................................................................... 9
IV. EXIGENCES DE PERFORMANCE .................................................................................... 10
1. Temps de calcul ....................................................................................................................... 10
2. Capacité de traitement ............................................................................................................ 10
3. Utilisation efficace des ressources .......................................................................................... 10
4. Temps de réponse de l'interface utilisateur .......................................................................... 10
5. Tests de performance .............................................................................................................. 10
V. EXIGENCES DE DOCUMENTATION ................................................................................... 11
VI. CONCEPTION ET ARCHITECTURE DU LOGICIEL .................................................... 12
VII. PROGRAMMATION ET DEVELEPPEMENT DU LOGICIEL ...................................... 14
CONCLUSION .................................................................................................................................... 18
1
INTRODUCTION
Le présent cahier des charges a pour objectif de définir les spécifications et les exigences pour
la conception et le développement d'un logiciel de calcul des efforts sur une structure
décomposable en éléments finis à 1D, 2D et 3D. Ce logiciel vise à fournir une solution complète
et efficace pour l'analyse des contraintes et des forces internes dans des structures complexes.
2
I. PRESENTATION DU PROJET
Notre projet de classe porte sur la conception et la réalisation d’un logiciel de calcul des efforts
sur une structure décomposable en éléments finis à 1D, 2D et 3D. Ce logiciel a pour but de nous
aider à simuler et à analyser les structures et les systèmes en utilisant la méthode des éléments
finis. A cet effet, le logiciel permettra aux utilisateurs de saisir les géométries de structures, de
spécifier les propriétés des matériaux, d'appliquer des charges et de calculer les efforts internes
tels que les contraintes et les déformations.
Par conséquent, les utilisateurs potentiels du logiciel sont des ingénieurs de génie civil, des
chercheurs en mécanique de structures ou des étudiants de génie civil.
3
II. SPECIFICATIONS FONCTIONNELLES
Les spécifications fonctionnelles décrivent les principales fonctionnalités du logiciel de calcul
des efforts sur une structure décomposable en éléments finis à 1D, 2D et 3D, ainsi que les
interfaces utilisateur et les formats de données d'entrée et de sortie.
1. Fonctionnalités principales
4
2. Interfaces utilisateur
Fournir une interface conviviale pour permettre aux utilisateurs de saisir et de modifier les
données relatives à la géométrie de la structure, aux propriétés matérielles, aux charges
appliquées, etc.
Utiliser des formulaires, des menus déroulants et d'autres éléments d'interface intuitifs pour
faciliter la saisie des informations.
Proposer des outils de visualisation graphique pour afficher les résultats du calcul des efforts
de manière claire, compréhensible et interactive.
Permettre aux utilisateurs de zoomer, de faire pivoter et de manipuler les modèles pour une
meilleure analyse visuelle.
Le logiciel devra prendre en charge les formats de données d'entrée et de sortie suivants :
5
Permettre l'importation de fichiers de géométrie à partir de formats courants tels que les fichiers
DXF, STL, STEP, etc.
Assurer une conversion précise des géométries importées en une représentation compatible
avec les calculs des efforts.
Offrir la possibilité d'exporter les résultats du calcul des efforts vers des formats courants tels
que les fichiers CSV, les rapports PDF ou les formats de visualisation 3D tels que les fichiers
OBJ, STL, etc.
4. FONCTIONNALITES TECHNIQUES
a. Si n ≤ 3 alors système isostatique (Utilisation des lignes d’influences)
Calcul des réactions aux appuis
RA= (L- α)
RB= α
N=0
RA= (L- α)
RB= α
N=0
6
P(1- ) pour α > x
ti(x)=
-P pour α < x
Mi (i=1,2,3…)
N=0 Mi-1 Li
-
Ti(x)=ti(x)+
7
III. SPECIFICATIONS NON FONCTIONNELLES
Les spécifications non fonctionnelles décrivent les exigences et les contraintes liées à
l'ergonomie, à la portabilité, à la maintenance, à la documentation technique, ainsi qu'aux
contraintes légales et réglementaires du logiciel de calcul des efforts sur une structure
décomposable en éléments finis à 1D, 2D et 3D.
1. Convivialité et ergonomie
Le logiciel sera convivial et intuitif, avec une interface utilisateur ergonomique qui facilite la
saisie des données et l'interaction avec les résultats.
Les menus, les boutons et les fonctionnalités seront organisés de manière logique et cohérente
pour une utilisation aisée par les utilisateurs.
Des indications et des messages d'erreur clairs seront fournis pour guider les utilisateurs lors de
la saisie des données.
2. Portabilité
Le logiciel sera conçu de manière à être compatible avec différents systèmes d'exploitation
courants, tels que Windows, MacOs et Linux.
Il doit être capable de s'exécuter sur différents types d'ordinateurs, y compris les ordinateurs de
bureau, les ordinateurs portables et les stations de travail.
3. Maintenance et évolutivité
Le code source du logiciel sera bien structuré, modulaire et maintenable. Des commentaires et
une documentation appropriée sera fournis pour faciliter la maintenance future du logiciel.
4. Documentation technique
Une documentation technique complète sera fournie, comprenant des instructions d'installation,
d'utilisation et de configuration du logiciel.
Des exemples d'utilisation, des tutoriels et des guides de référence seront inclus pour aider les
utilisateurs à tirer le meilleur parti du logiciel.
8
5. Contraintes légales et réglementaires
Notre logiciel devra respecter les lois, les réglementations et les normes applicables dans le
domaine de l'ingénierie des structures. Il doit prendre en compte les contraintes de
confidentialité des données et assurer la protection des informations sensibles.
9
IV. EXIGENCES DE PERFORMANCE
Les exigences de performance décrivent les critères de performance et les contraintes de temps
de réponse pour le logiciel de calcul des efforts sur une structure décomposable en éléments
finis à 1D, 2D et 3D.
1. Temps de calcul
Le logiciel effectuera des calculs d’efforts internes pour des structures de taille moyenne dans
un délai raisonnable.
Les temps de calcul seront optimisés pour assurer une utilisation efficace du logiciel.
Des mesures de performance doivent être effectuées pour garantir que les temps de calcul
restent acceptables même pour les structures complexes.
2. Capacité de traitement
Le logiciel doit être capable de gérer des structures avec un grand nombre de nœuds, d'éléments
et de charges. Il doit être capable de traiter efficacement et de manière fiable des modèles de
structures de taille importante.
Le logiciel doit utiliser efficacement les ressources matérielles disponibles, telles que la
mémoire et le processeur, pour optimiser les performances. Il doit minimiser la consommation
de ressources et éviter les problèmes de surcharge du système.
L'interface utilisateur doit être réactive et offrir des temps de réponse rapides lors de la saisie
des données, de la modification des paramètres et de l'affichage des résultats. Les délais de
réponse doivent être suffisamment courts pour offrir une expérience utilisateur fluide et sans
frustration.
5. Tests de performance
Nous devons faire des tests de performance approfondis pour vérifier et valider les exigences
de performance. Ces tests doivent inclure des scénarios de charge élevée et des modèles de
structures complexes pour évaluer les performances réelles du logiciel.
10
V. EXIGENCES DE DOCUMENTATION
Les exigences de documentation décrivent les livrables documentaires nécessaires pour ce
logiciel.
11
VI. CONCEPTION ET ARCHITECTURE DU LOGICIEL
INTERFACE UTILISATEUR
Gère l'interaction avec l'utilisateur.
Affiche les fonctionnalités du logiciel, les résultats des calculs et les messages
d'erreur.
Permet à l'utilisateur de définir les propriétés de la structure, les charges appliquées
et les options de calcul.
MODULE DE PRETRAITEMENT
Reçoit les données d'entrée de l'utilisateur depuis l'interface utilisateur.
Valide les données et effectue les vérifications préliminaires.
Convertit les données d'entrée dans un format interne utilisé pour l'analyse des
éléments finis.
Crée le modèle de la structure en décomposant celle-ci en éléments finis 1D, 2D et
3D.
MODULE DE POST-TRAITEMENT
Traite les résultats des calculs pour les rendre compréhensibles et utilisables par
l'utilisateur.
Génère des graphiques, des tableaux et d'autres visualisations pour représenter les
efforts sur la structure.
Permet à l'utilisateur de naviguer et d'explorer les résultats des calculs de manière
interactive.
12
MODULE DE GESTION DES ERREURS ET DES EXCEPTIONS
Détecte et gère les erreurs et les exceptions qui se produisent pendant l'exécution du
logiciel.
Fournit des messages d'erreur explicites et des mécanismes de récupération pour
guider l'utilisateur en cas de problème.
13
VII. PROGRAMMATION ET DEVELEPPEMENT DU
LOGICIEL
// Classe principale du logiciel
public class Main {
public static void main(String[] args) {
// Création de l'interface utilisateur
UserInterface ui = new UserInterface();
ui.run();
}
}
// Interface utilisateur
public class UserInterface {
public void run() {
// Afficher l'interface utilisateur
// Récupérer les données d'entrée de l'utilisateur
// Création du modèle de structure
StructureModel structure = new StructureModel();
structure.loadFromInputData(inputData);
// Calcul des efforts sur la structure
FiniteElementAnalysis analysis = new FiniteElementAnalysis();
AnalysisResult result = analysis.calculate(structure);
14
// Modèle de structure
public class StructureModel {
public void loadFromInputData(InputData inputData) {
// Charger les données d'entrée et créer la structure
}
// Autres méthodes pour manipuler la structure
}
// Analyse des éléments finis
public class FiniteElementAnalysis {
public AnalysisResult calculate(StructureModel structure) {
// Effectuer les calculs des efforts sur la structure
// Retourner les résultats de l'analyse
}
}
// Classe pour les résultats de l'analyse
public class AnalysisResult {
// Attributs pour stocker les résultats des calculs
}
// Classe pour les données d'entrée
public class InputData {
// Attributs pour stocker les données d'entrée de l'utilisateur
}
import numpy as np
def solve_fem(length, num_elements, forces, supports):
# Calcul des longueurs des éléments
element_length = length / num_elements
# Création de la matrice de raideur globale
stiffness_matrix = np.zeros((num_elements+1, num_elements+1))
# Assemblage de la matrice de raideur globale
for i in range(num_elements):
15
stiffness_matrix[i:i+2, i:i+2] += np.array([[1, -1], [-1, 1]]) / element_length
# Création du vecteur de charges globales
global_force_vector = np.zeros(num_elements+1)
# Assemblage du vecteur de charges globales
for i, force in forces:
global_force_vector[i] += force
# Application des conditions aux limites
for support in supports:
index, reaction = support
stiffness_matrix[index, :] = 0
stiffness_matrix[index, index] = 1
global_force_vector[index] = reaction
# Résolution du système d'équations
displacements = np.linalg.solve(stiffness_matrix, global_force_vector)
# Calcul des efforts dans chaque élément
element_efforts = []
for i in range(num_elements):
displacement_diff = displacements[i+1] - displacements[i]
element_effort = displacement_diff * element_length
element_efforts.append(element_effort)
return displacements, element_efforts
# Fonction pour afficher les résultats
def print_results(displacements, element_efforts):
print("Déplacements : ", displacements)
print("Efforts dans les éléments : ", element_efforts)
# Fonction principale
def main():
length = 10.0 # Longueur totale de la structure
num_elements = 5 # Nombre d'éléments
forces = [(2, 10.0), (4, -5.0)] # Charges appliquées sur les nœuds (indice, valeur)
16
supports = [(0, 0.0), (5, 0.0)] # Conditions aux limites (indice, réaction)
17
CONCLUSION
Nous avons examiné la conception d'un logiciel de calcul des efforts sur une structure
décomposable en éléments finis à 1D, 2D et 3D. Nous avons discuté de l'architecture générale
du logiciel, de sa conception et avons fourni un programme en Java pour illustrer son
fonctionnement. Le logiciel propose une interface utilisateur pour permettre à l'utilisateur de
définir les propriétés de la structure, les charges appliquées et les options de calcul. Il comprend
également un module de prétraitement pour valider et convertir les données d'entrée, un module
d'analyse des éléments finis pour calculer les efforts sur la structure, et un module de post-
traitement pour afficher les résultats de manière compréhensible. La conception du logiciel
repose sur des principes de modularité, de séparation des responsabilités et d'extensibilité. Les
différents composants interagissent de manière coordonnée pour effectuer les calculs
nécessaires et fournir les résultats à l'utilisateur.
18