| 314 | |
| 315 | |
| 316 | int |
| 317 | DomainDecompositionAnalysis::formTangent(void) |
| 318 | { |
| 319 | int result =0; |
| 320 | |
| 321 | Domain *the_Domain = this->getDomainPtr(); |
| 322 | |
| 323 | // we check to see if the domain has changed |
| 324 | int stamp = the_Domain->hasDomainChanged(); |
| 325 | if (stamp != domainStamp) { |
| 326 | domainStamp = stamp; |
| 327 | this->domainChanged(); |
| 328 | } |
| 329 | |
| 330 | // if tangFormed == -1 then formTangent has already been |
| 331 | // called for this state by formResidual() or formTangVectProduct() |
| 332 | // so we won't be doing it again. |
| 333 | |
| 334 | if (tangFormedCount != -1) { |
| 335 | result = theIntegrator->formTangent(); |
| 336 | if (result < 0) |
| 337 | return result; |
| 338 | result = theSolver->condenseA(numEqn-numExtEqn); |
| 339 | if (result < 0) |
| 340 | return result; |
| 341 | } |
| 342 | |
| 343 | tangFormed = true; |
| 344 | tangFormedCount++; |
| 345 | |
| 346 | return result; |
| 347 | } |
| 348 | |
| 349 | |
| 350 |
no test coverage detected