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

Method InverseMatrixTM

parallel/parallel_matrices.cpp:695–711  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

693
694 template <typename TM>
695 shared_ptr<BaseMatrix> ParallelMatrix::InverseMatrixTM (shared_ptr<BitArray> subset) const
696 {
697 const SparseMatrixTM<TM> * dmat = dynamic_cast<const SparseMatrixTM<TM>*> (mat.get());
698 if (!dmat) return nullptr;
699
700#ifdef USE_MUMPS
701 bool symmetric = dynamic_cast<const SparseMatrixSymmetric<TM>*> (mat.get()) != NULL;
702 if (mat->GetInverseType() == "mumps")
703 return make_shared<ParallelMumpsInverse<TM>> (*dmat, subset, nullptr, paralleldofs, symmetric);
704 else
705#endif
706
707#ifdef PARALLEL
708 return make_shared<MasterInverse<TM>> (*dmat, subset, paralleldofs);
709#endif
710 throw Exception ("ParallelMatrix: don't know how to invert");
711 }
712
713
714

Callers

nothing calls this directly

Calls 2

GetInverseTypeMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected