Changeset 1322 for palm/trunk/SOURCE/lpm_collision_kernels.f90
- Timestamp:
- Mar 20, 2014 4:38:49 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/lpm_collision_kernels.f90
r1321 r1322 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! REAL constants defined as wp_kind 22 23 ! 23 24 ! Former revisions: … … 167 168 !-- Calculate the radius class bounds with logarithmic distances 168 169 !-- in the interval [1.0E-6, 2.0E-4] m 169 rclass_lbound = LOG( 1.0E-6 )170 rclass_ubound = LOG( 2.0E-4 )170 rclass_lbound = LOG( 1.0E-6_wp ) 171 rclass_ubound = LOG( 2.0E-4_wp ) 171 172 radclass(1) = 1.0E-6 172 173 DO i = 2, radius_classes … … 182 183 !-- Set the class bounds for dissipation in interval [0.0, 0.1] m**2/s**3 183 184 DO i = 1, dissipation_classes 184 epsclass(i) = 0.1 * REAL( i ) / dissipation_classes185 epsclass(i) = 0.1 * REAL( i, KIND=wp ) / dissipation_classes 185 186 ! IF ( myid == 0 ) THEN 186 187 ! PRINT*, 'i=', i, ' eps = ', epsclass(i) … … 197 198 198 199 epsilon = epsclass(k) 199 urms = 2.02 * ( epsilon / 0.04 )**( 1.0 / 3.0)200 urms = 2.02 * ( epsilon / 0.04_wp )**( 1.0_wp / 3.0_wp ) 200 201 201 202 CALL turbsd … … 313 314 epsilon = 0.0 314 315 ENDIF 315 urms = 2.02 * ( epsilon / 0.04 )**( 0.33333333333)316 urms = 2.02 * ( epsilon / 0.04_wp )**( 0.33333333333_wp ) 316 317 317 318 IF ( wang_kernel .AND. epsilon > 1.0E-7 ) THEN … … 431 432 ENDIF 432 433 433 lambda = urms * SQRT( 15.0 * molecular_viscosity / epsilon )! in m434 lambda_re = urms**2 * SQRT( 15.0 / epsilon / molecular_viscosity )434 lambda = urms * SQRT( 15.0_wp * molecular_viscosity / epsilon ) ! in m 435 lambda_re = urms**2 * SQRT( 15.0_wp / epsilon / molecular_viscosity ) 435 436 tl = urms**2 / epsilon ! in s 436 437 lf = 0.5 * urms**3 / epsilon ! in m 437 438 tauk = SQRT( molecular_viscosity / epsilon ) ! in s 438 eta = ( molecular_viscosity**3 / epsilon )**0.25 439 eta = ( molecular_viscosity**3 / epsilon )**0.25_wp ! in m 439 440 vk = eta / tauk 440 441 441 442 ao = ( 11.0 + 7.0 * lambda_re ) / ( 205.0 + lambda_re ) 442 tt = SQRT( 2.0 * lambda_re / ( SQRT( 15.0 ) * ao ) ) * tauk ! in s443 tt = SQRT( 2.0 * lambda_re / ( SQRT( 15.0_wp ) * ao ) ) * tauk ! in s 443 444 444 445 CALL fallg ! gives winf in m/s … … 452 453 !-- Calculate wr (from Aayala 2008b, page 38f) 453 454 z = tt / tl 454 be = SQRT( 2.0 ) * lambda / lf455 be = SQRT( 2.0_wp ) * lambda / lf 455 456 bbb = SQRT( 1.0 - 2.0 * be**2 ) 456 457 d1 = ( 1.0 + bbb ) / ( 2.0 * bbb ) … … 504 505 wrtur2xy = vrms1xy**2 + vrms2xy**2 - 2.0 * v1v2xy ! in m**2/s**2 505 506 IF ( wrtur2xy < 0.0 ) wrtur2xy = 0.0 506 wrgrav2 = pi / 8.0 * ( winf(j) - winf(i) )**2507 wrfin = SQRT( ( 2.0 / pi ) * ( wrtur2xy + wrgrav2) )! in m/s507 wrgrav2 = pi / 8.0_wp * ( winf(j) - winf(i) )**2 508 wrfin = SQRT( ( 2.0_wp / pi ) * ( wrtur2xy + wrgrav2) ) ! in m/s 508 509 509 510 ! … … 518 519 5.3406 * sst 519 520 IF ( xx < 0.0 ) xx = 0.0 520 yy = 0.1886 * EXP( 20.306 / lambda_re )521 yy = 0.1886 * EXP( 20.306_wp / lambda_re ) 521 522 522 523 c1_gr = xx / ( g / vk * tauk )**yy 523 524 524 ao_gr = ao + ( pi / 8.0 ) * ( g / vk * tauk )**2525 ao_gr = ao + ( pi / 8.0_wp) * ( g / vk * tauk )**2 525 526 fao_gr = 20.115 * SQRT( ao_gr / lambda_re ) 526 527 rc = SQRT( fao_gr * ABS( st(j) - st(i) ) ) * eta ! in cm … … 652 653 stb = 32.0 * rho_a * ( rho_l - rho_a) * g / (3.0 * eta * eta) 653 654 phy = sigma**3 * rho_a**2 / ( eta**4 * g * ( rho_l - rho_a ) ) 654 py = phy**( 1.0 / 6.0)655 py = phy**( 1.0_wp / 6.0_wp ) 655 656 656 657 ENDIF … … 685 686 ENDIF 686 687 687 x = LOG( 16.0 * bond * py / 3.0 )688 x = LOG( 16.0 * bond * py / 3.0_wp ) 688 689 y = 0.0 689 690 … … 695 696 696 697 IF ( radclass(j) > 0.0035 ) THEN 697 winf(j) = xrey * eta / ( 2.0 * rho_a * 0.0035 )698 winf(j) = xrey * eta / ( 2.0 * rho_a * 0.0035_wp ) 698 699 ELSE 699 700 winf(j) = xrey * eta / ( 2.0 * rho_a * radclass(j) ) … … 799 800 ALLOCATE( ira(1:radius_classes) ) 800 801 DO j = 1, radius_classes 801 particle_radius = radclass(j) * 1.0E6 802 particle_radius = radclass(j) * 1.0E6_wp 802 803 DO k = 1, 15 803 804 IF ( particle_radius < r0(k) ) THEN … … 822 823 IF ( ir < 16 ) THEN 823 824 IF ( ir >= 2 ) THEN 824 pp = ( ( radclass(j) * 1.0E06 ) - r0(ir-1) ) / &825 pp = ( ( radclass(j) * 1.0E06_wp ) - r0(ir-1) ) / & 825 826 ( r0(ir) - r0(ir-1) ) 826 827 qq = ( rq- rat(iq-1) ) / ( rat(iq) - rat(iq-1) ) … … 930 931 931 932 DO j = 1, radius_classes 932 particle_radius = radclass(j) * 1.0E6 933 particle_radius = radclass(j) * 1.0E6_wp 933 934 DO k = 1, 7 934 935 IF ( particle_radius < r0(k) ) THEN … … 1039 1040 REAL(wp), DIMENSION(1:9,1:19), SAVE :: ef = 0.0 !: 1040 1041 1041 mean_rm = mean_r * 1.0E06 1042 rm = r * 1.0E06 1042 mean_rm = mean_r * 1.0E06_wp 1043 rm = r * 1.0E06_wp 1043 1044 1044 1045 IF ( first ) THEN
Note: See TracChangeset
for help on using the changeset viewer.