11 INTEGER,
PARAMETER :: type_fe_p2 = 1, nw_p2=(type_fe_p2+2)*(type_fe_p2+1)/2, &
12 type_fe_p3 = 2, nw_p3=(type_fe_p3+2)*(type_fe_p3+1)/2
13 REAL(KIND=8),
DIMENSION(:,:),
POINTER :: aij
14 INTEGER,
DIMENSION(nw_p3) :: Cart_FE
15 REAL(KIND=8) :: f1, f2, f3, x, y, delta, one = 1.d0
16 REAL(KIND=8),
DIMENSION(nw_p3) :: xx, yy, xxp, yyp
19 f1(x, y) = one - x - y
23 ALLOCATE(aij(nw_p2,nw_p3))
24 delta = 1.d0/type_fe_p3
26 DO h = 1, type_fe_p3+1
27 DO k = 1, type_fe_p3+2-h
44 aij(1,j) = f1(xx(j),yy(j))
45 aij(2,j) = f2(xx(j),yy(j))
46 aij(3,j) = f3(xx(j),yy(j))
52 INTEGER,
PARAMETER :: type_fe_p2 = 2, nw_p2=(type_fe_p2+2)*(type_fe_p2+1)/2, &
53 type_fe_p3 = 3, nw_p3=(type_fe_p3+2)*(type_fe_p3+1)/2
54 REAL(KIND=8),
DIMENSION(:,:),
POINTER :: aij
55 INTEGER,
DIMENSION(nw_p3) :: Cart_FE
56 REAL(KIND=8) :: f1, f2, f3, f4, f5, f6, x, y, delta, half = 0.5d0, one = 1.d0, two=2.d0, four=4.d0
57 REAL(KIND=8),
DIMENSION(nw_p3) :: xx, yy, xxp, yyp
60 f1(x, y) = (half - x - y) * (one - x - y) * two
61 f2(x, y) = x * (x - half) * two
62 f3(x, y) = y * (y - half) * two
63 f4(x, y) = x * y * four
64 f5(x, y) = y * (one - x - y) * four
65 f6(x, y) = x * (one - x - y) * four
67 ALLOCATE(aij(nw_p2,nw_p3))
68 delta = 1.d0/type_fe_p3
70 DO h = 1, type_fe_p3+1
71 DO k = 1, type_fe_p3+2-h
92 aij(1,j) = f1(xx(j),yy(j))
93 aij(2,j) = f2(xx(j),yy(j))
94 aij(3,j) = f3(xx(j),yy(j))
95 aij(4,j) = f4(xx(j),yy(j))
96 aij(5,j) = f5(xx(j),yy(j))
97 aij(6,j) = f6(xx(j),yy(j))
subroutine, public p2_p3(aij)
subroutine, public p1_p2(aij)