void extract_vec ( const VectorEpetra& V, VectorElemental& elvec, const DOFLocalPattern& fe, const DOF& dof, const UInt feId, const UInt elvecBlock ) { typename VectorElemental::vector_view vec = elvec.block ( elvecBlock ); for ( UInt i (0) ; i < fe.nbLocalDof() ; ++i ) { const UInt ig = dof.localToGlobalMap ( feId, i ); vec ( i ) = V [ ig ]; } }
void assembleVector ( VectorEpetra& globalVector, const UInt& elementID, VectorElemental& localVector, const UInt& feNbDof, const DofType& dof, Int block, Int offset = 0) { VectorElemental::vector_view localView = localVector.block ( block ); UInt iGlobalID; for ( UInt i (0) ; i < feNbDof ; ++i ) { iGlobalID = dof.localToGlobalMap ( elementID, i ) + offset; globalVector.sumIntoGlobalValues ( iGlobalID, localView ( i ) ); } }