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

Method NonZeroPattern

fem/coefficient_matrix.hpp:922–936  ·  view source on GitHub ↗

virtual void NonZeroPattern (const class ProxyUserData & ud, FlatVector nonzero, FlatVector nonzero_deriv, FlatVector nonzero_dderiv) const override { int dim1 = c1->Dimension(); Vector v1(dim1), d1(dim1), dd1(dim1); c1->NonZeroPattern (ud, v1, d1, dd1); bool v = false, d = false, dd = false; for (int i = 0; i < dim1; i+

Source from the content-addressed store, hash-verified

920 }
921 */
922 virtual void NonZeroPattern (const class ProxyUserData & ud,
923 FlatVector<AutoDiffDiff<1,NonZero>> values) const override
924 {
925 int dim1 = c1->Dimension();
926 int d = c1->Dimensions()[0];
927 Vector<AutoDiffDiff<1,NonZero>> v1(dim1);
928 c1->NonZeroPattern (ud, v1);
929 values(0) = false;
930 /*
931 for (int i = 0; i < dim1; i++)
932 values(0) = values(0)+v1(i); // logical or
933 */
934 for (int i = 0; i < d; i++)
935 values(0) = values(0)+v1(i*(d+1)); // logical or
936 }
937
938 virtual void NonZeroPattern (const class ProxyUserData & ud,
939 FlatArray<FlatVector<AutoDiffDiff<1,NonZero>>> input,

Callers 3

NonZeroPatternMethod · 0.45
NonZeroPatternMethod · 0.45
NonZeroPatternMethod · 0.45

Calls 2

DimensionsMethod · 0.80
DimensionMethod · 0.45

Tested by

no test coverage detected