.. _interface-failure_capture: """"""""""""""" failure_capture """"""""""""""" Determine how Dakota responds to analysis driver failure **Topics** **Default Behavior:** If no failure capturing specification is provided, then the default behavior is method dependent. For those iterative algorithms that provide internal failure mitigation strategies (currently NL2SOL), the default is to transfer the failure information from the interface back to the algorithm for mitigation, with no specific action taken by Dakota. For all other algorithms, the default is to abort. .. toctree:: :hidden: :maxdepth: 1 interface-failure_capture-abort interface-failure_capture-retry interface-failure_capture-recover interface-failure_capture-continuation **Specification** - *Alias:* None - *Arguments:* None - *Default:* abort **Child Keywords:** +-------------------------+--------------------+--------------------+---------------------------------------------+ | Required/Optional | Description of | Dakota Keyword | Dakota Keyword Description | | | Group | | | +=========================+====================+====================+=============================================+ | Required (Choose One) | Failure Mitigation | `abort`__ | (Default) Abort the Dakota job | | | +--------------------+---------------------------------------------+ | | | `retry`__ | Rerun failed analyses | | | +--------------------+---------------------------------------------+ | | | `recover`__ | Substitute dummy values for the responses | | | +--------------------+---------------------------------------------+ | | | `continuation`__ | Cause Dakota to step toward the failed | | | | | "target" simulation from a nearby | | | | | successful "source" | +-------------------------+--------------------+--------------------+---------------------------------------------+ .. __: interface-failure_capture-abort.html __ interface-failure_capture-retry.html __ interface-failure_capture-recover.html __ interface-failure_capture-continuation.html **Description** Dakota can deal with analysis failure in a few ways. The first step is that Dakota must detect analysis failure. Importantly, Dakota always expects a results file to be written by the analysis driver, even when a failure has occurred. If the file does not exist when the analysis driver exits, a Dakota error results, causing Dakota itself to terminate. The analysis driver communicates an analysis failure to Dakota by writing a results file beginning with the (case-insensitive) word "fail". Any file contents after "fail" are ignored. Once Dakota detects analysis failure, the failure can be mitigated in four ways: - :dakkw:`interface-failure_capture-abort` (the default) - :dakkw:`interface-failure_capture-retry` - :dakkw:`interface-failure_capture-recover` - :dakkw:`interface-failure_capture-continuation` Refer to :ref:`failure` for additional information.