Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/getfem/getfem

Mirror of GetFEM repository
https://github.com/getfem/getfem

fem finite-element-analysis finite-element-methods gmsh hacktoberfest hacktoberfest2020 matlab mechanical-engineering octave python science scientific-computing scilab simulation vtk

Last synced: 3 days ago
JSON representation

Mirror of GetFEM repository

Awesome Lists containing this project

README

        

GetFEM is an open source library based on collaborative development.
It aims to offer the most flexible framework for solving potentially coupled
systems of linear and nonlinear partial differential equations with the finite
element method. GetFEM is interfaced
with some script languages (Python, Octave, Scilab and Matlab) so that almost
all of the functionalities can be used just writing scripts. It works in
arbitrary dimension and allow to couple 1D, 2D and 3D problems. The strong
points of GetFEM can be summarized as follows:

A weak form language (in terms of operators) that allows to translate quite
arbitrary weak formulations. A symbolic derivation that allows to
automatically obtain the tangent system for nonlinear problems. A compilation
of assembly terms into optimized basic instructions.

A model description that gather the variables, data and terms of a problem
and some predefined bricks representing classical models : elasticity in
small and large deformations, Helmholtz problem, scalar elliptic problem,
Dirichlet, contact and Neumann boundary conditions, incompressibility
constraint, ...

A complete separation between geometric transformation, finite element
method, integration methods and partial differential term description, which
allows to easily switch from a method to another.

A large set of predefined methods :
isoparametric/subparametric/overparametric elements, Pk on simplices of
arbitrary degree and dimension, Qk on parallelepipeds, pyramidal elements,
P1, P2 with bubble functions, Hermite elements, Argyris element, HCT and FVS,
elements with hierarchical basis (for multigrid methods for instance),
discontinuous Pk and Qk, vector elements (RT0, Nedelec) ...

A large set of predefined integration methods.
Structural mechanics terms (elasticity, contact with friction, plasticity ...)
Level-set and finite element cut by one or several level-set (Xfem)

Computation of terms between two meshes with an arbitrary transformation:
this is a very powerful tool of the generic assembly that allows to use a
parameterized transformation. The derivative of the transformation with
respect to the potential dependance in the variables is taken into account.
Possible use : contact problems, fluid-structure interaction, special
boundary conditions ...

Post-processing directly with Scilab, Octave or Matlab interfaces or with
the export of vtk or gmsh files. Many possibility to interpolate arbitrary
quantities, make slices, projections ...

GetFEM can be used to construct very generic finite element codes, where
finite element methods, integration methods and the dimension of the problem
are the parameters that can be changed very easily. This allows a wide range
of experiments. Many examples and demos are provided.

GetFEM has only an experimental meshing procedure (and produces regular meshes).
It is therefore often necessary to import meshes. The formats currently
supported are GID, GMSH, EMC2 and ANSYS.

Please read INSTALL and see the site https://getfem.org/