78 if (!this->geometry || !this->mesh)
return;
80 auto points = this->mesh->getElementMesh();
82 std::vector<typename ActiveRegion2D::Region> regions;
84 for (
size_t r = 0; r < points->vert()->size(); ++r) {
87 for (
size_t c = 0; c < points->tran()->size(); ++c) {
88 auto point = points->at(c, r);
89 size_t num = isActive(point);
92 if (regions.size() >= num && regions[num - 1].warn) {
94 material = this->geometry->getMaterial(points->at(c, r));
95 else if (*material != *this->geometry->getMaterial(points->at(c, r))) {
97 regions[num - 1].warn =
false;
100 regions.resize(
max(regions.size(), num));
101 auto& reg = regions[num - 1];
104 throw Exception(
"{0}: Active region {1} is disjoint", this->getId(), num - 1);
108 else if (reg.rowr <= c)
109 throw Exception(
"{0}: Active region {1} is disjoint", this->getId(), num - 1);
112 if (reg.left > reg.rowl) reg.left = reg.rowl;
115 if (prev && prev != num) {
116 auto& reg = regions[prev - 1];
117 if (reg.bottom < r && reg.rowl >= c)
throw Exception(
"{0}: Active region {1} is disjoint", this->getId(), prev - 1);
119 if (reg.right < reg.rowr) reg.right = reg.rowr;
124 regions[prev - 1].rowr = regions[prev - 1].right = points->tran()->size();
129 for (
auto& reg : regions) {
130 if (reg.bottom == std::numeric_limits<size_t>::max()) {
135 std::vector<double>
QWz;
136 std::vector<std::pair<size_t, size_t>>
QWbt;
137 double QWheight = 0.;
138 std::vector<bool> isQW;
139 isQW.reserve(reg.top - reg.bottom);
140 for (
size_t c = reg.left; c < reg.right; ++c) {
142 for (
size_t r = reg.bottom, j = 0; r < reg.top; ++r, ++j) {
143 auto point = points->at(c, r);
144 auto tags = this->geometry->getRolesAt(point);
149 if (
QWbt.empty() ||
QWbt.back().second != r)
150 QWbt.emplace_back(r, r + 1);
152 QWbt.back().second = r + 1;
153 QWz.push_back(point.c1);
154 QWheight += this->mesh->vert()->at(r + 1) - this->mesh->vert()->at(r);
156 }
else if (isQW[j] !=
QW) {
157 throw Exception(
"{}: Quantum wells in active region {} are not identical", this->getId(),
act);
161 material = this->geometry->getMaterial(point);
162 else if (*material != *this->geometry->getMaterial(point)) {
163 throw Exception(
"{}: Quantum wells in active region {} are not identical", this->getId(),
act);
169 throw Exception(
"{}: Active region {} does not contain quantum wells", this->getId(),
act);
172 std::piecewise_construct, std::forward_as_tuple(
act),
173 std::forward_as_tuple(
this, reg.left, reg.right, reg.bottom, reg.top, QWheight, std::move(
QWz), std::move(
QWbt)));
174 this->
writelog(
LOG_DETAIL,
"Total QWs thickness in active region {}: {}nm", act, 1
e3 * QWheight);
195 const double,
const double L,
const double L2,
const double L3,
const double L4,
const double L5,
const double L6,
196 const double A,
const double B,
const double C,
const double D,
197 const double* U,
const double* J,
200 double& F0,
double&
F1,
double&
F2,
double&
F3)
202 K00 += (1.0/180180.0)*(216216*D +
L2*(66924*A + 13871*B*L*U[1] - 6149*B*L*U[3] + 110682*B*U[0] + 23166*B*U[2] + 2520*C*
L2*U[1]*U[1] - 2331*C*
L2*U[1]*U[3] + 804*C*
L2*U[3]*U[3] + 33012*C*L*U[0]*U[1] - 12033*C*L*U[0]*U[3] + 8601*C*L*U[1]*U[2] - 6414*C*L*U[2]*U[3] + 144396*C*U[0]*U[0] + 43254*C*U[0]*U[2] + 13122*C*U[2]*U[2]))/L;
203 K01 += (11.0/210.0)*A*
L2 + (4.0/315.0)*B*
L3*U[1] - 1.0/140.0*B*
L3*U[3] + (97.0/1260.0)*B*
L2*U[0] + (1.0/36.0)*B*
L2*U[2] + (7.0/2860.0)*C*
L4*U[1]*U[1] - 23.0/8580.0*C*
L4*U[1]*U[3] + (25.0/24024.0)*C*
L4*U[3]*U[3] + (4.0/143.0)*C*
L3*U[0]*U[1] - 37.0/2860.0*C*
L3*U[0]*U[3] + (152.0/15015.0)*C*
L3*U[1]*U[2] - 17.0/2002.0*C*
L3*U[2]*U[3] + (131.0/1430.0)*C*
L2*U[0]*U[0] + (2867.0/60060.0)*C*
L2*U[0]*U[2] + (1069.0/60060.0)*C*
L2*U[2]*U[2] + (1.0/10.0)*D;
204 K02 += (1.0/180180.0)*(-216216*D +
L2*(23166*A + 5005*B*L*U[1] - 5005*B*L*U[3] + 23166*B*U[0] + 23166*B*U[2] + 912*C*
L2*U[1]*U[1] - 1530*C*
L2*U[1]*U[3] + 912*C*
L2*U[3]*U[3] + 8601*C*L*U[0]*U[1] - 6414*C*L*U[0]*U[3] + 6414*C*L*U[1]*U[2] - 8601*C*L*U[2]*U[3] + 21627*C*U[0]*U[0] + 26244*C*U[0]*U[2] + 21627*C*U[2]*U[2]))/L;
205 K03 += -13.0/420.0*A*
L2 - 1.0/140.0*B*
L3*U[1] + (2.0/315.0)*B*
L3*U[3] - 43.0/1260.0*B*
L2*U[0] - 1.0/36.0*B*
L2*U[2] - 23.0/17160.0*C*
L4*U[1]*U[1] + (25.0/12012.0)*C*
L4*U[1]*U[3] - 9.0/8008.0*C*
L4*U[3]*U[3] - 37.0/2860.0*C*
L3*U[0]*U[1] + (134.0/15015.0)*C*
L3*U[0]*U[3] - 17.0/2002.0*C*
L3*U[1]*U[2] + (152.0/15015.0)*C*
L3*U[2]*U[3] - 191.0/5720.0*C*
L2*U[0]*U[0] - 1069.0/30030.0*C*
L2*U[0]*U[2] - 2867.0/120120.0*C*
L2*U[2]*U[2] + (1.0/10.0)*D;
206 K11 += (1.0/180180.0)*L*(1716*A*
L2 + 429*B*
L3*U[1] - 286*B*
L3*U[3] + 2288*B*
L2*U[0] + 1144*B*
L2*U[2] + 84*C*
L4*U[1]*U[1] - 105*C*
L4*U[1]*U[3] + 45*C*
L4*U[3]*U[3] + 882*C*
L3*U[0]*U[1] - 483*C*
L3*U[0]*U[3] + 405*C*
L3*U[1]*U[2] - 375*C*
L3*U[2]*U[3] + 2520*C*
L2*U[0]*U[0] + 1824*C*
L2*U[0]*U[2] + 804*C*
L2*U[2]*U[2] + 24024*D);
207 K12 += (13.0/420.0)*A*
L2 + (2.0/315.0)*B*
L3*U[1] - 1.0/140.0*B*
L3*U[3] + (1.0/36.0)*B*
L2*U[0] + (43.0/1260.0)*B*
L2*U[2] + (9.0/8008.0)*C*
L4*U[1]*U[1] - 25.0/12012.0*C*
L4*U[1]*U[3] + (23.0/17160.0)*C*
L4*U[3]*U[3] + (152.0/15015.0)*C*
L3*U[0]*U[1] - 17.0/2002.0*C*
L3*U[0]*U[3] + (134.0/15015.0)*C*
L3*U[1]*U[2] - 37.0/2860.0*C*
L3*U[2]*U[3] + (2867.0/120120.0)*C*
L2*U[0]*U[0] + (1069.0/30030.0)*C*
L2*U[0]*U[2] + (191.0/5720.0)*C*
L2*U[2]*U[2] - 1.0/10.0*D;
208 K13 += (1.0/360360.0)*L*(-2574*A*
L2 - 572*B*
L3*U[1] + 572*B*
L3*U[3] - 2574*B*
L2*U[0] - 2574*B*
L2*U[2] - 105*C*
L4*U[1]*U[1] + 180*C*
L4*U[1]*U[3] - 105*C*
L4*U[3]*U[3] - 966*C*
L3*U[0]*U[1] + 750*C*
L3*U[0]*U[3] - 750*C*
L3*U[1]*U[2] + 966*C*
L3*U[2]*U[3] - 2331*C*
L2*U[0]*U[0] - 3060*C*
L2*U[0]*U[2] - 2331*C*
L2*U[2]*U[2] - 12012*D);
209 K22 += (1.0/180180.0)*(216216*D +
L2*(66924*A + 6149*B*L*U[1] - 13871*B*L*U[3] + 23166*B*U[0] + 110682*B*U[2] + 804*C*
L2*U[1]*U[1] - 2331*C*
L2*U[1]*U[3] + 2520*C*
L2*U[3]*U[3] + 6414*C*L*U[0]*U[1] - 8601*C*L*U[0]*U[3] + 12033*C*L*U[1]*U[2] - 33012*C*L*U[2]*U[3] + 13122*C*U[0]*U[0] + 43254*C*U[0]*U[2] + 144396*C*U[2]*U[2]))/L;
210 K23 += -11.0/210.0*A*
L2 - 1.0/140.0*B*
L3*U[1] + (4.0/315.0)*B*
L3*U[3] - 1.0/36.0*B*
L2*U[0] - 97.0/1260.0*B*
L2*U[2] - 25.0/24024.0*C*
L4*U[1]*U[1] + (23.0/8580.0)*C*
L4*U[1]*U[3] - 7.0/2860.0*C*
L4*U[3]*U[3] - 17.0/2002.0*C*
L3*U[0]*U[1] + (152.0/15015.0)*C*
L3*U[0]*U[3] - 37.0/2860.0*C*
L3*U[1]*U[2] + (4.0/143.0)*C*
L3*U[2]*U[3] - 1069.0/60060.0*C*
L2*U[0]*U[0] - 2867.0/60060.0*C*
L2*U[0]*U[2] - 131.0/1430.0*C*
L2*U[2]*U[2] - 1.0/10.0*D;
211 K33 += (1.0/180180.0)*L*(1716*A*
L2 + 286*B*
L3*U[1] - 429*B*
L3*U[3] + 1144*B*
L2*U[0] + 2288*B*
L2*U[2] + 45*C*
L4*U[1]*U[1] - 105*C*
L4*U[1]*U[3] + 84*C*
L4*U[3]*U[3] + 375*C*
L3*U[0]*U[1] - 405*C*
L3*U[0]*U[3] + 483*C*
L3*U[1]*U[2] - 882*C*
L3*U[2]*U[3] + 804*C*
L2*U[0]*U[0] + 1824*C*
L2*U[0]*U[2] + 2520*C*
L2*U[2]*U[2] + 24024*D);
212 F0 += (1.0/180180.0)*L*(1144*B*
L2*U[1]*U[1] - 1287*B*
L2*U[1]*U[3] + 572*B*
L2*U[3]*U[3] + 13871*B*L*U[0]*U[1] - 6149*B*L*U[0]*U[3] + 5005*B*L*U[1]*U[2] - 5005*B*L*U[2]*U[3] + 55341*B*U[0]*U[0] + 23166*B*U[0]*U[2] + 11583*B*U[2]*U[2] + 294*C*
L3*U[1]*U[1]*U[1] - 483*C*
L3*U[1]*U[1]*U[3] + 375*C*
L3*U[1]*U[3]*U[3] - 135*C*
L3*U[3]*U[3]*U[3] + 5040*C*
L2*U[0]*U[1]*U[1] - 4662*C*
L2*U[0]*U[1]*U[3] + 1608*C*
L2*U[0]*U[3]*U[3] + 1824*C*
L2*U[1]*U[1]*U[2] - 3060*C*
L2*U[1]*U[2]*U[3] + 1824*C*
L2*U[2]*U[3]*U[3] + 33012*C*L*U[0]*U[0]*U[1] - 12033*C*L*U[0]*U[0]*U[3] + 17202*C*L*U[0]*U[1]*U[2] - 12828*C*L*U[0]*U[2]*U[3] + 6414*C*L*U[1]*U[2]*U[2] - 8601*C*L*U[2]*U[2]*U[3] + 96264*C*U[0]*U[0]*U[0] + 43254*C*U[0]*U[0]*U[2] + 26244*C*U[0]*U[2]*U[2] + 14418*C*U[2]*U[2]*U[2] + 63063*J[0] + 27027*J[1]);
213 F1 += (1.0/360360.0)*
L2*(429*B*
L2*U[1]*U[1] - 572*B*
L2*U[1]*U[3] + 286*B*
L2*U[3]*U[3] + 4576*B*L*U[0]*U[1] - 2574*B*L*U[0]*U[3] + 2288*B*L*U[1]*U[2] - 2574*B*L*U[2]*U[3] + 13871*B*U[0]*U[0] + 10010*B*U[0]*U[2] + 6149*B*U[2]*U[2] + 112*C*
L3*U[1]*U[1]*U[1] - 210*C*
L3*U[1]*U[1]*U[3] + 180*C*
L3*U[1]*U[3]*U[3] - 70*C*
L3*U[3]*U[3]*U[3] + 1764*C*
L2*U[0]*U[1]*U[1] - 1932*C*
L2*U[0]*U[1]*U[3] + 750*C*
L2*U[0]*U[3]*U[3] + 810*C*
L2*U[1]*U[1]*U[2] - 1500*C*
L2*U[1]*U[2]*U[3] + 966*C*
L2*U[2]*U[3]*U[3] + 10080*C*L*U[0]*U[0]*U[1] - 4662*C*L*U[0]*U[0]*U[3] + 7296*C*L*U[0]*U[1]*U[2] - 6120*C*L*U[0]*U[2]*U[3] + 3216*C*L*U[1]*U[2]*U[2] - 4662*C*L*U[2]*U[2]*U[3] + 22008*C*U[0]*U[0]*U[0] + 17202*C*U[0]*U[0]*U[2] + 12828*C*U[0]*U[2]*U[2] + 8022*C*U[2]*U[2]*U[2] + 18018*J[0] + 12012*J[1]);
214 F2 += (1.0/180180.0)*L*(572*B*
L2*U[1]*U[1] - 1287*B*
L2*U[1]*U[3] + 1144*B*
L2*U[3]*U[3] + 5005*B*L*U[0]*U[1] - 5005*B*L*U[0]*U[3] + 6149*B*L*U[1]*U[2] - 13871*B*L*U[2]*U[3] + 11583*B*U[0]*U[0] + 23166*B*U[0]*U[2] + 55341*B*U[2]*U[2] + 135*C*
L3*U[1]*U[1]*U[1] - 375*C*
L3*U[1]*U[1]*U[3] + 483*C*
L3*U[1]*U[3]*U[3] - 294*C*
L3*U[3]*U[3]*U[3] + 1824*C*
L2*U[0]*U[1]*U[1] - 3060*C*
L2*U[0]*U[1]*U[3] + 1824*C*
L2*U[0]*U[3]*U[3] + 1608*C*
L2*U[1]*U[1]*U[2] - 4662*C*
L2*U[1]*U[2]*U[3] + 5040*C*
L2*U[2]*U[3]*U[3] + 8601*C*L*U[0]*U[0]*U[1] - 6414*C*L*U[0]*U[0]*U[3] + 12828*C*L*U[0]*U[1]*U[2] - 17202*C*L*U[0]*U[2]*U[3] + 12033*C*L*U[1]*U[2]*U[2] - 33012*C*L*U[2]*U[2]*U[3] + 14418*C*U[0]*U[0]*U[0] + 26244*C*U[0]*U[0]*U[2] + 43254*C*U[0]*U[2]*U[2] + 96264*C*U[2]*U[2]*U[2] + 27027*J[0] + 63063*J[1]);
215 F3 += (1.0/360360.0)*
L2*(-286*B*
L2*U[1]*U[1] + 572*B*
L2*U[1]*U[3] - 429*B*
L2*U[3]*U[3] - 2574*B*L*U[0]*U[1] + 2288*B*L*U[0]*U[3] - 2574*B*L*U[1]*U[2] + 4576*B*L*U[2]*U[3] - 6149*B*U[0]*U[0] - 10010*B*U[0]*U[2] - 13871*B*U[2]*U[2] - 70*C*
L3*U[1]*U[1]*U[1] + 180*C*
L3*U[1]*U[1]*U[3] - 210*C*
L3*U[1]*U[3]*U[3] + 112*C*
L3*U[3]*U[3]*U[3] - 966*C*
L2*U[0]*U[1]*U[1] + 1500*C*
L2*U[0]*U[1]*U[3] - 810*C*
L2*U[0]*U[3]*U[3] - 750*C*
L2*U[1]*U[1]*U[2] + 1932*C*
L2*U[1]*U[2]*U[3] - 1764*C*
L2*U[2]*U[3]*U[3] - 4662*C*L*U[0]*U[0]*U[1] + 3216*C*L*U[0]*U[0]*U[3] - 6120*C*L*U[0]*U[1]*U[2] + 7296*C*L*U[0]*U[2]*U[3] - 4662*C*L*U[1]*U[2]*U[2] + 10080*C*L*U[2]*U[2]*U[3] - 8022*C*U[0]*U[0]*U[0] - 12828*C*U[0]*U[0]*U[2] - 17202*C*U[0]*U[2]*U[2] - 22008*C*U[2]*U[2]*U[2] - 12012*J[0] - 18018*J[1]);
220 const double R,
const double L,
const double L2,
const double L3,
const double L4,
const double L5,
const double L6,
221 const double A,
const double B,
const double C,
const double D,
222 const double* U,
const double* J,
225 double& F0,
double&
F1,
double&
F2,
double&
F3)
227 K00 += (1.0/360360.0)*(432432*D*R + L*(30888*A*
L2 + 133848*A*L*R + 7540*B*
L3*U[1] - 4758*B*
L3*U[3] + 27742*B*
L2*R*U[1] - 12298*B*
L2*R*U[3] + 42822*B*
L2*U[0] + 18954*B*
L2*U[2] + 221364*B*L*R*U[0] + 46332*B*L*R*U[2] + 1458*C*
L4*U[1]*U[1] - 1746*C*
L4*U[1]*U[3] + 735*C*
L4*U[3]*U[3] + 5040*C*
L3*R*U[1]*U[1] - 4662*C*
L3*R*U[1]*U[3] + 1608*C*
L3*R*U[3]*U[3] + 15912*C*
L3*U[0]*U[1] - 8154*C*
L3*U[0]*U[3] + 6708*C*
L3*U[1]*U[2] - 6120*C*
L3*U[2]*U[3] + 66024*C*
L2*R*U[0]*U[1] - 24066*C*
L2*R*U[0]*U[3] + 17202*C*
L2*R*U[1]*U[2] - 12828*C*
L2*R*U[2]*U[3] + 48924*C*
L2*U[0]*U[0] + 30618*C*
L2*U[0]*U[2] + 13122*C*
L2*U[2]*U[2] + 288792*C*L*R*U[0]*U[0] + 86508*C*L*R*U[0]*U[2] + 26244*C*L*R*U[2]*U[2] + 216216*D))/L;
228 K01 += (1.0/60.0)*A*
L3 + (11.0/210.0)*A*
L2*R + (19.0/4620.0)*B*
L4*U[1] - 1.0/330.0*B*
L4*U[3] + (4.0/315.0)*B*
L3*R*U[1] - 1.0/140.0*B*
L3*R*U[3] + (29.0/1386.0)*B*
L3*U[0] + (43.0/3465.0)*B*
L3*U[2] + (97.0/1260.0)*B*
L2*R*U[0] + (1.0/36.0)*B*
L2*R*U[2] + (4.0/5005.0)*C*
L5*U[1]*U[1] - 1.0/924.0*C*
L5*U[1]*U[3] + (1.0/2002.0)*C*
L5*U[3]*U[3] + (7.0/2860.0)*C*
L4*R*U[1]*U[1] - 23.0/8580.0*C*
L4*R*U[1]*U[3] + (25.0/24024.0)*C*
L4*R*U[3]*U[3] + (81.0/10010.0)*C*
L4*U[0]*U[1] - 97.0/20020.0*C*
L4*U[0]*U[3] + (17.0/4004.0)*C*
L4*U[1]*U[2] - 17.0/4004.0*C*
L4*U[2]*U[3] + (4.0/143.0)*C*
L3*R*U[0]*U[1] - 37.0/2860.0*C*
L3*R*U[0]*U[3] + (152.0/15015.0)*C*
L3*R*U[1]*U[2] - 17.0/2002.0*C*
L3*R*U[2]*U[3] + (17.0/770.0)*C*
L3*U[0]*U[0] + (43.0/2310.0)*C*
L3*U[0]*U[2] + (43.0/4620.0)*C*
L3*U[2]*U[2] + (131.0/1430.0)*C*
L2*R*U[0]*U[0] + (2867.0/60060.0)*C*
L2*R*U[0]*U[2] + (1069.0/60060.0)*C*
L2*R*U[2]*U[2] + (1.0/10.0)*D*L + (1.0/10.0)*D*R;
229 K02 += (1.0/360360.0)*(-432432*D*R + L*(23166*A*
L2 + 46332*A*L*R + 4472*B*
L3*U[1] - 5538*B*
L3*U[3] + 10010*B*
L2*R*U[1] - 10010*B*
L2*R*U[3] + 18954*B*
L2*U[0] + 27378*B*
L2*U[2] + 46332*B*L*R*U[0] + 46332*B*L*R*U[2] + 765*C*
L4*U[1]*U[1] - 1530*C*
L4*U[1]*U[3] + 1059*C*
L4*U[3]*U[3] + 1824*C*
L3*R*U[1]*U[1] - 3060*C*
L3*R*U[1]*U[3] + 1824*C*
L3*R*U[3]*U[3] + 6708*C*
L3*U[0]*U[1] - 6120*C*
L3*U[0]*U[3] + 6708*C*
L3*U[1]*U[2] - 10494*C*
L3*U[2]*U[3] + 17202*C*
L2*R*U[0]*U[1] - 12828*C*
L2*R*U[0]*U[3] + 12828*C*
L2*R*U[1]*U[2] - 17202*C*
L2*R*U[2]*U[3] + 15309*C*
L2*U[0]*U[0] + 26244*C*
L2*U[0]*U[2] + 27945*C*
L2*U[2]*U[2] + 43254*C*L*R*U[0]*U[0] + 52488*C*L*R*U[0]*U[2] + 43254*C*L*R*U[2]*U[2] - 216216*D))/L;
230 K03 += -1.0/70.0*A*
L3 - 13.0/420.0*A*
L2*R - 1.0/330.0*B*
L4*U[1] + (23.0/6930.0)*B*
L4*U[3] - 1.0/140.0*B*
L3*R*U[1] + (2.0/315.0)*B*
L3*R*U[3] - 61.0/4620.0*B*
L3*U[0] - 71.0/4620.0*B*
L3*U[2] - 43.0/1260.0*B*
L2*R*U[0] - 1.0/36.0*B*
L2*R*U[2] - 1.0/1848.0*C*
L5*U[1]*U[1] + (1.0/1001.0)*C*
L5*U[1]*U[3] - 5.0/8008.0*C*
L5*U[3]*U[3] - 23.0/17160.0*C*
L4*R*U[1]*U[1] + (25.0/12012.0)*C*
L4*R*U[1]*U[3] - 9.0/8008.0*C*
L4*R*U[3]*U[3] - 97.0/20020.0*C*
L4*U[0]*U[1] + (7.0/1716.0)*C*
L4*U[0]*U[3] - 17.0/4004.0*C*
L4*U[1]*U[2] + (353.0/60060.0)*C*
L4*U[2]*U[3] - 37.0/2860.0*C*
L3*R*U[0]*U[1] + (134.0/15015.0)*C*
L3*R*U[0]*U[3] - 17.0/2002.0*C*
L3*R*U[1]*U[2] + (152.0/15015.0)*C*
L3*R*U[2]*U[3] - 453.0/40040.0*C*
L3*U[0]*U[0] - 17.0/1001.0*C*
L3*U[0]*U[2] - 53.0/3640.0*C*
L3*U[2]*U[2] - 191.0/5720.0*C*
L2*R*U[0]*U[0] - 1069.0/30030.0*C*
L2*R*U[0]*U[2] - 2867.0/120120.0*C*
L2*R*U[2]*U[2] + (1.0/10.0)*D*R;
231 K11 += (1.0/360360.0)*L*(1287*A*
L3 + 3432*A*
L2*R + 312*B*
L4*U[1] - 260*B*
L4*U[3] + 858*B*
L3*R*U[1] - 572*B*
L3*R*U[3] + 1482*B*
L3*U[0] + 1092*B*
L3*U[2] + 4576*B*
L2*R*U[0] + 2288*B*
L2*R*U[2] + 60*C*
L5*U[1]*U[1] - 90*C*
L5*U[1]*U[3] + 45*C*
L5*U[3]*U[3] + 168*C*
L4*R*U[1]*U[1] - 210*C*
L4*R*U[1]*U[3] + 90*C*
L4*R*U[3]*U[3] + 576*C*
L4*U[0]*U[1] - 390*C*
L4*U[0]*U[3] + 360*C*
L4*U[1]*U[2] - 390*C*
L4*U[2]*U[3] + 1764*C*
L3*R*U[0]*U[1] - 966*C*
L3*R*U[0]*U[3] + 810*C*
L3*R*U[1]*U[2] - 750*C*
L3*R*U[2]*U[3] + 1458*C*
L3*U[0]*U[0] + 1530*C*
L3*U[0]*U[2] + 873*C*
L3*U[2]*U[2] + 5040*C*
L2*R*U[0]*U[0] + 3648*C*
L2*R*U[0]*U[2] + 1608*C*
L2*R*U[2]*U[2] + 12012*D*L + 48048*D*R);
232 K12 += (1.0/60.0)*A*
L3 + (13.0/420.0)*A*
L2*R + (1.0/330.0)*B*
L4*U[1] - 19.0/4620.0*B*
L4*U[3] + (2.0/315.0)*B*
L3*R*U[1] - 1.0/140.0*B*
L3*R*U[3] + (43.0/3465.0)*B*
L3*U[0] + (29.0/1386.0)*B*
L3*U[2] + (1.0/36.0)*B*
L2*R*U[0] + (43.0/1260.0)*B*
L2*R*U[2] + (1.0/2002.0)*C*
L5*U[1]*U[1] - 1.0/924.0*C*
L5*U[1]*U[3] + (4.0/5005.0)*C*
L5*U[3]*U[3] + (9.0/8008.0)*C*
L4*R*U[1]*U[1] - 25.0/12012.0*C*
L4*R*U[1]*U[3] + (23.0/17160.0)*C*
L4*R*U[3]*U[3] + (17.0/4004.0)*C*
L4*U[0]*U[1] - 17.0/4004.0*C*
L4*U[0]*U[3] + (97.0/20020.0)*C*
L4*U[1]*U[2] - 81.0/10010.0*C*
L4*U[2]*U[3] + (152.0/15015.0)*C*
L3*R*U[0]*U[1] - 17.0/2002.0*C*
L3*R*U[0]*U[3] + (134.0/15015.0)*C*
L3*R*U[1]*U[2] - 37.0/2860.0*C*
L3*R*U[2]*U[3] + (43.0/4620.0)*C*
L3*U[0]*U[0] + (43.0/2310.0)*C*
L3*U[0]*U[2] + (17.0/770.0)*C*
L3*U[2]*U[2] + (2867.0/120120.0)*C*
L2*R*U[0]*U[0] + (1069.0/30030.0)*C*
L2*R*U[0]*U[2] + (191.0/5720.0)*C*
L2*R*U[2]*U[2] - 1.0/10.0*D*L - 1.0/10.0*D*R;
233 K13 += (1.0/360360.0)*L*(-1287*A*
L3 - 2574*A*
L2*R - 260*B*
L4*U[1] + 312*B*
L4*U[3] - 572*B*
L3*R*U[1] + 572*B*
L3*R*U[3] - 1092*B*
L3*U[0] - 1482*B*
L3*U[2] - 2574*B*
L2*R*U[0] - 2574*B*
L2*R*U[2] - 45*C*
L5*U[1]*U[1] + 90*C*
L5*U[1]*U[3] - 60*C*
L5*U[3]*U[3] - 105*C*
L4*R*U[1]*U[1] + 180*C*
L4*R*U[1]*U[3] - 105*C*
L4*R*U[3]*U[3] - 390*C*
L4*U[0]*U[1] + 360*C*
L4*U[0]*U[3] - 390*C*
L4*U[1]*U[2] + 576*C*
L4*U[2]*U[3] - 966*C*
L3*R*U[0]*U[1] + 750*C*
L3*R*U[0]*U[3] - 750*C*
L3*R*U[1]*U[2] + 966*C*
L3*R*U[2]*U[3] - 873*C*
L3*U[0]*U[0] - 1530*C*
L3*U[0]*U[2] - 1458*C*
L3*U[2]*U[2] - 2331*C*
L2*R*U[0]*U[0] - 3060*C*
L2*R*U[0]*U[2] - 2331*C*
L2*R*U[2]*U[2] - 6006*D*L - 12012*D*R);
234 K22 += (1.0/360360.0)*(432432*D*R + L*(102960*A*
L2 + 133848*A*L*R + 7540*B*
L3*U[1] - 20202*B*
L3*U[3] + 12298*B*
L2*R*U[1] - 27742*B*
L2*R*U[3] + 27378*B*
L2*U[0] + 178542*B*
L2*U[2] + 46332*B*L*R*U[0] + 221364*B*L*R*U[2] + 873*C*
L4*U[1]*U[1] - 2916*C*
L4*U[1]*U[3] + 3582*C*
L4*U[3]*U[3] + 1608*C*
L3*R*U[1]*U[1] - 4662*C*
L3*R*U[1]*U[3] + 5040*C*
L3*R*U[3]*U[3] + 6708*C*
L3*U[0]*U[1] - 10494*C*
L3*U[0]*U[3] + 15912*C*
L3*U[1]*U[2] - 50112*C*
L3*U[2]*U[3] + 12828*C*
L2*R*U[0]*U[1] - 17202*C*
L2*R*U[0]*U[3] + 24066*C*
L2*R*U[1]*U[2] - 66024*C*
L2*R*U[2]*U[3] + 13122*C*
L2*U[0]*U[0] + 55890*C*
L2*U[0]*U[2] + 239868*C*
L2*U[2]*U[2] + 26244*C*L*R*U[0]*U[0] + 86508*C*L*R*U[0]*U[2] + 288792*C*L*R*U[2]*U[2] + 216216*D))/L;
235 K23 += -1.0/28.0*A*
L3 - 11.0/210.0*A*
L2*R - 19.0/4620.0*B*
L4*U[1] + (17.0/1980.0)*B*
L4*U[3] - 1.0/140.0*B*
L3*R*U[1] + (4.0/315.0)*B*
L3*R*U[3] - 71.0/4620.0*B*
L3*U[0] - 37.0/660.0*B*
L3*U[2] - 1.0/36.0*B*
L2*R*U[0] - 97.0/1260.0*B*
L2*R*U[2] - 1.0/1848.0*C*
L5*U[1]*U[1] + (8.0/5005.0)*C*
L5*U[1]*U[3] - 3.0/1820.0*C*
L5*U[3]*U[3] - 25.0/24024.0*C*
L4*R*U[1]*U[1] + (23.0/8580.0)*C*
L4*R*U[1]*U[3] - 7.0/2860.0*C*
L4*R*U[3]*U[3] - 17.0/4004.0*C*
L4*U[0]*U[1] + (353.0/60060.0)*C*
L4*U[0]*U[3] - 81.0/10010.0*C*
L4*U[1]*U[2] + (199.0/10010.0)*C*
L4*U[2]*U[3] - 17.0/2002.0*C*
L3*R*U[0]*U[1] + (152.0/15015.0)*C*
L3*R*U[0]*U[3] - 37.0/2860.0*C*
L3*R*U[1]*U[2] + (4.0/143.0)*C*
L3*R*U[2]*U[3] - 17.0/2002.0*C*
L3*U[0]*U[0] - 53.0/1820.0*C*
L3*U[0]*U[2] - 348.0/5005.0*C*
L3*U[2]*U[2] - 1069.0/60060.0*C*
L2*R*U[0]*U[0] - 2867.0/60060.0*C*
L2*R*U[0]*U[2] - 131.0/1430.0*C*
L2*R*U[2]*U[2] - 1.0/10.0*D*R;
236 K33 += (1.0/360360.0)*L*(2145*A*
L3 + 3432*A*
L2*R + 312*B*
L4*U[1] - 546*B*
L4*U[3] + 572*B*
L3*R*U[1] - 858*B*
L3*R*U[3] + 1196*B*
L3*U[0] + 3094*B*
L3*U[2] + 2288*B*
L2*R*U[0] + 4576*B*
L2*R*U[2] + 45*C*
L5*U[1]*U[1] - 120*C*
L5*U[1]*U[3] + 108*C*
L5*U[3]*U[3] + 90*C*
L4*R*U[1]*U[1] - 210*C*
L4*R*U[1]*U[3] + 168*C*
L4*R*U[3]*U[3] + 360*C*
L4*U[0]*U[1] - 450*C*
L4*U[0]*U[3] + 576*C*
L4*U[1]*U[2] - 1188*C*
L4*U[2]*U[3] + 750*C*
L3*R*U[0]*U[1] - 810*C*
L3*R*U[0]*U[3] + 966*C*
L3*R*U[1]*U[2] - 1764*C*
L3*R*U[2]*U[3] + 735*C*
L3*U[0]*U[0] + 2118*C*
L3*U[0]*U[2] + 3582*C*
L3*U[2]*U[2] + 1608*C*
L2*R*U[0]*U[0] + 3648*C*
L2*R*U[0]*U[2] + 5040*C*
L2*R*U[2]*U[2] + 36036*D*L + 48048*D*R);
237 F0 += (1.0/360360.0)*L*(741*B*
L3*U[1]*U[1] - 1092*B*
L3*U[1]*U[3] + 598*B*
L3*U[3]*U[3] + 2288*B*
L2*R*U[1]*U[1] - 2574*B*
L2*R*U[1]*U[3] + 1144*B*
L2*R*U[3]*U[3] + 7540*B*
L2*U[0]*U[1] - 4758*B*
L2*U[0]*U[3] + 4472*B*
L2*U[1]*U[2] - 5538*B*
L2*U[2]*U[3] + 27742*B*L*R*U[0]*U[1] - 12298*B*L*R*U[0]*U[3] + 10010*B*L*R*U[1]*U[2] - 10010*B*L*R*U[2]*U[3] + 21411*B*L*U[0]*U[0] + 18954*B*L*U[0]*U[2] + 13689*B*L*U[2]*U[2] + 110682*B*R*U[0]*U[0] + 46332*B*R*U[0]*U[2] + 23166*B*R*U[2]*U[2] + 192*C*
L4*U[1]*U[1]*U[1] - 390*C*
L4*U[1]*U[1]*U[3] + 360*C*
L4*U[1]*U[3]*U[3] - 150*C*
L4*U[3]*U[3]*U[3] + 588*C*
L3*R*U[1]*U[1]*U[1] - 966*C*
L3*R*U[1]*U[1]*U[3] + 750*C*
L3*R*U[1]*U[3]*U[3] - 270*C*
L3*R*U[3]*U[3]*U[3] + 2916*C*
L3*U[0]*U[1]*U[1] - 3492*C*
L3*U[0]*U[1]*U[3] + 1470*C*
L3*U[0]*U[3]*U[3] + 1530*C*
L3*U[1]*U[1]*U[2] - 3060*C*
L3*U[1]*U[2]*U[3] + 2118*C*
L3*U[2]*U[3]*U[3] + 10080*C*
L2*R*U[0]*U[1]*U[1] - 9324*C*
L2*R*U[0]*U[1]*U[3] + 3216*C*
L2*R*U[0]*U[3]*U[3] + 3648*C*
L2*R*U[1]*U[1]*U[2] - 6120*C*
L2*R*U[1]*U[2]*U[3] + 3648*C*
L2*R*U[2]*U[3]*U[3] + 15912*C*
L2*U[0]*U[0]*U[1] - 8154*C*
L2*U[0]*U[0]*U[3] + 13416*C*
L2*U[0]*U[1]*U[2] - 12240*C*
L2*U[0]*U[2]*U[3] + 6708*C*
L2*U[1]*U[2]*U[2] - 10494*C*
L2*U[2]*U[2]*U[3] + 66024*C*L*R*U[0]*U[0]*U[1] - 24066*C*L*R*U[0]*U[0]*U[3] + 34404*C*L*R*U[0]*U[1]*U[2] - 25656*C*L*R*U[0]*U[2]*U[3] + 12828*C*L*R*U[1]*U[2]*U[2] - 17202*C*L*R*U[2]*U[2]*U[3] + 32616*C*L*U[0]*U[0]*U[0] + 30618*C*L*U[0]*U[0]*U[2] + 26244*C*L*U[0]*U[2]*U[2] + 18630*C*L*U[2]*U[2]*U[2] + 192528*C*R*U[0]*U[0]*U[0] + 86508*C*R*U[0]*U[0]*U[2] + 52488*C*R*U[0]*U[2]*U[2] + 28836*C*R*U[2]*U[2]*U[2] + 30030*L*J[0] + 24024*L*J[1] + 126126*R*J[0] + 54054*R*J[1]);
238 F1 += (1.0/360360.0)*
L2*(156*B*
L3*U[1]*U[1] - 260*B*
L3*U[1]*U[3] + 156*B*
L3*U[3]*U[3] + 429*B*
L2*R*U[1]*U[1] - 572*B*
L2*R*U[1]*U[3] + 286*B*
L2*R*U[3]*U[3] + 1482*B*
L2*U[0]*U[1] - 1092*B*
L2*U[0]*U[3] + 1092*B*
L2*U[1]*U[2] - 1482*B*
L2*U[2]*U[3] + 4576*B*L*R*U[0]*U[1] - 2574*B*L*R*U[0]*U[3] + 2288*B*L*R*U[1]*U[2] - 2574*B*L*R*U[2]*U[3] + 3770*B*L*U[0]*U[0] + 4472*B*L*U[0]*U[2] + 3770*B*L*U[2]*U[2] + 13871*B*R*U[0]*U[0] + 10010*B*R*U[0]*U[2] + 6149*B*R*U[2]*U[2] + 40*C*
L4*U[1]*U[1]*U[1] - 90*C*
L4*U[1]*U[1]*U[3] + 90*C*
L4*U[1]*U[3]*U[3] - 40*C*
L4*U[3]*U[3]*U[3] + 112*C*
L3*R*U[1]*U[1]*U[1] - 210*C*
L3*R*U[1]*U[1]*U[3] + 180*C*
L3*R*U[1]*U[3]*U[3] - 70*C*
L3*R*U[3]*U[3]*U[3] + 576*C*
L3*U[0]*U[1]*U[1] - 780*C*
L3*U[0]*U[1]*U[3] + 360*C*
L3*U[0]*U[3]*U[3] + 360*C*
L3*U[1]*U[1]*U[2] - 780*C*
L3*U[1]*U[2]*U[3] + 576*C*
L3*U[2]*U[3]*U[3] + 1764*C*
L2*R*U[0]*U[1]*U[1] - 1932*C*
L2*R*U[0]*U[1]*U[3] + 750*C*
L2*R*U[0]*U[3]*U[3] + 810*C*
L2*R*U[1]*U[1]*U[2] - 1500*C*
L2*R*U[1]*U[2]*U[3] + 966*C*
L2*R*U[2]*U[3]*U[3] + 2916*C*
L2*U[0]*U[0]*U[1] - 1746*C*
L2*U[0]*U[0]*U[3] + 3060*C*
L2*U[0]*U[1]*U[2] - 3060*C*
L2*U[0]*U[2]*U[3] + 1746*C*
L2*U[1]*U[2]*U[2] - 2916*C*
L2*U[2]*U[2]*U[3] + 10080*C*L*R*U[0]*U[0]*U[1] - 4662*C*L*R*U[0]*U[0]*U[3] + 7296*C*L*R*U[0]*U[1]*U[2] - 6120*C*L*R*U[0]*U[2]*U[3] + 3216*C*L*R*U[1]*U[2]*U[2] - 4662*C*L*R*U[2]*U[2]*U[3] + 5304*C*L*U[0]*U[0]*U[0] + 6708*C*L*U[0]*U[0]*U[2] + 6708*C*L*U[0]*U[2]*U[2] + 5304*C*L*U[2]*U[2]*U[2] + 22008*C*R*U[0]*U[0]*U[0] + 17202*C*R*U[0]*U[0]*U[2] + 12828*C*R*U[0]*U[2]*U[2] + 8022*C*R*U[2]*U[2]*U[2] + 6006*L*J[0] + 6006*L*J[1] + 18018*R*J[0] + 12012*R*J[1]);
239 F2 += (1.0/360360.0)*L*(546*B*
L3*U[1]*U[1] - 1482*B*
L3*U[1]*U[3] + 1547*B*
L3*U[3]*U[3] + 1144*B*
L2*R*U[1]*U[1] - 2574*B*
L2*R*U[1]*U[3] + 2288*B*
L2*R*U[3]*U[3] + 4472*B*
L2*U[0]*U[1] - 5538*B*
L2*U[0]*U[3] + 7540*B*
L2*U[1]*U[2] - 20202*B*
L2*U[2]*U[3] + 10010*B*L*R*U[0]*U[1] - 10010*B*L*R*U[0]*U[3] + 12298*B*L*R*U[1]*U[2] - 27742*B*L*R*U[2]*U[3] + 9477*B*L*U[0]*U[0] + 27378*B*L*U[0]*U[2] + 89271*B*L*U[2]*U[2] + 23166*B*R*U[0]*U[0] + 46332*B*R*U[0]*U[2] + 110682*B*R*U[2]*U[2] + 120*C*
L4*U[1]*U[1]*U[1] - 390*C*
L4*U[1]*U[1]*U[3] + 576*C*
L4*U[1]*U[3]*U[3] - 396*C*
L4*U[3]*U[3]*U[3] + 270*C*
L3*R*U[1]*U[1]*U[1] - 750*C*
L3*R*U[1]*U[1]*U[3] + 966*C*
L3*R*U[1]*U[3]*U[3] - 588*C*
L3*R*U[3]*U[3]*U[3] + 1530*C*
L3*U[0]*U[1]*U[1] - 3060*C*
L3*U[0]*U[1]*U[3] + 2118*C*
L3*U[0]*U[3]*U[3] + 1746*C*
L3*U[1]*U[1]*U[2] - 5832*C*
L3*U[1]*U[2]*U[3] + 7164*C*
L3*U[2]*U[3]*U[3] + 3648*C*
L2*R*U[0]*U[1]*U[1] - 6120*C*
L2*R*U[0]*U[1]*U[3] + 3648*C*
L2*R*U[0]*U[3]*U[3] + 3216*C*
L2*R*U[1]*U[1]*U[2] - 9324*C*
L2*R*U[1]*U[2]*U[3] + 10080*C*
L2*R*U[2]*U[3]*U[3] + 6708*C*
L2*U[0]*U[0]*U[1] - 6120*C*
L2*U[0]*U[0]*U[3] + 13416*C*
L2*U[0]*U[1]*U[2] - 20988*C*
L2*U[0]*U[2]*U[3] + 15912*C*
L2*U[1]*U[2]*U[2] - 50112*C*
L2*U[2]*U[2]*U[3] + 17202*C*L*R*U[0]*U[0]*U[1] - 12828*C*L*R*U[0]*U[0]*U[3] + 25656*C*L*R*U[0]*U[1]*U[2] - 34404*C*L*R*U[0]*U[2]*U[3] + 24066*C*L*R*U[1]*U[2]*U[2] - 66024*C*L*R*U[2]*U[2]*U[3] + 10206*C*L*U[0]*U[0]*U[0] + 26244*C*L*U[0]*U[0]*U[2] + 55890*C*L*U[0]*U[2]*U[2] + 159912*C*L*U[2]*U[2]*U[2] + 28836*C*R*U[0]*U[0]*U[0] + 52488*C*R*U[0]*U[0]*U[2] + 86508*C*R*U[0]*U[2]*U[2] + 192528*C*R*U[2]*U[2]*U[2] + 30030*L*J[0] + 96096*L*J[1] + 54054*R*J[0] + 126126*R*J[1]);
240 F3 += (1.0/360360.0)*
L2*(-130*B*
L3*U[1]*U[1] + 312*B*
L3*U[1]*U[3] - 273*B*
L3*U[3]*U[3] - 286*B*
L2*R*U[1]*U[1] + 572*B*
L2*R*U[1]*U[3] - 429*B*
L2*R*U[3]*U[3] - 1092*B*
L2*U[0]*U[1] + 1196*B*
L2*U[0]*U[3] - 1482*B*
L2*U[1]*U[2] + 3094*B*
L2*U[2]*U[3] - 2574*B*L*R*U[0]*U[1] + 2288*B*L*R*U[0]*U[3] - 2574*B*L*R*U[1]*U[2] + 4576*B*L*R*U[2]*U[3] - 2379*B*L*U[0]*U[0] - 5538*B*L*U[0]*U[2] - 10101*B*L*U[2]*U[2] - 6149*B*R*U[0]*U[0] - 10010*B*R*U[0]*U[2] - 13871*B*R*U[2]*U[2] - 30*C*
L4*U[1]*U[1]*U[1] + 90*C*
L4*U[1]*U[1]*U[3] - 120*C*
L4*U[1]*U[3]*U[3] + 72*C*
L4*U[3]*U[3]*U[3] - 70*C*
L3*R*U[1]*U[1]*U[1] + 180*C*
L3*R*U[1]*U[1]*U[3] - 210*C*
L3*R*U[1]*U[3]*U[3] + 112*C*
L3*R*U[3]*U[3]*U[3] - 390*C*
L3*U[0]*U[1]*U[1] + 720*C*
L3*U[0]*U[1]*U[3] - 450*C*
L3*U[0]*U[3]*U[3] - 390*C*
L3*U[1]*U[1]*U[2] + 1152*C*
L3*U[1]*U[2]*U[3] - 1188*C*
L3*U[2]*U[3]*U[3] - 966*C*
L2*R*U[0]*U[1]*U[1] + 1500*C*
L2*R*U[0]*U[1]*U[3] - 810*C*
L2*R*U[0]*U[3]*U[3] - 750*C*
L2*R*U[1]*U[1]*U[2] + 1932*C*
L2*R*U[1]*U[2]*U[3] - 1764*C*
L2*R*U[2]*U[3]*U[3] - 1746*C*
L2*U[0]*U[0]*U[1] + 1470*C*
L2*U[0]*U[0]*U[3] - 3060*C*
L2*U[0]*U[1]*U[2] + 4236*C*
L2*U[0]*U[2]*U[3] - 2916*C*
L2*U[1]*U[2]*U[2] + 7164*C*
L2*U[2]*U[2]*U[3] - 4662*C*L*R*U[0]*U[0]*U[1] + 3216*C*L*R*U[0]*U[0]*U[3] - 6120*C*L*R*U[0]*U[1]*U[2] + 7296*C*L*R*U[0]*U[2]*U[3] - 4662*C*L*R*U[1]*U[2]*U[2] + 10080*C*L*R*U[2]*U[2]*U[3] - 2718*C*L*U[0]*U[0]*U[0] - 6120*C*L*U[0]*U[0]*U[2] - 10494*C*L*U[0]*U[2]*U[2] - 16704*C*L*U[2]*U[2]*U[2] - 8022*C*R*U[0]*U[0]*U[0] - 12828*C*R*U[0]*U[0]*U[2] - 17202*C*R*U[0]*U[2]*U[2] - 22008*C*R*U[2]*U[2]*U[2] - 6006*L*J[0] - 12012*L*J[1] - 12012*R*J[0] - 18018*R*J[1]);