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

Method SymMatrixDifferentialOperator

fem/diffop.cpp:1241–1263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1239
1240
1241 SymMatrixDifferentialOperator ::
1242 SymMatrixDifferentialOperator (shared_ptr<DifferentialOperator> adiffop,
1243 int avdim)
1244 : DifferentialOperator(sqr(avdim)*adiffop->Dim(), adiffop->BlockDim(),
1245 adiffop->VB(), adiffop->DiffOrder()),
1246 diffop(adiffop), vdim(avdim)
1247 {
1248 if (adiffop->Dimensions().Size() == 0)
1249 {
1250 SetDimensions ( { avdim, avdim } );
1251 Matrix<> vsembedding(sqr(vdim), vdim*(vdim+1)/2);
1252 vsembedding = 0.0;
1253 for (int i = 0, ii = 0; i < vdim; i++)
1254 for (int j = 0; j <= i; j++, ii++)
1255 {
1256 vsembedding(i*vdim+j, ii) = 1;
1257 vsembedding(j*vdim+i, ii) = 1;
1258 }
1259 SetVectorSpaceEmbedding(vsembedding);
1260 }
1261 else
1262 throw Exception("no matrix-valued of vector-valued possible");
1263 }
1264
1265
1266 SymMatrixDifferentialOperator :: ~SymMatrixDifferentialOperator () { ; }

Callers

nothing calls this directly

Calls 7

SetVectorSpaceEmbeddingFunction · 0.85
DiffOrderMethod · 0.80
DimensionsMethod · 0.80
SetDimensionsFunction · 0.70
DimMethod · 0.45
VBMethod · 0.45
SizeMethod · 0.45

Tested by

no test coverage detected