|
@@ -5224,7 +5224,7 @@ template <class Real, Integer ORDER=10> class Stellarator {
|
|
|
const Long Nelem = S.GetElemList().NElem();
|
|
|
const Long Nnodes = ElemBasis::Size();
|
|
|
const Integer INTERP_ORDER = 12;
|
|
|
- Long Nt = S.NtNp_[0]*ORDER/2, Np = S.NtNp_[1]*ORDER/2;
|
|
|
+ Long Nt = S.NtNp_[0]*ORDER/3, Np = S.NtNp_[1]*ORDER/3;
|
|
|
|
|
|
Matrix<Real> M(Nt, Np); M = 0;
|
|
|
const auto& quad_wts = ElemBasis::QuadWts();
|
|
@@ -5266,7 +5266,7 @@ template <class Real, Integer ORDER=10> class Stellarator {
|
|
|
for (Long jj = 0; jj < INTERP_ORDER; jj++) {
|
|
|
Long idx_i = (i + ii-(INTERP_ORDER-1)/2 + Nt) % Nt;
|
|
|
Long idx_j = (j + jj-(INTERP_ORDER-1)/2 + Np) % Np;
|
|
|
- M[idx_i][idx_j] += dg_dnu[elem_idx][node_idx] * area_elem[elem_idx][node_idx] * quad_wts[node_idx] * Interp0[ii] * Interp1[jj];
|
|
|
+ M[idx_i][idx_j] += dg_dnu[elem_idx][node_idx] * quad_wts[node_idx] * Interp0[ii] * Interp1[jj] / (S.NtNp_[0] * S.NtNp_[1]) * (Nt * Np);
|
|
|
}
|
|
|
}
|
|
|
}
|