Welcome to SymPy (Alan Bromborsky)
[sympy.git] / examples / fem_test.py
blob18274ab230509f07bc41719ae674a4d7d0d44691
1 #!/usr/bin/env python
2 import iam_sympy_example
4 """
5 Go to the sympy root directory and execute:
7 $ python examples/fem_test.py
8 [ 1/60, 0, -1/360, 0, -1/90, -1/360]
9 [ 0, 4/45, 0, 2/45, 2/45, -1/90]
10 [-1/360, 0, 1/60, -1/90, 0, -1/360]
11 [ 0, 2/45, -1/90, 4/45, 2/45, 0]
12 [ -1/90, 2/45, 0, 2/45, 4/45, 0]
13 [-1/360, -1/90, -1/360, 0, 0, 1/60]
14 """
16 from fem import *
18 t = ReferenceSimplex(2)
19 fe = Lagrange(2,2)
21 u = 0
22 #compute u = sum_i u_i N_i
23 us = []
24 for i in range(0, fe.nbf()):
25 ui = Symbol("u_%d" % i)
26 us.append(ui)
27 u += ui*fe.N[i]
30 J = zeros(fe.nbf())
31 for i in range(0, fe.nbf()):
32 Fi = u*fe.N[i]
33 for j in range(0, fe.nbf()):
34 uj = us[j]
35 integrands = diff(Fi, uj)
36 J[j,i] = t.integrate(integrands)
39 pprint(J)