Path: | src/util/average.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: average.f90,v 1.2 2005/04/22 15:01:52 sugiyama Exp $ * Tag Name: $Name: $ * Change History:
物理量の平均操作を行うための一連の関数をまとめたパッケージ型モジュール. 水平 Arakawa-C, 鉛直 Lorentz グリッドとする.
ff_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! ! ff 格子点位置での平均操作 !
function ff_avr_fs(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ff_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) ff_avr_fs = 0.0d0 ff_avr_fs(DimXMin : DimXMax, DimZMin : DimZMax-1) = ( var(DimXMin : DimXMax, DimZMin+1 : DimZMax) + var(DimXMin : DimXMax, DimZMin : DimZMax-1) ) * 5.0d-1 end function ff_avr_fs
ff_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! ! ff 格子点位置での平均操作 !
function ff_avr_sf(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ff_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) ff_avr_sf = 0.0d0 ff_avr_sf(DimXMin : DimXMax-1 , DimZMin : DimZMax) = ( var(DimXMin+1 : DimXMax, DimZMin : DimZMax) + var(DimXMin : DimXMax-1, DimZMin : DimZMax) ) * 5.0d-1 end function ff_avr_sf
ff_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! ! ff 格子点位置での平均操作 !
function ff_avr_ss(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ff_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) ff_avr_ss = 0.0d0 ff_avr_ss(DimXMin : DimXMax-1, DimZMin : DimZMax-1) = ( var(DimXMin+1 : DimXMax, DimZMin+1 : DimZMax ) + var(DimXMin+1 : DimXMax, DimZMin : DimZMax-1 ) + var(DimXMin : DimXMax-1, DimZMin+1 : DimZMax ) + var(DimXMin : DimXMax-1, DimZMin : DimZMax-1 ) ) * 2.5d-1 end function ff_avr_ss
fs_avr_ff(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 u の位置での平均操作 !
function fs_avr_ff(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: fs_avr_ff(DimXMin:DimXMax, DimZMin:DimZMax) fs_avr_ff = 0.0d0 fs_avr_ff(DimXMin : DimXMax, DimZMin+1 : DimZMax) = ( var(DimXMin : DimXMax, DimZMin+1 : DimZMax ) + var(DimXMin : DimXMax, DimZMin : DimZMax-1) ) * 5.0d-1 end function fs_avr_ff
fs_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 u の位置での平均操作 !
function fs_avr_fs(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: fs_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) fs_avr_fs = var end function fs_avr_fs
fs_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 u の位置での平均操作 !
function fs_avr_sf(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: fs_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) fs_avr_sf = 0.0d0 fs_avr_sf(DimXMin : DimXMax-1, DimZMin+1 : DimZMax) = ( var(DimXMin+1 : DimXMax, DimZMin+1 : DimZMax ) + var(DimXMin+1 : DimXMax, DimZMin : DimZMax-1) + var(DimXMin : DimXMax-1, DimZMin+1 : DimZMax ) + var(DimXMin : DimXMax-1, DimZMin : DimZMax-1) ) * 2.5d-1 end function fs_avr_sf
fs_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 u の位置での平均操作 !
function fs_avr_ss(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: fs_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) fs_avr_ss = 0.0d0 fs_avr_ss(DimXMin : DimXMax-1, DimZMin : DimZMax) = ( var(DimXMin+1 : DimXMax , DimZMin : DimZMax) + var(DimXMin : DimXMax-1 , DimZMin : DimZMax) ) * 5.0d-1 end function fs_avr_ss
sf_avr_ff(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 w の位置での平均操作 !
function sf_avr_ff(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: sf_avr_ff(DimXMin:DimXMax, DimZMin:DimZMax) sf_avr_ff = 0.0d0 sf_avr_ff(DimXMin+1 : DimXMax, DimZMin : DimZMax) = ( var(DimXMin+1 : DimXMax, DimZMin : DimZMax) + var(DimXMin : DimXMax-1, DimZMin : DimZMax) ) * 5.0d-1 end function sf_avr_ff
sf_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 w の位置での平均操作 !
function sf_avr_fs(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: sf_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) sf_avr_fs = 0.0d0 sf_avr_fs(DimXMin+1 : DimXMax, DimZMin : DimZMax-1 ) = ( var(DimXMin+1 :DimXMax, DimZMin+1 : DimZMax ) + var(DimXMin+1 :DimXMax, DimZMin : DimZMax-1) + var(DimXMin :DimXMax-1, DimZMin+1 : DimZMax ) + var(DimXMin :DimXMax-1, DimZMin : DimZMax-1) ) * 2.5d-1 end function sf_avr_fs
sf_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 w の位置での平均操作 !
function sf_avr_sf(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: sf_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) sf_avr_sf = var end function sf_avr_sf
sf_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !速度 w の位置での平均操作 !
function sf_avr_ss(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: sf_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) sf_avr_ss = 0.0d0 sf_avr_ss(DimXMin : DimXMax, DimZMin : DimZMax-1) = ( var( DimXMin : DimXMax, DimZMin+1 :DimZMax ) + var( DimXMin : DimXMax, DimZMin :DimZMax-1 ) ) * 5.0d-1 end function sf_avr_ss
ss_avr_ff(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !スカラーの位置での平均操作 !
function ss_avr_ff(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ss_avr_ff(DimXMin:DimXMax, DimZMin:DimZMax) ss_avr_ff = 0.0d0 ss_avr_ff(DimXMin+1 : DimXMax, DimZMin+1 : DimZMax) = ( var(DimXMin+1 : DimXMax, DimZMin+1 : DimZMax ) + var(DimXMin+1 : DimXMax, DimZMin : DimZMax-1 ) + var(DimXMin : DimXMax-1, DimZMin+1 : DimZMax ) + var(DimXMin : DimXMax-1, DimZMin : DimZMax-1 ) ) * 2.5d-1 end function ss_avr_ff
ss_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !スカラーの位置での平均操作 !
function ss_avr_fs(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ss_avr_fs(DimXMin:DimXMax, DimZMin:DimZMax) ss_avr_fs = 0.0d0 ss_avr_fs(DimXMin+1 : DimXMax, DimZMin : DimZMax) = ( var(DimXMin+1 : DimXMax, DimZMin : DimZMax) + var(DimXMin : DimXMax-1, DimZMin : DimZMax) ) * 5.0d-1 end function ss_avr_fs
ss_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !スカラーの位置での平均操作 !
function ss_avr_sf(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ss_avr_sf(DimXMin:DimXMax, DimZMin:DimZMax) ss_avr_sf = 0.0d0 ss_avr_sf(DimXMin : DimXMax, DimZMin+1 : DimZMax) = ( var(DimXMin : DimXMax, DimZMin+1 : DimZMax ) + var(DimXMin : DimXMax, DimZMin : DimZMax-1 ) ) * 5.0d-1 end function ss_avr_sf
ss_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8) |
var(DimXMin:DimXMax, DimZMin:DimZMax) : | real(8), intent(in) |
! !スカラーの位置での平均操作 !
function ss_avr_ss(var) implicit none real(8), intent(in) :: var(DimXMin:DimXMax, DimZMin:DimZMax) real(8) :: ss_avr_ss(DimXMin:DimXMax, DimZMin:DimZMax) ss_avr_ss = var end function ss_avr_ss