44 procedure(fescal),
nopass,
pointer ::
u =>null()
47 procedure(fescalgrad),
nopass,
pointer ::
grad_u =>null()
50 procedure(fescalgrad),
nopass,
pointer :: phi =>null()
53 procedure(fescal),
nopass,
pointer :: div_phi =>null()
66 subroutine fescal(val, n, x, m)
68 real(RP),
dimension(n),
intent(out) :: val
69 real(RP),
dimension(m),
intent(in) :: x
70 integer ,
intent(in) :: n, m
74 subroutine fescalgrad(val, n, x, m)
76 real(RP),
dimension(m,n),
intent(out) :: val
77 real(RP),
dimension(m) ,
intent(in) :: x
78 integer ,
intent(in) :: n, m
79 end subroutine fescalgrad
86 subroutine p1_1d_u(val, n, x, m)
87 real(RP),
dimension(n),
intent(out) :: val
88 real(RP),
dimension(m),
intent(in) :: x
89 integer ,
intent(in) :: n, m
97 subroutine p2_1d_u(val, n, x, m)
98 real(RP),
dimension(n),
intent(out) :: val
99 real(RP),
dimension(m),
intent(in) :: x
100 integer ,
intent(in) :: n, m
102 val(1) = 2._rp * (x(1) - 1._rp )*( x(1) - 0.5_rp )
103 val(2) = 2._rp * x(1) * ( x(1) - 0.5_rp )
104 val(3) =-4._rp * x(1) * (x(1) - 1._rp )
110 subroutine p3_1d_u(val, n, x, m)
111 real(RP),
dimension(n),
intent(out) :: val
112 real(RP),
dimension(m),
intent(in) :: x
113 integer ,
intent(in) :: n, m
115 real(RP) :: z, v2, v3, v4
122 val(1) =-(z-v2)*(z-v3)*(z-v4) * 4.5_rp
123 val(2) = z*(z-v2)*(z-v3) * 4.5_rp
124 val(3) = z*(z-v3)*(z-v4) * 13.5_rp
125 val(4) =-z*(z-v2)*(z-v4) * 13.5_rp
131 subroutine p0_1d_u(val, n, x, m)
132 real(RP),
dimension(n),
intent(out) :: val
133 real(RP),
dimension(m),
intent(in) :: x
134 integer ,
intent(in) :: n, m
141 subroutine p0_2d_u(val, n, x, m)
142 real(RP),
dimension(n),
intent(out) :: val
143 real(RP),
dimension(m),
intent(in) :: x
144 integer ,
intent(in) :: n, m
151 subroutine p1_2d_u(val, n, x, m)
152 real(RP),
dimension(n),
intent(out) :: val
153 real(RP),
dimension(m),
intent(in) :: x
154 integer ,
intent(in) :: n, m
156 val(1) = 1._rp - x(1) - x(2)
165 real(RP),
dimension(n),
intent(out) :: val
166 real(RP),
dimension(m),
intent(in) :: x
167 integer ,
intent(in) :: n, m
169 val(1) =-1.7320508075688774_rp * ( x(1) - 0.788675134594813_rp )
170 val(2) = 1.7320508075688774_rp * ( x(1) - 0.21132486540518702_rp )
176 real(RP),
dimension(n),
intent(out) :: val
177 real(RP),
dimension(m),
intent(in) :: x
178 integer ,
intent(in) :: n, m
180 val(1) =
re(5,3) - 2._rp*x(1) - 2._rp*x(2)
181 val(2) =-
re(1,3) + 2._rp*x(1)
182 val(3) =-
re(1,3) + 2._rp*x(2)
188 subroutine p2_2d_u(val, n, x, m)
189 real(RP),
dimension(n),
intent(out) :: val
190 real(RP),
dimension(m),
intent(in) :: x
191 integer ,
intent(in) :: n, m
195 a = 1._rp - x(1) - x(2)
197 val(1) = a * (1._rp - 2._rp*x(1) - 2._rp*x(2))
198 val(2) = x(1)* ( -1._rp + 2._rp*x(1) )
199 val(3) = x(2)* ( -1._rp + 2._rp*x(2) )
201 val(4) = 4._rp * x(1) * a
202 val(5) = 4._rp * x(1) * x(2)
203 val(6) = 4._rp * x(2) * a
208 subroutine p1_3d_u(val, n, x, m)
209 real(RP),
dimension(n),
intent(out) :: val
210 real(RP),
dimension(m),
intent(in) :: x
211 integer ,
intent(in) :: n, m
213 val(1) = 1._rp - x(1) - x(2) - x(3)
222 subroutine p3_2d_u(val, n, x, m)
223 real(RP),
dimension(n),
intent(out) :: val
224 real(RP),
dimension(m),
intent(in) :: x
225 integer ,
intent(in) :: n, m
227 real(RP) :: a, b, c, d, e, f, g
229 a = x(1) + x(2) - 1._rp/3._rp
230 b = x(1) + x(2) - 2._rp/3._rp
231 c = x(1) + x(2)- 1._rp
232 d = x(1) - 1._rp/3._rp
233 e = x(1) - 2._rp/3._rp
234 f = x(2) - 1._rp/3._rp
235 g = x(2) - 2._rp/3._rp
237 val(1) = -a*b*c*9._rp/2._rp
238 val(2) = x(1)*d*e*9._rp/2._rp
239 val(3) = x(2)*f*g*9._rp/2._rp
240 val(4) = x(1)*b*c*27._rp/2._rp
241 val(5) = -x(1)*d*c*27._rp/2._rp
242 val(6) = x(1)*x(2)*d*27._rp/2._rp
243 val(7) = x(1)*x(2)*f*27._rp/2._rp
244 val(8) = -x(2)*f*c*27._rp/2._rp
245 val(9) = x(2)*b*c*27._rp/2._rp
246 val(10) = -x(1)*x(2)*c*27._rp
252 subroutine p2_3d_u(val, n, x, m)
253 real(RP),
dimension(n),
intent(out) :: val
254 real(RP),
dimension(m),
intent(in) :: x
255 integer ,
intent(in) :: n, m
257 val(1) = 1._rp - 3._rp*x(1) - 3._rp*x(2) - 3._rp*x(3) &
258 & + 2._rp*x(1)**2 + 2._rp*x(2)**2 + 2._rp*x(3)**2 &
259 & + 4._rp*x(2)*x(3) + 4._rp*x(1)*x(3) + 4._rp*x(1)*x(2)
260 val(2) = -1._rp*x(1)+2._rp*x(1)**2
261 val(3) = -1._rp*x(2)+2._rp*x(2)**2
262 val(4) = -1._rp*x(3)+2._rp*x(3)**2
263 val(5) = 4._rp*x(1)-4._rp*x(1)**2-4._rp*x(1)*x(3)-4._rp*x(1)*x(2)
264 val(6) = 4._rp*x(1)*x(2)
265 val(7) = 4._rp*x(2)-4._rp*x(2)**2-4._rp*x(2)*x(3)-4._rp*x(1)*x(2)
266 val(8) = 4._rp*x(3)-4._rp*x(3)**2-4._rp*x(2)*x(3)-4._rp*x(1)*x(3)
267 val(9) = 4._rp*x(1)*x(3)
268 val(10)= 4._rp*x(2)*x(3)
282 real(RP),
dimension(m,n),
intent(out) :: val
283 real(RP),
dimension(m) ,
intent(in) :: x
284 integer ,
intent(in) :: n, m
295 real(RP),
dimension(m,n),
intent(out) :: val
296 real(RP),
dimension(m) ,
intent(in) :: x
297 integer ,
intent(in) :: n, m
299 val(1,1) = 4._rp*x(1) - 3._rp
300 val(1,2) = 4._rp*x(1) - 1._rp
301 val(1,3) =-8._rp*x(1) + 4._rp
308 real(RP),
dimension(m,n),
intent(out) :: val
309 real(RP),
dimension(m) ,
intent(in) :: x
310 integer ,
intent(in) :: n, m
316 val(1,1) = -13.5_rp * z**2 + 18._rp * z - 5.5_rp
317 val(1,2) = 13.5_rp * z**2 - 9._rp * z + 1._rp
318 val(1,3) = 40.5_rp * z**2 - 45._rp * z + 9._rp
319 val(1,4) = -40.5_rp * z**2 + 36._rp * z - 4.5_rp
327 real(RP),
dimension(m,n),
intent(out) :: val
328 real(RP),
dimension(m) ,
intent(in) :: x
329 integer ,
intent(in) :: n, m
331 val(:,1) = (/-1._rp,-1._rp/)
333 val(:,2) = (/ 1._rp, 0._rp/)
335 val(:,3) = (/ 0._rp, 1._rp/)
341 real(RP),
dimension(m,n),
intent(out) :: val
342 real(RP),
dimension(m) ,
intent(in) :: x
343 integer ,
intent(in) :: n, m
348 a = -3._rp + 4._rp*x(1) + 4._rp*x(2)
351 val(:,2) = (/ -1._rp + 4._rp*x(1), 0._rp/)
353 val(:,3) = (/ 0._rp, -1._rp + 4._rp*x(2) /)
355 val(:,4) = (/ 4._rp - 8._rp*x(1) - 4._rp*x(2), -4._rp*x(1) /)
357 val(:,5) = (/ 4._rp*x(2), 4._rp*x(1) /)
359 val(:,6) = (/ -4._rp*x(2), 4._rp - 4._rp*x(1) - 8._rp*x(2)/)
365 real(RP),
dimension(m,n),
intent(out) :: val
366 real(RP),
dimension(m) ,
intent(in) :: x
367 integer ,
intent(in) :: n, m
369 val(:,1) = (/-1._rp,-1._rp,-1._rp/)
371 val(:,2) = (/ 1._rp, 0._rp, 0._rp/)
373 val(:,3) = (/ 0._rp, 1._rp, 0._rp/)
375 val(:,4) = (/ 0._rp, 0._rp, 1._rp/)
383 integer ,
intent(in) :: n, m
384 real(RP),
dimension(m,n),
intent(out) :: val
385 real(RP),
dimension(m) ,
intent(in) :: x
391 val(:,1) = -3._rp + 4._rp * sum(x)
393 val(1,2) = -1._rp + 4._rp * x(1)
395 val(2,3) = -1._rp + 4._rp * x(2)
397 val(3,4) = -1._rp + 4._rp * x(3)
399 a = 4._rp - 8._rp*x(1) - 4._rp*x(2) - 4._rp*x(3)
401 val(:,5) = (/a, b, b/)
403 val(1,6) = 4._rp*x(2)
404 val(2,6) = 4._rp*x(1)
407 b = 4._rp - 4._rp*x(1) - 8._rp*x(2) - 4._rp*x(3)
408 val(:,7) = (/a, b, a/)
411 b = 4._rp - 4._rp*x(1) - 4._rp*x(2) - 8._rp*x(3)
412 val(:,8) = (/a, a, b/)
414 val(1,9) = 4._rp*x(3)
415 val(3,9) = 4._rp*x(1)
417 val(2,10) = 4._rp*x(3)
418 val(3,10) = 4._rp*x(2)
425 real(RP),
dimension(m,n),
intent(out) :: val
426 real(RP),
dimension(m) ,
intent(in) :: x
427 integer ,
intent(in) :: n, m
431 a = -(27._rp/2._rp)*x(1)**2 - 27._rp*x(1)*x(2) + 18._rp*x(1)
432 a = a - (27._rp/2._rp)*x(2)**2 + 18._rp*x(2) - 11._rp/2._rp
435 a = (27._rp/2._rp)*x(1)**2 - 9._rp*x(1) + 1._rp
436 val(:,2) = (/a, 0._rp/)
438 b = (27._rp/2._rp)*x(2)**2 - 9._rp*x(2) + 1._rp
439 val(:,3) = (/0._rp, b/)
441 a = (81._rp/2._rp)*x(1)**2 + 54._rp*x(1)*x(2) - 45._rp*x(1)
442 a = a + (27._rp/2._rp)*x(2)**2 - (45._rp/2._rp)*x(2) + 9._rp
443 b = 27._rp*x(1)**2 + 27._rp*x(1)*x(2) - (45._rp/2._rp)*x(1)
446 a = -(81._rp/2._rp)*x(1)**2 - 27._rp*x(1)*x(2) + 36._rp*x(1) + (9._rp/2._rp)*x(2) - 9._rp/2._rp
447 b = -(9._rp/2._rp)*x(1)*(3._rp*x(1)-1._rp)
450 a = 27._rp*x(1)*x(2)-9._rp*x(2)/2._rp
454 a = (9._rp/2._rp) * x(2) * (3._rp*x(2) - 1._rp)
455 b = 27._rp*x(1)*x(2)-(9._rp/2._rp)*x(1)
459 b = -27._rp*x(1)*x(2)-(81._rp/2._rp)*x(2)**2 + 36._rp*x(2) + 4.5_rp*x(1) - 4.5_rp
462 a = 27._rp*x(1)*x(2) + 27._rp*x(2)**2 - 45._rp*x(2)/2._rp
463 b = 13.5_rp*x(1)**2 + 54._rp*x(1)*x(2) - 22.5_rp*x(1)
464 b= b + 40.5_rp*x(2)**2 - 45._rp*x(2) + 9._rp
467 a = -54._rp*x(1)*x(2) - 27._rp*x(2)**2 + 27._rp*x(2)
468 b = -27._rp*x(1)**2 - 54._rp*x(1)*x(2) + 27._rp*x(1)
482 real(RP),
dimension(m,n),
intent(out) :: val
483 real(RP),
dimension(m) ,
intent(in) :: x
484 integer ,
intent(in) :: n, m
486 val(1,1) = x(1) - 1._rp
495 real(RP),
dimension(m,n),
intent(out) :: val
496 real(RP),
dimension(m) ,
intent(in) :: x
497 integer ,
intent(in) :: n, m
499 val(1,1) = -20._rp*x(1)**3 + 30._rp*x(1)**2 - 9._rp*x(1) - 1._rp
500 val(1,2) = val(1,1) + 1._rp
512 real(RP),
dimension(m,n),
intent(out) :: val
513 real(RP),
dimension(m) ,
intent(in) :: x
514 integer ,
intent(in) :: n, m
516 val(:,1) = x - (/0._rp, 1._rp/)
518 val(:,3) = x - (/1._rp, 0._rp/)
526 real(RP),
dimension(m,n),
intent(out) :: val
527 real(RP),
dimension(m) ,
intent(in) :: x
528 integer ,
intent(in) :: n, m
530 val(1,1) =-2._rp*x(1)**2 + 3._rp*x(1) - 1._rp
531 val(1,2) = 2._rp*x(1)**2 - x(1)
532 val(1,3) =-4._rp*x(1)**2 + 4._rp*x(1)
540 real(RP),
dimension(m,n),
intent(out) :: val
541 real(RP),
dimension(m) ,
intent(in) :: x
542 integer ,
intent(in) :: n, m
544 val(1,1) =-3._rp*x(1)**2 + 4._rp*x(1) - 1._rp
545 val(1,2) = 3._rp*x(1)**2 - 2._rp*x(1)
546 val(1,3) =-6._rp*x(1)**2 + 6._rp*x(1)
553 real(RP),
dimension(m,n),
intent(out) :: val
554 real(RP),
dimension(m) ,
intent(in) :: x
555 integer ,
intent(in) :: n, m
557 val(1,1) = 35._rp*x(1)**4 - 70._rp*x(1)**3 + 40._rp*x(1)**2 - 4._rp*x(1) - 1._rp
558 val(1,2) =-35._rp*x(1)**4 + 70._rp*x(1)**3 - 40._rp*x(1)**2 + 6._rp*x(1)
559 val(1,3) = 7._rp*x(1)**4 - 14._rp*x(1)**3 + 8._rp*x(1)**2 - 1._rp*x(1)
563 val(1,1) = 5._rp*x(1)**3 - 10._rp*x(1)**2 + 6._rp*x(1) - 1._rp
564 val(1,2) = 5._rp*x(1)**3 - 5._rp*x(1)**2 + x(1)
565 val(1,3) =-7._rp*x(1)**4 + 14._rp*x(1)**3 - 8._rp*x(1)**2 + x(1)
573 real(RP),
dimension(m,n),
intent(out) :: val
574 real(RP),
dimension(m) ,
intent(in) :: x
575 integer ,
intent(in) :: n, m
577 val(1,1) = 5._rp*x(1)**3 - 10._rp*x(1)**2 + 6._rp*x(1) - 1._rp
578 val(1,2) = 5._rp*x(1)**3 - 5._rp*x(1)**2 + x(1)
579 val(1,3) = 7._rp*x(1)**4 - 14._rp*x(1)**3 + 9._rp*x(1)**2 - 2._rp* x(1)
586 real(RP),
dimension(m,n),
intent(out) :: val
587 real(RP),
dimension(m) ,
intent(in) :: xx
588 integer ,
intent(in) :: n, m
590 real(RP) :: x, y, q, px, py, s3
596 q = -( s3*x + ( s3 + 3._rp ) / 2._rp * y )
597 px = (1._rp + s3)/2._rp * x
598 py = -(1._rp + s3)/2._rp + s3*x + (2._rp + s3)*y
599 val(1,1) = px + q * x
600 val(2,1) = py + q * y
602 q = ( s3*x + ( s3 - 3._rp ) / 2._rp * y )
603 px = (1._rp - s3)/2._rp * x
604 py = -(1._rp - s3)/2._rp - s3*x + (2._rp - s3)*y
605 val(1,2) = px + q * x
606 val(2,2) = py + q * y
608 q = ( ( 3._rp + s3 )*x + &
609 & ( 3._rp - s3 )*y )/2._rp
612 val(1,3) = px + q * x
613 val(2,3) = py + q * y
615 q = ( ( 3._rp - s3 )*x + &
616 & ( 3._rp + s3 )*y )/2._rp
619 val(1,4) = px + q * x
620 val(2,4) = py + q * y
622 q = ( ( s3 - 3._rp)/2._rp * x + s3 * y )
623 px = (-1._rp + s3)/2._rp + (2._rp - s3)*x - s3*y
624 py = ( 1._rp - s3)/2._rp * y
625 val(1,5) = px + q * x
628 q = -( ( s3 + 3._rp)/2._rp * x + s3 * y )
629 px = (-1._rp - s3)/2._rp + (2._rp + s3)*x + s3*y
630 py = ( 1._rp + s3)/2._rp * y
631 val(1,6) = px + q * x
632 val(2,6) = py + q * y
634 q = - ( 6._rp*x + 3._rp*y )
637 val(1,7) = px + q * x
638 val(2,7) = py + q * y
640 q = - ( 3._rp*x + 6._rp*y )
643 val(1,8) = px + q * x
644 val(2,8) = py + q * y
657 real(RP),
dimension(n),
intent(out) :: val
658 real(RP),
dimension(m),
intent(in) :: x
659 integer ,
intent(in) :: n, m
668 real(RP),
dimension(n),
intent(out) :: val
669 real(RP),
dimension(m),
intent(in) :: x
670 integer ,
intent(in) :: n, m
672 val = -60._rp*x(1)**2 + 60._rp*x(1) - 9._rp
683 real(RP),
dimension(n),
intent(out) :: val
684 real(RP),
dimension(m),
intent(in) :: x
685 integer ,
intent(in) :: n, m
695 real(RP),
dimension(n),
intent(out) :: val
696 real(RP),
dimension(m),
intent(in) :: x
697 integer ,
intent(in) :: n, m
699 val(1) =-4._rp*x(1) + 3._rp
700 val(2) = 4._rp*x(1) - 1._rp
701 val(3) =-8._rp*x(1) + 4._rp
709 real(RP),
dimension(n),
intent(out) :: val
710 real(RP),
dimension(m),
intent(in) :: x
711 integer ,
intent(in) :: n, m
713 val(1) = -6._rp*x(1) + 4._rp
714 val(2) = 6._rp*x(1) - 2._rp
715 val(3) =-12._rp*x(1) + 6._rp
723 real(RP),
dimension(n),
intent(out) :: val
724 real(RP),
dimension(m),
intent(in) :: x
725 integer ,
intent(in) :: n, m
727 val(1) = 140._rp*x(1)**3 - 210._rp*x(1)**2 + 80._rp*x(1) - 4._rp
728 val(2) =-140._rp*x(1)**3 + 210._rp*x(1)**2 - 80._rp*x(1) + 6._rp
729 val(3) = 28._rp*x(1)**3 - 42._rp*x(1)**2 + 16._rp*x(1) - 1._rp
733 val(1) = 15._rp*x(1)**2 - 20._rp*x(1) + 6._rp
734 val(2) = 15._rp*x(1)**2 - 10._rp*x(1) + 1._rp
735 val(3) =-28._rp*x(1)**3 + 42._rp*x(1)**2 - 16._rp*x(1) + 1._rp
743 real(RP),
dimension(n),
intent(out) :: val
744 real(RP),
dimension(m),
intent(in) :: x
745 integer ,
intent(in) :: n, m
747 val(1) = 15._rp*x(1)**2 - 20._rp*x(1) + 6._rp
748 val(2) = 15._rp*x(1)**2 - 10._rp*x(1) + 1._rp
749 val(3) = 28._rp*x(1)**3 - 42._rp*x(1)**2 + 18._rp*x(1) - 2._rp
755 real(RP),
dimension(n),
intent(out) :: val
756 real(RP),
dimension(m),
intent(in) :: xx
757 integer ,
intent(in) :: n, m
765 val(1) = (5._rp+3._rp*s3)/2._rp - 3._rp*s3*x - 1.5_rp*(3._rp+s3)*y
766 val(2) = (5._rp-3._rp*s3)/2._rp + 3._rp*s3*x - 1.5_rp*(3._rp-s3)*y
768 val(3) = -2._rp + 1.5_rp*( (3._rp+s3)*x + (3._rp-s3)*y )
769 val(4) = -2._rp + 1.5_rp*( (3._rp-s3)*x + (3._rp+s3)*y )
771 val(5) = (5._rp-3._rp*s3)/2._rp - 1.5_rp*(3._rp-s3)*x + 3._rp*s3*y
772 val(6) = (5._rp+3._rp*s3)/2._rp - 1.5_rp*(3._rp+s3)*x - 3._rp*s3*y
774 val(7) = 9._rp - 18._rp*x - 9._rp*y
775 val(8) = 9._rp - 9._rp*x - 18._rp*y
subroutine rt0_1d_dual_div_phi(val, n, x, m)
RT0 Dual ref choral/applications/PG_star_1D_poisson/sage/PG2_1D_P1_1.sage.
subroutine rt0_1d_phi(val, n, x, m)
RT0 1D.
DEFINITION OF FINITE ELEMENT BASIS FUNCTIONS
subroutine p1_3d_u(val, n, x, m)
P1_3d.
subroutine p1_2d_disc_ortho_u(val, n, x, m)
P1_2d_disc_ortho.
subroutine rt1_2d_2_div_phi(val, n, xx, m)
RT1_2D.
subroutine rt1_1d_dual_phi(val, n, x, m)
RT1_1D_DUAL ref = applications/PG_star_1D_poisson/sage/PG2_1D_P2_1.sage.
subroutine rt1_1d_div_phi(val, n, x, m)
RT1_1D, considered with the usual basis for the DOFs: f(0), f(1), f(1/2) ref = applications/PG_star_1...
subroutine rt0_2d_div_phi(val, n, x, m)
RT0 2D.
subroutine p2_3d_u(val, n, x, m)
P2_3d.
subroutine p1_1d_u(val, n, x, m)
P1_1d.
subroutine p1_1d_disc_ortho_u(val, n, x, m)
P1_1d_disc_ortho.
subroutine p3_2d_grad_u(val, n, x, m)
P3_2d.
integer, parameter, public rp
real(kind=RP) = real precision in the code REAL_TOL = epsilon to test real equality ...
subroutine rt0_1d_dual_phi(val, n, x, m)
RT0 Dual ref choral/applications/PG_star_1D_poisson/sage/PG2_1D_P1_1.sage.
subroutine rt1_1d_2_dual_div_phi(val, n, x, m)
RT1_1D_2_DUAL ref = applications/PG_star_1D_poisson/sage/PG2_1D_P2_3.sage.
subroutine rt1_2d_2_phi(val, n, xx, m)
RT1_2D.
subroutine p1_1d_grad_u(val, n, x, m)
P1_1d.
conversion integers or rational to real
REAL NUMBERS PRECISION IN CHORAL: selects simple/double/quad
subroutine p2_2d_u(val, n, x, m)
P2_2d.
subroutine p0_2d_u(val, n, x, m)
P0_2d.
subroutine p2_3d_grad_u(val, n, x, m)
P2_3d.
subroutine rt1_1d_phi(val, n, x, m)
RT1_1D, considered with the usual basis for the DOFs: f(0), f(1), f(1/2) ref = applications/PG_star_1...
subroutine p2_1d_grad_u(val, n, x, m)
P2_1d.
subroutine p1_2d_grad_u(val, n, x, m)
P1_2d.
real(rp) function, dimension(3) grad_u(x)
gradient of the exact solution
real(rp) function u(x)
exact solution 'u'
subroutine p0_1d_u(val, n, x, m)
P0_1d.
subroutine p3_2d_u(val, n, x, m)
P3_2d.
subroutine rt1_1d_2_phi(val, n, x, m)
RT1_1D_2, considered with the alternative basis for the DOFs: f(0), f(1), ^1 f(x) dx ref = applicatio...
subroutine p1_2d_u(val, n, x, m)
P1_2d.
subroutine rt0_2d_phi(val, n, x, m)
RT0 2D.
subroutine rt1_1d_2_div_phi(val, n, x, m)
RT1 1D_2, considered with the alternative basis for the DOFs: f(0), f(1), ^1 f(x) dx ref = applicatio...
subroutine p2_2d_grad_u(val, n, x, m)
P2_2d.
subroutine rt1_1d_2_dual_phi(val, n, x, m)
RT1_1D_2_DUAL ref = applications/PG_star_1D_poisson/sage/PG2_1D_P2_3.sage.
subroutine p1_3d_grad_u(val, n, x, m)
P1_3d.
subroutine rt1_1d_dual_div_phi(val, n, x, m)
RT1_1D_DUAL ref = applications/PG_star_1D_poisson/sage/PG2_1D_P2_1.sage.
subroutine rt0_1d_div_phi(val, n, x, m)
RT0 1D.
subroutine p2_1d_u(val, n, x, m)
P2_1d.
Functions associated with a finite element.
subroutine p3_1d_u(val, n, x, m)
P3_1d.
subroutine p3_1d_grad_u(val, n, x, m)
P3_1d.