MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / CalcSubMatrix

Method CalcSubMatrix

bem/ngbem.hpp:305–319  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

303 }
304
305 virtual std::variant<Matrix<double>, Matrix<Complex>> CalcSubMatrix (FlatArray<DofId> rowids, FlatArray<DofId> colids, LocalHeap &lh) const override
306 {
307 optional<std::variant<Matrix<double>, Matrix<Complex>>> sum;
308 for (auto const & op : summands)
309 {
310 auto mat = op->CalcSubMatrix(rowids, colids, lh);
311 if (sum)
312 sum = AddDenseMatrixVariants(std::move(*sum), std::move(mat));
313 else
314 sum = std::move(mat);
315 }
316 if (!sum)
317 throw Exception("SumIntegralOperator needs at least one summand");
318 return std::move(*sum);
319 }
320
321 FMMOperatorInfo GetFMMInfo() const override
322 {

Calls 1

AddDenseMatrixVariantsFunction · 0.85