46 #ifndef Xyce_N_NLS_LOCA_Group_h
47 #define Xyce_N_NLS_LOCA_Group_h
53 #ifdef Xyce_PARALLEL_MPI
54 #include "N_PDS_ParMap.h"
55 #include "N_PDS_ParComm.h"
60 #include <N_LAS_fwd.h>
63 #include <N_UTL_fwd.h>
68 #include "LOCA_Abstract_Group.H"
69 #include "LOCA_Parameter_Vector.H"
70 #include "LOCA_DerivUtils.H"
71 #include "N_LAS_Vector.h"
72 #include "Teuchos_RCP.hpp"
76 namespace N_NLS_LOCA {
95 Group(Teuchos::RCP<LOCA::GlobalData> globalData,
100 Group(
const Group& source, NOX::CopyType type = NOX::DeepCopy);
106 NOX::Abstract::Group&
operator=(
const NOX::Abstract::Group& source);
112 LOCA::Abstract::Group&
operator=(
const LOCA::Abstract::Group& source);
118 void copy (
const NOX::Abstract::Group &source);
121 Teuchos::RCP<NOX::Abstract::Group>
122 clone(NOX::CopyType type = NOX::DeepCopy)
const;
125 NOX::Abstract::Group::ReturnType
computeF();
131 NOX::Abstract::Group::ReturnType
computeDfDpMulti (
const std::vector< int > & paramIDs, NOX::Abstract::MultiVector & dfdp,
bool isValidF);
133 void setParams(
const LOCA::ParameterVector& p);
135 const LOCA::ParameterVector&
getParams()
const;
141 void setParam(std::string paramID,
double value);
143 double getParam(std::string paramID)
const;
149 NOX::Abstract::Group::ReturnType
155 const double conParam)
const;
162 const Teuchos::RCP<N_NLS_NOX::AugmentLinSys>& ls);
170 Xyce::NodeNameMap * allNodes,
171 N_PDS_Comm * pdsCommPtr);
185 Xyce::Linear::Vector* solution,
186 Xyce::Linear::Vector* residual_vector);
220 #endif // Xyce_N_NLS_LOCA_Group_h
std::map< int, double > oldSol_
NOX::Abstract::Group::ReturnType augmentJacobianForHomotopy(double conParamValue)
void preProcessContinuationStep(LOCA::Abstract::Iterator::StepStatus stepStatus)
NOX::Abstract::Group & operator=(const NOX::Abstract::Group &source)
Assignment Operator.
Pure virtual class to augment a linear system.
Teuchos::RCP< NOX::Abstract::Group > clone(NOX::CopyType type=NOX::DeepCopy) const
Cloning function.
Group(Teuchos::RCP< LOCA::GlobalData > globalData, N_NLS_NOX::SharedSystem &s, Xyce::Loader::NonlinearEquationLoader &l, Xyce::IO::OutputMgr &o, Xyce::Analysis::AnalysisManager &t)
Basic Constructor.
NOX::Abstract::Group::ReturnType computeDfDpMulti(const std::vector< int > ¶mIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)
Overloaded dfdp sensitivity calculation.
Xyce::IO::OutputMgr & outputMgr
For output to a file we need xyce's output manager.
double getParam(int paramID) const
const T & value(const ParameterBase &entity, const Descriptor &descriptor)
Returns the value of the parameter for the entity.
void setParam(int paramID, double value)
NOX::Abstract::Group::ReturnType computeJacobian()
Overloaded Jacobian evaluation routine.
void setOutputLinear(Xyce::NodeNameMap *op, Xyce::NodeNameMap *allNodes, N_PDS_Comm *pdsCommPtr)
void printSolution(const double conParam) const
void copy(const NOX::Abstract::Group &source)
Special LOCA assignment operator.
void setScaleVec(const NOX::Abstract::Vector &s)
bool getNonContinuationFlag()
void outputLinearSystem_(Xyce::Linear::Matrix *jacobian, Xyce::Linear::Vector *solution, Xyce::Linear::Vector *residual_vector)
Xyce::Loader::NonlinearEquationLoader & loader
Keep a reference to the loader to set parameters.
Teuchos::RCP< N_NLS_NOX::AugmentLinSys > augmentLSStrategy_
bool nonContinuationSolve_
Xyce::Analysis::AnalysisManager & anaInt
need xyce's time integration manager.
const NOX::Abstract::Vector & getScaleVec() const
LOCA::DerivUtils derivUtils
Utilities for computing derivatives.
void setNonContinuationFlag(bool value)
LOCA::ParameterVector params
Parameter vector container.
const NOX::Abstract::Vector * scalingVecPtr
LOCA Scaling Vector.
Xyce::NodeNameMap * allNodes_
const LOCA::ParameterVector & getParams() const
NOX::Abstract::Group::ReturnType computeF()
Overloaded function evluation routine.
void postProcessContinuationStep(LOCA::Abstract::Iterator::StepStatus stepStatus)
void setAugmentLinearSystem(bool enable, const Teuchos::RCP< N_NLS_NOX::AugmentLinSys > &ls)
void setParams(const LOCA::ParameterVector &p)
Xyce::Linear::Vector * tmpVectorPtr
Temporary vector used for homotopy calculation.