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

Method Mult

parallel/parallel_matrices.cpp:733–749  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

731 CumulationOperator :: ~CumulationOperator() { }
732
733 void CumulationOperator :: Mult (const BaseVector & x, BaseVector & y) const
734 {
735 if (pardofs->GetCommunicator().Size() == 1)
736 {
737 y = x;
738 return;
739 }
740
741 if (x.GetParallelStatus() != DISTRIBUTED)
742 throw Exception ("CumulationOperator::Mult called, but x is not distributed");
743 if (y.GetParallelStatus() != CUMULATED)
744 throw Exception ("CumulationOperator::Mult called, but y is not distributed");
745
746 dynamic_cast<ParallelBaseVector&> (y).SetStatus(DISTRIBUTED);
747 y = x;
748 y.Cumulate();
749 }
750
751 void CumulationOperator :: MultAdd (double s, const BaseVector & x, BaseVector & y) const
752 {

Callers

nothing calls this directly

Calls 4

GetParallelStatusMethod · 0.80
CumulateMethod · 0.80
SizeMethod · 0.45
GetCommunicatorMethod · 0.45

Tested by

no test coverage detected