| 579 | } |
| 580 | |
| 581 | void |
| 582 | OpenSeesCommands::setStaticAnalysis(bool suppress) |
| 583 | { |
| 584 | // delete the old analysis |
| 585 | if (theStaticAnalysis != 0) { |
| 586 | delete theStaticAnalysis; |
| 587 | theStaticAnalysis = 0; |
| 588 | } |
| 589 | if (theTransientAnalysis != 0) { |
| 590 | delete theTransientAnalysis; |
| 591 | theTransientAnalysis = 0; |
| 592 | } |
| 593 | |
| 594 | // create static analysis |
| 595 | if (theAnalysisModel == 0) { |
| 596 | theAnalysisModel = new AnalysisModel(); |
| 597 | } |
| 598 | if (theTest == 0) { |
| 599 | theTest = new CTestNormUnbalance(1.0e-6,25,0); |
| 600 | } |
| 601 | if (theAlgorithm == 0) { |
| 602 | if (!suppress) { |
| 603 | opserr << "WARNING analysis Static - no Algorithm yet specified, \n"; |
| 604 | opserr << " NewtonRaphson default will be used\n"; |
| 605 | } |
| 606 | theAlgorithm = new NewtonRaphson(*theTest); |
| 607 | } |
| 608 | if (theHandler == 0) { |
| 609 | if (!suppress) { |
| 610 | opserr << "WARNING analysis Static - no ConstraintHandler yet specified, \n"; |
| 611 | opserr << " PlainHandler default will be used\n"; |
| 612 | } |
| 613 | theHandler = new PlainHandler(); |
| 614 | } |
| 615 | if (theNumberer == 0) { |
| 616 | if (!suppress) { |
| 617 | opserr << "WARNING analysis Static - no Numberer specified, \n"; |
| 618 | opserr << " RCM default will be used\n"; |
| 619 | } |
| 620 | RCM* theRCM = new RCM(false); |
| 621 | theNumberer = new DOF_Numberer(*theRCM); |
| 622 | } |
| 623 | if (theStaticIntegrator == 0) { |
| 624 | if (!suppress) { |
| 625 | opserr << "WARNING analysis Static - no Integrator specified, \n"; |
| 626 | opserr << " StaticIntegrator default will be used\n"; |
| 627 | } |
| 628 | setIntegrator(new LoadControl(1, 1, 1, 1), false); |
| 629 | } |
| 630 | if (theSOE == 0) { |
| 631 | if (!suppress) { |
| 632 | opserr << "WARNING analysis Static - no LinearSOE specified, \n"; |
| 633 | opserr << " ProfileSPDLinSOE default will be used\n"; |
| 634 | } |
| 635 | ProfileSPDLinSolver *theSolver; |
| 636 | theSolver = new ProfileSPDLinDirectSolver(); |
| 637 | theSOE = new ProfileSPDLinSOE(*theSolver); |
| 638 | } |
no test coverage detected