MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / newTransientAnalysis

Method newTransientAnalysis

SRC/interpreter/PythonAnalysisBuilder.cpp:297–351  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

295}
296
297void PythonAnalysisBuilder::newTransientAnalysis()
298{
299 this->wipe();
300
301 if(theAnalysisModel == 0) {
302 theAnalysisModel = new AnalysisModel();
303 }
304 if(theTest == 0) {
305 theTest = new CTestNormUnbalance(1.0e-6,25,0);
306 }
307 if(theAlgorithm == 0) {
308 opserr << "WARNING analysis Transient - no Algorithm yet specified, \n";
309 opserr << " NewtonRaphson default will be used\n";
310
311 theAlgorithm = new NewtonRaphson(*theTest);
312 }
313 if(theHandler == 0) {
314 opserr << "WARNING analysis Transient dt tFinal - no ConstraintHandler\n";
315 opserr << " yet specified, PlainHandler default will be used\n";
316 theHandler = new PlainHandler();
317 }
318 if(theNumberer == 0) {
319 opserr << "WARNING analysis Transient dt tFinal - no Numberer specified, \n";
320 opserr << " RCM default will be used\n";
321 RCM *theRCM = new RCM(false);
322 theNumberer = new DOF_Numberer(*theRCM);
323 }
324 if(theTransientIntegrator == 0) {
325 opserr << "WARNING analysis Transient dt tFinal - no Integrator specified, \n";
326 opserr << " Newmark(.5,.25) default will be used\n";
327 theTransientIntegrator = new Newmark(0.5,0.25);
328 }
329 if(theSOE == 0) {
330 opserr << "WARNING analysis Transient dt tFinal - no LinearSOE specified, \n";
331 opserr << " ProfileSPDLinSOE default will be used\n";
332 ProfileSPDLinSolver *theSolver;
333 theSolver = new ProfileSPDLinDirectSolver();
334 theSOE = new ProfileSPDLinSOE(*theSolver);
335 }
336
337 Domain* theDomain = OPS_GetDomain();
338 theTransientAnalysis=new DirectIntegrationAnalysis(*theDomain,*theHandler,*theNumberer,
339 *theAnalysisModel,*theAlgorithm,
340 *theSOE,*theTransientIntegrator,
341 theTest);
342
343 // set eigen SOE
344 if(theEigenSOE != 0) {
345 if(theTransientAnalysis != 0) {
346 theTransientAnalysis->setEigenSOE(*theEigenSOE);
347 }
348 }
349
350 this->resetTransient();
351}
352
353void PythonAnalysisBuilder::newPFEMAnalysis(double dtmax, double dtmin, double ratio)
354{

Callers 2

ops_specifyAnalysisFunction · 0.45
ops_eigenAnalysisFunction · 0.45

Calls 4

wipeMethod · 0.95
resetTransientMethod · 0.95
OPS_GetDomainFunction · 0.70
setEigenSOEMethod · 0.45

Tested by

no test coverage detected