NOX
Development
|
Extension of the NOX::Thyra::Group to LOCA. More...
#include <LOCA_Thyra_Group.H>
Public Member Functions | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data, const NOX::Thyra::Vector &initial_guess, const Teuchos::RCP< ::Thyra::ModelEvaluator< double > > &model, const LOCA::ParameterVector &p, int p_index, bool implement_dfdp=false, const Teuchos::RCP< const ::Thyra::VectorBase< double > > &weight_vector=Teuchos::null, const bool set_transient_in_args=true) | |
Constructor (internally constructs nox group) | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data, const NOX::Thyra::Group &nox_group, const LOCA::ParameterVector &p, const std::vector< int > &p_index, bool implement_dfdp=false, const Teuchos::RCP< const ::Thyra::VectorBase< double > > &weight_vector=Teuchos::null, const bool set_transient_in_args=true) | |
Constructor for Householder continuation where parameters are in separate param vectors. | |
Group (const Group &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. If type is DeepCopy, takes ownership of valid shared Jacobian. | |
virtual | ~Group () |
Destructor. | |
virtual Group & | operator= (const Group &source) |
Assignment operator. | |
void | setSaveDataStrategy (const Teuchos::RCP< LOCA::Thyra::SaveDataStrategy > &s) |
Set strategy object for saving continuation data. | |
Overloaded NOX::Thyra::Group methods. | |
virtual NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
Assignment operator. | |
virtual NOX::Abstract::Group & | operator= (const NOX::Thyra::Group &source) |
Assignment operator. | |
virtual Teuchos::RCP < NOX::Abstract::Group > | clone (NOX::CopyType type=NOX::DeepCopy) const |
Cloning function. | |
virtual NOX::Abstract::Group::ReturnType | computeF () |
Overloaded computeF() | |
virtual NOX::Abstract::Group::ReturnType | computeJacobian () |
Overloaded computeJacobian() | |
Implementation of LOCA::MultiContinuation::AbstractGroup virtual methods. | |
virtual void | copy (const NOX::Abstract::Group &source) |
Copy. | |
virtual void | setParams (const ParameterVector &p) |
Set the parameters. | |
virtual void | setParam (int paramID, double val) |
Set parameter indexed by paramID. | |
virtual void | setParam (std::string paramID, double val) |
Set parameter indexed by paramID. | |
const LOCA::ParameterVector & | getParams () const |
Return a const reference to the ParameterVector owned by the group. | |
virtual double | getParam (int paramID) const |
Return copy of parameter indexed by paramID. | |
virtual double | getParam (std::string paramID) const |
Return copy of parameter indexed by paramID. | |
virtual NOX::Abstract::Group::ReturnType | computeDfDpMulti (const std::vector< int > ¶mIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF) |
virtual void | preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus) |
Perform any preprocessing before a continuation step starts. | |
virtual void | postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus) |
Perform any postprocessing after a continuation step finishes. | |
virtual void | projectToDraw (const NOX::Abstract::Vector &x, double *px) const |
Projects solution to a few scalars for multiparameter continuation. | |
virtual int | projectToDrawDimension () const |
Returns the dimension of the project to draw array. | |
virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
Compute a scaled dot product. More... | |
virtual void | printSolution (const double conParam) const |
Call the user interface print() routine, solution vector. | |
virtual void | printSolution (const NOX::Abstract::Vector &x, const double conParam) const |
Call the user interface print() routine, any vector. | |
virtual void | scaleVector (NOX::Abstract::Vector &x) const |
Scales a vector using scaling vector. More... | |
Implementation of LOCA::TimeDependent::AbstractGroup virtual methods. | |
virtual NOX::Abstract::Group::ReturnType | computeShiftedMatrix (double alpha, double beta) |
Compute the shifted matrix. | |
virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Multiply the shifted matrix by a vector. | |
virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Multiply the shifted matrix by a multi-vector. | |
virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrixInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Apply the inverse of the shifted matrix by a multi-vector, as needed by the shift-and-invert and generalized Cayley transformations. | |
Public Member Functions inherited from NOX::Thyra::Group | |
Group (const NOX::Thyra::Vector &initialGuess, const Teuchos::RCP< const ::Thyra::ModelEvaluator< double > > &model, const Teuchos::RCP< const ::Thyra::VectorBase< double > > &weightVector=Teuchos::null, const Teuchos::RCP< const ::Thyra::VectorBase< double > > &rightWeightVector=Teuchos::null, const Teuchos::RCP<::Thyra::VectorBase< double > > &inv_rightWeightVector=Teuchos::null, const bool rightScalingFirst=false) | |
The default constructor that uses the linear solver from the ModelEvaluator. More... | |
Group (const NOX::Thyra::Vector &initialGuess, const Teuchos::RCP< const ::Thyra::ModelEvaluator< double > > &model, const Teuchos::RCP< ::Thyra::LinearOpBase< double > > &linearOp, const Teuchos::RCP< const ::Thyra::LinearOpWithSolveFactoryBase< double > > &lowsFactory, const Teuchos::RCP< ::Thyra::PreconditionerBase< double > > &precOp, const Teuchos::RCP< ::Thyra::PreconditionerFactoryBase< double > > &precFactory, const Teuchos::RCP< const ::Thyra::VectorBase< double > > &weightVector=Teuchos::null, const Teuchos::RCP< const ::Thyra::VectorBase< double > > &rightWeightVector=Teuchos::null, const Teuchos::RCP<::Thyra::VectorBase< double > > &inv_rightWeightVector=Teuchos::null, const bool rightScalingFirst=false, const bool updatePreconditioner=true, const bool jacobianIsEvaluated=false) | |
Power user constructor that takes explicit linear solver objects to handle different combinations. More... | |
Group (const NOX::Thyra::Group &source, NOX::CopyType type=DeepCopy) | |
Copy constructor. | |
~Group () | |
Destructor. | |
NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
Copies the source group into this group. More... | |
NOX::Abstract::Group & | operator= (const NOX::Thyra::Group &source) |
Teuchos::RCP< const ::Thyra::VectorBase< double > > | get_current_x () const |
Teuchos::RCP < ::Thyra::LinearOpBase < double > > | getNonconstJacobianOperator () |
Teuchos::RCP< const ::Thyra::LinearOpBase< double > > | getJacobianOperator () const |
Teuchos::RCP< const ::Thyra::LinearOpBase< double > > | getScaledJacobianOperator () const |
void | unscaleJacobianOperator () const |
Teuchos::RCP < ::Thyra::LinearOpWithSolveBase < double > > | getNonconstJacobian () |
Teuchos::RCP< const ::Thyra::LinearOpWithSolveBase < double > > | getJacobian () const |
Teuchos::RCP < ::Thyra::PreconditionerBase < double > > | getNonconstPreconditioner () |
Teuchos::RCP< const ::Thyra::PreconditionerBase < double > > | getPreconditioner () const |
void | setJacobianOperator (const Teuchos::RCP<::Thyra::LinearOpBase< double >> &op) |
Dangerous power user function for LOCA Householder bordered algorithm. | |
void | setPreconditionerMatrix (const Teuchos::RCP< const ::Thyra::DefaultLinearOpSource< double >> &op) |
Dangerous power user function for LOCA Householder bordered algorithm. This is the Matrix M that is used to initialize a stratimikos preconditioner. NOTE: this sets the losb_ object used to update prec_! | |
virtual void | logLastLinearSolveStats (NOX::SolverStats &stats) const |
Adds statistics from last linear solve to the SovlerStats object. | |
void | print () const |
Print out the group. | |
Teuchos::RCP< const ::Thyra::ModelEvaluator < double > > | getModel () const |
void | enablePseudoTransientTerms (const Teuchos::RCP< const ::Thyra::VectorBase< double >> &x_dot, const double alpha, const double beta, const double t) |
Set the transient terms on the Group and use them in the underlying evalModelImpl() calls. More... | |
void | disablePseudoTransientTerms () |
Disable the pseudo traansient terms in the underlying evalModel() calls. Sets x_dot, alpha, beta and t back to steady state values. | |
bool | usingPseudoTransientTerms () const |
Check for whether the pseudo transient support is enabled for residual and Jacobian evaluations. | |
void | setBasePoint (const ::Thyra::ModelEvaluatorBase::InArgs< double > &base_point_params) |
void | unsetBasePoint () |
Unset the base point parameters so that they are not used internally. | |
bool | usingBasePoint () const |
Returns true if a base point has been set. | |
Teuchos::RCP< const ::Thyra::LinearOpWithSolveFactoryBase < double > > | getLinearOpWithSolveFactory () const |
Returns the thyra linear solver factory. | |
Teuchos::RCP <::Thyra::PreconditionerFactoryBase < double > > | getPreconditionerFactory () const |
Returns the thyra preconditioner factory. | |
void | takeControlOfPreconditionerUpdates (const Teuchos::RCP< ::Thyra::PreconditionerBase< double >> &prec) |
User will take control of updating an already registered preconditioner. Typically used with NOX::ObserverReusePreconditioner observer. | |
void | setX (const NOX::Abstract::Vector &y) |
Set the solution vector x to y. More... | |
void | setX (const NOX::Thyra::Vector &y) |
See above. | |
void | computeX (const NOX::Abstract::Group &grp, const NOX::Abstract::Vector &d, double step) |
Compute x = grp.x + step * d. More... | |
void | computeX (const NOX::Thyra::Group &grp, const NOX::Thyra::Vector &d, double step) |
See above. | |
NOX::Abstract::Group::ReturnType | computeF () |
Compute and store F(x). More... | |
NOX::Abstract::Group::ReturnType | computeJacobian () |
Compute and store Jacobian. More... | |
NOX::Abstract::Group::ReturnType | computeGradient () |
Compute and store gradient. More... | |
NOX::Abstract::Group::ReturnType | computeNewton (Teuchos::ParameterList ¶ms) |
Compute the Newton direction, using parameters for the linear solve. More... | |
NOX::Abstract::Group::ReturnType | applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Applies Jacobian to the given input vector and puts the answer in the result. More... | |
NOX::Abstract::Group::ReturnType | applyJacobian (const NOX::Thyra::Vector &input, NOX::Thyra::Vector &result) const |
NOX::Abstract::Group::ReturnType | applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyJacobian for multiple right-hand sides More... | |
NOX::Abstract::Group::ReturnType | applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Applies Jacobian-Transpose to the given input vector and puts the answer in the result. More... | |
NOX::Abstract::Group::ReturnType | applyJacobianTranspose (const NOX::Thyra::Vector &input, NOX::Thyra::Vector &result) const |
NOX::Abstract::Group::ReturnType | applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyJacobianTranspose for multiple right-hand sides More... | |
NOX::Abstract::Group::ReturnType | applyJacobianInverse (Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Applies the inverse of the Jacobian matrix to the given input vector and puts the answer in result. More... | |
NOX::Abstract::Group::ReturnType | applyJacobianInverse (Teuchos::ParameterList ¶ms, const NOX::Thyra::Vector &input, NOX::Thyra::Vector &result) const |
NOX::Abstract::Group::ReturnType | applyJacobianInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyJacobianInverse for multiple right-hand sides More... | |
NOX::Abstract::Group::ReturnType | applyRightPreconditioning (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Apply right preconditiong to the given input vector. More... | |
bool | isF () const |
Return true if F is valid. | |
bool | isJacobian () const |
Return true if the Jacobian is valid. More... | |
bool | isGradient () const |
Return true if the gradient is valid. More... | |
bool | isNewton () const |
Return true if the Newton direction is valid. More... | |
const NOX::Abstract::Vector & | getX () const |
Return solution vector. | |
const NOX::Abstract::Vector & | getScaledX () const |
const NOX::Abstract::Vector & | getF () const |
Return F(x) | |
double | getNormF () const |
Return 2-norm of F(x). More... | |
const NOX::Abstract::Vector & | getGradient () const |
Return gradient. | |
const NOX::Abstract::Vector & | getNewton () const |
Return Newton direction. | |
Teuchos::RCP< const NOX::Abstract::Vector > | getXPtr () const |
Return RCP to solution vector. | |
Teuchos::RCP< const NOX::Abstract::Vector > | getFPtr () const |
Return RCP to F(x) | |
Teuchos::RCP< const NOX::Abstract::Vector > | getGradientPtr () const |
Return RCP to gradient. | |
Teuchos::RCP< const NOX::Abstract::Vector > | getNewtonPtr () const |
Return RCP to Newton direction. | |
Public Member Functions inherited from NOX::Abstract::Group | |
Group () | |
Constructor. More... | |
virtual Teuchos::RCP < NOX::Abstract::Group > | getNestedGroup () |
Return an internally stored group from this group. More... | |
virtual Teuchos::RCP< const NOX::Abstract::Group > | getNestedGroup () const |
Return an internally stored group from this group. More... | |
virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioningMultiVector (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyRightPreconditioning for multiple right-hand sides More... | |
virtual NOX::Abstract::Group::ReturnType | getNormLastLinearSolveResidual (double &residual) const |
Return the norm of the last linear solve residual as the result of either a call to computeNewton() or applyJacobianInverse(). More... | |
Public Member Functions inherited from LOCA::Abstract::Group | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data) | |
Constructor. | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::DerivUtils > &deriv) | |
Constructor. | |
Group (const Group &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual NOX::Abstract::Group::ReturnType | augmentJacobianForHomotopy (double a, double b) |
Replace Jacobian by where is the identity matrix and is a scalar. More... | |
virtual NOX::Abstract::Group::ReturnType | computeSecondShiftedMatrix (double alpha, double beta) |
Compute the second shifted matrix. Can avoid recomputing if two are stored. More... | |
virtual NOX::Abstract::Group::ReturnType | applySecondShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Multiply the shifted matrix by a vector. More... | |
virtual NOX::Abstract::Group::ReturnType | applySecondShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Multiply the shifted matrix by a multi-vector. More... | |
virtual bool | isComplex () const |
Is valid. More... | |
virtual NOX::Abstract::Group::ReturnType | computeComplex (double frequency) |
Compute . More... | |
virtual NOX::Abstract::Group::ReturnType | applyComplex (const NOX::Abstract::Vector &input_real, const NOX::Abstract::Vector &input_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const |
Compute . More... | |
virtual NOX::Abstract::Group::ReturnType | applyComplexMultiVector (const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
Compute . More... | |
virtual NOX::Abstract::Group::ReturnType | applyComplexInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
Solve . More... | |
virtual NOX::Abstract::Group::ReturnType | applyComplexTranspose (const NOX::Abstract::Vector &input_real, const NOX::Abstract::Vector &input_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const |
virtual NOX::Abstract::Group::ReturnType | applyComplexTransposeMultiVector (const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
virtual NOX::Abstract::Group::ReturnType | applyComplexTransposeInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
Solve . | |
virtual void | setParamsMulti (const std::vector< int > ¶mIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals) |
Set parameters indexed by (integer) paramIDs. | |
virtual void | notifyCompletedStep () |
virtual double | computeFreeEnergy () |
Computes the free energy at the current solution and parameter values. | |
Public Member Functions inherited from LOCA::Homotopy::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::MultiContinuation::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TurningPoint::MinimallyAugmented::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual | ~FiniteDifferenceGroup () |
Destructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJnDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector::DenseMatrix &result, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &w, NOX::Abstract::MultiVector &result, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJnDx (const NOX::Abstract::Vector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::Vector &result) |
Computes the derivative . More... | |
Public Member Functions inherited from LOCA::TurningPoint::MinimallyAugmented::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TurningPoint::MooreSpence::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TurningPoint::MooreSpence::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDJnDpMulti (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector &result, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDJnDxaMulti (const NOX::Abstract::Vector &nullVector, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result) |
Computes the directional derivative for the given direction . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDJnDxaMulti (const NOX::Abstract::Vector &nullVector, const NOX::Abstract::Vector &JnVector, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result) |
Computes the directional derivative for the given direction . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJnDxMulti (const NOX::Abstract::MultiVector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector &result) |
Computes the derivative . More... | |
Public Member Functions inherited from LOCA::MultiContinuation::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual void | setDerivUtils (const Teuchos::RCP< LOCA::DerivUtils > &deriv) |
Set the LOCA::DerivUtils object. | |
Public Member Functions inherited from LOCA::Pitchfork::MinimallyAugmented::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::Pitchfork::MooreSpence::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual double | innerProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
Compute the inner product of a and b . More... | |
virtual void | innerProduct (const NOX::Abstract::MultiVector &a, const NOX::Abstract::MultiVector &b, NOX::Abstract::MultiVector::DenseMatrix &c) const |
Compute the inner product of a and b . More... | |
Public Member Functions inherited from LOCA::Hopf::MinimallyAugmented::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual | ~FiniteDifferenceGroup () |
Destructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDwtCeDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &w1, const NOX::Abstract::Vector &w2, const NOX::Abstract::Vector &y, const NOX::Abstract::Vector &x, double omega, NOX::Abstract::MultiVector::DenseMatrix &result_real, NOX::Abstract::MultiVector::DenseMatrix &result_imag, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtCeDx (const NOX::Abstract::Vector &w1, const NOX::Abstract::Vector &w2, const NOX::Abstract::Vector &y, const NOX::Abstract::Vector &z, double omega, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) |
Computes the derivative . More... | |
Public Member Functions inherited from LOCA::Hopf::MinimallyAugmented::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::Hopf::MooreSpence::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TimeDependent::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::Hopf::MooreSpence::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDCeDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag, bool isValid) |
Computes the derivative where is the parameter indexed by paramIDs. More... | |
virtual NOX::Abstract::Group::ReturnType | computeDCeDxa (const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) |
Computes the directional derivative for the given direction . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDCeDxa (const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::MultiVector &aVector, const NOX::Abstract::Vector &Ce_real, const NOX::Abstract::Vector &Ce_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) |
Computes the directional derivative for the given direction . The arguments Ce_real and Ce_imag hold the real and imaginary components of . More... | |
Public Member Functions inherited from LOCA::PhaseTransition::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data. | |
LOCA::ParameterVector | params |
Parameter vector. | |
std::vector< int > | param_index |
Parameter index in Thyra::ModelEvaluator. | |
std::vector< Teuchos::RCP < const ::Thyra::VectorBase < double > > > | param_thyra_vec |
Pointer to Thyra vector storing parameters. | |
Teuchos::RCP< const ::Thyra::VectorBase< double > > | x_dot_vec |
Pointer to x_dot vector of zeros. | |
Teuchos::RCP < LOCA::Thyra::SaveDataStrategy > | saveDataStrategy |
Strategy object for saving continuation data. | |
bool | implement_dfdp |
Whether we should implement df/dp, or use DerivUtils. | |
Teuchos::RCP< const ::Thyra::VectorBase< double > > | weight_vec_ |
Optional weighting vector for function scaling. More... | |
bool | paramsInSeparatePVecs |
bool | set_transient_in_args_ |
Protected Attributes inherited from NOX::Thyra::Group | |
Teuchos::RCP< const ::Thyra::ModelEvaluator < double > > | model_ |
Problem interface. | |
Teuchos::RCP< NOX::Thyra::Vector > | x_vec_ |
Solution vector. | |
Teuchos::RCP< NOX::Thyra::Vector > | f_vec_ |
Residual vector. | |
Teuchos::RCP< NOX::Thyra::Vector > | newton_vec_ |
Newton direction vector. | |
Teuchos::RCP< NOX::Thyra::Vector > | gradient_vec_ |
Gradient direction vector. | |
Teuchos::RCP < NOX::SharedObject < ::Thyra::LinearOpWithSolveBase < double >, NOX::Thyra::Group > > | shared_jacobian_ |
Shared Jacobian operator with solve. | |
Teuchos::RCP < ::Thyra::LinearOpBase < double > > | lop_ |
Jacobian operator. | |
Teuchos::RCP< const ::Thyra::LinearOpWithSolveFactoryBase < double > > | lows_factory_ |
Thyra LOWS factory for building Jacobians. | |
Teuchos::RCP< const ::Thyra::DefaultLinearOpSource < double > > | losb_ |
Source base needed to create preconditioner. | |
Teuchos::RCP < ::Thyra::PreconditionerBase < double > > | prec_ |
Preconditioner for Jacobian. | |
Teuchos::RCP < ::Thyra::PreconditionerFactoryBase < double > > | prec_factory_ |
Preconditioner factory. | |
Teuchos::RCP< const ::Thyra::VectorBase< double > > | weight_vec_ |
Optional wieghting vector for function scaling. NOX assumes that this vector can be updated in between nonlinear iterations. More... | |
Teuchos::RCP< const ::Thyra::VectorBase< double > > | right_weight_vec_ |
Optional wieghting vector for solution (right) scaling. | |
Teuchos::RCP < ::Thyra::VectorBase< double > > | inv_weight_vec_ |
Inverse of weight vector used to unscale function (left) scaling. NOX assumes that this vector can be updated in between nonlinear iterations. | |
Teuchos::RCP < ::Thyra::VectorBase< double > > | inv_right_weight_vec_ |
Inverse of weight vector used to unscale solution (right) scaling. | |
Teuchos::RCP< NOX::Thyra::Vector > | scaled_x_vec_ |
Scaled solution vector scaled by the. | |
bool | rightScalingFirst_ |
Do right scaling before left scaling? | |
bool | updatePreconditioner_ |
If set to true, the preconditioner matrix values will be automatically updated via precFactory or ModelEvalautor. If set to false, the user must manually handle updating the preconditioner. | |
NOX::Abstract::Group::ReturnType | last_linear_solve_status_ |
The status of the last linear solve performed. | |
int | last_linear_solve_num_iters_ |
Number of iterations for last linear solve performed. | |
double | last_linear_solve_achieved_tol_ |
The tolerance achieved by the last linear solver. | |
bool | use_pseudo_transient_terms_ |
Teuchos::RCP< const ::Thyra::VectorBase< double > > | x_dot_ |
double | alpha_ |
double | beta_ |
double | t_ |
bool | use_base_point_ |
::Thyra::ModelEvaluatorBase::InArgs < double > | base_point_ |
bool | is_valid_f_ |
bool | is_valid_jacobian_ |
bool | is_valid_newton_dir_ |
bool | is_valid_gradient_dir_ |
bool | is_valid_lows_ |
Protected Attributes inherited from LOCA::Abstract::Group | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data. | |
Protected Attributes inherited from LOCA::MultiContinuation::FiniteDifferenceGroup | |
Teuchos::RCP< DerivUtils > | derivPtr |
Pointer to current DerivUtils derivative computation object. | |
Additional Inherited Members | |
Public Types inherited from NOX::Abstract::Group | |
enum | ReturnType { Ok, NotDefined, BadDependency, NotConverged, Failed } |
The computation of, say, the Newton direction in computeNewton() may fail in many different ways, so we have included a variety of return codes to describe the failures. Of course, we also have a code for success. More... | |
Protected Member Functions inherited from NOX::Thyra::Group | |
void | resetIsValidFlags () |
resets the isValid flags to false | |
NOX::Abstract::Group::ReturnType | applyJacobianInverseMultiVector (Teuchos::ParameterList &p, const ::Thyra::MultiVectorBase< double > &input,::Thyra::MultiVectorBase< double > &result) const |
Apply Jacobian inverse using Thyra objects. | |
::Thyra::ESolveMeasureNormType | getThyraNormType (const std::string &name) const |
void | updateLOWS () const |
Finalizes LOWS to be a valid solver for the Jacobian. | |
void | scaleResidualAndJacobian () const |
void | unscaleResidualAndJacobian () const |
void | computeScaledSolution () |
Extension of the NOX::Thyra::Group to LOCA.
|
virtual |
Compute for each parameter indexed by paramIDs. The first column of dfdp holds F, which is valid if isValidF is true. Otherwise F must be computed.
Implements LOCA::MultiContinuation::AbstractGroup.
References Teuchos::RCP< T >::assert_not_null(), NOX::Abstract::MultiVector::clone(), LOCA::MultiContinuation::AbstractGroup::computeDfDpMulti(), NOX::Abstract::Group::Failed, NOX::Thyra::MultiVector::getThyraMultiVector(), NOX::Thyra::Vector::getThyraRCPVector(), NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, and NOX::Abstract::MultiVector::subView().
|
virtual |
Compute a scaled dot product.
The implementation here uses the standard dot product divided by the length of the vectors.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References NOX::Abstract::Vector::innerProduct(), and NOX::Abstract::Vector::length().
|
virtual |
Scales a vector using scaling vector.
The implementation here rescales the vector by the square root of its length.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References NOX::Abstract::Vector::length(), and NOX::Abstract::Vector::scale().
|
protected |
Optional weighting vector for function scaling.
This is pulled out of the initial guess vector