7void q_0_nodes_3d(Eigen::MatrixXd &res) {
8 res.resize(1, 3); res <<
12void q_1_nodes_3d(Eigen::MatrixXd &res) {
13 res.resize(8, 3); res <<
24void q_2_nodes_3d(Eigen::MatrixXd &res) {
25 res.resize(27, 3); res <<
521.0/2.0, 1.0/2.0, 1.0/2.0;
55void q_3_nodes_3d(Eigen::MatrixXd &res) {
56 res.resize(64, 3); res <<
1131.0/3.0, 1.0/3.0, 1.0/3.0,
1141.0/3.0, 1.0/3.0, 2.0/3.0,
1151.0/3.0, 2.0/3.0, 1.0/3.0,
1161.0/3.0, 2.0/3.0, 2.0/3.0,
1172.0/3.0, 1.0/3.0, 1.0/3.0,
1182.0/3.0, 1.0/3.0, 2.0/3.0,
1192.0/3.0, 2.0/3.0, 1.0/3.0,
1202.0/3.0, 2.0/3.0, 2.0/3.0;
123void q_m2_nodes_3d(Eigen::MatrixXd &res) {
124 res.resize(20, 3); res <<
151 case 0: q_0_nodes_3d(
val);
break;
152 case 1: q_1_nodes_3d(
val);
break;
153 case 2: q_2_nodes_3d(
val);
break;
154 case 3: q_3_nodes_3d(
val);
break;
155 case -2: q_m2_nodes_3d(
val);
break;
156 default: assert(
false);
void q_nodes_3d(const int q, Eigen::MatrixXd &val)