Incertain d'avoir saisi la portée des questions, voici une tentative de réponse en forme interrogative.
Souvent pour prendre en main un système de simulation, on commence par des cas concrets et simples ne nécessitant pas la prise en main du code au-delà de la simple obtention des exécutables. C'est un premier pas qui permet souvent de comprendre quels sont les points d'entrées dans le code qui nous intéressent et qui méritent d'être approfondis. Du coup si votre problématique nécessite de prendre en main OpenFoam pour y programmer de nouveaux modèles, peut-être avez-vous commencé par là ?
En ce qui me concerne, ayant appris le C89 — surtout durant ma thèse, au contact d'ingénieurs — je me suis auto-enseigné les bases du C++98 quand il m'a fallu écrire des cours sur le sujet (niveau archi-débutant). De là où je suis, il me semble qu'il ne devrait rien y avoir de difficile là-dedans pour qui maîtrise déjà la programmation orientée objet en Python. À une exception prêt probablement : la maîtrise des pointeurs et références. Les idiosyncrasies de la syntaxe C++ rendant la chose plus complexe à bien saisir ; sachant que c'est souvent un problème pour les débutants. Sur ce sujet je recommanderai de commencer par bien comprendre la syntaxe C des pointeurs, puis de prendre un grand bol d'humilité soumise, et de se lancer dans les références C++.
Ne connaissant pas OpenFoam — j'ai opté pour une thèse sur les solides plutôt que les mousses quand l'occasion s'est présentée — il semble délicat de juger du niveau de C++ nécessaire pour le maîtriser. Mais le morceau de code que vous montrez ne semble pas outrageusement complexe. Vous devriez rapidement y arriver à l'aide d'un manuel basique, et en cherchant à progresser par petites étapes plutôt qu'à franchir d'un coup l'obstacle. L'idée pour attaquer un gros problème de programmation est un peu la même qu'en modélisation physique : comment découper en éléments simples.
# Comprendre le C++ ou OpenFoam ?
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . En réponse au message Je souhaite apprendre le C++. Évalué à 4.
Incertain d'avoir saisi la portée des questions, voici une tentative de réponse en forme interrogative.
Souvent pour prendre en main un système de simulation, on commence par des cas concrets et simples ne nécessitant pas la prise en main du code au-delà de la simple obtention des exécutables. C'est un premier pas qui permet souvent de comprendre quels sont les points d'entrées dans le code qui nous intéressent et qui méritent d'être approfondis. Du coup si votre problématique nécessite de prendre en main OpenFoam pour y programmer de nouveaux modèles, peut-être avez-vous commencé par là ?
En ce qui me concerne, ayant appris le C89 — surtout durant ma thèse, au contact d'ingénieurs — je me suis auto-enseigné les bases du C++98 quand il m'a fallu écrire des cours sur le sujet (niveau archi-débutant). De là où je suis, il me semble qu'il ne devrait rien y avoir de difficile là-dedans pour qui maîtrise déjà la programmation orientée objet en Python. À une exception prêt probablement : la maîtrise des pointeurs et références. Les idiosyncrasies de la syntaxe C++ rendant la chose plus complexe à bien saisir ; sachant que c'est souvent un problème pour les débutants. Sur ce sujet je recommanderai de commencer par bien comprendre la syntaxe C des pointeurs, puis de prendre un grand bol d'humilité soumise, et de se lancer dans les références C++.
Ne connaissant pas OpenFoam — j'ai opté pour une thèse sur les solides plutôt que les mousses quand l'occasion s'est présentée — il semble délicat de juger du niveau de C++ nécessaire pour le maîtriser. Mais le morceau de code que vous montrez ne semble pas outrageusement complexe. Vous devriez rapidement y arriver à l'aide d'un manuel basique, et en cherchant à progresser par petites étapes plutôt qu'à franchir d'un coup l'obstacle. L'idée pour attaquer un gros problème de programmation est un peu la même qu'en modélisation physique : comment découper en éléments simples.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace