2011-09-10 11 views
14

Usando Numpy/Scipy o cualquier otra biblioteca, estoy interesado en resolver problemas de análisis de cuadros 2D y 3D.¿Cuáles son algunas bibliotecas de Python que usan elementos finitos para resolver marcos estructurales de dos y tres dimensiones?

Hasta ahora me encontré con sfepy. Aunque es un paquete FEM totalmente funcional, me preguntaba si hay alguna alternativa.

+0

No sé mucho sobre su problema específico, pero cada vez que necesito hacer algo con código numérico pesado, compruebo lo que Sagemath (http://sagemath.org) usa para resolver el problema. Usan algunas bibliotecas realmente buenas. – liori

Respuesta

12

Según mi leal saber y entender, la biblioteca de elementos finitos de Python más utilizada es FiPy.

Uso esta biblioteca con frecuencia, y la recomiendo encarecidamente. Es un proyecto estable y maduro (la versión estable actual es 2.1.2), actualmente mantenida por su creador, la Biblioteca de Medición de Materiales del Instituto de Gobierno de EE. UU., NIST. La documentación y el (trabajo) sample code son excelentes. También es relativamente (para una biblioteca numérica especializada) simple de instalar; las únicas dependencias son NumPy y PySparse (que también son dependencias de sfePy).

Si ha intentado instalar esta biblioteca en el pasado y ha tenido dificultades, puede volver a intentarlo. La razón por la que digo que es Trillinos (la biblioteca de procesamiento distribuido para FiPy) es ahora un paquete separado (aunque recomendaría usar Trillinos si desea paralelizar cómputos de FiPy)

(Nota: también podría ser útil, esto Sitio: hpfem.org (un sitio mantenido por un consorcio de tres universidades) mantiene una excelente colección de bibliotecas FEM y otros recursos.)

+7

El único problema es que fipy no usa el método de elementos finitos. Utiliza el método de volumen finito. No son para nada lo mismo. – talonmies

+0

@talonmies: mal. FVM y FEM no son técnicas no relacionadas. FVM es solo un * subconjunto * de FEM - si FEM es el género, entonces FVM es una especie dentro de él. Aparte de eso, FVM y FEM son ambas técnicas para discretizar el dominio de interés. – doug

+8

Así es el método de diferencia finita si quieres ser muy general. Pero no dije que no estuvieran relacionados, dije que no eran lo mismo, y que no lo son. Sí, ambos discretizan la forma débil de EPD comunes, pero la forma en que se realiza la discretización es muy diferente. La pregunta original era sobre el análisis de marcos: rigidez directa clásica FEM con elementos de vigas o armaduras y uniones. Ese tipo de análisis no se puede hacer con la FVM. Uso FiPy mucho, pero no es un paquete de elementos finitos, y los métodos utilizados no son de ninguna manera el Método de Elementos Finitos. – talonmies

7

También debe consultar FEniCS.

Cuestiones relacionadas