2011-09-10 16 views
14

Utilizzando Numpy/Scipy o qualsiasi altra libreria, sono interessato a risolvere i problemi di analisi dei fotogrammi 2D e 3D.Quali sono alcune librerie Python che usano elementi finiti per risolvere i frame strutturali bidimensionali e tridimensionali?

Finora mi sono imbattuto in sfepy. Sebbene sia un pacchetto FEM pienamente funzionante, mi chiedevo se ci sono alternative?

+0

Non so molto del tuo problema specifico, ma ogni volta che ho bisogno di fare qualsiasi cosa con un pesante codice numerico, controllo cosa usa Sagemath (http://sagemath.org) per risolvere il problema. Usano alcune librerie davvero buone. – liori

risposta

12

Per quanto ne so, la libreria Python Finite Element più comunemente utilizzata è FiPy.

Uso questa libreria frequentemente e lo consiglio vivamente. È un progetto maturo e stabile (la versione attuale stabile è 2.1.2), attualmente gestita dal suo creatore, la Materials Measurement Library dell'istituto governativo statunitense, NIST. La documentazione e (funzionante) sample code sono eccellenti. È anche relativamente (per una libreria numerica specializzata) semplice da installare; le uniche dipendenze sono NumPy e PySparse (che sono anche dipendenze per sfePy).

Se si è tentato di installare questa libreria in passato e si sono verificati problemi, è consigliabile riprovare. La ragione per cui dico che è Trillinos (la libreria di elaborazione distribuita per FiPy) ora è un pacchetto separato (anche se consiglio di utilizzare Trillinos se vuoi parallelizzare i calcoli FiPy)

(Nota: potresti anche trovare utile, Sito: hpfem.org (un sito gestito da un consorzio di tre università) conserva un'eccellente raccolta di librerie FEM e altre risorse.)

+7

L'unico problema è che fipy non usa il metodo degli elementi finiti. Usa il metodo del volume finito. Non sono affatto la stessa cosa – talonmies

+0

@talonmies: sbagliato. FVM e FEM non sono tecniche non correlate. FVM è solo un * sottoinsieme * di FEM - se FEM è il genere, quindi FVM è una specie al suo interno. A parte questo, FVM e FEM sono entrambe tecniche per discretizzare il dominio di interesse. – doug

+8

Quindi è il metodo della differenza finita se si vuole essere molto generali. Ma non ho detto che non erano indipendenti, ho detto che non erano la stessa cosa, e non lo sono. Sì, entrambi discretizzano la forma debole delle PDE comuni, ma il modo in cui viene eseguita la discretizzazione è molto diverso. La domanda iniziale riguardava l'analisi del telaio: la classica rigidità diretta FEM con elementi a trave o travatura e giunti. Questo tipo di analisi non può essere fatto con la FVM. Uso spesso FiPy da solo, ma non è un modo per un pacchetto di elementi finiti, e i metodi utilizzati non sono in alcun modo il metodo degli elementi finiti. – talonmies

7

Si consiglia di controllare anche FEniCS.

Problemi correlati