• 검색 결과가 없습니다.

MARS Code in Linux Environment

N/A
N/A
Protected

Academic year: 2021

Share "MARS Code in Linux Environment"

Copied!
2
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

MARS Code in Linux Environment

Moonkyu Hwang*, Sung-Won Bae, Jae-Joon Jung, Bub-Dong Chung

Korea Atomic Energy Research Institute, P.O. box 150, Yusong-gu, Deajeon, Korea mkhwang@kaeri.re.kr*

1. Introduction

The two-phase system analysis code MARS [1] has been incorporated into Linux system. The MARS code was originally developed based on the RELAP5/MOD3.2 and COBRA-TF. The 1-D module which evolved from RELAP5 alone could be applied for the whole NSSS system analysis. The 3-D module developed based on the COBRA-TF, however, could be applied for the analysis of the reactor core region where 3-D phenomena would be better treated. The MARS code also has several other code units that could be incorporated for more detailed analysis. The separate code units include containment analysis modules and 3-D kinetics module. These code modules could be optionally invoked to be coupled with the main MARS code. The containment code modules (CONTAIN and CONTEMPT), for example, could be utilized for the analysis of the plant containment phenomena in a coupled manner with the nuclear reactor system. The mass and energy interaction during the hypothetical coolant leakage accident could, thereby, be analyzed in a more realistic manner. In a similar way, 3-D kinetics could be incorporated for simulating the three-dimensional reactor kinetic behavior, instead of using the built-in point kinetics model.

The MARS code system, developed initially for the MS Windows environment, however, would not be adequate enough for the PC cluster system where multiple CPUs are available. When parallelism is to be eventually incorporated into the MARS code, MS Windows environment is not considered as an optimum platform. Linux environment, on the other hand, is generally being adopted as a preferred platform for the multiple codes executions as well as for the parallel application.

In this study, MARS code has been modified for the adaptation of Linux platform. For the initial code modification, the Windows system specific features have been removed from the code. Since the coupling code module CONTAIN is originally in a form of dynamic load library (DLL) in the Windows system, a similar adaptation method called shared library in the Linux platform had to be incorporated

2. Methods and Comparisons

2.1 Code Modification

Two major steps, therefore, were necessary for the code modification. Initially, the code segments specifically targeted for the Windows platform had to be transformed into the compatible form in Linux system. The task is relatively straightforward, especially since one of the MARS code versions is BIN version which is intended for the console application. The BIN version therefore naturally served as base version for Linux platform.

The MARS code in Windows environment provides optional execution of the coupled code module. That is, for instance, the CONTAIN module could be executed in parallel with the main MARS code. The computer memory is, therefore, allocated for the CONTAIN module only when the users choose to perform the coupled analysis. The similar functionality had to be provided in the Linux system. The shared library along with so called

dynamic loading has been used for this purpose. The

calling program and the dynamic shared library are demonstrated in Figure 1 and 2.

Fig 1. Calling Program A

Transactions of the Korean Nuclear Society Autumn Meeting Busan, Korea, October 27-28, 2005

(2)

Fig 2. Subroutine B(Shared Library)

The calling program ‘A’ listed in Figure 1 is used to dynamically load the subroutine shared library during the program execution. The code segment ‘B’ listed in Figure 2 is made as a shared library beforehand. Without the added program segment in the program ‘A’, the shared library would be loaded into the memory during the initial loading of the program ‘A’. The program ‘A’ successfully identifies a target subroutine in the shared library during the execution and loads the selected module in the memory. The method demonstrated could be, therefore, directly applied for the code modification of separate code modules developed as a DLL in the Windows environment.

2.1 Results Comparison

For the verification of the code porting, calculations have been performed using typpwr.i which is for the typical W/H 4-loop PWR of 3600 MWth. The problem is to simulated loss of coolant accident in the cold leg from the full power normal operating conditions. Three cases were tested for both 12-inch LBLOCA and 4-inch SBLOCA. The three cases are comprised of calculations with MARS compiled under COMPAQ Fortran compiler [2] for MS Windows, MARS from Intel Fortran compiler [3] also for MS windows, and finally MARS in the Linux system. The Intel Fortran compiler [4] was used in the Linux platform.

Figures 3 to 5 present the primary system pressure, the secondary system pressure, and core bottom void fraction during the LBLOCA. Figure 6 to 8 show the similar parameters for SBLOCA calculation. As seen from the Figure 3 to 5, very good agreements are observed for LBLOCA calculation. In case of SBLOCA, however, the deviations among the calculation results are observed, especially from around 600 seconds after the accident initiation. The discrepancy, however, is not believed as an error in the code modification. It rather appears to stem from the compiler differences. It is noted that the different results among the calculations performed in the various platforms are well known for other system analysis code as well, including RELAP5. Eventually, the discrepancy certainly needs to be eliminated for MARS code as well as other system analysis codes.

0 100 200 300 400 500 600 20 40 60 80 100 120 140 160 Pr e ss ure (b a r) Time(sec) p (345010000) WIN p (345010000) WIN_intel p (345010000) Linux 0 100 200 300 400 500 600 35 40 45 50 55 60 65 Pre ss u re (b ar ) Time(sec) p (180010000) WIN p (180010000) WIN_intel p (180010000) Linux

Fig.3 Pprimary (LBLOCA ) Fig. 4 Psecondary(LBLOCA)

0 100 200 300 400 500 600 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 V o id g( co re bo ttom ) Time(sec) voidg (335060000) WIN voidg (335060000) WIN intel voidg (335060000) Linux 0 200 400 600 800 1000 1200 20 40 60 80 100 120 140 160 Pr e ss u re (b ar ) Time(sec) p (345010000) WIN p (345010000) WIN_intel p (345010000) Linux

Fig. 5 αg at core bottom FiG. 6 Pprimary (SBLOCA)

(LBLOCA) 0 200 400 600 800 1000 1200 35 40 45 50 55 60 65 P res su re (ba r) Time(sec) p (180010000) WIN p (180010000) WIN_intel p (180010000) Linux 0 200 400 600 800 1000 1200 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Vo id g( cor e b ot tom ) Time(sec) voidg (335060000) WIN voidg (335060000) WIN intel voidg (335060000) Linux

Fig. 7 Psecondary (SBLOCA) Fig. 8 αg at core bottom

(SBLOCA) 3. Summary

In this study, MARS code has been modified for the adaptation of Linux platform. For the initial code modification, the Windows system specific features have been removed from the code. Since the coupling code module such as CONTAIN was originally in a form of dynamic load library (DLL) in the Windows system, a similar adaptation method called shared library in the Linux platform had to be incorporated. When compared with results by two separate compilers at Windows system, MARS code results show successful code adaptation for the Linux platform.

REFERENCES

[1] 1. Jeong, J.-J., Ha, K. S., Chung, B. D., Lee, W. J., “Development of A Multi-dimensional Thermal-Hydraulic System Code, MARS 1.3.1,”Annals of Nuclear Energy26(18), 1161-1642, 1999.

[2] Compaq Fortran Language Reference Manual, Digital Equipment Corporation, 1999

[3] Intel Fortarn Language Reference Manual, Intel corporation, 2003-2004

[4] Intel Fortran Compiler for Linux Systems User’s Guide, Intel Corporation, 2003-2004.

수치

Fig 1. Calling Program A
Fig 2. Subroutine B(Shared Library)

참조

관련 문서

다양한 번역 작품과 번역에 관한 책을 읽는 것은 단순히 다른 시대와 언어, 문화의 교류를 넘어 지구촌이 서로 이해하고 하나가

This book contains hundreds of complete, working examples illustrating many common Java programming tasks using the core, enterprise, and foun- dation classes APIs.. Java Examples

The index is calculated with the latest 5-year auction data of 400 selected Classic, Modern, and Contemporary Chinese painting artists from major auction houses..

In this paper, we proposed a method of trend analysis using text mining and discussed the proposed method in each step such as construction of the topic tables, results of

Yacoob also called on the JSC to censure Mogoeng for breaching the Code of Judicial Conduct by appearing in public in his capacity as Chief Justice and making comments that

2재화 2요소 헥셔-올린 모형에서는 어느 한 경제에서 어느 한 요소의 양이 증가하면, 그 요소를 집약적으로 사용하는 산업의 생산량은 증가하고 다른

Ross: As my lawfully wedded wife, in sickness and in health, until

glen plaids 글렌 플레이드와 캐시미어 카디건, 캐리지 코트, 그리고 케이프 -> 격자무늬의 캐시미어로 된 승마용 바지, 마부용 코트, 말 그림이 수