45 #ifndef Xyce_N_ANP_NOISE_h
46 #define Xyce_N_ANP_NOISE_h
49 #include <N_UTL_fwd.h>
50 #include <N_LAS_fwd.h>
51 #include <N_TOP_fwd.h>
57 #include <N_UTL_FixedQueue.h>
58 #include <N_UTL_Listener.h>
59 #include <N_UTL_OptionBlock.h>
62 class Amesos_BaseSolver;
63 class Epetra_LinearProblem;
80 Linear::System & linear_system,
82 Topo::Topology & topology);
132 double noiseIntegral(
double noizDens,
double lnNdens,
double lnNlstDens,
133 double delLnFreq,
double delFreq,
double lnFreq,
double lnLastFreq);
196 N_LAS_BlockVector *
B_;
197 N_LAS_BlockVector *
X_;
216 const std::string & netlist_filename,
217 IO::PkgOptionsMgr & options_manager,
219 Linear::System & linear_system,
221 Topo::Topology & topology);
226 #endif // Xyce_N_ANP_NOISE_h
bool doProcessSuccessfulStep()
N_LAS_BlockVector * saved_AC_X_
const TimeIntg::TIAParams & getTIAParams() const
std::vector< double > dOdpVec_
bool pts_per_summary_Given
Nonlinear::Manager & nonlinearManager_
std::vector< double > scaled_dOdpAdjVec_
double totalInputNoiseDens_
TimeIntg::TIAParams tiaParams_
N_LAS_BlockMatrix * ACMatrix_
Pure virtual class to augment a linear system.
double totalOutputNoiseDens_
unsigned int stepNumber
Time-integration step number counter.
NOISE(AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology)
bool registerNOISEFactory(const std::string &netlist_filename, IO::PkgOptionsMgr &options_manager, AnalysisManager &analysis_manager, Linear::System &linear_system, Nonlinear::Manager &nonlinear_manager, Topo::Topology &topology)
Epetra_LinearProblem * blockProblem_
std::vector< double > objectiveVec_
std::string specifiedSource_
std::vector< int > noiseSweepFailures_
AnalysisManager & analysisManager_
TimeIntg::TIAParams & getTIAParams()
void processOutputNodes()
bool hackOutputCalledBefore_
N_LAS_System & linearSystem_
bool solveACLinearSystem_()
bool updateCurrentFreq_(int stepNumber)
bool solveAdjointNOISE_()
N_LAS_Vector * bVecImagPtr
std::vector< Xyce::Analysis::NoiseData * > noiseDataVec_
bool resetACLinearSystem_()
std::vector< double > scaled_dOdpVec_
void notify(const StepEvent &event)
bool setTimeIntegratorOptions(const Util::OptionBlock &option_block)
bool createACLinearSystem_()
Amesos_BaseSolver * blockSolver_
Factory for creating analysis objects.
N_LAS_Vector * bVecRealPtr
Topo::Topology & topology_
bool setAnalysisParams(const N_UTL_OptionBlock ¶msBlock)
std::vector< std::string > outputVarNames_
void printProgress(std::ostream &os)
N_LAS_Vector * bNoiseVecImagPtr
std::vector< int > outputVarGIDs_
OutputMgrAdapter & outputManagerAdapter_
bool doProcessFailedStep()
void printStepHeader(std::ostream &os)
void resetAdjointNOISELinearSystem_()
double noiseIntegral(double noizDens, double lnNdens, double lnNlstDens, double delLnFreq, double delFreq, double lnFreq, double lnLastFreq)
std::vector< double > dOdpAdjVec_
N_LAS_Vector * bNoiseVecRealPtr