| 242 | } |
| 243 | |
| 244 | void PythonAnalysisBuilder::newStaticAnalysis() |
| 245 | { |
| 246 | this->wipe(); |
| 247 | |
| 248 | if(theAnalysisModel == 0) { |
| 249 | theAnalysisModel = new AnalysisModel(); |
| 250 | } |
| 251 | |
| 252 | if(theTest == 0) { |
| 253 | theTest = new CTestNormUnbalance(1.0e-6,25,0); |
| 254 | } |
| 255 | |
| 256 | if(theAlgorithm == 0) { |
| 257 | opserr << "WARNING analysis Static - no Algorithm yet specified, \n"; |
| 258 | opserr << " NewtonRaphson default will be used\n"; |
| 259 | theAlgorithm = new NewtonRaphson(*theTest); |
| 260 | } |
| 261 | if(theHandler == 0) { |
| 262 | opserr << "WARNING analysis Static - no ConstraintHandler yet specified, \n"; |
| 263 | opserr << " PlainHandler default will be used\n"; |
| 264 | theHandler = new PlainHandler(); |
| 265 | } |
| 266 | if(theNumberer == 0) { |
| 267 | opserr << "WARNING analysis Static - no Numberer specified, \n"; |
| 268 | opserr << " RCM default will be used\n"; |
| 269 | RCM *theRCM = new RCM(false); |
| 270 | theNumberer = new DOF_Numberer(*theRCM); |
| 271 | } |
| 272 | if(theStaticIntegrator == 0) { |
| 273 | opserr << "WARNING analysis Static - no Integrator specified, \n"; |
| 274 | opserr << " StaticIntegrator default will be used\n"; |
| 275 | theStaticIntegrator = new LoadControl(1, 1, 1, 1); |
| 276 | } |
| 277 | if(theSOE == 0) { |
| 278 | opserr << "WARNING analysis Static - no LinearSOE specified, \n"; |
| 279 | opserr << " ProfileSPDLinSOE default will be used\n"; |
| 280 | ProfileSPDLinSolver *theSolver; |
| 281 | theSolver = new ProfileSPDLinDirectSolver(); |
| 282 | theSOE = new ProfileSPDLinSOE(*theSolver); |
| 283 | } |
| 284 | |
| 285 | Domain* theDomain = OPS_GetDomain(); |
| 286 | theStaticAnalysis = new StaticAnalysis(*theDomain,*theHandler,*theNumberer,*theAnalysisModel, |
| 287 | *theAlgorithm,*theSOE,*theStaticIntegrator,theTest); |
| 288 | |
| 289 | // set eigen SOE |
| 290 | if(theEigenSOE != 0) { |
| 291 | theStaticAnalysis->setEigenSOE(*theEigenSOE); |
| 292 | } |
| 293 | |
| 294 | this->resetStatic(); |
| 295 | } |
| 296 | |
| 297 | void PythonAnalysisBuilder::newTransientAnalysis() |
| 298 | { |
no test coverage detected