Ignore:
Timestamp:
Dec 10, 2019 7:44:12 PM (5 years ago)
Author:
suehring
Message:

Synthetic turbulence: Limit initial velocity seeds in restart runs, if not the seed calculation may become unstable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/synthetic_turbulence_generator_mod.f90

    r4329 r4332  
    2525! -----------------
    2626! $Id$
     27! Limit initial velocity seeds in restart runs, if not the seed calculation
     28! may become unstable. Further, minor bugfix in initial velocity seed
     29! calculation.
     30!
     31! 4329 2019-12-10 15:46:36Z motisi
    2732! Renamed wall_flags_0 to wall_flags_static_0
    2833!
     
    903908          DO  j = nysg, nyng
    904909             DO  k = nzb, nzt+1
    905                 IF  ( a11(k) /= 0.0_wp )  THEN
     910                IF  ( a11(k) > 10E-8_wp )  THEN
    906911                   fu_yz(k,j) = ( u(k,j,i) - u_init(k) ) / a11(k)
    907912                ELSE
    908                    fu_yz(k,j) = 0.0_wp
     913                   fu_yz(k,j) = 10E-8_wp
    909914                ENDIF
    910915
    911                 IF  ( a22(k) /= 0.0_wp )  THEN
     916                IF  ( a22(k) > 10E-8_wp )  THEN
    912917                   fv_yz(k,j) = ( v(k,j,i) -                                  &
    913918                                  a21(k) * fu_yz(k,j) - v_init(k) ) / a22(k)
    914919                ELSE
    915                    fv_yz(k,j) = 0.0_wp
     920                   fv_yz(k,j) = 10E-8_wp
    916921                ENDIF
    917922
    918                 IF  ( a33(k) /= 0.0_wp )  THEN
     923                IF  ( a33(k) > 10E-8_wp )  THEN
    919924                   fw_yz(k,j) = ( w(k,j,i) -                                   &
    920925                                  a31(k) * fu_yz(k,j) - a32(k) *               &
    921926                                  fv_yz(k,j) ) / a33(k)
    922927                ELSE
    923                    fw_yz = 0._wp
     928                   fw_yz(k,j) = 10E-8_wp
    924929                ENDIF
    925 
    926930             ENDDO
    927931          ENDDO
     
    936940             DO  k = nzb, nzt+1
    937941
    938                 IF  ( a11(k) /= 0.0_wp )  THEN
     942                IF  ( a11(k) > 10E-8_wp )  THEN
    939943                   fu_xz(k,i) = ( u(k,j,i) - u_init(k) ) / a11(k)
    940944                ELSE
    941                    fu_xz(k,i) = 0.0_wp
     945                   fu_xz(k,i) = 10E-8_wp
    942946                ENDIF
    943947
    944                 IF  ( a22(k) /= 0.0_wp )  THEN
     948                IF  ( a22(k) > 10E-8_wp )  THEN
    945949                   fv_xz(k,i) = ( v(k,j,i) -                                   &
    946950                                  a21(k) * fu_xz(k,i) - v_init(k) ) / a22(k)
    947951                ELSE
    948                    fv_xz(k,i) = 0.0_wp
     952                   fv_xz(k,i) = 10E-8_wp
    949953                ENDIF
    950954
    951                 IF  ( a33(k) /= 0.0_wp )  THEN
     955                IF  ( a33(k) > 10E-8_wp )  THEN
    952956                   fw_xz(k,i) = ( w(k,j,i) -                                   &
    953957                                  a31(k) * fu_xz(k,i) -                        &
    954958                                  a32(k) * fv_xz(k,i) ) / a33(k)
    955959                ELSE
    956                    fw_xz = 0._wp
     960                   fw_xz(k,i) = 10E-8_wp
    957961                ENDIF
    958962
Note: See TracChangeset for help on using the changeset viewer.