示例#1
0
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 ];
    }
}
示例#2
0
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 ) );
    }
}