47 #include <Xyce_config.h>
53 #include <N_ERH_ErrorMgr.h>
54 #include <N_IO_InitialConditions.h>
55 #include <N_LAS_Matrix.h>
56 #include <N_LAS_System.h>
57 #include <N_LAS_Vector.h>
65 #include <N_UTL_Diagnostic.h>
66 #include <N_UTL_FeatureTest.h>
70 #include <Epetra_Import.h>
71 #include <Epetra_CrsMatrix.h>
72 #include <Epetra_Map.h>
88 TimeIntegrationMethod *
211 for (
int ip=0; ip<numParams;++ip)
217 RHSVec.linearCombo(0.0,RHSVec,+1.0,dfdpVec);
218 RHSVec.linearCombo(1.0,RHSVec,-1.0,dbdpVec);
266 Jac.linearCombo( 1.0e-20, dQdx, 1.0, dFdx );
286 result.linearCombo( 1.0e-20, dQdxV, 1.0, dFdxV );
323 Linear::Vector * solnVecPtr,
324 const bool doNotInterpolate,
325 const std::vector<double> & outputInterpolationTimes,
326 bool skipPrintLineOutput )
328 if (DEBUG_TIME && isActive(Diag::TIME_OUTPUT))
329 Xyce::dout() <<
"Calling conventional outputs!" << std::endl;
331 outputManagerAdapter.
tranOutput( time, *solnVecPtr,
336 skipPrintLineOutput);
352 Parallel::Machine comm,
353 IO::InitialConditionsManager & initial_conditions_manager,
354 const NodeNameMap & node_name_map,
356 Linear::Vector * solnVecPtr,
357 const double saveTime,
358 const bool doNotInterpolate)
361 initial_conditions_manager.outputDCOP(comm, node_name_map, *solnVecPtr);
Linear::Vector * tmpLeadDeltaVPtr
void applyJacobian(const Linear::Vector &input, Linear::Vector &result)
StepErrorControl & sec
Reference to step-error control object.
bool saveOutputSolution(Parallel::Machine comm, IO::InitialConditionsManager &initial_conditions_manager, const NodeNameMap &node_name_map, const TIAParams &tia_params, Linear::Vector *solnVecPtr, const double saveTime, const bool doNotInterpolate)
Pure virtual class to augment a linear system.
Linear::Vector * nextSolutionDerivPtr
std::vector< double > dOdpVec_
std::vector< double > scaled_dOdpVec_
void completeStep(const TIAParams &tia_params)
Linear::Vector * currStorePtr
std::vector< double > scaled_dOdpAdjVec_
std::vector< Linear::Vector * > nextDbdpPtrVector
std::vector< Linear::Vector * > nextDfdpPtrVector
bool printOutputSolution(Analysis::OutputMgrAdapter &outputManagerAdapter, const TIAParams &tia_params, const double time, Linear::Vector *solnVecPtr, const bool doNotInterpolate, const std::vector< double > &outputInterpolationTimes, bool skipPrintLineOutput)
Linear::Vector * currStatePtr
std::vector< double > objectiveVec_
void obtainSensitivityResiduals()
void obtainCorrectorDeriv()
double alphas
$$ fixed-leading coefficient of this BDF method
Linear::Vector * tmpLeadCurrentVectorPtr
NoTimeIntegration(const TIAParams &tiaP, StepErrorControl &secTmp, DataStore &dsTmp)
Linear::Vector * daeFVectorPtr
double leadingCoeff
Time-integration method leading coefficient value.
Linear::Vector * nextStoreLeadCurrQDerivPtr
Linear::Matrix * dFdxMatrixPtr
Linear::Matrix * JMatrixPtr
Linear::Vector * dFdxdVpVectorPtr
void rejectStep(const TIAParams &tia_params)
Linear::Vector * RHSVectorPtr
DataStore & ds
Reference to the TIA data-store object.
std::vector< double > dOdpAdjVec_
Linear::Vector * dQdxVecVectorPtr
Linear::Vector * tmpLeadCurrentQDerivVectorPtr
void getTwoLevelError(TwoLevelError &tle) const
Linear::Vector * dFdxVecVectorPtr
Linear::Vector * nextStateDerivPtr
std::vector< Linear::Vector * > sensRHSPtrVector
Linear::Matrix * dQdxMatrixPtr
void tranOutput(double time, Linear::Vector &currSolutionPtr, Linear::Vector &stateVecPtr, Linear::Vector &storeVecPtr, Linear::Vector &lead_current_vector, Linear::Vector &junction_voltage_vector, Linear::Vector &lead_current_dqdt_vector, std::vector< double > &objectiveVec_, std::vector< double > &dOdpVec_, std::vector< double > &dOdpAdjVec_, std::vector< double > &scaled_dOdpVec_, std::vector< double > &scaled_dOdpAdjVec_, bool skipPrintLineOutput=false)
void getInitialQnorm(TwoLevelError &tle) const
Linear::Vector * daeBVectorPtr
static TimeIntegrationMethod * factory(const TIAParams &tia_params, StepErrorControl &step_error_control, DataStore &data_store)