コード例 #1
0
MainWindow::MainWindow(QObject *parent)
    : QObject(parent)
{
    createMembers();
    setupMembers();
    connectSignals();
}
コード例 #2
0
Teuchos::RCP<NOX::Abstract::MultiVector>
NOX::Thyra::Vector::
createMultiVector(int numVecs, NOX::CopyType type) const
{
  TEUCHOS_TEST_FOR_EXCEPTION(nonnull(weightVec_), std::logic_error,
			     "Can NOT create NOX::Thyra::MultiVector from a NOX::Thyra::Vector that contains a weighting vector! ");

  // Get vector space
  Teuchos::RCP<const ::Thyra::VectorSpaceBase<double> > space = 
    thyraVec->space();

  // Create Thyra multivector
  Teuchos::RCP< ::Thyra::MultiVectorBase<double> > mv = 
    createMembers(*space, numVecs);

  // Copy vectors
  if (type == NOX::DeepCopy) {
    for (int i=0; i<numVecs; i++) {
      Teuchos::RCP< ::Thyra::VectorBase<double> > v = mv->col(i);
      ::Thyra::copy(*thyraVec, v.ptr());
    }
  }
  
  // Create multi-vector
  Teuchos::RCP<NOX::Thyra::MultiVector> nmv = 
    Teuchos::rcp(new NOX::Thyra::MultiVector(mv));

  return nmv;
}
コード例 #3
0
Teuchos::RCP< Thyra::MultiVectorBase<Scalar> >
Thyra::createMembers(
    const VectorSpaceBase<Scalar> &vs, int numMembers,
    const std::string &label
)
{
    return createMembers(Teuchos::rcp(&vs,false), numMembers, label);
}
コード例 #4
0
Teuchos::RCP< Thyra::MultiVectorBase<Scalar> >
Thyra::createMembers(
    const RCP<const VectorSpaceBase<Scalar> > &vs,
    const RCP<const VectorSpaceBase<Scalar> > &domain,
    const std::string &label
)
{
    return createMembers(vs, domain->dim(), label);
}
コード例 #5
0
void LinearOpScalarProd<Scalar>::scalarProdsImpl(
  const MultiVectorBase<Scalar>& X, const MultiVectorBase<Scalar>& Y,
  const ArrayView<Scalar> &scalarProds_out
  ) const
{
  Teuchos::RCP<MultiVectorBase<Scalar> >
    T = createMembers(Y.range() ,Y.domain()->dim());
  Thyra::apply(*op_, NOTRANS,Y, T.ptr());
  dots(X, *T, scalarProds_out);
}
inline
RCP<DefaultMultiVectorProductVector<Scalar> >
multiVectorProductVector(
  const RCP<const DefaultMultiVectorProductVectorSpace<Scalar> > &productSpace
  )
{
#ifdef TEUCHOS_DEBUG
  TEST_FOR_EXCEPT(is_null(productSpace));
#endif
  return multiVectorProductVector(
    productSpace,
    createMembers(productSpace->getBlock(0),productSpace->numBlocks())
    );
}