Changes between Version 127 and Version 128 of doc/app/particle_parameters
- Timestamp:
- Apr 6, 2016 3:37:27 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
doc/app/particle_parameters
v127 v128 95 95 96 96 '' 'hall_fast' '' 97 Same as '' 'hall' '', but a collision efficiency table is calculated only once (at the beginning of the simulation) for fixed radius classes in the range [1.0E-6,2.0E-4] m. The number of classes to be used (i.e. the resolution of the kernel) can be set by parameter [#radius_classes radius_classes]. This method significantly reduces the total cpu-time fora job.97 Same as '' 'hall' '', but a collision efficiency table is calculated only once (at the beginning of the simulation) for fixed radius classes in the range [1.0E-6,2.0E-4] m. The number of classes to be used (i.e. the resolution of the kernel) can be set by parameter [#radius_classes radius_classes]. This method significantly reduces the total CPU time of a job. 98 98 99 99 '' 'none' '' … … 107 107 108 108 '' 'wang_fast' '' 109 Same as '' 'wang' '', but a collision efficiency table is calculated only once (at the beginning of the simulation) for fixed radius- and dissipation classes in the ranges [1.0E-6,2.0E-4] m, and [0.0,1000.0] cm**2/s**3 respectively. The number of classes to be used (i.e. the resolution of the kernel) can be set by parameters [#radius_classes radius_classes], and [#dissipation_classes dissipation_classes]. This method significantly reduces the total cpu-time fora job.109 Same as '' 'wang' '', but a collision efficiency table is calculated only once (at the beginning of the simulation) for fixed radius- and dissipation classes in the ranges [1.0E-6,2.0E-4] m, and [0.0,1000.0] cm**2/s**3 respectively. The number of classes to be used (i.e. the resolution of the kernel) can be set by parameters [#radius_classes radius_classes], and [#dissipation_classes dissipation_classes]. This method significantly reduces the total CPU time of a job. 110 110 111 111 '''Attention:''' Switching on the collision process drastically increases the CPU time of jobs. … … 142 142 {{{#!td 143 143 Number of dissipation classes to be used in the collision efficiency table.\\ 144 This parameter comes into effect , ifparameter [#collision_kernel collision_kernel] is set to '' 'wang_fast' ''. It defines the number of dissipation classes which spawn the collision efficiency table. The interval [1.0,1000.0] cm**2/s**3 is divided into n (= '''dissipation_classes''') equidistant parts.144 This parameter comes into effect if the parameter [#collision_kernel collision_kernel] is set to '' 'wang_fast' ''. It defines the number of dissipation classes which spawn the collision efficiency table. The interval [1.0,1000.0] cm**2/s**3 is divided into n (= '''dissipation_classes''') equidistant parts. 145 145 }}} 146 146 |---------------- … … 158 158 If particle advection is switched on (see [#dt_prel dt_prel]) this parameter can be used to assign the temporal interval at which time series of particle quantities shall be output. Output is written in netCDF format on local file [../io_file#DATA_1D_PTS_NETCDF DATA_1D_PTS_NETCDF]. 159 159 160 The following list gives a short description of the quantities available. Most quantities are average sover all particles. The quantity name given in the first column is identical to the respective name of the variable on the netCDF file.161 162 In case of using more than one particle group (see [#number_of_particle_groups number_of_particle_groups]), sep erate time series are output for each of the groups. The long names of the variables in the netCDF file containing the respective timeseries all end with the string ''PG'' ##, where ## is the number of the particle group ''(01, 02, etc.)''. \\\\160 The following list gives a short description of the quantities available. Most quantities are averaged over all particles. The quantity name given in the first column is identical to the respective name of the variable on the netCDF file. 161 162 In case of using more than one particle group (see [#number_of_particle_groups number_of_particle_groups]), separate time series are output for each of the groups. The long names of the variables in the netCDF file containing the respective time series all end with the string ''PG'' ##, where ## is the number of the particle group ''(01, 02, etc.)''. \\\\ 163 163 164 164 ||='''netCDF Variable Name''' =||='''Explanation''' =|| … … 201 201 }}} 202 202 {{{#!td 203 Minimum value for the particle time step when SGS velocities are used (in s).\\203 Minimum value for the particle time step when SGS velocities are used (in s).\\ 204 204 For a further explanation see package parameter [#use_sgs_for_particles use_sgs_for_particles]. 205 205 }}} … … 216 216 {{{#!td 217 217 Temporal interval at which particles are to be released from a particle source (in s).\\ 218 By default particles are released only at the beginning of a simulation (t_init=0). The time of the first release (t_init) can be changed with package parameter [#particle_advection_start particle_advection_start]. The time of the last release can be set with the package parameter [#end_time_prel end_time_prel]. If '''dt_prel''' has been set, additional releases will be at ''t = t_init+'''dt_prel''', t_init+2*'''dt_prel''', t_init+3*'''dt_prel''', etc..'' Actual release times may slightly deviate from theselvalues (see e.g. [../d3par#dt_dopr dt_dopr]).\\\\219 The domain of the particle source as well as the distance of released particles within this sourceare determined via package parameters [#pst pst], [#psl psl], [#psr psr], [#pss pss], [#psn psn], [#psb psb], [#pdx pdx], [#pdy pdy] and [#pdz pdz]. By default, one particle is released at all points defined by these parameters. The package parameter [#particles_per_point particles_per_point] can be used to start more than one particle per point.\\\\218 By default, particles are released only at the beginning of a simulation (t_init=0). The time of the first release (t_init) can be changed with package parameter [#particle_advection_start particle_advection_start]. The time of the last release can be set with the package parameter [#end_time_prel end_time_prel]. If '''dt_prel''' has been set, additional releases will be at ''t = t_init+'''dt_prel''', t_init+2*'''dt_prel''', t_init+3*'''dt_prel''', etc..'' Actual release times may slightly deviate from these values (see e.g. [../d3par#dt_dopr dt_dopr]).\\\\ 219 The domain of the particle source, as well as the distance of released particles within this source, are determined via package parameters [#pst pst], [#psl psl], [#psr psr], [#pss pss], [#psn psn], [#psb psb], [#pdx pdx], [#pdy pdy] and [#pdz pdz]. By default, one particle is released at all points defined by these parameters. The package parameter [#particles_per_point particles_per_point] can be used to start more than one particle per point.\\\\ 220 220 Up to 10 different groups of particles can be released at the same time (see [#number_of_particle_groups number_of_particle_groups]) where each group may have a different source. All particles belonging to one group have the same density ratio and the same radius. All other particle features (e.g. location of the source) are identical for all groups of particles.\\\\ 221 Subgrid scale velocities can (optionally) be included for calculating the particle advection, using the method of Weil et al. (2004, JAS, 61, 2877-2887). This method is switched on by the package parameter [#use_sgs_for_particles use_sgs_for_particles]. This also forces the Euler/upstream method to be used for time advancement of the TKE (see initialization parameter [../inipar#use_upstream_for_tke use_upstream_for_tke]). The minimum time step during the sub-timesteps is controlled by package parameter [#dt_min_part dt_min_part]. \\\\222 By default, particles are weightless and transported passively with the resolved scale flow. Particles can be given a mass and thus an inertia by assigning the package parameter density_ratio a non-zero value (it defines the ratio of the density of the fluid and the density of the particles). In th ese casestheir radius must also be defined, which affects their flow resistance. \\\\221 Subgrid scale velocities can (optionally) be included for calculating the particle advection, using the method of Weil et al. (2004, JAS, 61, 2877-2887). This method is switched on by the package parameter [#use_sgs_for_particles use_sgs_for_particles]. This also forces the Euler/upstream method to be used for time advancement of the TKE (see initialization parameter [../inipar#use_upstream_for_tke use_upstream_for_tke]). The minimum time step during the sub-time steps is controlled by package parameter [#dt_min_part dt_min_part]. \\\\ 222 By default, particles are weightless and transported passively with the resolved scale flow. Particles can be given a mass and thus an inertia by assigning the package parameter density_ratio a non-zero value (it defines the ratio of the density of the fluid and the density of the particles). In this case, their radius must also be defined, which affects their flow resistance. \\\\ 223 223 Boundary conditions for the particle transport can be defined with package parameters [#bc_par_t bc_par_t], [#bc_par_lr bc_par_lr], [#bc_par_ns bc_par_ns] and [#bc_par_b bc_par_b].\\\\ 224 Time series of particle quantities in netCDF format can be output to local file [../iofiles#DATA_1D_PTS_NETCDF DATA_1D_PTS_NETCDF] by using package parameter [#dt_dopts dt_dopts].\\\\224 Time series of particle quantities in netCDF format can be output to local file [../iofiles#DATA_1D_PTS_NETCDF DATA_1D_PTS_NETCDF] by using package parameter [#dt_dopts dt_dopts].\\\\ 225 225 For analysis, additional output of particle information in equidistant temporal intervals can be carried out using [#dt_write_particle_data dt_write_particle_data] (file [../iofiles#PARTICLE_DATA PARTICLE_DATA]).\\\\ 226 Statistical information s(e.g. the total number of particles used, the number of particles exchanged between the PEs, etc.) are output to the local file [../iofiles#PARTICLE_INFOS PARTICLE_INFOS], if switched on by the parameter [#write_particle_statistics write_particle_statistics]. \\\\227 If a job chain is to be carried out, particle information sfor the restart run (e.g. current location of all particles at the end of the run) is output to the local file [../iofiles#PARTICLE_RESTART_DATA_OUT PARTICLE_RESTART_DATA_OUT], which must be saved at the end of the run and given as an input file to the restart run under local file name [../iofiles#PARTICLE_RESTART_DATA_IN PARTICLE_RESTART_DATA_IN] using respective file connection statements in the '''mrun''' configuration file. \\\\226 Statistical information (e.g. the total number of particles used, the number of particles exchanged between the PEs, etc.) are output to the local file [../iofiles#PARTICLE_INFOS PARTICLE_INFOS], if switched on by the parameter [#write_particle_statistics write_particle_statistics]. \\\\ 227 If a job chain is to be carried out, particle information for the restart run (e.g. current location of all particles at the end of the run) is output to the local file [../iofiles#PARTICLE_RESTART_DATA_OUT PARTICLE_RESTART_DATA_OUT], which must be saved at the end of the run and given as an input file to the restart run under local file name [../iofiles#PARTICLE_RESTART_DATA_IN PARTICLE_RESTART_DATA_IN] using respective file connection statements in the '''mrun''' configuration file. \\\\ 228 228 The output of particles for visualization with the graphic software '''dvrp''' is steered by the package parameter [../dvrpar#dt_dvrp dt_dvrp]. For visualization purposes particles can be given a diameter using the parameters [../dvrpar#dvrp_psize dvrp_psize] and [../dvrpar#particle_dvrpsize particle_dvrpsize] (this diameter only affects the visualization). All particles have the same size. Alternatively, particles can be given an individual size and a color by modifying the user-interface (subroutine {{{user_init_particles}}}). Particles can pull a ''tail'' behind themselves to improve their visualization. This is steered via the parameter [#use_particle_tails use_particle_tails].\\\\ 229 229 '''So far, the particle transport realized in PALM does only work duly in case of a constant vertical grid spacing! ''' … … 241 241 {{{#!td 242 242 Temporal interval for sorting particles (in s).\\ 243 By default, particles are sorted in memory in a way that their order follows the order in which the grid point values are stored. This may improve cache coherence in case of larger numbers of particles and gridpoints. However, since the sorting itself is timeconsuming and since the requirement of sorting depends on the strength of mixing in the flow, performance can be improved if the sorting is applied only after certain time intervals. The proper length of this interval '''dt_sort_particles''' must be determined empirically by carrying out test runs with different intervals. Check file [../iofiles#CPU_MEASURES CPU_MEASURES] to find the value of '''dt_sort_particles''' which gives the best performance.\\\\243 By default, particles are sorted in memory in a way that their order follows the order in which the grid point values are stored. This may improve cache coherence in case of larger numbers of particles and grid points. However, since the sorting itself is time-consuming and since the requirement of sorting depends on the strength of mixing in the flow, performance can be improved if the sorting is applied only after certain time intervals. The proper length of this interval '''dt_sort_particles''' must be determined empirically by carrying out test runs with different intervals. Check file [../iofiles#CPU_MEASURES CPU_MEASURES] to find the value of '''dt_sort_particles''' which gives the best performance.\\\\ 244 244 '''Note:''' In case of [../inipar#cloud_droplets cloud_droplets] = '' '.T.' '', any given non-zero value of '''dt_sort_particles''' will be reset to zero and a corresponding warning message will appear in the job protocol.\\\\ 245 245 '''Not available from release 4.0 on.''' … … 300 300 {{{#!td 301 301 Maximum number of particles (on a PE). \\ 302 This parameter allows to setthe number of particles for which memory must be allocated at the beginning of the run. If this memory becomes insufficient during the run, due to the release of further particles (see [#dt_prel dt_prel]), then more memory is automatically allocated.302 This parameter allows setting the number of particles for which memory must be allocated at the beginning of the run. If this memory becomes insufficient during the run, due to the release of further particles (see [#dt_prel dt_prel]), then more memory is automatically allocated. 303 303 For runs on several processors, maximum_number_of_particles defines the maximum number on each PE. This number must be larger than the maximum number of particles initially released in a subdomain.\\\\ 304 304 '''Not available from release 4.0 on.''' … … 315 315 }}} 316 316 {{{#!td 317 Maximum number of tail points that a particle tail can have. \\318 '''maximum_number_of_tailpoints''' sets the number of d escrete points the tail consists of. A new point is added to the particle tails after each time step. If the maximum number of tail points is reached after the corresponding number of timesteps, the oldest respective tail points is deleted within the following timestep. \\\\319 All particle tails have the same number of points. The maximum length of these tails is determined by the value of maximum_number_of_tailpoints and by the minimum distance between each of the adjoining tail points, which can be set by [#minimum_tailpoint_distance minimum_tailpoint_distance]. Additionally, it can be determined that the temporal displacement between the current position of the particle and the oldest point of the tail may become not larger than a value to be assigned by [#maximum_tailpoint_age maximum_tailpoint_age].317 Maximum number of tail points that a particle tail can have. \\ 318 '''maximum_number_of_tailpoints''' sets the number of discrete points the tail consists of. A new point is added to the particle tails after each time step. If the maximum number of tail points is reached after the corresponding number of time steps, the oldest respective tail points are deleted within the following time step. \\\\ 319 All particle tails have the same number of points. The maximum length of these tails is determined by the value of maximum_number_of_tailpoints and by the minimum distance between each of the adjoining tail points, which can be set by [#minimum_tailpoint_distance minimum_tailpoint_distance]. Additionally, it can be determined that the temporal displacement between the current position of the particle and the oldest point of the tail may become not larger than a value to be assigned by [#maximum_tailpoint_age maximum_tailpoint_age]. 320 320 }}} 321 321 |---------------- … … 331 331 {{{#!td 332 332 Maximum age that the end point of a particle tail is allowed to have (in s). \\ 333 If the temporal displacement between the oldest point of a particle tail and the current position of the particle becomes larger than the value given by '''maximum_tailpoint_age''', this oldest point (which defines the end of the tail) is removed. If this time is so small that the number of points defining the particle tail do not exceed the value given by [#maximum_number_of_tailpoints maximum_number_of_tailpoints], then the length the particle tails is a measure for the distance the particle travelled along during the time interval defined via '''maximum_tailpoint_age''', i.e. for the particle velocity. Fast particles will have long tails, slow particles shorter ones (note: this will not nec cessarily hold if [#minimum_tailpoint_distance minimum_tailpoint_distance] = ''0.0'').333 If the temporal displacement between the oldest point of a particle tail and the current position of the particle becomes larger than the value given by '''maximum_tailpoint_age''', this oldest point (which defines the end of the tail) is removed. If this time is so small that the number of points defining the particle tail do not exceed the value given by [#maximum_number_of_tailpoints maximum_number_of_tailpoints], then the length the particle tails is a measure for the distance the particle travelled along during the time interval defined via '''maximum_tailpoint_age''', i.e. for the particle velocity. Fast particles will have long tails, slow particles shorter ones (note: this will not necessarily hold if [#minimum_tailpoint_distance minimum_tailpoint_distance] = ''0.0''). 334 334 }}} 335 335 |---------------- … … 375 375 Number of particle groups to be used.\\ 376 376 Each particle group can be assigned its own source region (see [#pdx pdx], [#psl psl], [#psr psr], etc.), particle diameter ([#radius radius]) and particle density ratio ([#density_ratio density_ratio]).\\ 377 If lessvalues are given for [#pdx pdx], [#psl psl], etc. than the number of particle groups, then the last value is used for the remaining values (or the default value, if the user did not set the parameter).\\377 If fewer values are given for [#pdx pdx], [#psl psl], etc. than the number of particle groups, then the last value is used for the remaining values (or the default value, if the user did not set the parameter).\\ 378 378 The maximum allowed number of particle groups is limited to ''10.'' 379 379 }}} … … 570 570 {{{#!td 571 571 Number of radius classes to be used in the collision efficiency table.\\ 572 This parameter comes into effect ,if parameter [#collision_kernel collision_kernel] is set to '' 'hall_fast' '' or '' 'wang_fast' ''. It defines the number of radius classes which spawn the collision efficiency table. The interval [1.0E-6,2.0E-4] m is divided into n (= '''radius_classes''') logarithmic equidistant parts.572 This parameter comes into effect if parameter [#collision_kernel collision_kernel] is set to '' 'hall_fast' '' or '' 'wang_fast' ''. It defines the number of radius classes which spawn the collision efficiency table. The interval [1.0E-6,2.0E-4] m is divided into n (= '''radius_classes''') logarithmic equidistant parts. 573 573 }}} 574 574 |---------------- … … 584 584 {{{#!td 585 585 Initial position of the particles is varied randomly within certain limits. \\ 586 By default, the initial positions of particles within the source ex catly correspond with the positions given by [#psl psl], [#psr psr], [#psn psn], [#pss pss], [#psb psb], [#pst pst], [#pdx pdx], [#pdy pdy], and [#pdz pdz]. With '''random_start_position''' = ''.T.'' the initial positions of the particles are allowed to randomly vary from these positions within certain limits. \\\\586 By default, the initial positions of particles within the source exactly correspond with the positions given by [#psl psl], [#psr psr], [#psn psn], [#pss pss], [#psb psb], [#pst pst], [#pdx pdx], [#pdy pdy], and [#pdz pdz]. With '''random_start_position''' = ''.T.'' the initial positions of the particles are allowed to randomly vary from these positions within certain limits. \\\\ 587 587 '''Very important:''' 588 In case of '''random_start_position''' = ''.T.'', the random-number generators on the individual PEs no longer run synchronously. If random disturbances are applied to the velocity field (see [../d3par#create_disturbances create_disturbances]), then as consequence for parallel runs the realizations of the turbulent flow fields will deviate between runs which used different numbers of PEs!588 In case of '''random_start_position''' = ''.T.'', the random-number generators on the individual PEs no longer run synchronously. If random disturbances are applied to the velocity field (see [../d3par#create_disturbances create_disturbances]), then as a consequence for parallel runs the realizations of the turbulent flow fields will deviate between runs which used different numbers of PEs! 589 589 }}} 590 590 |---------------- … … 614 614 {{{#!td 615 615 Heights of initial particles are interpreted relative to the given topography.\\ 616 In case of topography the heights of the initial particle sources set by [#psb psb] and [#pst pst] are interpreted as relative to the given topography.616 In case of topography, the heights of the initial particle sources set by [#psb psb] and [#pst pst] are interpreted as relative to the given topography. 617 617 }}} 618 618 |---------------- … … 643 643 {{{#!td 644 644 Give particles a tail.\\ 645 A particle tail is defined by the path a particle has moved along starting from some point of time in the past. It consists of a set of d escrete points in space which may e.g. be connected by a line in order visualize how the particle has moved.\\\\645 A particle tail is defined by the path a particle has moved along starting from some point of time in the past. It consists of a set of discrete points in space which may e.g. be connected by a line in order visualize how the particle has moved.\\\\ 646 646 By default, particles have no tail. Parameter [#skip_particles_for_tail skip_particles_for_tail] can be used to give only every n'th particle a tail.\\ 647 647 The length of the tail is controlled by parameters [#maximum_number_of_tailpoints maximum_number_of_tailpoints], [#maximum_tailpoint_age maximum_tailpoint_age], and [#minimum_tailpoint_distance minimum_tailpoint_distance]. … … 659 659 {{{#!td 660 660 Use subgrid-scale velocities for particle advection.\\ 661 These velocities are calculated from the resolved and subgrid-scale TKE using the Monte-Carlo random-walk method described by Weil et al. (2004, JAS, 61, 2877-2887). When using this method, the time step for the advancement of the particles is limited by the so-called Lagrangian time scale. This may be smaller than the current LES timestep so that several particle (sub-) timesteps have to be carried out within one LES timestep. In order to limit the number of sub-timesteps (and to limit the CPU-time), the minimum value for the particle timestep is defined by the package parameter [#dt_min_part dt_min_part].661 These velocities are calculated from the resolved and subgrid-scale TKE using the Monte-Carlo random-walk method described by Weil et al. (2004, JAS, 61, 2877-2887). When using this method, the time step for the advancement of the particles is limited by the so-called Lagrangian time scale. This may be smaller than the current LES time step so that several particle (sub-) time steps have to be carried out within one LES time step. In order to limit the number of sub-time steps (and to limit the CPU-time), the minimum value for the particle time step is defined by the package parameter [#dt_min_part dt_min_part]. 662 662 }}} 663 663 |---------------- … … 686 686 }}} 687 687 {{{#!td 688 Switch on/off output of particle information s.\\689 For '''write_particle_statistics''' = ''.T.'' statistical information s(e.g. the total number of particles used, the number of particles exchanged between the PEs, etc.) which may be used for debugging are output to the local file [../iofiles#PARTICLE_INFOS PARTICLE_INFOS]. \\\\688 Switch on/off output of particle information.\\ 689 For '''write_particle_statistics''' = ''.T.'' statistical information (e.g. the total number of particles used, the number of particles exchanged between the PEs, etc.) which may be used for debugging are output to the local file [../iofiles#PARTICLE_INFOS PARTICLE_INFOS]. \\\\ 690 690 '''Note:''' For parallel runs files may become very large and performance of PALM may decrease. 691 691 }}}