Www.inl.gov RELAP5-3D 2011 Solver Improvements Dr. George L Mesina RELAP5 International Users Seminar 2011 July 25-28, 2011.

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

DTSTEP: Development of an Integer Time Step Algorithm George L Mesina INL David L Aumiller BMPC September 2010.
Chapter 16: Recovery System
Introduction to arrays
A MATLAB function is a special type of M-file that runs in its own independent workspace. It receives input data through an input argument list, and returns.
Input and Output READ WRITE OPEN. FORMAT statement Format statements allow you to control how data are read or written. Some simple examples: Int=2; real=
Chapter 7 Introduction to Procedures. So far, all programs written in such way that all subtasks are integrated in one single large program. There is.
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 15: Exception Handling.
Chapter 16: Exception Handling C++ Programming: From Problem Analysis to Program Design, Fifth Edition.
Programming Types of Testing.
Programming in Visual Basic
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
Chapter 11 - Monitoring Server Performance1 Ch. 11 – Monitoring Server Performance MIS 431 – created Spring 2006.
Chapter 8 Arrays and Strings
Guide To UNIX Using Linux Third Edition
CHAPTER 6 FILE PROCESSING. 2 Introduction  The most convenient way to process involving large data sets is to store them into a file for later processing.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
Chapter 4 MATLAB Programming Combining Loops and Logic Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
A First Program Using C#
Advanced Shell Programming. 2 Objectives Use techniques to ensure a script is employing the correct shell Set the default shell Configure Bash login and.
Spreadsheet-Based Decision Support Systems Chapter 22:
EGR 2261 Unit 5 Control Structures II: Repetition  Read Malik, Chapter 5.  Homework #5 and Lab #5 due next week.  Quiz next week.
Multi-Dimensional Arrays
General Programming Introduction to Computing Science and Programming I.
Beta F90 Version Status Nolan Anderson Date: July 26, 2011.
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
Programming Lifecycle
Chapter 8 Arrays and Strings
Computer Science 12 Mr. Jean May 2 nd, The plan: Video clip of the day Review of common errors in programs 2D Arrays.
Experimental RELAP5-3D Time Step Improvements Dr. George L Mesina RELAP5 International Users Seminar Nov 18-20, 2008 Idaho Falls, ID.
RELAP5 International Users Seminar July 25-28, 2011 Salt Lake City, UT IRUG Member Meeting.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Arrays.
Measurements of Version 3.0 (Beta) RELAP5-3D RELAP5-3D International Users Seminar 2010 [insert optional photo(s) here] Sep 20-23, 2010.
Session Objectives How to Debug PTF test case/Script Session-6 DebuggingSlide 2.
30/10/ Iteration Loops Do While (condition is true) … Loop.
Making Good Code AKA: So, You Wrote Some Code. Now What? Ray Haggerty July 23, 2015.
CSC 211 Data Structures Lecture 13
Chapter 5: Control Structures II (Repetition). Objectives In this chapter, you will: – Learn about repetition (looping) control structures – Learn how.
Java Programming: Guided Learning with Early Objects Chapter 11 Recursion.
RELAP5-3D Uncertainty Analysis A.J. Pawel and Dr. George L. Mesina International RELAP Users’ Seminar 2011 July 25-28, 2011.
BMTRY 789 Lecture 11: Debugging Readings – Chapter 10 (3 rd Ed) from “The Little SAS Book” Lab Problems – None Homework Due – None Final Project Presentations.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
1 Program Planning and Design Important stages before actual program is written.
Shell Scripting – Putting it All Together. Agenda Escaping Characters Wildcards Redirecting Output Chaining and Conditional Chaining Unnamed and Named.
RELAP5 International Users Seminar September 20-23, 2010 West Yellowstone, Montana IRUG Member Meeting.
Chapter 15: Exception Handling C++ Programming: Program Design Including Data Structures, Fifth Edition.
Chapter 7 Arrays. Introductions Declare 1 variable to store a test score of 1 student. int score; Declare 2 variables to store a test score of 2 students.
Operating System Discussion Section. The Basics of C Reference: Lecture note 2 and 3 notes.html.
19 - 2/25/2000AME 150L1 Solving Systems of Linear Equations.
Searching CSE 103 Lecture 20 Wednesday, October 16, 2002 prepared by Doug Hogan.
RELAP5-3D in Fortran 90 Dr. George L Mesina RELAP5 International Users Seminar Nov 18-20, 2008 Idaho Falls, ID.
 2006 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
13-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory # Chapter 13 Solver.out File and CCL Introduction to.
Introduction to Computing Science and Programming I
SQL and SQL*Plus Interaction
Chapter 13 Solver .out File and CCL
2008/09/22: Lecture 6 CMSC 104, Section 0101 John Y. Park
Topic: Functions – Part 2
Lecture 2 Introduction to Programming
Chapter 2 part #3 C++ Input / Output
Unit# 9: Computer Program Development
Programming Fundamentals (750113) Ch1. Problem Solving
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
An Introduction to Debugging
Chapter 2 part #3 C++ Input / Output
Chapter 1 c++ structure C++ Input / Output
Presentation transcript:

RELAP5-3D 2011 Solver Improvements Dr. George L Mesina RELAP5 International Users Seminar 2011 July 25-28, 2011

Outline of Presentation Ten BPLU User Problems Categories of Problem & Size Solutions Pre-Transient Algorithm, Issue, and Fix 198 & 199 cards

Previously Unresolved BPLU User Problems (06007, 1/06) - Takashi Nagae, INSS – On version 2.2.4, the code runs for both the initial calculation and the restart calculation. On version 2.3.6, the initial calculation runs. Restart fails in BPLU pre-transient processing; with message: 'inconsistency in reordering, check dimensions', 'bpform -1'. (06010, 1/06) - Walt Weaver, INL – DESCRIPTION: The BPLU solver overwrites data in scratch space when executing a large problem coupled to Fluent. Problem traced to having more than 4 PVM coupling junctions. (06013, 2/06) - Cliff Davis, NL – DESCRIPTION: While working on UP#06007, it was discovered that problems with large MULTID components (8x8x8 and 6x10x10) would not run with the nearly-implicit solution scheme with BPLU.

Previously Unresolved BPLU User Problems (06035, 6/06) – DESCRIPTION: In running a system calculation using 3D hydro components, calculation fails in BPLU pre-transient processing. – STATUS: Diagnostics in subroutine BPARAM reveal the arrays are dimensioned too small. Workaround is to use the MA18 solver. (07042, 10/07) - Angelo Frisani, Yassin Hassan, Texas A&M – DESCRIPTION: A calculation with six 3D hydro components fails with both default (BPLU) and MA18 solvers. With FAST common variable 'lfsiz' increased from 3.5M to 22M, code runs through input processing, but fails on first time step with either solver. (08004, 1/08) – DESCRIPTION: MA18 solver overwrites scratch database for a large problem coupled to a CFD code. MA18 was employed because more coupling junctions can be used with it than BPLU (see UP#06010).

Previously Unresolved BPLU User Problems (08025, 8/08) – DESCRIPTION: A PVM problem fails in subroutine EQFINL in version Traced BPLU subroutine BORBND; there appears to be a data overwrite of the variable ‘ihld1’. – STATUS: Created input decks (modification of installation run/Pvm directory files pvmcorex.ii, pvmcorep.i, pvmcorec.i to use 6 coupling junctions). Related to UP 07042, more than 2 PVM coupling junctions. (09024, 5/09) - Paul Bayless, INL – DESCRIPTION: The LOFT L2-5 input deck has a 2-D component for the downcomer and 3-D component for the core. The nearly- implicit with the 1-D option (CCC0001 word 7=1), ran on version if the flag was set for just the 2-D component, or for both components. However, with the flag set for only the 3-D component, it failed at the beginning of the transient. This may affect all earlier versions.

Previously Unresolved BPLU User Problems (09047, 8/09) - Peter Cebull, INL – DESCRIPTION: Version fails on an ATR SBLOCA deck with a message from BPLU input subroutine BPPART written to the screen: “Chain connects to a previous chain.” The problem runs to completion using MA18. The problem occurs also in version 2.4.1, so it predates the F90 conversion. Affects some earlier versions. (10030, 3/10) - George Mesina, INL – DESCRIPTION: In running a modified 3dflow.i installation problem (3dflow.i, that has 9 junctions connected to 1 time-dependent volume), version fails with a thermodynamic property failure at minimum time step with both BPLU and MA18. All 18 cases run with the MA18 on RELAP5/MOD2.5. Indicates a non-solver issue. BPLU (with the fix to UP#06061) fails on vapor case 14 and MA18 fails on vapor case 8. All vapor cases with both solvers have large cross flow and take more time steps than the other cases.

Categories of Unresolved BPLU User Problems CategoryNumber Insufficient memory (overwrite)06010, 08004, Inconsistent pre-transient06007, 06013, 06035, 07042, Error during transient09024, The insufficient memory issues resolved by Fortran 95 conversion. – BPLU had been fit into insufficient MA18 arrays by Wagner – BPLU now has its own memory, sized to its own needs. – 06010, 08004, resolved 3. Transient failures – UP is resolved. – UP is solved. – Physics issue remains: runs with MA18 on MOD2.5 but not 3.0 Decks unavailable for 06010, 08004

Pre-Transient Processing Algorithm Character of BPLU reordering (renumber the variables) – Create Arrow-shaped matrix for special BPLU solution method – Reorderings differ by arrowshaft BW and arrowhead thickness – Estimate reordering’s Operation Count (OC). Include green fill-in – Smallest OC – fastest runtime BW X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

Pre-Transient Processing Issues Original pre-transient algorithm creates many reorderings – Seeking lowest operation count – fastest runtime – Kills entire run if any single reordering is inconsistent Inconsistent means two variables are given same number in reordering – Variables are either volume ΔP (SI) or junction velocities (NI). – Inconsistent implies some row of matrix is all zereos Singular – Cannot solve system Graph theoretic BPLU output (for an inconsistent renumbering) makes no sense to average user. – Was meant to help debug code errors.

Fix for BPLU Pre-Transient Failure Ignore bad reordering(s), proceed to next iteration of BW loop – Also, do not calculate Opcount for bad renumbering Implementation via 2 logical variables – Required replacement of STOP statements at error messages Use RETURN after setting a logical variable – Suppress graph theoretic messages (for inconsistent renumbering) – Code only stops with error message if no consistent renumbering is found. Modification resolves UP 06007, 06013, 06035, 07042, Deck unavailable for 07042

Improvements to BPLU Pre-Transient Reduce pre-transient processing time. – Can take longer to set-up matrix than to run the transient in some 3D input models. Improvement 1 – Leave BW loop if matrix shape is all shaft with no arrowhead (NBORDer = 0) Improvement 2 – minimum memory renumbering elimination – Original algorithm calculates and saves parameter pair that uses least memory. – Prevented overrunning old FA array of Fortran 77 coding – Unnecessary in Fortran 90 coding, overrun detected and prevented by allocate statement status These changes do not change in matrix – Calculations will remain the same.

198 Card – Less Time in Input Processing For deck with unchanged TH nodalization, matrix is same every time. – BPLU parameters in printed-output file for each system – Why not reuse parameter pairs? Format: 198 W1 W2 W3 W4 W5 – W1 = ASCII name for solver (BPLU, PGMRES,...) – W2 = System identifier (TH1, TH2, etc.) – W3 = Parameter 1 (for BPLU, this is degree) – W4 = Parameter 2 (for BPLU, this is bandwidth) – W5 = Search length (BPLU: Reexamine bandwidths W4 ± W5/2) – The format repeats in groups of 5. Use zero for unneeded value.

198 Card Continued New subroutine, RSOLVER, called from RNEWP Modify BPARAM – If W5 zero, simply build renumbering with user’s values – If W5 non-zero, restrict bandwidth search loop to values indicated Will be used also for PGMRES and other solvers CAUTION, WARNING, DANGER – Must remove 198 card if nodalization changes!

199 Card – Generic Debugging Could be used to activate and deactivate Doug Barber’s detailed-log Generic 199 card is a standard RELAP5-3D input card. Its format is: 199Word1Word2Word3Word 4 Word 1 Character string that names a subroutine (group) Word 2Keyword that indicates what aspect (to debug) Word 3Advancement number to activate (debugging) Word 4Advancement number to terminate (debugging) This feature was developed for the DTSTEP Test Matrix, but can be applied by a developer for debugging any program features.

Summary Solver-related User Problems have been solved The pre-transient processing is being improved to run faster The 198 card will allow user interaction with the solvers through the solver parameters. 199 card could control the detailed log activation.