プラズマ核融合学会誌5月号【81-5】/内外情報_ソフト【注:欧フォント特殊!】

Similar documents
untitled

(Basic Theory of Information Processing) Fortran Fortan Fortan Fortan 1

1F90/kouhou_hf90.dvi

. (.8.). t + t m ü(t + t) + c u(t + t) + k u(t + t) = f(t + t) () m ü f. () c u k u t + t u Taylor t 3 u(t + t) = u(t) + t! u(t) + ( t)! = u(t) + t u(

11042 計算機言語7回目 サポートページ:

120802_MPI.ppt

3. :, c, ν. 4. Burgers : u t + c u x = ν 2 u x 2, (3), ν. 5. : u t + u u x = ν 2 u x 2, (4), c. 2 u t 2 = c2 2 u x 2, (5) (1) (4), (1 Navier Stokes,.,

ex01.dvi

C言語によるアルゴリズムとデータ構造

Fortran90/95 2. (p 74) f g h x y z f x h x = f x + g x h y = f y + g y h z = f z + g z f x f y f y f h = f + g Fortran 1 3 a b c c(1) = a(1) + b(1) c(

XMPによる並列化実装2

all.dvi

01_OpenMP_osx.indd

ex01.dvi

2 2.1 Mac OS CPU Mac OS tar zxf zpares_0.9.6.tar.gz cd zpares_0.9.6 Mac Makefile Mekefile.inc cp Makefile.inc/make.inc.gfortran.seq.macosx make

untitled

インテル(R) Visual Fortran Composer XE 2013 Windows版 入門ガイド

応用数学特論.dvi

コンピュータ概論

1. A0 A B A0 A : A1,...,A5 B : B1,...,B

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£±¡Ë

OpenMP (1) 1, 12 1 UNIX (FUJITSU GP7000F model 900), 13 1 (COMPAQ GS320) FUJITSU VPP5000/64 1 (a) (b) 1: ( 1(a))

3. :, c, ν. 4. Burgers : t + c x = ν 2 u x 2, (3), ν. 5. : t + u x = ν 2 u x 2, (4), c. 2 u t 2 = c2 2 u x 2, (5) (1) (4), (1 Navier Stokes,., ν. t +

卒 業 研 究 報 告.PDF

FORTRAN文法の基礎

untitled

Microsoft PowerPoint - 03_What is OpenMP 4.0 other_Jan18

OHP.dvi

フローチャートの書き方

Microsoft Word - 資料 docx

Microsoft Word - 03-数値計算の基礎.docx

¥Ñ¥Ã¥±¡¼¥¸ Rhpc ¤Î¾õ¶·

DV-0001_センダイウイルス(SeV)ミニゲノムベクター調整キット(120425_ver._2.3)

plotwsx PLOT-WSX X11 X spp[2]./a.out PLOT-WSX PLOT IPENS -13 IPENS 0 IPENS 0 2 s p PLOT MRI 3.2 PLOT-WSX PLOT IPE- NS -13 IPENS 0 1 Continue PLO

sim98-8.dvi

AJAN IO制御コマンド コマンドリファレンス

< 中略 > 24 0 NNE 次に 指定した日時の時間降水量と気温を 観測地点の一覧表に載っているすべての地点について出力するプログラムを作成してみます 観測地点の一覧表は index.txt というファイルで与えられています このファイルを読みこむためのサブルーチンが AMD

num2.dvi

1 return main() { main main C 1 戻り値の型 関数名 引数 関数ブロックをあらわす中括弧 main() 関数の定義 int main(void){ printf("hello World!!\n"); return 0; 戻り値 1: main() 2.2 C main

OpenMP¤òÍѤ¤¤¿ÊÂÎó·×»»¡Ê£²¡Ë

演習2

listings-ext

橡挿入法の実践

情報活用資料

( ) 1 Windows HTML ( ) ( ) ( ) WWW 10 ( )

< 中略 > 24 0 NNE 次に 指定した日時の時間降水量と気温を 観測地点の一覧表に載っているすべての地点について出力するプログラムを作成してみます 観測地点の一覧表は index.txt というファイルで与えられています このファイルを読みこむためのサブルーチンが AMD

02_C-C++_osx.indd

parser.y 3. node.rb 4. CD-ROM

2 A I / 58

I

CUDA 連携とライブラリの活用 2

Microsoft Word - 資料 (テイラー級数と数値積分).docx

Lesson 1 1 EXVBA2000 Lesson01 Lesson01.xls 2

1. 入力画面

main.dvi

コンピュータ概論

(2-1) x, m, 2 N(m, 2 ) x REAL*8 FUNCTION NRMDST (X, M, V) X,M,V REAL*8 x, m, 2 X X N(0,1) f(x) standard-norm.txt normdist1.f x=0, 0.31, 0.5

演習1

C++ ++ Wago_io.dll DLLDynamicLinkLibrary Microsoft VisualBasic Visual C Wago_io.dll Wago_io.dll Wago_io.dll WAGO_OpenCommPort WAGO_CloseCommPort WAGO_

2 I I / 61

<4D F736F F F696E74202D D F95C097F D834F E F93FC96E5284D F96E291E85F8DE391E52E >

格子QCD実践入門


I J

±é½¬£²¡§£Í£Ð£É½éÊâ

Fortran90/95 [9]! (1 ) " " 5 "Hello!"! 3. (line) Fortran Fortran 1 2 * (1 ) 132 ( ) * 2 ( Fortran ) Fortran ,6 (continuation line) 1

XpressMemoForDash.dvi

BLOCK TYPE.indd

アルゴリズムとデータ構造1

PowerPoint プレゼンテーション

BASICとVisual Basic

情報活用資料

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() malloc 2 #include <stdio.h> #include

nakao

xl 1 program Othello6; 2 {$APPTYPE CONSOLE} 3 uses SysUtils; 4 5 type 6 TMasuNo = 0..99; // 7 TYouso = (Soto,Kara,Kuro,Siro); // 8 TBan = array [TMasu

D0050.PDF

EPSON LP-S7500シリーズ 取扱説明書1 セットアップと使い方編

Microsoft PowerPoint - fortran2.ppt [互換モード]

新版明解C言語 実践編

n 第1章 章立ての部分は、書式(PC入門大見出し)を使います

解きながら学ぶJava入門編

Intel® Compilers Professional Editions

untitled

Microsoft PowerPoint _5_9_f95b_usui.pptx

CudaWaveField

Condition DAQ condition condition 2 3 XML key value

10

compiler-text.dvi

AccessVBA−‹ŠpŁÒ-flO“Z

1 4 2 EP) (EP) (EP)

I httpd School of Information Science, Japan Advanced Institute of Science and Technology

¥×¥í¥°¥é¥ß¥ó¥°±é½¬I Exercise on Programming I [1zh] ` `%%%`#`&12_`__~~~ alse

untitled

1.ppt

num3.dvi

Gauss

Microsoft PowerPoint _MPI-03.pptx

lexex.dvi

Transcription:

PROGRAM PLOTDATA USE NUM_KINDS, ONLY : wp=>dp, i4b USE MYLIB, ONLY : GET_SIZE, GET_DATA INTEGER(i4b) :: ntime, nx REAL(wp), ALLOCATABLE :: time(:), x(:), Temp(:,:)

Fortran Temp, temp, TEMP temporal REAL(wp) :: temp Temp temperature(:,:) CHARACTER(LEN=64) :: fname CHARACTER*64 filename*64 CALL GET_SIZE(fname, ntime, nx) ALLOCATE(Temp(ntime, nx), time(ntime), x(nx)) CALL GET_DATA(fname, time, x, Temp) DEALLOCATE(time, x, Temp) END PROGRAM PLOTDATA SUBROUTINE PLOT_POLYFIT(x, y, ndeg) USE NUM_KINDS, ONLY : wp=>dp, i4b USE LIBFIT, ONLY : POLYFIT INTEGER(i4b), INTENT(IN) :: ndeg REAL(wp), INTENT(IN) :: x(:), y(:) REAL(wp) :: coef(0:ndeg), yfit(size(y)) CALL POLYFIT(x, y, coef, yfit) RETURN END SUBROUTINE PLOT_POLYFIT

indx(1:10)=(/ 1,2,3,4,5,6,7,8,9,10 /) indx(2:9) = indx(3:10) indx(1:8) DOi=2,9 indx(i) = indx(i+1) indx(i 1) indx = (/ 1,2,2,2,2,2,2,2,2,10/) indx ex1: DOi=1, SIZE(a) a(i) = 0.0_wp ex2: a = 0.0_wp ex3: a(:) = 0.0_wp ex4: a(1:size(a)) = 0.0_wp ex2-4 ex2 a ex4 a(1:n) = b(1:n) + 3.0_wp*c(1:n) a(1:n) = b(1:n)*c(1:n) a(1:n, 1:m) = SIN(a(1:n, 1:m)) + EXP(2.0_wp/b(1:n, 1:m)) a(2:n:2) = 0.0_wp a(1:n) = a(n:1:-1) 1,5,12,56,87 indx(5) = (/1,5,12,56,87/) a(1:5) = b(indx) WHERE(ABS(a) > SQRT(EPSILON(1._wp))) a = 1.0_wp/a DOT_PRODUCT(a, b) SQRT(SUM(a*b))

= (/1,2,2,3,3,4,4,5,5,10/) i 1 i+1 i 1 CHARACTER(LEN=28) :: line CHARACTER(LEN=12) :: key, strval INTEGER(i4b) :: max_len, ilen, ipos, ival line = datasize = 128 max_len = LEN(line) max_len = 28 ilen = LEN_TRIM(line) ilen = 14 ipos = INDEX(line, = ) ipos = 10 key = line(1:ipos-1) key = datasize strval = line(ipos+1:ilen) strval = line(ipos+1:) IF (.NOT. ISDIGIT(strval)) STOP strval stop READ(strval, *) ival ival = 128 ival = ival + 1 WRITE(strval, *) ival strval = 129 line = TRIM(key)// = //& &ADJUSTL(strval) line = datasize = 129 line = TOUPPER(line) line = DATASIZE = 129 ================================================================= FUNCTION ISDIGIT(str) RESULT(stat) str TRUE. FALSE. USE NUM_KINDS, ONLY : i4b CHARACTER(LEN=*), INTENT(IN) :: str LOGICAL :: stat stat =.FALSE. IF (LEN_TRIM(str) == 0) RETURN IF (VERIFY(str, +-1234567890 ) == 0) stat =.TRUE. RETURN END FUNCTION ISDIGIT ================================================================= FUNCTION TOUPPER istr RESULT ostr TRIM USE NUM_KINDS, ONLY : i4b

CHARACTER(LEN=*), INTENT(IN) :: istr CHARACTER(LEN=LEN_TRIM(istr)) :: ostr INTEGER(i4b), PARAMETER :: ascii_a = ICHAR( a ) = 97 INTEGER(i4b), PARAMETER :: ascii_z = ICHAR( z ) = 127 INTEGER(i4b) :: i, ilen, ascii ostr = ilen = LEN_TRIM(istr) IF (ilen == 0) RETURN DOi=1,ilen ascii = ICHAR(istr(i:i)) IF (ascii_a <= ascii.and. ascii <= ascii_z) THEN ascii = ascii - 32 ENDIF ostr(i:i) = CHAR(ascii_code) RETURN END FUNCTION TOUPPER IMPLICIT REAL*8 (a-h, o-z)

Fig. 1 DISLIN Imagemagic DISLIN WIDGET MENU

MODULE NUM_KINDS PRIVATE PRIVATE PUBLIC INTEGER, PARAMETER :: i4b = SELECTED_INT_KIND(9) INTEGER, PARAMETER :: i2b = SELECTED_INT_KIND(4) INTEGER, PARAMETER :: i1b = SELECTED_INT_KIND(2) INTEGER, PARAMETER :: sp = KIND(1.0) INTEGER, PARAMETER :: dp = KIND(1.0D0) PUBLIC :: i4b, i2b, i1b, dp, sp i4b, i2b, i1b, dp, sp END MODULE NUM_KINDS MODULE MYGLOBAL USE NUM_KINDS, ONLY : wp=>dp, i4b PRIVATE INTEGER(i4b), PARAMETER :: max_size = 1024*1024 INTEGER(i4b), PARAMETER :: max_num = 32 INTEGER(i4b) :: data_size = 0 INTEGER(i4b) :: channel_num = 0 INTEGER(i4b) :: rawdata(1:max_size, 1:max_num) = 0 REAL(wp) :: time(1:max_size) = 0.0_wp

PUBLIC :: data_size, channel_num PUBLIC :: rawdata, time max_size max_num (PUBLIC) END MODULE MYGLOBAL ================================================================== SUBROUTINE READ_RAWDATA(filename) USE NUM_KINDS, ONLY : wp=>dp, i4b USE MYGLOBAL, ONLY : datasize, channel_num, rawdata USE MYFILEIO, ONLY : NEWUNIT CHARACTER(LEN=*), INTENT(IN) :: filename INTEGER(i4b) :: u REAL(wp) :: time USE time time MYGLOBAL time u = NEWUNIT() OPEN(u, TRIM(filename), STATUS= OLD ) READ(u,*) time READ(u,*) datasize, channel_num DOi=1,data_size READ(u,*) rawdata(i,1:channel_num) CLOSE(u) RETURN END SUBROUTINE READ_RAWDATA ------------------------------------------------------------------- FUNCTION NEWUNIT() RESULT(u) USE NUM_KINDS, ONLY : wp=>dp, i4b INTEGER(i4b) :: u LOGICAL :: stat u=10 DO INQUIRE(UNIT=u, OPENED=stat) IF (.NOT. stat) EXIT Do Loop EXIT u=u+1 RETURN FUNCTION NEWUNIT

DOi=1,n y(i) = 5.0_wp*MYFUNC(x(i), pi) + & & 3.0_wp... FUNCTION MYFUNC(x, a) RESULT(y)... FORALL(i=1:n) y(i) = 5.0_wp*MYFUNC(x(i), pi) + & & 3.0_wp END FORALL... PURE FUNCTION MYFUNC(x, a) RESULT(y)... a(1:n 1) = a(2:n)*b(1:n 1) FORALL(i=1:n 1) a(i) = a(i+1)*b(i) FORALL(i=1:n, j=1:m) a(i,j) = REAL(i,wp)/REAL(j,wp) (a(i,j) = i/j END FORALL DO... FORALL...END FORALL PURE MYFUNC FORALL...END FORALL ELEMENTAL

n=10; for (i=1;i<=n;i++){ n ; printf( %d n,i); } 1,2,3,4,5 n=10 DOi=1,n n=n 1 WRITE(*,*) i END DO 1,2,3,4,5,6,7,8,9,10 i=11 10 n=0 n=10; for (i=1;i<=n;i++){ if(i==4) i=n 1; printf( %d n,i); } n=10 DOi=1,n IF (i==4) i=n 1 WRITE(*,*) i END DO 1,2,3,9,10 COMMON/TEST/A B SUBROUTINE SUB1 COMMON/TEST/B Y COMMON/DATA2D/nx, ny, nz, X(100), & & Y(100), Z(100,100), nx_max, ny_max COMMON BLOCK nx_max ny_max COMMON BLOCK PARAME- TER SUB- ROUTINE nx nx _max ny_max DATA2D COMMON BLOCK DATA2D COM- MON INCLUDE SUBROUTINE SUBROUTINE

if(i==0){... if(i=0){... DO10I=0.10 DO10I 0.1 A TYPE ADCDATA CHARACTER(LEN=64) :: diagnostic = ECE INTEGER(i4b) :: shotno = 0 INTEGER(i4b) :: data_length = 0 ADC 1ch INTEGER(i4b) :: channel_num = 0 REAL(wp) :: t_sample = 0.0_wp REAL(wp) :: t_delay = 0.0_wp INTEGER(i4b), POINTER:: chans(:) => NULL() ADC chans = (/1,2,3,...,/) chans = (/3, 5, 12, 13, 14,...,/) REAL(wp), POINTER :: param(:) => NULL() REAL CHARACTER REAL(wp), POINTER :: time(:) => NULL() REAL(wp), POINTER :: volt(:,:) => NULL() END TYPE --------------------------------------------------------------------------- INTEGER(i4b), PARAMETER :: nplot = 8 TYPE(ADCDATA) :: plotdata(nplot) REAL(wp) :: t_plot_begin, t_plot_end REAL(wp) :: dummy CHARACTER(LEN=128) :: dir plotdata(1:nplot)%shot = 12345 plotdata(1)%diagnostic = Ip plotdata(2)%diagnostic = Bolometer plotdata(3)%diagnostic = ECE... DO i= 1, nplot CALL ADC_CHANNEL_SETUP(plotdata(i)) CALL ADC_GET_DATA(plotdata(i)) CALL ADC_CONV_TO_PHYS(plotdata(i))

ENDO t_plot_begin = 0.0_wp t_plot_end = 0.0_wp DOi=1,nplot dummy = MINVAL(plotdata(i)%time) t_plot_begin = MIN(t_plot_begin, dummy) dummy = MAXVAL(plotdata(i)%time) t_plot_end = MAX(t_plot_end, dummy) dir = /home/inagaki/ DO i nplot CALL ADC_SAVE(plotdata(i), dir) CALL ADC_CLEAR(plotdata(i)) channel_num data_length diagnostic diagnostic(nplot) time(:,:) time_ip(:), time_bolo(:), time_ece(:),... CALL ADC_GET_DATA(plotdata(i)) plotdata[i].get_data()