1 ! fake physics module - simple spread formula
3 module module_fr_sfire_phys
8 subroutine normal_spread( &
9 ims,ime,jms,jme, & ! memory bounds
10 its,ite,jts,jte, & ! tile bounds
11 nvx,nvy, & ! in: directions to compute the speed in
12 speed & ! out: the spread speed
13 #ifdef SPEED_VARS_ARGS /* extra arguments for normal_spread */
14 #include SPEED_VARS_ARGS
17 use module_fr_sfire_util
20 integer, intent(in)::its,ite,jts,jte,ims,ime,jms,jme
21 real,intent(in),dimension(ims:ime,jms:jme)::nvx,nvy
22 real,intent(out),dimension(ims:ime,jms:jme)::speed
23 #ifdef SPEED_VARS_DECL /* extra arguments for normal_spread */
24 #include SPEED_VARS_DECL
32 ! compute speed at all nodes
38 write(*,*)'c=',normal_spread_c,' e=',normal_spread_e
41 speed(i,j) = r(i,j) + max(vx(i,j)*nvx(i,j) + vy(i,j)*nvy(i,j),0.0)**e * c
45 end subroutine normal_spread
47 end module module_fr_sfire_phys