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

Method analyze

SRC/analysis/analysis/StaticDomainDecompositionAnalysis.cpp:158–236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156
157
158int
159StaticDomainDecompositionAnalysis::analyze(double dT)
160{
161 int result = 0;
162 Domain *the_Domain = this->getDomainPtr();
163
164 //opserr << " StaticDomainDecompositionAnalysis::analyze() - 1\n";
165
166 // check for change in Domain since last step. As a change can
167 // occur in a commit() in a domaindecomp with load balancing
168 // this must now be inside the loop
169
170 int stamp = the_Domain->hasDomainChanged();
171 if (stamp != domainStamp) {
172 domainStamp = stamp;
173 result = this->domainChanged();
174 if (result < 0) {
175 opserr << "StaticDomainDecompositionAnalysis::analyze() - domainChanged failed";
176 return -1;
177 }
178 }
179
180
181 // result = theAnalysisModel->newStepDomain();
182 if (result < 0) {
183 opserr << "StaticDomainDecompositionAnalysis::analyze() - the AnalysisModel failed";
184 opserr << " with domain at load factor ";
185 opserr << the_Domain->getCurrentTime() << endln;
186 the_Domain->revertToLastCommit();
187
188 return -2;
189 }
190
191 // opserr << " StaticDomainDecompositionAnalysis::analyze() - 2\n";
192 result = theIntegrator->newStep();
193
194 // barrierCheck in PartitionedDomain
195 // opserr << "StaticDomainDecompAnalysis - checkAllResult\n";
196// result = this->checkAllResult(result);
197
198 if (result < 0) {
199 opserr << "StaticDomainDecompositionAnalysis::analyze() - the Integrator failed";
200 opserr << " with domain at load factor ";
201 opserr << the_Domain->getCurrentTime() << endln;
202 the_Domain->revertToLastCommit();
203 theIntegrator->revertToLastStep();
204 return -2;
205 }
206
207
208 result = theAlgorithm->solveCurrentStep();
209 if (result < 0) {
210 opserr << "StaticDomainDecompositionAnalysis::analyze() - the Algorithm failed";
211 opserr << " with domain at load factor ";
212 opserr << the_Domain->getCurrentTime() << endln;
213 the_Domain->revertToLastCommit();
214 theIntegrator->revertToLastStep();
215

Callers 1

analysisStepMethod · 0.95

Calls 9

domainChangedMethod · 0.95
getDomainPtrMethod · 0.45
hasDomainChangedMethod · 0.45
getCurrentTimeMethod · 0.45
revertToLastCommitMethod · 0.45
newStepMethod · 0.45
revertToLastStepMethod · 0.45
solveCurrentStepMethod · 0.45
commitMethod · 0.45

Tested by

no test coverage detected