Changes between Version 12 and Version 13 of doc/app/examples/turbinf
- Timestamp:
- Apr 5, 2016 2:37:26 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/examples/turbinf
v12 v13 11 11 The following tries to give a short recipe about how to create a proper setup for using the turbulence recycling method: 12 12 13 * A precursor run with cyclic horizontal boundary conditions has to be carried out in order to create a (quasi-) stationary state. Since the horizontal average from this precursor run is used as the mean inflow profile for the main run, '''the wall-normal velocity component must point into the domain at every grid point and its magnitude should be large enough in order to guarantee an inflow even if a turbulence signal is added.'''13 * Carry out a precursor run with cyclic horizontal boundary conditions, restart data output and profile output at the end of the simulation. 14 14 15 * The main run requires the mean profiles from the precursor run to be used at the inflow. For this, the horizontally and temporally averaged mean profiles as provided with the standard PALM output are used. The user has to set parameters [../../d3par#dt_dopr dt_dopr], [../../d3par#averaging_interval averaging_interval], etc. for the precursor run appropriately, so that an output is done '''at the end''' of the precursor run. The profile information is then contained in the restart (binary) file created at the end of the precursor run and can be used by the main run. '''It is very important that the mean profiles at the end of the precursor run are in a stationary or quasi-stationary state''', because otherwise it may not be justified to use them as constant profiles at the inflow. '''Also, turbulence at the end of the precursor run should be fully developed.''' Otherwise, the main run would need an additional spinup-time at the beginning to get the turbulence to its final stage.15 A precursor run with cyclic horizontal boundary conditions has to be carried out in order to create a (quasi-) stationary state. Since the horizontal average from this precursor run is used as the mean inflow profile for the main run, '''the wall-normal velocity component must point into the domain at every grid point and its magnitude should be large enough in order to guarantee an inflow even if a turbulence signal is added.''' 16 16 17 * In order to read the binary data from the precursor run, parameter [../../inipar#initializing_actions initializing_actions] = '' 'cyclic_fill' '' has to be set in the main run.17 The main run must be initialized using [../../inipar#initializing_actions initializing_actions] = '' 'cyclic_fill' ''. Therefore, restart (binary) data of the precursor run must be saved. 18 18 19 * Horizontal boundary conditions have to be set to [../../inipar#bc_lr bc_lr] = '' 'dirichlet/radiation' ''. '''The radiation boundary condition at the outflow requires that the wall-normal velocity component at the outflow must point out of the domain at every grid point and at every timestep.''' Special care has to be taken in case of obstacles near the outflow, because their recirculations may violate this condition.19 The main run requires the mean profiles from the precursor run to be used at the inflow. For this, the horizontally and temporally averaged mean profiles as provided with the standard PALM output are used. The user has to set parameters [../../d3par#dt_dopr dt_dopr], [../../d3par#averaging_interval averaging_interval], etc. for the precursor run appropriately, so that an output is done '''at the end''' of the precursor run. The profile information is then contained in the restart (binary) file created at the end of the precursor run and can be used by the main run. '''It is very important that the mean profiles at the end of the precursor run are in a stationary or quasi-stationary state''', because otherwise it may not be justified to use them as constant profiles at the inflow. '''Also, turbulence at the end of the precursor run should be fully developed.''' Otherwise, the main run would need an additional spinup-time at the beginning to get the turbulence to its final stage. 20 20 21 * Because of the Dirichlet condition at the inflow, the flow does not require any further driving force in general. An external pressure gradient or a geostrophic wind can be used, but should have the same value as for the precursor run. Otherwise, the horizontally diverging wind field will induce vertically descending or ascending motions. An application of volume flow conservation ([../../inipar#conserve_volume_flow conserve_volume_flow] = ''.TRUE.'') should be done with care, because it may have the same effects.21 * The restart data of the precursor run must be made available for the main run. The user has to copy/link/rename the restart data of the precursor run manually as they would be restart data of the main run, so that Palm can find the restart data during the main run. Usually, this is done by creating a directory next to your output directory named ''RESTART/<name_of_main_run>_d3d'' and rename/copy/link the directory, where the restart data of the precursor run are saved (ths directory is named via [../../jobcontrol#tmp_data_catalog tmp_data_catalog] in .mrun.config), to ''<name_of_main_run>_d3d'' 22 22 23 * The main run allows to use a larger domain along x and y than in the precursor run. Along z, however, both runs must be exactly the same.23 * Set options for turbulent inflow in the parameter file of the main run 24 24 25 * The distance between the inflow and the recycling plane should be large enough to allow for a sufficient advancement of the turbulent eddies (should be somehow correlated with the eddy turnover time). Otherwise, almost the same eddies will be recycled again and again, which will distort the turbulence statistics. Typically, the recycling width will be similar or equal to the domain size of the precursor run.25 For initialization it has to be set [../../inipar#initializing_actions initializing_actions] = '' 'cyclic_fill' ''. 26 26 27 The recycled turbulence, which is mapped from the recycling plane to the inflow boundary, can be shifted in y direction. This y-shift reduces persistent streaks that may occur within the recycling domain. To use the y-shift [../../inipar#recycling_yshift recycling_yshift] = .T. needs to be set. The distance of the y-shift is INT([../../d3par#npey npey] / 2), which is in most cases the best distance for effectively reducing streaks in the recycling domain. 27 Horizontal boundary conditions have to be set to [../../inipar#bc_lr bc_lr] = '' 'dirichlet/radiation' ''. '''The radiation boundary condition at the outflow requires that the wall-normal velocity component at the outflow must point out of the domain at every grid point and at every timestep.''' Special care has to be taken in case of obstacles near the outflow, because their recirculations may violate this condition. 28 29 Because of the Dirichlet condition at the inflow, the flow does not require any further driving force in general. An external pressure gradient or a geostrophic wind can be used, but should have the same value as for the precursor run. Otherwise, the horizontally diverging wind field will induce vertically descending or ascending motions. An application of volume flow conservation ([../../inipar#conserve_volume_flow conserve_volume_flow] = ''.TRUE.'') should be done with care, because it may have the same effects. 30 31 The main run allows to use a larger domain along x and y than in the precursor run. Along z, however, the main run and the precursor run must be exactly the same. 32 33 Set [../../inipar#turbulent_inflow turbulent_inflow] = .T. . 34 35 Define the position of the recycling plane via [../../inipar#recycling_width recycling_width]. The distance between the inflow and the recycling plane should be large enough to allow for a sufficient advancement of the turbulent eddies (should be somehow correlated with the eddy turnover time). Otherwise, almost the same eddies will be recycled again and again, which will distort the turbulence statistics. Typically, the recycling width will be similar or equal to the domain size of the precursor run. 36 37 A damping layer for the turbulence signal can be set at top of the domain via [../../inipar#inflow_damping_height inflow_damping_height] and [../../inipar#inflow_damping_width inflow_damping_width]. Inside the damping layer the turbulence signal is linearly damped to 0%. For [../../inipar#inflow_damping_height inflow_damping_height] the boundary layer height from the precursor run should be used. 38 39 The recycled turbulence, which is mapped from the recycling plane to the inflow boundary, can be shifted in y direction. This y-shift reduces persistent streaks that may occur within the recycling domain. To use the y-shift [../../inipar#recycling_yshift recycling_yshift] = .T. needs to be set. The distance of the y-shift is INT([../../d3par#npey npey] / 2), which is in most cases the best distance for effectively reducing streaks in the recycling domain. 40 41 * When starting the main run, mrun must be told to provide the binary data of the restart run. For this, first the list of input-files in ''.mrun.config'' must be modified. In line 42 {{{ 43 BININ in:loc:flpe d3f $base_data/$fname/RESTART _d3d 44 }}} 45 an additional flag, e.g. ''cycfill'' has to be added in the third column: 46 {{{ 47 BININ in:loc:flpe d3f:cycfill $base_data/$fname/RESTART _d3d 48 }}} 49 This flag has to be added to the run control list of the mrun command (option {{{-r}}}, [../../jobcontrol#r see job control with mrun]) when starting the main run as well. 28 50 29 51 === References ===