FEM Solver/it: Difference between revisions

From FreeCAD Documentation
(Created page with "== Solver implementati come ambienti esterni ==")
(Updating to match new version of source page)
(47 intermediate revisions by one other user not shown)
Line 2: Line 2:
== Prefazione ==
== Prefazione ==
Questa pagina raccoglie le informazioni sui risolutori di elementi finiti utilizzati dall'ambiente [[FEM Workbench|FEM]]. L'interfaccia tra un solutore e FreeCAD in pre-elaborazione e post-elaborazione viene eseguita tramite file di testo. Ciò significa che in teoria qualsiasi solutore che può essere configurato e controllato tramite un file di testo è in grado di lavorare con FreeCAD; affinché questa comunicazione funzioni devono essere programmati un parser e uno scrittore appropriati dei file di input e di output.
Questa pagina raccoglie le informazioni sui risolutori di elementi finiti utilizzati dall'ambiente [[FEM Workbench|FEM]]. L'interfaccia tra un solutore e FreeCAD in pre-elaborazione e post-elaborazione viene eseguita tramite file di testo. Ciò significa che in teoria qualsiasi solutore che può essere configurato e controllato tramite un file di testo è in grado di lavorare con FreeCAD; affinché questa comunicazione funzioni devono essere programmati un parser e uno scrittore appropriati dei file di input e di output.

<div class="mw-translate-fuzzy">
Wikipedia [https://en.wikipedia.org/wiki/List_of_finite_element_software_packages elenca molti pacchetti software ad elementi finiti] che potenzialmente potrebbero funzionare con FreeCAD in futuro.
</div>



=== Risolutori disponibili in varie distribuzioni Linux ===
=== Risolutori disponibili in varie distribuzioni Linux ===
Line 24: Line 29:


Vedere le informazioni:
Vedere le informazioni:
* [https://en.z88.de/z88os/ Main website], [https://en.z88.de/download-z88os/ download page], [https://github.com/LSCAD/Z88OS source code repository] (and precompiled binaries).
* [https://en.z88.de/z88os/ Main website], [https://en.z88.de/download-z88os/ download page], [https://github.com/LSCAD/Z88OS source code repository] (e binari precompilati).
* Release notes: [https://forum.z88.de/viewtopic.php?f=18&t=885 Z88os V15 released 17.07.2017], [https://forum.z88.de/viewtopic.php?t=90 Z88os V13 released 20.05.2009] (version in Debian Jessie 8, Stretch 9, Buster 10).
* Note di rilascio: [https://forum.z88.de/viewtopic.php?f=18&t=885 Z88os V15 released 17.07.2017], [https://forum.z88.de/viewtopic.php?t=90 Z88os V13 released 20.05.2009] (version in Debian Jessie 8, Stretch 9, Buster 10).
* [https://forum.freecadweb.org/viewtopic.php?t=23318 Come usare Z88 in FEM?] (forum thread).
* [https://forum.freecadweb.org/viewtopic.php?t=23318 Come usare Z88 in FEM?] (forum thread).


Ci sono due versioni, Z88OS è l'edizione open source, mentre Z88Aurora è freeware e include un'interfaccia grafica e metodi di soluzione aggiuntivi.
Ci sono due versioni, Z88OS è l'edizione open source, mentre Z88Aurora è freeware e include un'interfaccia grafica e dei metodi di soluzione aggiuntivi.


== Solver implementati come ambienti esterni ==
== Solver implementati come ambienti esterni ==


These solvers aren't integrated into the [[FEM Workbench]], which means they need a separate interface to set up a simulation project. This is achieved through [[macros]] or [[external workbenches|external workbenches]].
Questi solutori non sono integrati nell'ambiente [[FEM Workbench/it|FEM]], il che significa che hanno bisogno di un'interfaccia separata per impostare un progetto di simulazione. Ciò si ottiene attraverso le [[macros/it|macro]] o gli [[external workbenches/it|ambienti esterni]].


=== OpenFoam ===
=== OpenFoam ===


[https://openfoam.org/ OpenFoam] is a powerful framework for [https://en.wikipedia.org/wiki/Computational_fluid_dynamics computational fluid dynamics] (CFD) simulation, distributed as a series of C++ libraries.
[https://openfoam.org/ OpenFoam] è un potente framework per la simulazione [https://en.wikipedia.org/wiki/Computational_fluid_dynamics fluidodinamica computazionale] (CFD), distribuito come una serie di librerie C++.


OpenFoam is available in FreeCAD through two external workbenches:
OpenFoam è disponibile in FreeCAD attraverso due ambienti esterni:
* [https://github.com/qingfengxia/Cfd Cfd], originally by Qingfeng Xia.
* [https://github.com/qingfengxia/Cfd Cfd], originario di Qingfeng Xia.
* [https://github.com/jaheyns/CfdOF CfdOF], a fork of Cfd focusing on ease of use.
* [https://github.com/jaheyns/CfdOF CfdOF], una biforcazione di Cfd che è finalizzata alla facilità d'uso.


While Cfd is intended to be feature-complete for advanced users, CfdOF focuses on users that are just starting in the world of CFD and OpenFoam.
Mentre Cfd è concepito come funzionalità completa per utenti avanzati, CfdOF è pensato per gli utenti che stanno iniziando con CFD e OpenFoam.


For Cfd: [https://forum.freecadweb.org/viewtopic.php?f=18&t=13699 update on FreeCAD + OpenFOAM fluid dynamic computation] (forum thread), [https://forum.freecadweb.org/viewtopic.php?f=37&t=22993 Progress of the general Computational Fluid Dynamics (CFD) workbench: CfdWorkbench] (old thread).
Per Cfd: [https://forum.freecadweb.org/viewtopic.php?f=18&t=13699 update on FreeCAD + OpenFOAM fluid dynamic computation] (forum thread), [https://forum.freecadweb.org/viewtopic.php?f=37&t=22993 Progress of the general Computational Fluid Dynamics (CFD) workbench: CfdWorkbench] (old thread).


For CfdOF: [https://forum.freecadweb.org/viewtopic.php?f=18&t=21576 Computational Fluid Dynamics (CFD) workbench using OpenFOAM] (forum thread), [http://opensim.co.za/training.html training material].
Per CfdOF: [https://forum.freecadweb.org/viewtopic.php?f=18&t=21576 Computational Fluid Dynamics (CFD) workbench using OpenFOAM] (forum thread), [http://opensim.co.za/training.html training material].


Both workbenches can be installed through the [[AddonManager]], and both have a place for discussion in the [https://forum.freecadweb.org/viewforum.php?f=37 CfdOF / CFD subforum].
Entrambi gli ambienti possono essere installati tramite [[AddonManager/it|Addon manager]], ed entrambi hanno un posto per la discussione nel subforum [https://forum.freecadweb.org/viewforum.php?f=37 CfdOF / CFD].


=== DualSPHysics ===
=== DualSPHysics ===


[https://dual.sphysics.org/ DualSPHysics] is a set of C++, CUDA, and Java libraries that use the [https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics smoothed particle hydrodynamics] (SPH) model named [https://wiki.manchester.ac.uk/sphysics/index.php/Main_Page SPHysics] to study free-surface flow phenomena such as crashing waves.
[https://dual.sphysics.org/ DualSPHysics] è un set di librerie C++, CUDA, e Java che usa il modello [https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics idrodinamica a particelle levigate] (SPH) denominato [https://wiki.manchester.ac.uk/sphysics/index.php/Main_Page SPHysics] per studiare i fenomeni di flusso a superficie libera come le onde che si infrangono.


DesignSPHysics is an external workbench built into FreeCAD that provides a graphical user interface for DualSPHysics: [https://design.sphysics.org/ main website], [https://github.com/dualsphysics/DesignSPHysics code repository], [https://forum.freecadweb.org/viewtopic.php?f=18&t=20595 Interesting project: DesignSPHysics fluid simulator] (forum thread).
DesignSPHysics è un ambiente esterno integrato in FreeCAD che fornisce un'interfaccia utente grafica per DualSPHysics: [https://design.sphysics.org/ main website], [https://github.com/dualsphysics/DesignSPHysics code repository], [https://forum.freecadweb.org/viewtopic.php?f=18&t=20595 Interesting project: DesignSPHysics fluid simulator] (discussione nel forum).


DesignSPHysics can be installed through the [[AddonManager]].
DesignSPHysics può essere installato tramite [[AddonManager/it|Addon manager]].


=== FastHenry and FasterCap ===
=== FastHenry e FasterCap ===


FastHenry and FasterCap are inductance-resistance and capacitance field solvers developed by FastFieldSolvers: [https://www.fastfieldsolvers.com/default.asp main website], [https://www.fastfieldsolvers.com/download.htm download page] (binary and source code), [https://www.fastfieldsolvers.com/forum/ forum].
FastHenry e FasterCap sono risolutori di campi di capacità e induttanza-resistenza sviluppati da FastFieldSolvers: [https://www.fastfieldsolvers.com/default.asp main website], [https://www.fastfieldsolvers.com/download.htm download page] (binary and source code), [https://www.fastfieldsolvers.com/forum/ forum].


The [[EM Workbench|EM Workbench]] is an external workbench that was created to serve as the front-end for these electromagnetic solvers. FastHenry, for 3D magneto-quasistatic impedance analysis, is fully supported, while FasterCap is accessible through some Python macros.
[[EM Workbench/it|EM]] è un ambiente di lavoro esterno che è stato creato per servire da front-end per questi risolutori elettromagnetici. FastHenry è completamente supportato per l'analisi di impedenza magneto-quasistatica 3D, mentre FasterCap è accessibile attraverso alcune macro Python.


See: [https://forum.freecadweb.org/viewtopic.php?f=9&t=33372 ElectroMagnetic Workbench] (main thread), [https://forum.freecadweb.org/viewtopic.php?f=18&t=31920 Electromagnetic Workbench - again..], [https://forum.freecadweb.org/viewtopic.php?f=18&t=5400 FreeCAD for ElectroMagnetics], [https://github.com/ediloren/EM-Workbench-for-FreeCAD code repository] for the workbench.
Vedere: [https://forum.freecadweb.org/viewtopic.php?f=9&t=33372 ElectroMagnetic Workbench] (discussione principale), [https://forum.freecadweb.org/viewtopic.php?f=18&t=31920 Electromagnetic Workbench - again..], [https://forum.freecadweb.org/viewtopic.php?f=18&t=5400 FreeCAD for ElectroMagnetics], [https://github.com/ediloren/EM-Workbench-for-FreeCAD repository del codice] per l'ambiente.


The EM Workbench can be installed through the [[AddonManager]].
EM può essere installato tramite [[AddonManager/it|Addon manager]].


=== fcFEM ===
=== fcFEM ===


fcFEM is a finite element solver for structural and mechanical studies, implemented in Python, and which can be run directly from FreeCAD without calling external binary solvers. Therefore, it can be considered FreeCAD's own internal solver.
fcFEM è un risolutore di elementi finiti per studi strutturali e meccanici, implementato in Python e che può essere eseguito direttamente da FreeCAD senza chiamare solutori binari esterni. Pertanto, può essere considerato il risolutore interno di FreeCAD.


fcFEM è stato progettato per superare alcune limitazioni di altri solutori, come CalculiX, al fine di eseguire vari studi di ingegneria strutturale.
fcFEM was designed to overcome certain limitations from other solvers, such as CalculiX, in order to perform various structural engineering studies.


Alcuni dei problemi che dovrebbero essere risolti da questo risolutore includono
Some of the problems that are intended to be overcome by this solver include
* Mixed mesh analyses (solid-shell) for dealing with composite columns or prefabricated architectural components: [https://forum.freecadweb.org/viewtopic.php?f=18&t=21029&p=216682&hilit=sandwich#p216682 FEM object types].
* Analisi di mesh miste (solidi-shell) per la gestione di colonne composite o componenti architettonici prefabbricati: [https://forum.freecadweb.org/viewtopic.php?f=18&t=21029&p=216682&hilit=sandwich#p216682 FEM object types].
* Improved beam and shell elements, as CalculiX's beam elements seem to give wrong results: [https://forum.freecadweb.org/viewtopic.php?f=18&t=27903&hilit=beam#p226038 CalculiX 3-node Beam Element], [https://forum.freecadweb.org/viewtopic.php?f=18&t=21029&start=100 FEM object types], [https://forum.freecadweb.org/viewtopic.php?f=18&t=16044 Example for 1D analysis].
* Elementi travi e lastre migliorati, poiché gli elementi trave di CalculiX sembrano dare risultati errati: [https://forum.freecadweb.org/viewtopic.php?f=18&t=27903&hilit=beam#p226038 CalculiX 3-node Beam Element], [https://forum.freecadweb.org/viewtopic.php?f=18&t=21029&start=100 FEM object types], [https://forum.freecadweb.org/viewtopic.php?f=18&t=16044 Example for 1D analysis].
* Arc-length control for overcoming limit points for elastic-plastic collapse analysis: [https://forum.freecadweb.org/viewtopic.php?f=24&t=26921&hilit=riks#p215325 FEM - Tubular Connection with Shell Elements].
* Controllo della lunghezza dell'arco per superare i punti limite per l'analisi del collasso elasto-plastico: [https://forum.freecadweb.org/viewtopic.php?f=24&t=26921&hilit=riks#p215325 FEM - Tubular Connection with Shell Elements].
* Zero-thickness interface elements for various applications, like post-tensioned concrete with friction: [https://forum.freecadweb.org/viewtopic.php?f=18&t=30286&hilit=classical&start=20#p259636 pre-stressed pre/post-tensioned concrete bridge].
* Elementi di interfaccia a spessore zero per varie applicazioni, come il calcestruzzo post-tensionato con attrito: [https://forum.freecadweb.org/viewtopic.php?f=18&t=30286&hilit=classical&start=20#p259636 pre-stressed pre/post-tensioned concrete bridge].


The author considers FreeCAD a good prototyping platform to quickly set up, test, and visualize different structural problems, so having an integrated yet flexible solver is very helpful. See the main thread, [https://forum.freecadweb.org/viewtopic.php?f=18&t=33974 fcFEM - FEA from start to finish].
L'autore considera FreeCAD una buona piattaforma di prototipazione per configurare, testare e visualizzare rapidamente diversi problemi strutturali, quindi avere un solutore integrato ma flessibile è molto utile. Vedere la discussione principale, [https://forum.freecadweb.org/viewtopic.php?f=18&t=33974 fcFEM - FEA from start to finish].


fcFEM is packaged as a python library and a macro, and can be downloaded from the [https://github.com/HarryvL/fcFEM github repository]. It will eventually be available from the [[AddonManager]], or will be distributed as part of FreeCAD itself.
fcFEM è impacchettato come una libreria python e una macro e può essere scaricato dal [https://github.com/HarryvL/fcFEM github repository]. Alla fine sarà disponibile dal [[AddonManager/it|Addon manager]], o sarà distribuito come parte di FreeCAD stesso.


== Implementation in progress ==
== Implementazioni in corso ==
=== FEniCS ===
=== FEniCS ===


FEniCS è un framework di calcolo per la risoluzione di equazioni differenziali alle derivate parziali (PDE), con interfacce di programmazione di alto livello in Python e C++. Può essere usato per stabilire problemi scientifici nelle formulazioni di elementi finiti che possono essere risolti numericamente.
FEniCS is a computing framework for solving partial differential equations (PDEs), with high-level programming interfaces in Python and C++. It can be used to establish scientific problems in finite element formulations that then can be solved numerically.


See: [https://fenicsproject.org/ main website], [https://forum.freecadweb.org/viewtopic.php?f=18&t=4677 Fenics as Solver] (forum thread).
Vedere: [https://fenicsproject.org/ main website], [https://forum.freecadweb.org/viewtopic.php?f=18&t=4677 Fenics as Solver] (forum thread).


[https://github.com/qingfengxia/FenicsSolver FenicsSolver] is a simulation platform to deal with multi-body, multi-physics (coupled), multi-scale problems. It hopes to integrate the FEniCS solver into both the [[FEM Workbench]] and the Cfd [[external workbenches|external workbench]], so the resulting system functions like a free alternative to Comsol or Moose. FenicsSolver is being developed by the same author of Cfd.
[https://github.com/qingfengxia/FenicsSolver FenicsSolver] è una piattaforma di simulazione per affrontare problemi multi-corpo, multi-fisica (accoppiati) e multi-scala. Si spera di integrare il solutore FEniCS sia in [[FEM Workbench/it|FEM]] che nell'[[external workbenches/it|ambiente esterno]] Cfd , quindi il sistema risultante funziona come un'alternativa gratuita a Comsol o Moose. FenicsSolver è sviluppato dallo stesso autore di Cfd.


=== OOFEM ===
=== OOFEM ===
[http://www.oofem.org/ OOFEM] is an object oriented FEM program by the Czech Technical University, for solving mechanical, transport and fluid mechanics problems.
[http://www.oofem.org/ OOFEM] è un programma FEM orientato agli oggetti realizzato dall'Università Tecnica Ceca, per risolvere problemi meccanici, di trasporto e di meccanica dei fluidi.

It was mentioned as having some advantages over CalculiX, like interface elements ([https://forum.freecadweb.org/viewtopic.php?f=18&t=30286&start=20#p260275 pre-stressed pre/post-tensioned concrete bridge]), and arc-length control for elastic-plastic collapse analysis ([https://forum.freecadweb.org/viewtopic.php?f=24&t=26921&hilit=Arc#p215325 FEM - Tubular Connection with Shell Elements]).


Preliminary integration into the FEM Workbench has been done. See: [https://forum.freecadweb.org/viewtopic.php?f=18&t=31288 OOFem] (main thread), [https://forum.freecadweb.org/viewtopic.php?t=15568&start=20#p126338 test request, multiple solvers].
È stato detto che presenta alcuni vantaggi rispetto a CalculiX, come gli elementi dell'interfaccia ([https://forum.freecadweb.org/viewtopic.php?f=18&t=30286&start=20#p260275 pre-stressed pre/post-tensioned concrete bridge]), e controllo della lunghezza dell'arco per l'analisi del collasso elasto-plastico ([https://forum.freecadweb.org/viewtopic.php?f=24&t=26921&hilit=Arc#p215325 FEM - Tubular Connection with Shell Elements]).


L'integrazione preliminare in FEM è stata eseguita. Vedere: [https://forum.freecadweb.org/viewtopic.php?f=18&t=31288 OOFem] (main thread), [https://forum.freecadweb.org/viewtopic.php?t=15568&start=20#p126338 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 [https://github.com/berndhahnebach/FreeCAD_bhb/tree/femoofem/src/Mod/Fem/ forked FreeCAD branch].


Fino a quando l'integrazione del solutore non viene completata e il nuovo codice non viene unito al repository principale di FreeCAD, i file necessari per l'utilizzo del solutore in FEM possono essere scaricati da [https://github.com/berndhahnebach/FreeCAD_bhb/tree/femoofem/src/Mod/Fem/ forked FreeCAD branch].
== Solvers not integrated ==


== Solutori non integrati ==
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 [https://forum.freecadweb.org/viewforum.php?f=18 FEM subforum] for advice and assistance.


I seguenti solutori non sono stati integrati in FreeCAD ma hanno suscitato un certo interesse da parte della comunità degli utenti. Se uno sviluppatore desidera creare un ponte di comunicazione per un determinato risolutore, deve fare riferimento al [https://forum.freecadweb.org/viewforum.php?f=18 subforum FEM] per consigli e assistenza.
The following articles may be outdated, but the information they contain may still be useful to understand how to integrate solvers into FreeCAD
* [[Extend FEM Module]]
* [[Add FEM Equation Tutorial]]
* [[Add FEM Constraint Tutorial]]


I seguenti articoli potrebbero essere obsoleti, ma le informazioni che contengono potrebbero comunque essere utili per capire come integrare i solutori in FreeCAD
Wikipedia [https://en.wikipedia.org/wiki/List_of_finite_element_software_packages lists many finite element software packages] that potentially could be made to work with FreeCAD in the future.
* [[Extend FEM Module/it|Extend FEM Module/it]]
* [[Add FEM Equation Tutorial/it|Tutorial Aggiungere equazioni FEM]]
* [[Add FEM Constraint Tutorial/it|Tutorial Aggiungere vincoli FEM]]


=== Agros2D and Hermes ===
=== Agros2D e Hermes ===
[http://www.agros2d.org/ Agros2D] is a multiplatform graphical program designed for solving different physical problems. Internally it uses the [http://www.hpfem.org/hermes/ 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 [https://en.wikipedia.org/wiki/Hp-FEM (hp-FEM)]. Main code [https://github.com/hpfem/hermes repository], and [https://github.com/hpfem/hermes-tutorial tutorials].
[http://www.agros2d.org/ Agros2D] è un programma grafico multipiattaforma progettato per risolvere diversi problemi fisici. Internamente utilizza le librerie C++ [http://www.hpfem.org/hermes/ Hermes] per la soluzione di sistemi di equazioni alle derivate parziali non lineari (PDE) semplici e complessi dipendenti dal tempo che utilizzano una versione generale del metodo degli elementi finiti [https://en.wikipedia.org/wiki/Hp-FEM (hp-FEM)]. Codice principale [https://github.com/hpfem/hermes repository], e [https://github.com/hpfem/hermes-tutorial tutorials].


=== Code-Aster and Code-Saturne ===
=== Code-Aster e Code-Saturne ===
[https://www.code-aster.org/ 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: [https://forum.freecadweb.org/viewtopic.php?t=2839 FreeCAD and Code-Aster/Salome-Meca] (forum thread).
[https://www.code-aster.org/ Code-Aster] è un solutore multiphysics open source; insieme al pre-processore Salomé-Meca formano una piattaforma di simulazione sviluppata da EDF-GDF, la più grande compagnia energetica francese. Era un primo pacchetto considerato per l'inclusione in FreeCAD: [https://forum.freecadweb.org/viewtopic.php?t=2839 FreeCAD and Code-Aster/Salome-Meca] (discussione nel forum).


[https://www.code-saturne.org/cms/ Code-Saturne] is a free, open-source software developed and released by EDF to solve computational fluid dynamics (CFD).
[https://www.code-saturne.org/cms/ Code-Saturne] è un software open source gratuito sviluppato e rilasciato da EDF per risolvere la fluidodinamica computazionale (CFD).


=== FElt ===
=== FElt ===
[http://felt.sourceforge.net/ FElt] is a finite element package to solve linear static and dynamic structural analysis problems. The [https://sourceforge.net/projects/felt/ original code] is outdated, so it was forked to a [https://github.com/Sudhanshu-Dubey14/felt new repository] to revive the project and make it compile in a modern system.
[http://felt.sourceforge.net/ FElt] è un pacchetto di elementi finiti per risolvere problemi di analisi strutturale lineare statica e dinamica. Il [https://sourceforge.net/projects/felt/ codice originale] è obsoleto, quindi è stato biforcato in un [https://github.com/Sudhanshu-Dubey14/felt nuovo repository] per far rivivere il progetto e renderlo compilabile in un sistema moderno.


It was suggested in the forums to perform reinforced concrete frames analysis (beam and column assemblies) using 1D beam elements: [https://forum.freecadweb.org/viewtopic.php?f=18&t=17061&start=20#p268503 Automation in Design], [https://forum.freecadweb.org/viewtopic.php?f=18&t=33463 Felt in FEM Workbench].
Nei forum è stato suggerito di eseguire l'analisi dei rinforzi del cemento armato (assemblaggi di travi e colonne) utilizzando elementi trave 1D: [https://forum.freecadweb.org/viewtopic.php?f=18&t=17061&start=20#p268503 Automation in Design], [https://forum.freecadweb.org/viewtopic.php?f=18&t=33463 Felt in FEM Workbench].


=== Frame3DD ===
=== Frame3DD ===


[http://frame3dd.sourceforge.net/ Frame3DD] is a software package for static and dynamic structural analysis of 2D and 3D frames and trusses, [https://github.com/pslack/frame3dd main repository]. A preliminary reader for input files was announced in the forums:
[http://frame3dd.sourceforge.net/ Frame3DD] è un pacchetto software per l'analisi strutturale statica e dinamica di strutture 2D e 3D, [https://github.com/pslack/frame3dd repository principale]. Un lettore preliminare per i file di input è stato annunciato nei forum:
[https://forum.freecadweb.org/viewtopic.php?f=24&t=19428 Test read data from Frame3DD file.]
[https://forum.freecadweb.org/viewtopic.php?f=24&t=19428 Test read data from Frame3DD file.]


Line 135: Line 138:


=== libMesh ===
=== libMesh ===
[https://libmesh.github.io/ 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: [https://github.com/libMesh/libmesh code repository].
[https://libmesh.github.io/ libMesh] è una libreria di elementi finiti C++ per la soluzione numerica di equazioni alle derivate parziali, con l'obiettivo principale di fornire supporto per calcoli di affinamento reticolare adattivo (AMR) in parallelo: [https://github.com/libMesh/libmesh code repository].


It was suggested to integrate this library into FreeCAD as part of a [[Google Summer of Code]] [https://forum.freecadweb.org/viewtopic.php?f=8&t=35493 project].
È stato suggerito di integrare questa libreria in FreeCAD come parte di un [https://forum.freecadweb.org/viewtopic.php?f=8&t=35493 progetto] [[Google Summer of Code]].


=== Modelica ===
=== Modelica ===
[https://www.modelica.org/ 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 [https://openmodelica.org/ OpenModelica] and [https://jmodelica.org/ JModelica].
[https://www.modelica.org/ Modelica] è un linguaggio per modellare e ottimizzare sistemi fisici complessi e interconnessi, ad esempio meccanici, elettrici, termici, idraulici e altri. Il linguaggio stesso e le sue librerie standard sono open source. Alcuni ambienti di simulazione basati su Modelica, come Catia's Dymola, sono proprietari, ma ci sono anche implementazioni free come [https://openmodelica.org/ OpenModelica] and [https://jmodelica.org/ 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: [https://forum.freecadweb.org/viewtopic.php?f=18&t=32556 Modelica] (forum thread).
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: [https://forum.freecadweb.org/viewtopic.php?f=18&t=32556 Modelica] (forum thread).
Line 171: Line 174:
[http://www.xcengineering.xyz/ XC] is a FEA program designed to solve structural problems in civil engineering like real beam shell analysis. Internally it uses the OpenSees libraries: [https://github.com/xcfem/xc main repository], [https://forum.freecadweb.org/viewtopic.php?f=18&t=31262 XC, opensource structural engineering FEM code] (forum thread).
[http://www.xcengineering.xyz/ XC] is a FEA program designed to solve structural problems in civil engineering like real beam shell analysis. Internally it uses the OpenSees libraries: [https://github.com/xcfem/xc main repository], [https://forum.freecadweb.org/viewtopic.php?f=18&t=31262 XC, opensource structural engineering FEM code] (forum thread).


{{FEM Tools navi}}
{{FEM Tools navi/it}}
{{Userdocnavi}}
{{Userdocnavi/it}}

Revision as of 21:22, 16 June 2019

Prefazione

Questa pagina raccoglie le informazioni sui risolutori di elementi finiti utilizzati dall'ambiente FEM. L'interfaccia tra un solutore e FreeCAD in pre-elaborazione e post-elaborazione viene eseguita tramite file di testo. Ciò significa che in teoria qualsiasi solutore che può essere configurato e controllato tramite un file di testo è in grado di lavorare con FreeCAD; affinché questa comunicazione funzioni devono essere programmati un parser e uno scrittore appropriati dei file di input e di output.

Wikipedia elenca molti pacchetti software ad elementi finiti che potenzialmente potrebbero funzionare con FreeCAD in futuro.


Risolutori disponibili in varie distribuzioni Linux

Il repository FreeCAD-dependencies tiene traccia delle dipendenze di FreeCAD su molte distribuzioni Linux. La pagina FEM.md esamina i risolutori FEA open source che potrebbero essere utilizzati con FEM. La pagina mostra la versione di un particolare solutore nel repository di una particolare distribuzione Linux. Questa informazione è utile per sapere se un risolutore è aggiornato o non lo è e deve essere aggiornato.

Le informazioni sono anche discusse nel forum: supported and not supported Solver.

Solver con un'interfaccia in FreeCAD

Questi solutori sono ben integrati in FreeCAD, il che significa che è possibile impostare ed eseguire un progetto di simulazione dall'interfaccia grafica e dai pulsanti nell'ambiente FEM.

CalculiX

Questo è il primo solutore che è stato integrato per funzionare con FEM. CalculiX è progettato principalmente per analisi statiche, termomeccaniche e modali. Ulteriori informazioni su questo risolutore sono disponibili in FEM CalculiX.

Elmer

Il solutore multifisico Elmer è stato integrato in FreeCAD come progetto di Google Summer of Code 2017: main website, community portal, code repository, Elmer Integration (GSoC) - Activity Log (discussione nel forum).

Z88

Il solutore Z88 è progettato per simulazioni statiche lineari con particolare attenzione all'insegnamento del metodo degli elementi finiti. È stato il secondo risolutore ad essere integrato in FreeCAD. Successivamente, l'integrazione è stata migliorata come progetto Google Summer of Code 2017.

Vedere le informazioni:

Ci sono due versioni, Z88OS è l'edizione open source, mentre Z88Aurora è freeware e include un'interfaccia grafica e dei metodi di soluzione aggiuntivi.

Solver implementati come ambienti esterni

Questi solutori non sono integrati nell'ambiente FEM, il che significa che hanno bisogno di un'interfaccia separata per impostare un progetto di simulazione. Ciò si ottiene attraverso le macro o gli ambienti esterni.

OpenFoam

OpenFoam è un potente framework per la simulazione fluidodinamica computazionale (CFD), distribuito come una serie di librerie C++.

OpenFoam è disponibile in FreeCAD attraverso due ambienti esterni:

  • Cfd, originario di Qingfeng Xia.
  • CfdOF, una biforcazione di Cfd che è finalizzata alla facilità d'uso.

Mentre Cfd è concepito come funzionalità completa per utenti avanzati, CfdOF è pensato per gli utenti che stanno iniziando con CFD e OpenFoam.

Per Cfd: update on FreeCAD + OpenFOAM fluid dynamic computation (forum thread), Progress of the general Computational Fluid Dynamics (CFD) workbench: CfdWorkbench (old thread).

Per CfdOF: Computational Fluid Dynamics (CFD) workbench using OpenFOAM (forum thread), training material.

Entrambi gli ambienti possono essere installati tramite Addon manager, ed entrambi hanno un posto per la discussione nel subforum CfdOF / CFD.

DualSPHysics

DualSPHysics è un set di librerie C++, CUDA, e Java che usa il modello idrodinamica a particelle levigate (SPH) denominato SPHysics per studiare i fenomeni di flusso a superficie libera come le onde che si infrangono.

DesignSPHysics è un ambiente esterno integrato in FreeCAD che fornisce un'interfaccia utente grafica per DualSPHysics: main website, code repository, Interesting project: DesignSPHysics fluid simulator (discussione nel forum).

DesignSPHysics può essere installato tramite Addon manager.

FastHenry e FasterCap

FastHenry e FasterCap sono risolutori di campi di capacità e induttanza-resistenza sviluppati da FastFieldSolvers: main website, download page (binary and source code), forum.

EM è un ambiente di lavoro esterno che è stato creato per servire da front-end per questi risolutori elettromagnetici. FastHenry è completamente supportato per l'analisi di impedenza magneto-quasistatica 3D, mentre FasterCap è accessibile attraverso alcune macro Python.

Vedere: ElectroMagnetic Workbench (discussione principale), Electromagnetic Workbench - again.., FreeCAD for ElectroMagnetics, repository del codice per l'ambiente.

EM può essere installato tramite Addon manager.

fcFEM

fcFEM è un risolutore di elementi finiti per studi strutturali e meccanici, implementato in Python e che può essere eseguito direttamente da FreeCAD senza chiamare solutori binari esterni. Pertanto, può essere considerato il risolutore interno di FreeCAD.

fcFEM è stato progettato per superare alcune limitazioni di altri solutori, come CalculiX, al fine di eseguire vari studi di ingegneria strutturale.

Alcuni dei problemi che dovrebbero essere risolti da questo risolutore includono

L'autore considera FreeCAD una buona piattaforma di prototipazione per configurare, testare e visualizzare rapidamente diversi problemi strutturali, quindi avere un solutore integrato ma flessibile è molto utile. Vedere la discussione principale, fcFEM - FEA from start to finish.

fcFEM è impacchettato come una libreria python e una macro e può essere scaricato dal github repository. Alla fine sarà disponibile dal Addon manager, o sarà distribuito come parte di FreeCAD stesso.

Implementazioni in corso

FEniCS

FEniCS è un framework di calcolo per la risoluzione di equazioni differenziali alle derivate parziali (PDE), con interfacce di programmazione di alto livello in Python e C++. Può essere usato per stabilire problemi scientifici nelle formulazioni di elementi finiti che possono essere risolti numericamente.

Vedere: main website, Fenics as Solver (forum thread).

FenicsSolver è una piattaforma di simulazione per affrontare problemi multi-corpo, multi-fisica (accoppiati) e multi-scala. Si spera di integrare il solutore FEniCS sia in FEM che nell'ambiente esterno Cfd , quindi il sistema risultante funziona come un'alternativa gratuita a Comsol o Moose. FenicsSolver è sviluppato dallo stesso autore di Cfd.

OOFEM

OOFEM è un programma FEM orientato agli oggetti realizzato dall'Università Tecnica Ceca, per risolvere problemi meccanici, di trasporto e di meccanica dei fluidi.

È stato detto che presenta alcuni vantaggi rispetto a CalculiX, come gli elementi dell'interfaccia (pre-stressed pre/post-tensioned concrete bridge), e controllo della lunghezza dell'arco per l'analisi del collasso elasto-plastico (FEM - Tubular Connection with Shell Elements).

L'integrazione preliminare in FEM è stata eseguita. Vedere: OOFem (main thread), test request, multiple solvers.

Fino a quando l'integrazione del solutore non viene completata e il nuovo codice non viene unito al repository principale di FreeCAD, i file necessari per l'utilizzo del solutore in FEM possono essere scaricati da forked FreeCAD branch.

Solutori non integrati

I seguenti solutori non sono stati integrati in FreeCAD ma hanno suscitato un certo interesse da parte della comunità degli utenti. Se uno sviluppatore desidera creare un ponte di comunicazione per un determinato risolutore, deve fare riferimento al subforum FEM per consigli e assistenza.

I seguenti articoli potrebbero essere obsoleti, ma le informazioni che contengono potrebbero comunque essere utili per capire come integrare i solutori in FreeCAD

Agros2D e Hermes

Agros2D è un programma grafico multipiattaforma progettato per risolvere diversi problemi fisici. Internamente utilizza le librerie C++ Hermes per la soluzione di sistemi di equazioni alle derivate parziali non lineari (PDE) semplici e complessi dipendenti dal tempo che utilizzano una versione generale del metodo degli elementi finiti (hp-FEM). Codice principale repository, e tutorials.

Code-Aster e Code-Saturne

Code-Aster è un solutore multiphysics open source; insieme al pre-processore Salomé-Meca formano una piattaforma di simulazione sviluppata da EDF-GDF, la più grande compagnia energetica francese. Era un primo pacchetto considerato per l'inclusione in FreeCAD: FreeCAD and Code-Aster/Salome-Meca (discussione nel forum).

Code-Saturne è un software open source gratuito sviluppato e rilasciato da EDF per risolvere la fluidodinamica computazionale (CFD).

FElt

FElt è un pacchetto di elementi finiti per risolvere problemi di analisi strutturale lineare statica e dinamica. Il codice originale è obsoleto, quindi è stato biforcato in un nuovo repository per far rivivere il progetto e renderlo compilabile in un sistema moderno.

Nei forum è stato suggerito di eseguire l'analisi dei rinforzi del cemento armato (assemblaggi di travi e colonne) utilizzando elementi trave 1D: Automation in Design, Felt in FEM Workbench.

Frame3DD

Frame3DD è un pacchetto software per l'analisi strutturale statica e dinamica di strutture 2D e 3D, repository principale. Un lettore preliminare per i file di input è stato annunciato nei forum: Test read data from Frame3DD file.

Impact FEM

libMesh

libMesh è una libreria di elementi finiti C++ per la soluzione numerica di equazioni alle derivate parziali, con l'obiettivo principale di fornire supporto per calcoli di affinamento reticolare adattivo (AMR) in parallelo: code repository.

È stato suggerito di integrare questa libreria in FreeCAD come parte di un progetto Google Summer of Code.

Modelica

Modelica è un linguaggio per modellare e ottimizzare sistemi fisici complessi e interconnessi, ad esempio meccanici, elettrici, termici, idraulici e altri. Il linguaggio stesso e le sue librerie standard sono open source. Alcuni ambienti di simulazione basati su Modelica, come Catia's Dymola, sono proprietari, ma ci sono anche implementazioni free come 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).

XC

XC is a FEA program designed to solve structural problems in civil engineering like real beam shell analysis. Internally it uses the OpenSees libraries: main repository, XC, opensource structural engineering FEM code (forum thread).