Sempy is a numerical software package designed to solve partial differential equations arising from the analysis of fluid flow and heat transfer. It is written in Python and carries the intuitive syntax of this language. Furthermore, computational meshes can be imported from the Gmsh mesh generator, making Sempy flexible towards handling complex geometries.
Solve the Poisson problem with a simple script:
X = sempy.Space(filename = 'square', n = 4, dim = 2)
A = sempy.operators.Laplacian(X).matrix
f = sempy.Function( X, basis_coeff = 1.0 )
b = sempy.operators.Mass( X ).action_local( f.basis_coeff )
u = sempy.Function( X, basis_coeff = 0.0 )
[v, flag] = sempy.linsolvers.Krylov().solve(A, b, u.glob())
u.basis_coeff = X.mapping_q(v)
Please see http://www.sempy.org for more information.