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

Method NonZeroPattern

fem/coefficient_matrix.cpp:750–769  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

748 */
749
750 virtual void NonZeroPattern (const class ProxyUserData & ud,
751 FlatVector<AutoDiffDiff<1,NonZero>> values) const override
752 {
753 Vector<AutoDiffDiff<1,NonZero>> v1(c1->Dimension());
754 c1->NonZeroPattern (ud, v1);
755 /*
756 AutoDiffDiff<1,NonZero> sum(false);
757 for (int i = 0; i < v1.Size(); i++)
758 sum += v1(i);
759 values = sum;
760 */
761 Mat<D,D,AutoDiffDiff<1,NonZero>> v1mat;
762 for (int i = 0; i < D; i++)
763 for (int j = 0; j < D; j++)
764 v1mat(i,j) = v1(i*D+j);
765 auto v2mat = Cof(v1mat);
766 for (int i = 0; i < D; i++)
767 for (int j = 0; j < D; j++)
768 values(i*D+j) = v2mat(i,j);
769 }
770
771 virtual void NonZeroPattern (const class ProxyUserData & ud,
772 FlatArray<FlatVector<AutoDiffDiff<1,NonZero>>> input,

Callers

nothing calls this directly

Calls 2

DimensionMethod · 0.45
NonZeroPatternMethod · 0.45

Tested by

no test coverage detected