FEM Solveur

From FreeCAD Documentation
Revision as of 11:30, 12 May 2019 by David69 (talk | contribs) (Created page with "[https://github.com/qingfengxia/FenicsSolver FenicsSolver] est une plate-forme de simulation permettant de traiter des problèmes multi-corps, multi-physique (couplés) et mul...")

Preface

Cette page rassemble des informations sur les solveurs par éléments finis utilisés par Atelier FEM. L'interface entre un solveur et FreeCAD dans le pré-traitement ainsi que dans le post-traitement se fait par le biais de fichiers texte. Cela signifie qu'en théorie, tout solveur pouvant être configuré et contrôlé au moyen de fichiers texte est capable de fonctionner avec FreeCAD; un analyseur et un rédacteur appropriés des fichiers d’entrée et de sortie doivent être programmés pour que cette communication fonctionne.

Solvers disponibles dans diverses distributions Linux

Le dépôt FreeCAD-dependencies suit les dépendances de FreeCAD sur de nombreuses distributions Linux. La page FEM.md examine les solveurs FEA open source pouvant être utilisés avec atelier FEM. La page affiche la version d'un solveur particulier dans le référentiel d'une distribution Linux particulière. Cette information est utile pour savoir si un solveur est actuel ou obsolète et doit être mis à niveau.

L'information est également discutée sur le forum: supported and not supported Solver.

Solvers avec une interface dans FreeCAD

Ces solveurs sont bien intégrés à FreeCAD, ce qui signifie qu’il est possible de configurer et d’exécuter un projet de simulation à partir de l’interface graphique et des boutons de FEM Workbench.

CalculiX

Il s'agit du premier solveur intégré à fonctionner avec l'atelier FEM. CalculiX est principalement conçu pour les analyses statiques, thermomécaniques et modales. Plus d'informations sur ce solveur se trouvent dans CalculiX pour l'analyse par la méthode des éléments finis.

Elmer

Le solveur multiphysique Elmer a été intégré à FreeCAD en tant que projet Google Summer of Code 2017 project: main website, community portal, code repository, Elmer Integration (GSoC) - Activity Log (fil de discussion).

Z88

Le solveur Z88 est conçu pour les simulations statiques linéaires en mettant l'accent sur l'enseignement de la méthode des éléments finis. C'était le deuxième solveur à être intégré à FreeCAD. L'intégration a ensuite été améliorée en tant que projet Google Summer of Code 2017.

Voir les informations:

Il existe deux versions, Z88OS est l'édition open source, tandis que Z88Aurora est un logiciel gratuit et comprend une interface graphique et des méthodes de solution supplémentaires.

Solveurs implémentés comme ateliers externes

Ces solveurs ne sont pas intégrés dans atelier FEM ce qui signifie qu'ils ont besoin d'une interface distincte pour configurer un projet de simulation. Ceci est réalisé par macros ou Ateliers externes.

OpenFoam

OpenFoam est un outil puissant pour la simulation [1] (CFD) distribué sous la forme d'une série de bibliothèques C ++.

OpenFoam est disponible dans FreeCAD via deux ateliers externes:

  • Cfd à l'origine par Qingfeng Xia.
  • CfdOF un fork de Cfd axé sur la facilité d'utilisation.

Alors que Cfd est destiné à être complet en fonctionnalités pour les utilisateurs avancés, CfdOF se concentre sur les utilisateurs qui débutent dans le monde de CFD et OpenFoam.

Pour Cfd: mise à jour sur le calcul dynamique des fluides FreeCAD + OpenFOAM (sujet du forum), php? f = 37 & t = 22993 Progression de l'atelier de calcul général en dynamique des fluides computationnelle (CFD): CfdWorkbench (ancien fil).

Pour CfdOF: Atelier de travail sur la dynamique des fluides numérique (CFD) à l'aide d'OpenFOAM, .html matériel de formation.

Les deux ateliers peuvent être installés via Addon manager, et les deux disposent d'un espace de discussion dans le sous-forum CfdOF / CFD.

DualSPHysics

DualSPHysics est un ensemble de bibliothèques C ++, CUDA et Java qui utilisent le hydrodynamique des particules lissées (SPH) modèle nommé SPHysics pour étudier les phénomènes d'écoulement en surface libre tels que les vagues.

DesignSPHysics est un atelier externe intégré à FreeCAD qui fournit une interface graphique à DualSPHysics: site principal, dépôt du code, Projet intéressant: Simulateur de fluide DesignSPHysics (sujet du forum).

DesignSPHysics peut être installé via Addon manager.

FastHenry et FasterCap

FastHenry et FasterCap sont des solveurs de champ de capacitif et de résistance-inductance développés par FastFieldSolvers: site principal, page de téléchargement (code binaire et source), forum.

Atelier EM est un établi externe créé pour servir de front-end à ces solveurs électromagnétiques. FastHenry, pour l'analyse d'impédance magnéto-quasi statique en 3D, est entièrement pris en charge, tandis que FasterCap est accessible via certaines macros Python.

Voir: ElectroMagnetic Workbench (fil principal), atelier électromagnétique, FreeCAD for ElectroMagnetics, dépôt du code pour l'atelier.

L'atelier EM peut être installé via Addon manager.

fcFEM

fcFEM est un solveur par éléments finis pour les études structurelles et mécaniques, implémenté en Python, et qui peut être exécuté directement à partir de FreeCAD sans faire appel à des solveurs binaires externes. Par conséquent, il peut être considéré comme le propre solutionneur interne de FreeCAD.

fcFEM a été conçu pour surmonter certaines limitations d’autres solveurs, tels que CalculiX, afin de réaliser diverses études d’ingénierie structurale.

Certains des problèmes qui sont censés être résolus par ce solveur incluent

L'auteur considère que FreeCAD est une bonne plate-forme de prototypage permettant de configurer, de tester et de visualiser rapidement différents problèmes structurels. Il est donc très utile de disposer d'un solveur intégré et flexible. Voir le fil principal, fcFEM - FEA de bout en bout.

fcFEM est présenté sous la forme d'une bibliothèque python et d'une macro. Vous pouvez le télécharger à partir du dépôt de github. Il sera éventuellement disponible à partir de Addon manager ou sera distribué avec FreeCAD lui-même.

Implémentation en cours

FEniCS

FEniCS est un cadre informatique permettant de résoudre des équations aux dérivées différentielles (PDE) avec des interfaces de programmation de haut niveau en Python et C ++. Il peut être utilisé pour établir des problèmes scientifiques dans des formulations d'éléments finis qui peuvent ensuite être résolus numériquement.

Voir: main website, Fenics as Solver (fil du forum).

FenicsSolver est une plate-forme de simulation permettant de traiter des problèmes multi-corps, multi-physique (couplés) et multi-échelles. Il espère intégrer le solveur FEniCS à la fois dans atelier FEM et dans le Cfd atelier extérieur afin que le système résultant fonctionne comme une alternative gratuite à Comsol ou à Moose. FenicsSolver est développé par le même auteur de Cfd.

OOFEM

OOFEM is an object oriented FEM program by the Czech Technical University, for solving mechanical, transport and fluid mechanics problems.

It was mentioned as having some advantages over CalculiX, like interface elements (pre-stressed pre/post-tensioned concrete bridge), and arc-length control for elastic-plastic collapse analysis (FEM - Tubular Connection with Shell Elements).

Preliminary integration into the FEM Workbench has been done. See: OOFem (main thread), test request, multiple solvers.

Until the solver integration is completed and the new code is merged into the main FreeCAD repository, the required files for using the solver in the FEM Workbench can be downloaded from a forked FreeCAD branch.

Solvers not integrated

The following solvers have not been integrated into FreeCAD but they have garnered some interest by the user community. If a developer wishes to create a communication bridge for a particular solver, he or she should refer to the FEM subforum for advice and assistance.

The following articles may be outdated, but the information they contain may still be useful to understand how to integrate solvers into FreeCAD

Wikipedia lists many finite element software packages that potentially could be made to work with FreeCAD in the future.

Agros2D and Hermes

Agros2D is a multiplatform graphical program designed for solving different physical problems. Internally it uses the Hermes C++ libraries for the solution of simple and complex time-dependent nonlinear partial differential equation (PDE) systems using a general version of the finite element method (hp-FEM). Main code repository, and tutorials.

Code-Aster and Code-Saturne

Code-Aster is an open source multiphysics solver; together with the Salomé-Meca pre-processor they form a simulation platform developed by EDF-GDF, France's biggest energy company. It was an early package considered for inclusion in FreeCAD: FreeCAD and Code-Aster/Salome-Meca (forum thread).

Code-Saturne is a free, open-source software developed and released by EDF to solve computational fluid dynamics (CFD).

FElt

FElt is a finite element package to solve linear static and dynamic structural analysis problems. The original code is outdated, so it was forked to a new repository to revive the project and make it compile in a modern system.

It was suggested in the forums to perform reinforced concrete frames analysis (beam and column assemblies) using 1D beam elements: Automation in Design, Felt in FEM Workbench.

Frame3DD

Frame3DD is a software package for static and dynamic structural analysis of 2D and 3D frames and trusses, main repository. A preliminary reader for input files was announced in the forums: Test read data from Frame3DD file.

Impact FEM

libMesh

libMesh is a c++ finite element library for the numerical solution of partial differential equations, with a major goal to provide support for adaptive mesh refinement (AMR) computations in parallel: code repository.

It was suggested to integrate this library into FreeCAD as part of a Google Summer of Code project.

Modelica

Modelica is a language to model and optimize complex, and interconnected physical systems, for example, mechanical, electrical, thermal, hydraulic, and others. The language itself and its standard libraries are open source. Some simulation environments based on Modelica, like Catia's Dymola, are proprietary, but there are also free implementations like OpenModelica and JModelica.

With FreeCAD, Modelica was suggested to help perform animations, but more broadly it could be used in mechanical and building engineering to solve equations and optimize a particular design: Modelica (forum thread).

The PyFMI package contains Python bindings to work with FMU models, which are standardized models in binary format produced by compliant Modelica environments, including Dymola, OpenModelica, and JModelica. It was suggested that this library could help FreeCAD connect to a Modelica system (forum post).

Mumps

Mumps is a generic solver for massive systems of equations, which generally deals with factorizing and operating on sparse matrices. It was mentioned in the forum: test request, multiple solvers.

It does not perform finite element analysis directly, but it may be used internally by other packages like Code-Aster.

Nastran

Nastran is a structural analysis program developed by NASA in the 1970s. Modern versions of it are commercial products and closed source; however, older versions of it, Nastran-93 and Nastran-95 were released as open source in 2015. Forum post: Nastran.

There is no technical support for the open source code, and it is probably difficult to compile in a modern system.

OpenSees

OpenSees is a software framework for developing applications to simulate structural and geotechnical systems mainly in the field of earthquake engineering.

SU2

SU2 is a collection of software tools developed in C++ and Python for the solution of partial differential equations (PDE) and PDE-constrained optimization problems on unstructured meshes. It is particularly used in the fields of aerodynamics and computational fluid dynamics (CFD).

Technog

Technog Professional is a closed source program to perform geotechnical simulations such as landslides, driving piles, slope stability, and civil engineering calculations (masonry and earthquake response), website (broken link).

Technog was successfully used in FreeCAD as a substitute of CalculiX, although the trial version is limited in the number of elements it can handle: Integration of tochnog solver in FreeCAD FEM (forum thread).