Path: | src/util/cflcheck.f90 |
Last Update: | Sat Apr 23 00:01:52 JST 2005 |
Copyright (C) GFD Dennou Club, 2004. All rights reserved.
* Developer: SUGIYAMA Ko-ichiro (sugiyama@gfd-dennou.org) * Version: $Id: cflcheck.f90,v 1.2 2005/04/22 15:01:52 sugiyama Exp $ * Tag Name: $Name: $ * Change History:
CFL 条件のチェック. 現在は X 方向の格子点間隔から CFL 条件をチェック
Error Handling を gt4f90io を利用するように変更
subroutine cflcheck !=begin !== Dependency !=end !--- 暗黙の型宣言禁止 implicit none !--- 内部変数 real(8) :: ss_VelSoundMax real(8) :: Cfl call BeginSub("cflcheck", fmt="%c", c1="CFL condition check.") !--- 音速と CFL 条件を求める ss_VelSoundMax = maxval(ss_VelSoundBasicZ) Cfl = DelX / ss_VelSoundMax !--- 警告メッセージ if (DelTimeShort >= Cfl) then write(*,*) "CFL Condition is broken, DelTimeShort * VelSound > DelX" write(*,*) "sound wave velocity", ss_VelSoundMax write(*,*) "DelX", DelX write(*,*) "DelTimeShort", DelTimeShort stop end if !--- 警告メッセージ if (DelTimeShort >= Cfl * 9.0d-1) then write(*,*) "CFL Condition is nearly broken" write(*,*) "sound wave velocity", ss_VelSoundMax write(*,*) "DelX", DelX write(*,*) "DelTimeShort", DelTimeShort end if !--- 警告メッセージ if (ss_VelSoundMax <= 0.0d0) then call MessageNotify("Error", "cflcheck", "sound wave velocity <= 0.0d0") stop end if call EndSub("cflcheck") end subroutine cflcheck