Feel++
Finite Element Embedded Library in C++
Feel++ is a C++ library for partial differential equation solves using generalized Galerkin methods such as the finite element method, the h/p finite element method, the spectral element method or the reduced basis method. Feel++ is currently used in various projects hosted by Cemosis.
Variational formulations in C++
Versatile
A large range of numerical methods to solve partial differential equations
Powerful
Support for high performance computing up to thousands of cores
Expressive
A language for variational formulations embedded into C++ for maximal mathematical expressivity
Code example
#include <feel/feel.hpp> int main(int argc, char**argv ) { using namespace Feel; Environment env( _argc=argc, _argv=argv, _about=about(_name="qs_laplacian", _author="Feel++ Consortium", _email="feelpp-devel@feelpp.org")); auto mesh = loadMesh(_mesh=new Mesh<Simplex<2>>); auto Vh = Pch<2>( mesh ); auto u = Vh->element(); auto v = Vh->element(); auto l = form1( _test=Vh ); l = integrate(_range=elements(mesh), _expr=id(v)); auto a = form2( _trial=Vh, _test=Vh); a = integrate(_range=elements(mesh), _expr=gradt(u)*trans(grad(v)) ); a+=on(_range=boundaryfaces(mesh), _rhs=l, _element=u, _expr=cst(0.) ); a.solve(_rhs=l,_solution=u); auto e = exporter( _mesh=mesh ); e->add( "u", u ); e->save(); }
Get the Code and the Books
Cemosis Projects using Feel++
Computational Fluid Mechanics, Computational Solid Mechanics, Control, Electro-Magnetism, Feel++, Fight against climate change, efficient use of resources and raw materials, Heat Transfer, HPC, Labex IRMIA, Large entreprise, Lutte contre le changement climatique, utilisation efficace des ressources et des matières premières, Math-Entreprise, Small and mid-size entreprise, Technology