1
// This code conforms with the UFC specification version 2.0.0
2
// and was automatically generated by FFC version 0.9.10.
1
// This code conforms with the UFC specification version 2.0.2
2
// and was automatically generated by FFC version 1.0-beta+.
4
4
// This code was generated with the following parameters:
711
711
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
713
713
// Declare helper variables.
720
714
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
721
715
double tmp1 = (1.0 - Y)/2.0;
722
716
double tmp2 = tmp1*tmp1;
724
718
// Compute basisvalues.
725
719
basisvalues[0] = 1.0;
726
720
basisvalues[1] = tmp0;
727
for (unsigned int r = 1; r < 2; r++)
729
rr = (r + 1)*((r + 1) + 1)/2;
731
tt = (r - 1)*((r - 1) + 1)/2;
732
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
733
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
734
}// end loop over 'r'
735
for (unsigned int r = 0; r < 2; r++)
737
rr = (r + 1)*(r + 1 + 1)/2 + 1;
739
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
740
}// end loop over 'r'
741
for (unsigned int r = 0; r < 1; r++)
743
for (unsigned int s = 1; s < 2 - r; s++)
745
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
746
ss = (r + s)*(r + s + 1)/2 + s;
747
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
748
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
749
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
750
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
751
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
752
}// end loop over 's'
753
}// end loop over 'r'
754
for (unsigned int r = 0; r < 3; r++)
756
for (unsigned int s = 0; s < 3 - r; s++)
758
rr = (r + s)*(r + s + 1)/2 + s;
759
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
760
}// end loop over 's'
761
}// end loop over 'r'
721
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
722
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
723
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
724
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
725
basisvalues[0] *= std::sqrt(0.5);
726
basisvalues[2] *= std::sqrt(1.0);
727
basisvalues[5] *= std::sqrt(1.5);
728
basisvalues[1] *= std::sqrt(3.0);
729
basisvalues[4] *= std::sqrt(4.5);
730
basisvalues[3] *= std::sqrt(7.5);
763
732
// Table(s) of coefficients.
764
733
static const double coefficients0[6] = \
778
747
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
780
749
// Declare helper variables.
787
750
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
788
751
double tmp1 = (1.0 - Y)/2.0;
789
752
double tmp2 = tmp1*tmp1;
791
754
// Compute basisvalues.
792
755
basisvalues[0] = 1.0;
793
756
basisvalues[1] = tmp0;
794
for (unsigned int r = 1; r < 2; r++)
796
rr = (r + 1)*((r + 1) + 1)/2;
798
tt = (r - 1)*((r - 1) + 1)/2;
799
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
800
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
801
}// end loop over 'r'
802
for (unsigned int r = 0; r < 2; r++)
804
rr = (r + 1)*(r + 1 + 1)/2 + 1;
806
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
807
}// end loop over 'r'
808
for (unsigned int r = 0; r < 1; r++)
810
for (unsigned int s = 1; s < 2 - r; s++)
812
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
813
ss = (r + s)*(r + s + 1)/2 + s;
814
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
815
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
816
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
817
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
818
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
819
}// end loop over 's'
820
}// end loop over 'r'
821
for (unsigned int r = 0; r < 3; r++)
823
for (unsigned int s = 0; s < 3 - r; s++)
825
rr = (r + s)*(r + s + 1)/2 + s;
826
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
827
}// end loop over 's'
828
}// end loop over 'r'
757
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
758
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
759
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
760
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
761
basisvalues[0] *= std::sqrt(0.5);
762
basisvalues[2] *= std::sqrt(1.0);
763
basisvalues[5] *= std::sqrt(1.5);
764
basisvalues[1] *= std::sqrt(3.0);
765
basisvalues[4] *= std::sqrt(4.5);
766
basisvalues[3] *= std::sqrt(7.5);
830
768
// Table(s) of coefficients.
831
769
static const double coefficients0[6] = \
845
783
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
847
785
// Declare helper variables.
854
786
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
855
787
double tmp1 = (1.0 - Y)/2.0;
856
788
double tmp2 = tmp1*tmp1;
858
790
// Compute basisvalues.
859
791
basisvalues[0] = 1.0;
860
792
basisvalues[1] = tmp0;
861
for (unsigned int r = 1; r < 2; r++)
863
rr = (r + 1)*((r + 1) + 1)/2;
865
tt = (r - 1)*((r - 1) + 1)/2;
866
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
867
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
868
}// end loop over 'r'
869
for (unsigned int r = 0; r < 2; r++)
871
rr = (r + 1)*(r + 1 + 1)/2 + 1;
873
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
874
}// end loop over 'r'
875
for (unsigned int r = 0; r < 1; r++)
877
for (unsigned int s = 1; s < 2 - r; s++)
879
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
880
ss = (r + s)*(r + s + 1)/2 + s;
881
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
882
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
883
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
884
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
885
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
886
}// end loop over 's'
887
}// end loop over 'r'
888
for (unsigned int r = 0; r < 3; r++)
890
for (unsigned int s = 0; s < 3 - r; s++)
892
rr = (r + s)*(r + s + 1)/2 + s;
893
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
894
}// end loop over 's'
895
}// end loop over 'r'
793
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
794
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
795
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
796
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
797
basisvalues[0] *= std::sqrt(0.5);
798
basisvalues[2] *= std::sqrt(1.0);
799
basisvalues[5] *= std::sqrt(1.5);
800
basisvalues[1] *= std::sqrt(3.0);
801
basisvalues[4] *= std::sqrt(4.5);
802
basisvalues[3] *= std::sqrt(7.5);
897
804
// Table(s) of coefficients.
898
805
static const double coefficients0[6] = \
912
819
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
914
821
// Declare helper variables.
921
822
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
922
823
double tmp1 = (1.0 - Y)/2.0;
923
824
double tmp2 = tmp1*tmp1;
925
826
// Compute basisvalues.
926
827
basisvalues[0] = 1.0;
927
828
basisvalues[1] = tmp0;
928
for (unsigned int r = 1; r < 2; r++)
930
rr = (r + 1)*((r + 1) + 1)/2;
932
tt = (r - 1)*((r - 1) + 1)/2;
933
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
934
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
935
}// end loop over 'r'
936
for (unsigned int r = 0; r < 2; r++)
938
rr = (r + 1)*(r + 1 + 1)/2 + 1;
940
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
941
}// end loop over 'r'
942
for (unsigned int r = 0; r < 1; r++)
944
for (unsigned int s = 1; s < 2 - r; s++)
946
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
947
ss = (r + s)*(r + s + 1)/2 + s;
948
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
949
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
950
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
951
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
952
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
953
}// end loop over 's'
954
}// end loop over 'r'
955
for (unsigned int r = 0; r < 3; r++)
957
for (unsigned int s = 0; s < 3 - r; s++)
959
rr = (r + s)*(r + s + 1)/2 + s;
960
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
961
}// end loop over 's'
962
}// end loop over 'r'
829
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
830
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
831
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
832
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
833
basisvalues[0] *= std::sqrt(0.5);
834
basisvalues[2] *= std::sqrt(1.0);
835
basisvalues[5] *= std::sqrt(1.5);
836
basisvalues[1] *= std::sqrt(3.0);
837
basisvalues[4] *= std::sqrt(4.5);
838
basisvalues[3] *= std::sqrt(7.5);
964
840
// Table(s) of coefficients.
965
841
static const double coefficients0[6] = \
979
855
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
981
857
// Declare helper variables.
988
858
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
989
859
double tmp1 = (1.0 - Y)/2.0;
990
860
double tmp2 = tmp1*tmp1;
992
862
// Compute basisvalues.
993
863
basisvalues[0] = 1.0;
994
864
basisvalues[1] = tmp0;
995
for (unsigned int r = 1; r < 2; r++)
997
rr = (r + 1)*((r + 1) + 1)/2;
999
tt = (r - 1)*((r - 1) + 1)/2;
1000
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1001
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1002
}// end loop over 'r'
1003
for (unsigned int r = 0; r < 2; r++)
1005
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1007
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1008
}// end loop over 'r'
1009
for (unsigned int r = 0; r < 1; r++)
1011
for (unsigned int s = 1; s < 2 - r; s++)
1013
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1014
ss = (r + s)*(r + s + 1)/2 + s;
1015
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1016
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1017
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1018
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1019
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1020
}// end loop over 's'
1021
}// end loop over 'r'
1022
for (unsigned int r = 0; r < 3; r++)
1024
for (unsigned int s = 0; s < 3 - r; s++)
1026
rr = (r + s)*(r + s + 1)/2 + s;
1027
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1028
}// end loop over 's'
1029
}// end loop over 'r'
865
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
866
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
867
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
868
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
869
basisvalues[0] *= std::sqrt(0.5);
870
basisvalues[2] *= std::sqrt(1.0);
871
basisvalues[5] *= std::sqrt(1.5);
872
basisvalues[1] *= std::sqrt(3.0);
873
basisvalues[4] *= std::sqrt(4.5);
874
basisvalues[3] *= std::sqrt(7.5);
1031
876
// Table(s) of coefficients.
1032
877
static const double coefficients0[6] = \
1046
891
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1048
893
// Declare helper variables.
1049
unsigned int rr = 0;
1050
unsigned int ss = 0;
1051
unsigned int tt = 0;
1055
894
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1056
895
double tmp1 = (1.0 - Y)/2.0;
1057
896
double tmp2 = tmp1*tmp1;
1059
898
// Compute basisvalues.
1060
899
basisvalues[0] = 1.0;
1061
900
basisvalues[1] = tmp0;
1062
for (unsigned int r = 1; r < 2; r++)
1064
rr = (r + 1)*((r + 1) + 1)/2;
1066
tt = (r - 1)*((r - 1) + 1)/2;
1067
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1068
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1069
}// end loop over 'r'
1070
for (unsigned int r = 0; r < 2; r++)
1072
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1074
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1075
}// end loop over 'r'
1076
for (unsigned int r = 0; r < 1; r++)
1078
for (unsigned int s = 1; s < 2 - r; s++)
1080
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1081
ss = (r + s)*(r + s + 1)/2 + s;
1082
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1083
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1084
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1085
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1086
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1087
}// end loop over 's'
1088
}// end loop over 'r'
1089
for (unsigned int r = 0; r < 3; r++)
1091
for (unsigned int s = 0; s < 3 - r; s++)
1093
rr = (r + s)*(r + s + 1)/2 + s;
1094
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1095
}// end loop over 's'
1096
}// end loop over 'r'
901
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
902
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
903
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
904
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
905
basisvalues[0] *= std::sqrt(0.5);
906
basisvalues[2] *= std::sqrt(1.0);
907
basisvalues[5] *= std::sqrt(1.5);
908
basisvalues[1] *= std::sqrt(3.0);
909
basisvalues[4] *= std::sqrt(4.5);
910
basisvalues[3] *= std::sqrt(7.5);
1098
912
// Table(s) of coefficients.
1099
913
static const double coefficients0[6] = \
1232
1046
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1234
1048
// Declare helper variables.
1235
unsigned int rr = 0;
1236
unsigned int ss = 0;
1237
unsigned int tt = 0;
1241
1049
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1242
1050
double tmp1 = (1.0 - Y)/2.0;
1243
1051
double tmp2 = tmp1*tmp1;
1245
1053
// Compute basisvalues.
1246
1054
basisvalues[0] = 1.0;
1247
1055
basisvalues[1] = tmp0;
1248
for (unsigned int r = 1; r < 2; r++)
1250
rr = (r + 1)*((r + 1) + 1)/2;
1252
tt = (r - 1)*((r - 1) + 1)/2;
1253
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1254
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1255
}// end loop over 'r'
1256
for (unsigned int r = 0; r < 2; r++)
1258
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1260
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1261
}// end loop over 'r'
1262
for (unsigned int r = 0; r < 1; r++)
1264
for (unsigned int s = 1; s < 2 - r; s++)
1266
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1267
ss = (r + s)*(r + s + 1)/2 + s;
1268
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1269
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1270
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1271
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1272
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1273
}// end loop over 's'
1274
}// end loop over 'r'
1275
for (unsigned int r = 0; r < 3; r++)
1277
for (unsigned int s = 0; s < 3 - r; s++)
1279
rr = (r + s)*(r + s + 1)/2 + s;
1280
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1281
}// end loop over 's'
1282
}// end loop over 'r'
1056
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1057
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1058
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1059
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1060
basisvalues[0] *= std::sqrt(0.5);
1061
basisvalues[2] *= std::sqrt(1.0);
1062
basisvalues[5] *= std::sqrt(1.5);
1063
basisvalues[1] *= std::sqrt(3.0);
1064
basisvalues[4] *= std::sqrt(4.5);
1065
basisvalues[3] *= std::sqrt(7.5);
1284
1067
// Table(s) of coefficients.
1285
1068
static const double coefficients0[6] = \
1429
1212
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1431
1214
// Declare helper variables.
1432
unsigned int rr = 0;
1433
unsigned int ss = 0;
1434
unsigned int tt = 0;
1438
1215
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1439
1216
double tmp1 = (1.0 - Y)/2.0;
1440
1217
double tmp2 = tmp1*tmp1;
1442
1219
// Compute basisvalues.
1443
1220
basisvalues[0] = 1.0;
1444
1221
basisvalues[1] = tmp0;
1445
for (unsigned int r = 1; r < 2; r++)
1447
rr = (r + 1)*((r + 1) + 1)/2;
1449
tt = (r - 1)*((r - 1) + 1)/2;
1450
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1451
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1452
}// end loop over 'r'
1453
for (unsigned int r = 0; r < 2; r++)
1455
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1457
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1458
}// end loop over 'r'
1459
for (unsigned int r = 0; r < 1; r++)
1461
for (unsigned int s = 1; s < 2 - r; s++)
1463
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1464
ss = (r + s)*(r + s + 1)/2 + s;
1465
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1466
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1467
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1468
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1469
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1470
}// end loop over 's'
1471
}// end loop over 'r'
1472
for (unsigned int r = 0; r < 3; r++)
1474
for (unsigned int s = 0; s < 3 - r; s++)
1476
rr = (r + s)*(r + s + 1)/2 + s;
1477
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1478
}// end loop over 's'
1479
}// end loop over 'r'
1222
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1223
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1224
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1225
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1226
basisvalues[0] *= std::sqrt(0.5);
1227
basisvalues[2] *= std::sqrt(1.0);
1228
basisvalues[5] *= std::sqrt(1.5);
1229
basisvalues[1] *= std::sqrt(3.0);
1230
basisvalues[4] *= std::sqrt(4.5);
1231
basisvalues[3] *= std::sqrt(7.5);
1481
1233
// Table(s) of coefficients.
1482
1234
static const double coefficients0[6] = \
1626
1378
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1628
1380
// Declare helper variables.
1629
unsigned int rr = 0;
1630
unsigned int ss = 0;
1631
unsigned int tt = 0;
1635
1381
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1636
1382
double tmp1 = (1.0 - Y)/2.0;
1637
1383
double tmp2 = tmp1*tmp1;
1639
1385
// Compute basisvalues.
1640
1386
basisvalues[0] = 1.0;
1641
1387
basisvalues[1] = tmp0;
1642
for (unsigned int r = 1; r < 2; r++)
1644
rr = (r + 1)*((r + 1) + 1)/2;
1646
tt = (r - 1)*((r - 1) + 1)/2;
1647
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1648
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1649
}// end loop over 'r'
1650
for (unsigned int r = 0; r < 2; r++)
1652
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1654
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1655
}// end loop over 'r'
1656
for (unsigned int r = 0; r < 1; r++)
1658
for (unsigned int s = 1; s < 2 - r; s++)
1660
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1661
ss = (r + s)*(r + s + 1)/2 + s;
1662
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1663
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1664
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1665
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1666
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1667
}// end loop over 's'
1668
}// end loop over 'r'
1669
for (unsigned int r = 0; r < 3; r++)
1671
for (unsigned int s = 0; s < 3 - r; s++)
1673
rr = (r + s)*(r + s + 1)/2 + s;
1674
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1675
}// end loop over 's'
1676
}// end loop over 'r'
1388
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1389
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1390
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1391
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1392
basisvalues[0] *= std::sqrt(0.5);
1393
basisvalues[2] *= std::sqrt(1.0);
1394
basisvalues[5] *= std::sqrt(1.5);
1395
basisvalues[1] *= std::sqrt(3.0);
1396
basisvalues[4] *= std::sqrt(4.5);
1397
basisvalues[3] *= std::sqrt(7.5);
1678
1399
// Table(s) of coefficients.
1679
1400
static const double coefficients0[6] = \
1823
1544
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
1825
1546
// Declare helper variables.
1826
unsigned int rr = 0;
1827
unsigned int ss = 0;
1828
unsigned int tt = 0;
1832
1547
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
1833
1548
double tmp1 = (1.0 - Y)/2.0;
1834
1549
double tmp2 = tmp1*tmp1;
1836
1551
// Compute basisvalues.
1837
1552
basisvalues[0] = 1.0;
1838
1553
basisvalues[1] = tmp0;
1839
for (unsigned int r = 1; r < 2; r++)
1841
rr = (r + 1)*((r + 1) + 1)/2;
1843
tt = (r - 1)*((r - 1) + 1)/2;
1844
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
1845
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
1846
}// end loop over 'r'
1847
for (unsigned int r = 0; r < 2; r++)
1849
rr = (r + 1)*(r + 1 + 1)/2 + 1;
1851
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
1852
}// end loop over 'r'
1853
for (unsigned int r = 0; r < 1; r++)
1855
for (unsigned int s = 1; s < 2 - r; s++)
1857
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
1858
ss = (r + s)*(r + s + 1)/2 + s;
1859
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
1860
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
1861
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1862
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
1863
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
1864
}// end loop over 's'
1865
}// end loop over 'r'
1866
for (unsigned int r = 0; r < 3; r++)
1868
for (unsigned int s = 0; s < 3 - r; s++)
1870
rr = (r + s)*(r + s + 1)/2 + s;
1871
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
1872
}// end loop over 's'
1873
}// end loop over 'r'
1554
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1555
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1556
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1557
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1558
basisvalues[0] *= std::sqrt(0.5);
1559
basisvalues[2] *= std::sqrt(1.0);
1560
basisvalues[5] *= std::sqrt(1.5);
1561
basisvalues[1] *= std::sqrt(3.0);
1562
basisvalues[4] *= std::sqrt(4.5);
1563
basisvalues[3] *= std::sqrt(7.5);
1875
1565
// Table(s) of coefficients.
1876
1566
static const double coefficients0[6] = \
2020
1710
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2022
1712
// Declare helper variables.
2023
unsigned int rr = 0;
2024
unsigned int ss = 0;
2025
unsigned int tt = 0;
2029
1713
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2030
1714
double tmp1 = (1.0 - Y)/2.0;
2031
1715
double tmp2 = tmp1*tmp1;
2033
1717
// Compute basisvalues.
2034
1718
basisvalues[0] = 1.0;
2035
1719
basisvalues[1] = tmp0;
2036
for (unsigned int r = 1; r < 2; r++)
2038
rr = (r + 1)*((r + 1) + 1)/2;
2040
tt = (r - 1)*((r - 1) + 1)/2;
2041
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2042
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2043
}// end loop over 'r'
2044
for (unsigned int r = 0; r < 2; r++)
2046
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2048
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2049
}// end loop over 'r'
2050
for (unsigned int r = 0; r < 1; r++)
2052
for (unsigned int s = 1; s < 2 - r; s++)
2054
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2055
ss = (r + s)*(r + s + 1)/2 + s;
2056
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2057
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2058
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2059
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2060
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2061
}// end loop over 's'
2062
}// end loop over 'r'
2063
for (unsigned int r = 0; r < 3; r++)
2065
for (unsigned int s = 0; s < 3 - r; s++)
2067
rr = (r + s)*(r + s + 1)/2 + s;
2068
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2069
}// end loop over 's'
2070
}// end loop over 'r'
1720
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1721
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1722
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1723
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1724
basisvalues[0] *= std::sqrt(0.5);
1725
basisvalues[2] *= std::sqrt(1.0);
1726
basisvalues[5] *= std::sqrt(1.5);
1727
basisvalues[1] *= std::sqrt(3.0);
1728
basisvalues[4] *= std::sqrt(4.5);
1729
basisvalues[3] *= std::sqrt(7.5);
2072
1731
// Table(s) of coefficients.
2073
1732
static const double coefficients0[6] = \
2217
1876
double basisvalues[6] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
2219
1878
// Declare helper variables.
2220
unsigned int rr = 0;
2221
unsigned int ss = 0;
2222
unsigned int tt = 0;
2226
1879
double tmp0 = (1.0 + Y + 2.0*X)/2.0;
2227
1880
double tmp1 = (1.0 - Y)/2.0;
2228
1881
double tmp2 = tmp1*tmp1;
2230
1883
// Compute basisvalues.
2231
1884
basisvalues[0] = 1.0;
2232
1885
basisvalues[1] = tmp0;
2233
for (unsigned int r = 1; r < 2; r++)
2235
rr = (r + 1)*((r + 1) + 1)/2;
2237
tt = (r - 1)*((r - 1) + 1)/2;
2238
tmp5 = (1.0 + 2.0*r)/(1.0 + r);
2239
basisvalues[rr] = (basisvalues[ss]*tmp0*tmp5 - basisvalues[tt]*tmp2*r/(1.0 + r));
2240
}// end loop over 'r'
2241
for (unsigned int r = 0; r < 2; r++)
2243
rr = (r + 1)*(r + 1 + 1)/2 + 1;
2245
basisvalues[rr] = basisvalues[ss]*(0.5 + r + Y*(1.5 + r));
2246
}// end loop over 'r'
2247
for (unsigned int r = 0; r < 1; r++)
2249
for (unsigned int s = 1; s < 2 - r; s++)
2251
rr = (r + s + 1)*(r + s + 1 + 1)/2 + s + 1;
2252
ss = (r + s)*(r + s + 1)/2 + s;
2253
tt = (r + s - 1)*(r + s - 1 + 1)/2 + s - 1;
2254
tmp5 = (2.0 + 2.0*r + 2.0*s)*(3.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + s)*(2.0 + s + 2.0*r));
2255
tmp6 = (1.0 + 4.0*r*r + 4.0*r)*(2.0 + 2.0*r + 2.0*s)/(2.0*(1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2256
tmp7 = (1.0 + s + 2.0*r)*(3.0 + 2.0*r + 2.0*s)*s/((1.0 + 2.0*r + 2.0*s)*(1.0 + s)*(2.0 + s + 2.0*r));
2257
basisvalues[rr] = (basisvalues[ss]*(tmp6 + Y*tmp5) - basisvalues[tt]*tmp7);
2258
}// end loop over 's'
2259
}// end loop over 'r'
2260
for (unsigned int r = 0; r < 3; r++)
2262
for (unsigned int s = 0; s < 3 - r; s++)
2264
rr = (r + s)*(r + s + 1)/2 + s;
2265
basisvalues[rr] *= std::sqrt((0.5 + r)*(1.0 + r + s));
2266
}// end loop over 's'
2267
}// end loop over 'r'
1886
basisvalues[3] = basisvalues[1]*1.5*tmp0 - basisvalues[0]*0.5*tmp2;
1887
basisvalues[2] = basisvalues[0]*(0.5 + 1.5*Y);
1888
basisvalues[4] = basisvalues[1]*(1.5 + 2.5*Y);
1889
basisvalues[5] = basisvalues[2]*(0.11111111 + Y*1.6666667) - basisvalues[0]*0.55555556;
1890
basisvalues[0] *= std::sqrt(0.5);
1891
basisvalues[2] *= std::sqrt(1.0);
1892
basisvalues[5] *= std::sqrt(1.5);
1893
basisvalues[1] *= std::sqrt(3.0);
1894
basisvalues[4] *= std::sqrt(4.5);
1895
basisvalues[3] *= std::sqrt(7.5);
2269
1897
// Table(s) of coefficients.
2270
1898
static const double coefficients0[6] = \