== Synthetic Turbulence Generator Parameters == [[TracNav(doc/app/partoc|nocollapse)]] Since revision r2259, a synthetic turbulence generation method is available in PALM. The turbulence generator follows the method proposed by [wiki:/doc/tec/bc#xie2008 Xie and Castro (2008)] with a modification by [wiki:/doc/tec/bc#kim2013 Kim et al. (2013)]. Please see the [/wiki/doc/tec/bc#SyntheticTurbulenceGenerator documentation] for a detailed description of the synthetic turbulence generator. All parts of the synthetic turbulence generator are modularized in module [/browser/palm/trunk/SOURCE/synthetic_turbulence_generator_mod.f90 synthetic_turbulence_generator_mod]. In this context, a new Fortran NAMELIST {{{stg_par}}} was added, containing all related steering parameters. \\ '''NAMELIST group name: stg_par''' \\\\ ||='''Parameter Name''' =||='''[../fortrantypes FORTRAN Type]''' =||='''Default Value''' =||='''Explanation''' =|| |---------------- {{{#!td style="vertical-align:top" [=#dt_stg_adjust '''dt_stg_adjust'''] }}} {{{#!td style="vertical-align:top" R }}} {{{#!td style="vertical-align:top" 300 }}} {{{#!td Time interval (in seconds) to adjust the turbulence statistics, i.e. the Reynolds-stress tensor, which define the amplitude and correlation of imposed correlation. Please note, this parameter becomes only effective if turbulence statistics are parametrized, i.e. if they are not read from the ASCII input file. Further, dt_stg_adjust is only relevant in case of a daily cycle, where the strength of turbulence and boundary-layer depth changes in time. }}} |---------------- {{{#!td style="vertical-align:top" [=#dt_stg_call '''dt_stg_call'''] }}} {{{#!td style="vertical-align:top" R }}} {{{#!td style="vertical-align:top" 0.0 }}} {{{#!td Time interval to call the synthetic turbulence generator. With this parameter it is possible to skip calling the turbulence generator, in order to save computational resources. In the default the turbulence generator is called every timestep. }}} |---------------- {{{#!td style="vertical-align:top" [=#use_syn_turb_gen '''use_syn_turb_gen'''] }}} {{{#!td style="vertical-align:top" L }}} {{{#!td style="vertical-align:top" .F. }}} {{{#!td Flag to switch on the synthetic turbulence generator. If {{{use_syn_turb_gen = .T.}}}, it is required to also set [../initialization_parameters#initializing_actions initializing_actions] to either 'set_constant_profiles' or 'read_restart_data'. Also, non-cyclic boundary conditions along x-direction ([../initialization_parameters#bc_lr bc_lr]='dirichlet/radiation') and cyclic boundary conditions along y-direction ([../initialization_parameters#bc_ns bc_ns]='cyclic') have to be used. Using turbulence recycling ([../initialization_parameters#turbulent_inflow turbulent_inflow]=.T.) together with the synthetic turbulence generator is not allowed. }}} |---------------- {{{#!td style="vertical-align:top" [=#compute_velocity_seeds_local '''compute_velocity_seeds_local'''] }}} {{{#!td style="vertical-align:top" L }}} {{{#!td style="vertical-align:top" .T. }}} {{{#!td Flag to control the computation of velocity seeds that are the basis of the imposed disturbances. If set to .FALSE., the computation of the seeds at the boundary is distributed to all processes along the respective 1D communicator. Subsequently, seeds are gathered on the respective boundary process. This option is especially useful for large length scales where the computational effort can become quite huge (it scales with the turbulent length scales), so that gain by parallelization exceeds the costs by the subsequent communication. This is usually the case when turbulent length scales are read in from ASCII file. If set to .TRUE., velocity seeds are computed only locally and no communication is necessary. This performs better when the turbulent length scales are small (like in the parametrized mode where the length scales are limited to 8 x grid spacing) and thus the loops are smaller. }}}