| 2421 | } |
| 2422 | |
| 2423 | int OPS_findDesignPoint() { |
| 2424 | if (OPS_GetNumRemainingInputArgs() < 1) { |
| 2425 | opserr << "ERROR: wrong number of arguments to " |
| 2426 | "findDesignPoint\n"; |
| 2427 | return -1; |
| 2428 | } |
| 2429 | if (cmds == 0) { |
| 2430 | opserr << "WARNING: reliability cmds not defined\n"; |
| 2431 | return -1; |
| 2432 | } |
| 2433 | |
| 2434 | // args |
| 2435 | int printFlag = 0; |
| 2436 | char fileNamePrint[256]; |
| 2437 | strcpy(fileNamePrint, "initialized"); |
| 2438 | int maxNumIter = 100; |
| 2439 | |
| 2440 | // type |
| 2441 | const char *type = OPS_GetString(); |
| 2442 | |
| 2443 | // Check that the necessary ingredients are present |
| 2444 | FunctionEvaluator *theFunctionEvaluator = cmds->getFunctionEvaluator(); |
| 2445 | if (theFunctionEvaluator == 0) { |
| 2446 | opserr << "Need theGFunEvaluator before a " |
| 2447 | "FindDesignPointAlgorithm can be created\n"; |
| 2448 | return -1; |
| 2449 | } |
| 2450 | GradientEvaluator *theGradientEvaluator = cmds->getGradientEvaluator(); |
| 2451 | if (theGradientEvaluator == 0) { |
| 2452 | opserr << "Need theGradientEvaluator before a " |
| 2453 | "FindDesignPointAlgorithm can be created\n"; |
| 2454 | return -1; |
| 2455 | } |
| 2456 | StepSizeRule *theStepSizeRule = cmds->getStepSizeRule(); |
| 2457 | if (theStepSizeRule == 0) { |
| 2458 | opserr << "Need theStepSizeRule before a " |
| 2459 | "FindDesignPointAlgorithm can be created\n"; |
| 2460 | return -1; |
| 2461 | } |
| 2462 | SearchDirection *theSearchDirection = cmds->getSearchDirection(); |
| 2463 | if (theSearchDirection == 0) { |
| 2464 | opserr << "Need theSearchDirection before a " |
| 2465 | "FindDesignPointAlgorithm can be created\n"; |
| 2466 | return -1; |
| 2467 | } |
| 2468 | |
| 2469 | ReliabilityDomain *theReliabilityDomain = cmds->getDomain(); |
| 2470 | if (theReliabilityDomain == 0) { |
| 2471 | opserr << "Need theReliabilityDomain before a " |
| 2472 | "FindDesignPointAlgorithm can be created\n"; |
| 2473 | return -1; |
| 2474 | } |
| 2475 | |
| 2476 | Domain *theStructuralDomain = cmds->getStructuralDomain(); |
| 2477 | if (theReliabilityDomain == 0) { |
| 2478 | opserr << "Need theStructuralDomain before a " |
| 2479 | "FindDesignPointAlgorithm can be created\n"; |
| 2480 | return -1; |
no test coverage detected