NOX::LAPACK::Group::Group(const NOX::LAPACK::Group& source, NOX::CopyType type) : xVector(source.xVector, type), fVector(source.fVector, type), newtonVector(source.newtonVector, type), gradientVector(source.gradientVector, type), jacSolver(source.jacSolver), problemInterface(source.problemInterface) { switch (type) { case NOX::DeepCopy: isValidF = source.isValidF; isValidGradient = source.isValidGradient; isValidNewton = source.isValidNewton; isValidJacobian = source.isValidJacobian; break; case NOX::ShapeCopy: resetIsValid(); break; default: std::cerr << "NOX:LAPACK::Group - invalid CopyType for copy constructor." << std::endl; throw "NOX LAPACK Error"; } }
void LOCA::Homotopy::DeflatedGroup:: setHomotopyParam(double val) { xVec->getScalar(0) = val; paramVec[conParamID] = val; resetIsValid(); }
void LOCA::Homotopy::DeflatedGroup:: setParams(const LOCA::ParameterVector& p) { grpPtr->setParams(p); xVec->getScalar(0) = p[conParamID]; resetIsValid(); }
void NOX::Belos::Group::computeX(const NOX::Abstract::Group& g, const NOX::Abstract::Vector& d, double step) { const NOX::Belos::Group& belos_g = dynamic_cast<const NOX::Belos::Group&>(g); grpPtr->computeX(*(belos_g.grpPtr),d,step); resetIsValid(); }
NOX::LAPACK::Group::Group(NOX::LAPACK::Interface& interface): xVector(interface.getInitialGuess()), // deep copy fVector(xVector, ShapeCopy), // new vector of same size newtonVector(xVector, ShapeCopy), // new vector of same size gradientVector(xVector, ShapeCopy), // new vector of same size jacSolver(xVector.length()), // create a Jacobian matrix problemInterface(interface) // set reference to the problem interface { resetIsValid(); }
void LOCA::Hopf::MinimallyAugmented::ExtendedGroup:: setBifParam(double val) { grpPtr->setParam(bifParamID, val); xVec->getScalar(0) = val; constraintsPtr->setParam(bifParamID, val); resetIsValid(); }
void LOCA::MultiContinuation::ConstrainedGroup::setConstraintParameter(int i, double val) { grpPtr->setParam(constraintParamIDs[i],val); xVec->getScalar(i) = val; constraintsPtr->setParam(constraintParamIDs[i],val); resetIsValid(); }
void LOCA::Hopf::MinimallyAugmented::ExtendedGroup:: setParams(const LOCA::ParameterVector& p) { grpPtr->setParams(p); for (int i=0; i<p.length(); i++) constraintsPtr->setParam(i, p[i]); xVec->getScalar(0) = p[bifParamID]; resetIsValid(); }
void LOCA::Homotopy::DeflatedGroup:: setParam(int paramID, double val) { grpPtr->setParam(paramID, val); paramVec[paramID] = val; if (paramID == conParamID) conParam = val; resetIsValid(); }
void LOCA::Homotopy::DeflatedGroup:: setX(const NOX::Abstract::Vector& y) { const LOCA::MultiContinuation::ExtendedVector& my = dynamic_cast<const LOCA::MultiContinuation::ExtendedVector&>(y); grpPtr->setX( *(my.getXVec()) ); *xVec = my; resetIsValid(); }
void LOCA::MultiContinuation::ConstrainedGroup::setParam(int paramID, double val) { grpPtr->setParam(paramID, val); constraintsPtr->setParam(paramID, val); for (unsigned int j=0; j<constraintParamIDs.size(); j++) if (paramID == constraintParamIDs[j]) xVec->getScalar(j) = val; resetIsValid(); }
void LOCA::MultiContinuation::ConstrainedGroup::setParams( const LOCA::ParameterVector& p) { grpPtr->setParams(p); for (int i=0; i<p.length(); i++) constraintsPtr->setParam(i, p[i]); for (int i=0; i<numParams; i++) xVec->getScalar(i) = p[constraintParamIDs[i]]; resetIsValid(); }
void LOCA::Hopf::MinimallyAugmented::ExtendedGroup:: setParamsMulti(const vector<int>& paramIDs, const NOX::Abstract::MultiVector::DenseMatrix& vals) { grpPtr->setParamsMulti(paramIDs, vals); constraintsPtr->setParams(paramIDs, vals); for (unsigned int i=0; i<paramIDs.size(); i++) if (paramIDs[i] == bifParamID) xVec->getScalar(0) = vals(i,0); resetIsValid(); }
void LOCA::MultiContinuation::ConstrainedGroup::setParamsMulti( const std::vector<int>& paramIDs, const NOX::Abstract::MultiVector::DenseMatrix& vals) { grpPtr->setParamsMulti(paramIDs, vals); constraintsPtr->setParams(paramIDs, vals); for (unsigned int i=0; i<paramIDs.size(); i++) for (unsigned int j=0; j<constraintParamIDs.size(); j++) if (paramIDs[i] == constraintParamIDs[j]) xVec->getScalar(j) = vals(i,0); resetIsValid(); }
void LOCA::MultiContinuation::ConstrainedGroup::setX( const NOX::Abstract::Vector& y) { const LOCA::MultiContinuation::ExtendedVector& my = dynamic_cast<const LOCA::MultiContinuation::ExtendedVector&>(y); grpPtr->setX( *(my.getXVec()) ); grpPtr->setParamsMulti(constraintParamIDs, *my.getScalars()); *xVec = my; constraintsPtr->setX( *(my.getXVec()) ); constraintsPtr->setParams(constraintParamIDs, *my.getScalars()); resetIsValid(); }
void LOCA::Homotopy::DeflatedGroup:: setParamsMulti(const vector<int>& paramIDs, const NOX::Abstract::MultiVector::DenseMatrix& vals) { grpPtr->setParamsMulti(paramIDs, vals); for (unsigned int i=0; i<paramIDs.size(); i++) { paramVec[paramIDs[i]] = vals(i,0); if (paramIDs[i] == conParamID) conParam = vals(i,0); } resetIsValid(); }
void LOCA::Homotopy::DeflatedGroup:: computeX(const NOX::Abstract::Group& g, const NOX::Abstract::Vector& d, double step) { const LOCA::Homotopy::DeflatedGroup& mg = dynamic_cast<const LOCA::Homotopy::DeflatedGroup&>(g); const LOCA::MultiContinuation::ExtendedVector& md = dynamic_cast<const LOCA::MultiContinuation::ExtendedVector&>(d); grpPtr->computeX(*(mg.grpPtr), *(md.getXVec()), step); xVec->update(1.0, mg.getX(), step, md, 0.0); resetIsValid(); }
void LOCA::Hopf::MinimallyAugmented::ExtendedGroup:: setX(const NOX::Abstract::Vector& y) { const LOCA::MultiContinuation::ExtendedVector& my = dynamic_cast<const LOCA::MultiContinuation::ExtendedVector&>(y); grpPtr->setX( *(my.getXVec()) ); grpPtr->setParam(bifParamID, my.getScalar(0)); *xVec = my; constraintsPtr->setX( *(my.getXVec()) ); constraintsPtr->setParam(bifParamID, my.getScalar(0)); constraintsPtr->setFrequency(my.getScalar(1)); resetIsValid(); }
NOX::Multiphysics::Group::Group( const Teuchos::RCP<std::vector<Teuchos::RCP<NOX::Solver::Generic> > >& solvers, const Teuchos::RCP<NOX::StatusTest::Generic>& t, const Teuchos::RCP<Teuchos::ParameterList>& p) : solversVecPtr(solvers), normRHS(0.0) { // Create our version of the composite solution vector std::vector<const NOX::Abstract::Vector*> vecPtrs; for( unsigned int i = 0; i < solvers->size(); ++i ) { std::cout << " .. .. .. received solver # " << i << std::endl; vecPtrs.push_back( &((*solvers)[i]->getSolutionGroup().getX()) ); } resetIsValid(); }
void LOCA::MultiContinuation::ConstrainedGroup::computeX( const NOX::Abstract::Group& g, const NOX::Abstract::Vector& d, double step) { const LOCA::MultiContinuation::ConstrainedGroup& mg = dynamic_cast<const LOCA::MultiContinuation::ConstrainedGroup&>(g); const LOCA::MultiContinuation::ExtendedVector& md = dynamic_cast<const LOCA::MultiContinuation::ExtendedVector&>(d); grpPtr->computeX(*(mg.grpPtr), *(md.getXVec()), step); xVec->update(1.0, mg.getX(), step, md, 0.0); grpPtr->setParamsMulti(constraintParamIDs, *xVec->getScalars()); constraintsPtr->setX( *(xVec->getXVec()) ); constraintsPtr->setParams(constraintParamIDs, *xVec->getScalars()); resetIsValid(); }
void LOCA::Hopf::MinimallyAugmented::ExtendedGroup:: computeX(const NOX::Abstract::Group& g, const NOX::Abstract::Vector& d, double step) { const LOCA::Hopf::MinimallyAugmented::ExtendedGroup& mg = dynamic_cast<const LOCA::Hopf::MinimallyAugmented::ExtendedGroup&>(g); const LOCA::MultiContinuation::ExtendedVector& md = dynamic_cast<const LOCA::MultiContinuation::ExtendedVector&>(d); grpPtr->computeX(*(mg.grpPtr), *(md.getXVec()), step); xVec->update(1.0, mg.getX(), step, md, 0.0); grpPtr->setParam(bifParamID, xVec->getScalar(0)); constraintsPtr->setX( *(xVec->getXVec()) ); constraintsPtr->setParam(bifParamID, xVec->getScalar(0)); constraintsPtr->setFrequency(xVec->getScalar(1)); resetIsValid(); }
NOX::Multiphysics::Group::Group( const Group & source, NOX::CopyType type ): normRHS(0.0) { switch (type) { case DeepCopy: isValidRHS = source.isValidRHS; normRHS = source.normRHS; break; case ShapeCopy: resetIsValid(); break; default: std::cerr << "ERROR: Invalid ConstructorType for group copy constructor." << std::endl; throw "NOX Error"; } }
void LOCA::PhaseTransition::ExtendedGroup::setParam(string paramID, double val) { resetIsValid(); grp->setParam(paramID, val); }
void NOX::Multiphysics::Group::setX(const NOX::Abstract::Vector& y) { resetIsValid(); }
void NOX::Multiphysics::Group::computeX(const NOX::Abstract::Group& grp, const NOX::Abstract::Vector& d, double step) { resetIsValid(); }
void LOCA::Epetra::Group::setParam(std::string paramID, double val) { resetIsValid(); params.setValue(paramID, val); }
void LOCA::Epetra::Group::setParams(const LOCA::ParameterVector& p) { resetIsValid(); params = p; }
void LOCA::LAPACK::Group::setParam(string paramID, double val) { resetIsValid(); params.setValue(paramID, val); }
void NOX::LAPACK::Group::setX(const Vector& y) { resetIsValid(); xVector = y; }
void NOX::LAPACK::Group::computeX(const Group& grp, const Vector& d, double step) { resetIsValid(); xVector.update(1.0, grp.xVector, step, d); }