101 #ifdef USE_MULTITHREAD
104 void ThreadPrepare(
void);
223 void Eig(
bool bNewLine =
false);
231 std::deque<MyVectorHandler*>
qX;
336 inline void Flip(
void);
378 unsigned int nThreads,
385 virtual bool Start(
void);
435 qX.push_front(
qX.back());
virtual SolutionManager * pGetSolutionManager(void) const
std::string outputCounterPrefix
virtual bool Prepare(void)
ErrGeneric(MBDYN_EXCEPT_ARGS_DECL)
struct EigenAnalysis EigAn
void mbdyn_set_stop_at_end_of_iteration(void)
std::vector< doublereal > Analyses
StepIntegrator * pCurrStepIntegrator
StepIntegratorType RegularType
#define MBDYN_EXCEPT_ARGS_PASSTHRU
std::vector< doublereal >::iterator currAnalysis
virtual void PrintResidual(const VectorHandler &Res, integer iIterCnt) const
StepIntegrator * pFirstRegularStep
std::string sOutputFileName
virtual void CheckTimeStepLimit(doublereal dErr, doublereal dErrDiff) const
enum Solver::TimeStepFlags eTimeStepLimit
StepIntegrator::StepChange CurrStep
integer iDummyStepsNumber
doublereal dDummyStepsRatio
StepIntegrator * pDerivativeSteps
#define MBDYN_EXCEPT_ARGS_DECL
integer iNumPreviousVectors
NonlinearSolver::Type NonlinearSolverType
virtual const LinSol & GetLinearSolver(void) const
integer iIterationsBeforeAssembly
ErrMaxIterations(MBDYN_EXCEPT_ARGS_DECL)
std::ostream & Restart(std::ostream &out, DataManager::eRestart type) const
virtual void PutCoef(integer iRow, const doublereal &dCoef)
std::deque< MyVectorHandler * > qXPrime
std::string sInputFileName
void SetupSolmans(integer iStates, bool bCanBeParallel=false)
struct LineSearchParameters LineSearch
void ReadData(MBDynParser &HP)
virtual clock_t GetCPUTime(void) const
MatrixFreeSolver::SolverType MFSolverType
NonlinearSolverTest::Type SolTest
virtual StepIntegrator * pGetStepIntegrator(void) const
SimulationDiverged(MBDYN_EXCEPT_ARGS_DECL)
#define MBDYN_EXCEPT_ARGS_DECL_NODEF
EndOfSimulation(const int e, MBDYN_EXCEPT_ARGS_DECL_NODEF)
struct Solver::EigenAnalysis::JDQZ jdqz
NonlinearSolver *const AllocateNonlinearSolver()
SolutionManager *const AllocateSolman(integer iNLD, integer iLWS=0)
StepIntegrator * pRegularSteps
doublereal dInitialTimeStep
virtual NonlinearSolver * pGetNonlinearSolver(void) const
void mbdyn_set_stop_at_end_of_time_step(void)
StepIntegrator * pFirstDummyStep
doublereal dIterertiveTau
DriveCaller * pRhoRegular
doublereal dIterertiveEtaMax
#define ASSERT(expression)
StepIntegrator * pDummySteps
virtual bool Advance(void)
int mbdyn_stop_at_end_of_iteration(void)
doublereal dMaxResidualDiff
StepIntegratorType DummyType
std::deque< MyVectorHandler * > qX
SolutionManager *const AllocateSchurSolman(integer iStates)
NonlinearSolverTest::Type ResTest
std::string outputCounterPostfix
Preconditioner::PrecondType PcType
MyVectorHandler * pXPrime
virtual void PrintSolution(const VectorHandler &Sol, integer iIterCnt) const
int mbdyn_stop_at_end_of_time_step(void)
virtual DataManager * pGetDataManager(void) const
Solver(MBDynParser &HP, const std::string &sInputFileName, const std::string &sOutputFileName, unsigned int nThreads, bool bParallel=false)
doublereal dGetInitialMaxTimeStep() const
DriveCaller * pRhoAlgebraicDummy
void Eig(bool bNewLine=false)
integer iIterativeMaxSteps
struct Solver::EigenAnalysis::ARPACK arpack
DriveCaller * pRhoAlgebraicRegular
SolutionManager * pLocalSM
doublereal dDerivativesCoef
virtual doublereal dGetInitialTimeStep(void) const
virtual doublereal dGetFinalTime(void) const