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

Method FETI_Jump_Matrix

parallel/parallel_matrices.cpp:825–842  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

823
824
825 FETI_Jump_Matrix :: FETI_Jump_Matrix (shared_ptr<ParallelDofs> apardofs, shared_ptr<ParallelDofs> au_paralleldofs)
826 : BaseMatrix(apardofs), u_paralleldofs(au_paralleldofs)
827 {
828
829 size_t njs = 0;
830 for (auto p:paralleldofs->GetDistantProcs())
831 njs += paralleldofs->GetExchangeDofs(p).Size();
832
833 Array<size_t> ones(njs);
834 ones = 1;
835 Table<int> dps(ones);
836 njs = 0;
837 for (auto p : paralleldofs->GetDistantProcs())
838 for ([[maybe_unused]] auto d : paralleldofs->GetExchangeDofs(p))
839 dps[njs++][0] = p;
840
841 this->jump_paralleldofs = make_shared<ParallelDofs>(paralleldofs->GetCommunicator(), std::move(dps));
842 }
843
844
845 void FETI_Jump_Matrix :: MultAdd (double s, const BaseVector & x, BaseVector & y) const

Callers

nothing calls this directly

Calls 4

GetDistantProcsMethod · 0.80
GetExchangeDofsMethod · 0.80
SizeMethod · 0.45
GetCommunicatorMethod · 0.45

Tested by

no test coverage detected