ADS-IDAC Process Overview
This page describes Figure 1 of the ADS-IDAC manual: the top-level process overview flowchart. It provides a high-level map of the entire simulation program, from initialization through the main RELAP/operator scheduling loop, branch generation, and output.
Figure 1 from original manual: "ADS-IDAC Process Overview"
Flowchart
Block Descriptions
Block 1 — Initialize RELAP Model and Read ADS-IDAC Input Data
This step initializes both the RELAP program and reads the ADS-IDAC input deck. The location of the RELAP input deck and of the ADS-IDAC input files is given on the command line (--input-deck, --project-dir) or in the options file ZiniADS.txt.
This step includes several input file consistency checks:
- Presence of required input files
- Completeness of the system decomposition file (
KB_OAT(ODM)_System_Decomposition.txt) - Consistency in procedure step file names
Input Verification Limitation
Successful execution of ADS-IDAC initialization does not guarantee error-free input. Always examine the log file err messages.txt to determine if errors occurred during input file processing.
Block 2 — Initialize ADS-IDAC for Initial Accident Sequence
Initializes ADS-IDAC to begin the initial accident sequence (Sequence 0).
RELAP Input Deck Errors
Because a RELAP input deck error results in immediate RELAP termination, generation of the message "All sequences have been simulated" during this step generally indicates a RELAP input deck error. Identify such errors by running RELAP in standalone mode and examining its output file for syntax or formatting problems.
Block 3 — Initialize Counter (Set tcounter = 0)
The ADS-IDAC scheduler provides supervisory control over RELAP execution using two main time step parameters:
| Parameter | Description | Specification |
|---|---|---|
| RELAP5 time step (ΔtRELAP) | Incremental step for thermal-hydraulic calculation | Cards 200–299 in the RELAP input deck |
| ADS-IDAC time step (ΔtADS-IDAC) | Incremental step for the ADS-IDAC scheduler | Default: 0.5 s (see dtstep.f line 1505 and CommandControlCenter.cpp line 205) |
The RELAP5 time step must be equal to or less than the ADS-IDAC time step. Each ADS-IDAC time step, the scheduler pauses RELAP to update operator model data, activate failures and initiating events, and manipulate controls.
Block 4 — Run One RELAP Time Step
The RELAP5 thermal-hydraulic model executes for one time step as established by Cards 200–299 in the RELAP input deck.
Block 5 — Advance RELAP Counter
The accumulated time counter for RELAP5 execution is incremented by one RELAP time step (ΔtRELAP).
Block 6 — Pause RELAP Run? (tcounter > ΔtADS-IDAC?)
The accumulated counter is compared to the ADS-IDAC time step:
- No (tcounter ≤ ΔtADS-IDAC): Return to Block 4 and run another RELAP time step.
- Yes (tcounter > ΔtADS-IDAC): Proceed to the scheduler steps (Blocks 7–14).
Changing the ADS-IDAC Time Step
The default value of 0.5 s can be modified by editing two locations in tandem:
- Line 1505 of Fortran module
dtstep.f:if((timehy - timesno) .ge. ADS-IDAC_time_step) then - Line 205 of
CommandControlCenter.cpp:this->reduceRemainingTime(ADS-IDAC_time_step)
Both locations must be set to the same value to keep the scheduler synchronized with RELAP5.
Block 7 — Check and Actuate Initiating Events / Update Control Panel
Two activities are performed:
- Initiating Events: The scheduler checks whether any initiating events specified in
Initiating_Event.txtneed to be activated. - Update Control Panel: All indicators in
ControlPanel.txtare refreshed from current RELAP thermal-hydraulic data.
Control Panel Update vs. Operator Perception
Updating control panel indicators does not automatically update the operator's perceived plant state. The operator must first perceive and memorize the information before it can be used in decision-making.
Block 8 — Check and Actuate Component Failures
The ADS-IDAC scheduler checks whether any hardware reliability failures specified in SystemReliability.txt need to be activated.
Block 9 — Execute Control Panel Actions
The scheduler checks for queued control manipulations. If any are pending, new control values are passed to the RELAP thermal-hydraulic code through the interactive controls defined in ControlPanel.txt and RELAP5_channels.txt.
Block 10 — Process Information (Decision Maker)
The Decision Maker (ODM) executes the Information Processing step. See the Information Processing flowchart for details.
Block 11 — Process Information (Action Taker)
The Action Taker (OAT) executes the Information Processing step. See the Information Processing flowchart for details.
Block 12 — Decision-Making (Decision Maker)
The Decision Maker executes the Decision-Making process. See the Decision-Making Process (Decision Maker) flowchart.
Block 13 — Decision-Making (Action Taker)
The Action Taker executes the Decision-Making process. See the Decision-Making Process (Action Taker) flowchart.
Block 14 — Were Two or More New Branches Generated?
A branch is generated each time a discrete event occurs during the simulation. Events include:
- Changes in alarm states
- Hardware actuations or failures
- Control manipulations
- Operator decisions
- Performance of procedure step activities
A new sequence path is generated only when all of the following conditions are met:
- The branches are associated with one of the qualifying branch types:
- Hardware reliability events, or
- Operator-related events (action, procedure step expectation, goal, strategy, mental belief, or information gathering)
- Two or more branches of the same branch type are generated during the same time step.
Constraint on Multi-Type Branching
In the current version of ADS-IDAC it is not possible to generate multiple sequences for more than one operator-related branch type in a single time step. Operator-related branch type generation is therefore constrained so that only one operator branch type can be generated per time step (e.g., a goal branch and an action branch cannot both be generated simultaneously).
When a new sequence is generated, the events associated with each branch are partitioned among the new sequences. For example, if the Decision Maker generates two goal branches, the first is applied to one sequence and the second to the other.
Certain branch types (e.g., changes in alarm states) never generate new sequences regardless of how many branches are activated. Branches of different branch types also do not generate new sequences; their events are applied to the current sequence.
Block 15 — Output Event Sequence Data / Queue New Sequences
When a new sequence is identified, the ADS-IDAC scheduler saves the current plant and operator state information:
- Console version: Information is copied to computer memory.
- Multiple-processor version: Information is written to the computer hard disk.
Saved information includes:
- Identity of the parent sequence branch
- Number of new sequences generated
- Events to be partitioned among the new sequences
New sequences are placed in a holding queue to await later simulation.
Block 16 — Current Accident Sequence Complete?
Four criteria can trigger sequence termination:
| # | Termination Criterion | Source |
|---|---|---|
| 1 | Simulation time reaches the truncation time | ZCtrlPar.txt |
| 2 | Sequence executed the non-response exit condition VSTOP | Procedure non-response action |
| 3 | Sequence probability reaches the probability cutoff value | ZCtrlPar.txt |
| 4 | An alarm condition with name prefix A_ENDSEQ is actuated | ControlPanel.txt |
Thermal-Hydraulic Error
A RELAP thermal-hydraulic error condition will also terminate a sequence. However, unlike the criteria above, a thermal-hydraulic error precludes restart of a new sequence and terminates the entire simulation.
Block 17 — Have All Accident Sequences Been Run?
Checks whether sequences remain in the simulation queue:
- No: Proceed to Block 19 to initialize and run the next queued sequence.
- Yes: Proceed to Block 18 (Simulation Done).
Block 18 — Initialize ADS-IDAC to Restart with a New Accident Sequence
Using the information stored at Block 15, ADS-IDAC re-initializes the operator and plant models to restart a queued sequence. This includes re-initialization of the RELAP5 thermal-hydraulic model back to the point when the new sequence was originally generated.
Block 19 — Simulation Done
The end-state file, the key parameter histories and the analysis logs of a sequence are written when that sequence ends. Once all sequences have been simulated, ADS-IDAC writes the pivotal-event files (a serial run) and ES_summary.txt; an MPI run merges the outputs of its ranks.
Output Files
ES File Folder
| File | Contents |
|---|---|
ESFolder_<n>/ZESNode_<sequence_number>.txt | End state of one sequence: time, probability, consequence code and description |
ES_summary.txt | Summarizes all sequences: sequence length, probability, and termination criteria |
Scenario info.txt | Detailed description of all sequences including all branching points and associated events |
Procedure data.txt | Procedure-step data of all sequences |
Scan data.txt | Scan-queue data of all sequences |
KPS File Folder
Output is arranged into folders (KPSFolder_0, KPSFolder_1, …). Each folder holds up to 1,000 files. For each sequence:
| File | Contents |
|---|---|
ZDIA_<sequence_number>.txt | Time history of the diagnostic engine event confidence level for each operator |
ZKPS_<sequence_number>.txt | Time history of all indicators specified in ControlPanel.txt |
ZPIF_<sequence_number>.txt | Time history of dynamic PIF values: system criticality, time-constrained loading, and information loading |
PE File Folder
Output is arranged into folders (PEFolder_0, PEFolder_1, …). Each folder holds up to 1,000 files. The collection of PENode data files provides sufficient information to reconstruct the Discrete Dynamic Event Tree (DDET) for the simulation.
| File | Contents |
|---|---|
ZPENode_<node_number>.txt | Branch event type, time of event, and sequence number associated with the PE node |
Data Analysis
The output files can be imported into a third-party program such as Microsoft Excel for data analysis and visualization.