In [2]:
include("../src/HPFEM.jl");

In [21]:
using Jacobi
using PyPlot

In [22]:
M=5
Q=M+2
#
b1 = HPFEM.Basis1d(M,Q);
#
lagr = HPFEM.Lagrange1d(M);
quad = HPFEM.QuadType(Q);
b2 = HPFEM.Basis1d(lagr, quad);
#;
b3 = HPFEM.SEM1d(M);
#
leg = HPFEM.Legendre1d(M);
b4 = HPFEM.Basis1d(leg, quad);

In [23]:
el1 = HPFEM.Element1d(1, -1.0, 1.0, b1);
el2 = HPFEM.Element1d(1, -1.0, 1.0, b2);
el3 = HPFEM.Element1d(1, -1.0, 1.0, b3);
el4 = HPFEM.Element1d(1, -1.0, 1.0, b4);

In [24]:
M1 = HPFEM.mass_matrix(b1, el1);
M2 = HPFEM.mass_matrix(b2, el2);
M3 = zeros(M,M);
HPFEM.add_mass_matrix!(b3, el3, M3);
M4 = HPFEM.mass_matrix(b4, el4);

In [25]:
round(M1,5);

In [26]:
M2


Out[26]:
5x5 Array{Float64,2}:
  0.0888889   0.0259259  -0.0296296   0.0259259  -0.0111111
  0.0259259   0.483951    0.0691358  -0.0604938   0.0259259
 -0.0296296   0.0691358   0.632099    0.0691358  -0.0296296
  0.0259259  -0.0604938   0.0691358   0.483951    0.0259259
 -0.0111111   0.0259259  -0.0296296   0.0259259   0.0888889

In [31]:
fun(x) = sin(2*pi*x)

Fe = zeros(5)

fe = fun(el2.ξ)
HPFEM.add_rhs!(b2, el2, fe, Fe)

u= M2\Fe
fe


Out[31]:
1-element Array{Any,1}:
 PyObject <matplotlib.lines.Line2D object at 0x7f6a18b563d0>

In [28]:
sum(M2,2)


Out[28]:
5x1 Array{Float64,2}:
 0.1     
 0.544444
 0.711111
 0.544444
 0.1     

In [29]:
round(M4,5)


Out[29]:
6x6 Array{Float64,2}:
  2.0  -0.0       0.0   0.0      -0.0       0.0    
 -0.0   0.66667  -0.0   0.0       0.0      -0.0    
  0.0  -0.0       0.4   0.0      -0.0       0.0    
  0.0   0.0       0.0   0.28571   0.0      -0.0    
 -0.0   0.0      -0.0   0.0       0.22222   0.0    
  0.0  -0.0       0.0  -0.0       0.0       0.18182

In [19]:
sum(M1,2)


Out[19]:
5x1 Array{Float64,2}:
 1.1      
 1.23333  
 0.385714 
 0.0380952
 0.0142857

In [58]:
using Jacobi
using PyPlot

In [59]:
z = zglj(5)
x = linspace(-1,1,101)
for i in 1:3
    plot(x,lagrange(i,x,z),label="\$ l_$i \$")
    legend()
end



In [60]:
quad = HPFEM.QuadType(5)
quad.w


Out[60]:
5-element Array{Float64,1}:
 0.1     
 0.544444
 0.711111
 0.544444
 0.1     

In [61]:
z = zglj(5)
w = wglj(z)
quad.Q


Out[61]:
5

In [62]:
methods(HPFEM.lagrange1d)


LoadError: UndefVarError: lagrange1d not defined
while loading In[62], in expression starting on line 1