1166
## f_1 damping coefficient for low_Re k-epsilon model
1167
## Required for low_Re boundaries. If no low_Re boundaries are present
1168
## this will be set to 1.0 throughout the domain and will not
1169
## affect the result
1170
element scalar_field {
1171
attribute rank { "0" },
1172
attribute name { "f_1" },
1173
element diagnostic {
1175
velocity_mesh_choice,
1176
diagnostic_scalar_field
1179
## f_2 damping coefficient for low_Re k-epsilon model
1180
## Required for low_Re boundaries. If no low_Re boundaries are present
1181
## this will be set to 1.0 throughout the domain and will not
1182
## affect the result
1183
element scalar_field {
1184
attribute rank { "0" },
1185
attribute name { "f_2" },
1186
element diagnostic {
1188
velocity_mesh_choice,
1189
diagnostic_scalar_field
1192
## f_mu damping coefficient for low_Re k-epsilon model
1193
## Required for low_Re boundaries. If no low_Re boundaries are present
1194
## this will be set to 1.0 throughout the domain and will not
1195
## affect the result
1196
element scalar_field {
1197
attribute rank { "0" },
1198
attribute name { "f_mu" },
1199
element diagnostic {
1201
velocity_mesh_choice,
1202
diagnostic_scalar_field
1205
## Limit the maximum value of damping function values. This helps stability when using low_Re number
1206
## boundary conditions. If not using low_Re boundaries this will have no effect.
1207
## Recommended value (default): 10.0
1208
element max_damping_value {real},
1209
## Describes distance to nearest solid wall.
1210
## Required for low_Re boundaries.
1211
## For simple geometries the simplest method of providing this information is to use a python function.
1212
## For complex geometries where this is not possible precursive Eikonal equation or Poisson equation
1213
## simulations must be run using Fluidity to determine the values for this field.
1214
## Details of how this is done can be found in:
1215
## Tucker, P 2011: "Hybrid Hamilton/Jacobi/Poisson wall distance function model"
1216
## Elias et al 2007: "Simple finite element-based computation of distance functions in unstructured grids"
1217
element scalar_field {
1218
attribute rank { "0" },
1219
attribute name { "DistanceToWall" },
1220
element prescribed {
1221
velocity_mesh_choice,
1222
prescribed_scalar_field
1139
## Select whether source and absorption terms for k and epsilon
1140
## are implicit or explicit.
1141
element source_absorption {
1142
element string_value {
1143
"explicit"|"implicit"
1146
## Limit the turbulence lengthscale to within physical bounds (e.g. inlet min dimension).
1147
## This helps to prevent instabilities during simulation spin-up.
1148
element lengthscale_limit {real},
1225
1149
## Eddy-viscosity coefficient: nu_T = density * C_mu * k**2 / epsilon.
1226
1150
## Recommended value (default): 0.09.
1227
1151
element C_mu {real},
1237
1161
element sigma_k {real},
1238
1162
## Turbulent Schmidt number (eddy-viscosity coefficient from epsilon equation).
1239
1163
## Recommended value (default): 1.3.
1240
element sigma_eps {real},
1241
## The Schmidt number (ratio of viscous diffusion rate to momentum diffusion rate) for
1242
## massive scalar fields, or Prandtl number (ratio of viscous diffusion rate to thermal diffusion rate)
1243
## for thermal fields. This is used to calculate the turbulent buoyancy term.
1244
## Recommended value (default): 1.0.
1245
element sigma_p {real},
1246
## Time discretisation of the source terms in the k and epsilon equations and also
1247
## of the eddy viscosity
1248
element time_discretisation {
1249
## Implicit/explicit control (THETA) of source terms and eddy viscosity in
1250
## the k-epsilon model
1252
## = 0.5 -- Crank-Nicolson
1254
element theta {real},
1255
## Each term in the k and epsilon equations can be implemented as either a
1256
## source or as an absorbtion term. See the manual under
1257
## 'Parameterisations/Turbulent flow modelling and simulation/Reynolds Averaged Navier Stokes (RANS) Modelling/Standard k − ε Turbulence Model/Time Discretisation and Coupling'
1258
## for more information.
1259
element source_term_implementation {
1260
element production_term { 'source'|'absorbtion' },
1261
element destruction_term { 'source'|'absorbtion' },
1262
element buoyancy_term { 'source'|'absorbtion' }
1265
## The source terms in the k-epsilon model are calculated before the field is
1266
## solved. The process requires inversion of a mass matrix. This element contains
1267
## options for defining how this is done. For P1 meshes mass lumping can be used,
1268
## for other discretisations the mass matrix can not be easily inverted and so a
1269
## solve must be carried out, with solver options specified.
1270
element mass_terms {
1272
element lump_mass { empty }
1274
element use_consistent_mass_matrix {
1276
linear_solver_options_asym
1281
## produce vtu output of individual kk and eps source terms and set prescribed
1282
## source terms for k and epsilon fields (for mms tests)
1283
element debugging_options{
1284
## output fields for each of the source terms in the k-epsilon model
1285
element source_term_output_fields{
1286
element scalar_field {
1287
attribute rank { "0" },
1288
attribute name { "TurbulentKineticEnergy_production_term" },
1289
element diagnostic {
1291
velocity_mesh_choice,
1292
diagnostic_scalar_field
1295
element scalar_field {
1296
attribute rank { "0" },
1297
attribute name { "TurbulentKineticEnergy_destruction_term" },
1298
element diagnostic {
1300
velocity_mesh_choice,
1301
diagnostic_scalar_field
1304
element scalar_field {
1305
attribute rank { "0" },
1306
attribute name { "TurbulentKineticEnergy_buoyancy_term" },
1307
element diagnostic {
1309
velocity_mesh_choice,
1310
diagnostic_scalar_field
1313
element scalar_field {
1314
attribute rank { "0" },
1315
attribute name { "TurbulentDissipation_production_term" },
1316
element diagnostic {
1318
velocity_mesh_choice,
1319
diagnostic_scalar_field
1322
element scalar_field {
1323
attribute rank { "0" },
1324
attribute name { "TurbulentDissipation_destruction_term" },
1325
element diagnostic {
1327
velocity_mesh_choice,
1328
diagnostic_scalar_field
1331
element scalar_field {
1332
attribute rank { "0" },
1333
attribute name { "TurbulentDissipation_buoyancy_term" },
1334
element diagnostic {
1336
velocity_mesh_choice,
1337
diagnostic_scalar_field
1341
## Enable to apply prescribed source terms into the k and epsilon equations.
1342
## This is useful for MMS tests
1343
element prescribed_source_terms{
1344
element scalar_field {
1345
attribute rank { "0" },
1346
attribute name { "TurbulentKineticEnergyPrescribedSource" },
1347
element prescribed {
1348
velocity_mesh_choice,
1349
prescribed_scalar_field
1352
element scalar_field {
1353
attribute rank { "0" },
1354
attribute name { "TurbulentDissipationPrescribedSource" },
1355
element prescribed {
1356
velocity_mesh_choice,
1357
prescribed_scalar_field
1361
## enabling this option disables the production term in the k and epsilon equations
1362
element disable_production_term{ empty }?,
1363
## enabling this option disables the destruction term in the k and epsilon equation
1364
element disable_destruction_term{ empty }?,
1365
## enabling this option disables the bouyancy term in the k and epsilon equation
1366
element disable_buoyancy_term{ empty }?,
1367
## enabling this option enables the low-Re number damping functions regardless of whether there is
1368
## a low-Re boundary condition
1369
element enable_lowRe_damping{ empty }?,
1370
## Enabling this option disables feedback from the k-epsilon model back into
1371
## the rest of the model. Reynolds stress tensor is set to zero by zeroing
1372
## EddyViscosity and the added source term, based on k, in the momentum equation.
1373
## Hence, Viscosity will always stay as the BackgroundViscosity,
1374
## diffusivities will remain at the relevant BackgroundDiffusivity, and the
1375
## momentum equation will be as if there were no turbulence model present.
1377
## ScalarEddyViscosity is still calculated as normal.
1378
element zero_reynolds_stress_tensor{ empty }?
1164
element sigma_eps {real}
1795
1570
reduced_model?,
1796
1571
porous_media_model?,
1797
1572
embedded_models?,
1799
multiphase_interaction?
1805
## A sediment model. See the manual for details on how to use this model.
1579
## A simple sediment model in which different classes of sediment fall
1580
## and diffuse at different rates.
1806
1581
element sediment {
1807
## A single sediment field with discrete characteristics
1811
## - a sinking velocity is required for sediment fields, this can be set for each
1812
## sediment field under prognostic/SinkingVelocity
1814
## - continuity must be the same for all fields. i.e. use the same mesh for all fields
1816
## - rentrainment bc's can be used to allow sediment to be picked up from the bed
1817
## due to turbulence. This must be set on the same boundaries as the SedimentDepositon
1820
## - see the manual for more details on how to use this model
1582
## This field is the basis for all sediment fields. Each
1583
## sediment class has a sediment field with name
1584
## SedimentClassName where ClassName is the name of the
1587
## By default, all sediment classes have exactly the same
1588
## characteristics, however each class can be given its own
1589
## settling velocity, diffusivity and initial condition under
1590
## the sediment_class element and this will override the
1591
## default specified here.
1821
1592
element scalar_field {
1822
1593
attribute rank { "0" },
1823
attribute name { string },
1594
attribute name { "SedimentTemplate" },
1825
1596
element prognostic {
1826
1597
velocity_mesh_choice,
1827
prognostic_scalar_field,
1828
## Sediment bedload diagnostic which records the sediment
1829
## deposited through the prescribed boundary.
1831
## The units are in unit distances as a depth of sediment.
1832
element scalar_field {
1833
attribute rank { "0" },
1834
attribute name { "Bedload" },
1837
element diagnostic {
1838
## Surface ids over which to calculate the bedload:
1839
element surface_ids {
1842
diagnostic_scalar_field
1844
element prescribed {
1845
## Surface ids over which to calculate the bedload deposition:
1846
element surface_ids {
1849
prescribed_scalar_field
1853
## Sediment bedload diagnostic which records the sediment
1854
## deposited through the prescribed boundary.
1856
## The units are in unit distances/second.
1857
element scalar_field {
1858
attribute rank { "0" },
1859
attribute name { "BedloadVolumeFraction" },
1861
element diagnostic {
1862
diagnostic_scalar_field
1865
## Sediment bedload deposit rate diagnostic.
1867
## The units are in unit distances/second.
1868
element scalar_field {
1869
attribute rank { "0" },
1870
attribute name { "BedloadDepositRate" },
1872
element diagnostic {
1873
diagnostic_scalar_field
1876
## Sediment bedload erosion rate diagnostic.
1878
## The units are in unit distances as a depth of sediment.
1879
element scalar_field {
1880
attribute rank { "0" },
1881
attribute name { "BedloadErosionRate" },
1883
element diagnostic {
1884
diagnostic_scalar_field
1887
## This is the unhindered sinking velocity of the sediment particles.
1889
## With the sinking velocity field set to diagnostic, this field is used, along with the sediment
1890
## concentration, to calculate the hindered sinking velocity of sediment particles.
1892
## This uses the equation developed by Richardson and Zaki [1954].
1894
## If the 'SinkingVelocity' is not set to diagnostic, this field will not be used.
1896
## As with the sinking velocity, this velocity is in the direction of gravity so if the substance
1897
## floats upwards, this field should be negative.
1898
element scalar_field {
1899
attribute name { "UnhinderedSinkingVelocity" },
1900
attribute rank { "0" },
1598
prognostic_scalar_field
1600
## This is the density of this sediment. It will be used
1601
## with the sediment concentration in the equation of state.
1602
## Density must be specified here or for each sediment class.
1606
## This is the diameter of the grain in mm.
1607
## Diameter must be specified here or under each sediment class.
1611
## Set porosity to use. Default is 0.3. 1.0 is a sold material.
1615
## Erodability of the sediment grain. A value of one means that only the
1616
## critical shear stress is used to determine if a grain can be put into
1617
## suspension. A value of zero means these grains can never be resuspended.
1619
element erodability {
1622
## Critical shear stress of a grain. If not switched on a value
1623
## will be computed according to the particle Reynolds number and Shield's
1624
## criterion. Otherwise inoput a value in Nm-1
1625
element critical_shear_stress {
1629
## This field is the template for the sediment flux
1630
## diagnostic which records the flux of sediment through the
1632
element scalar_field {
1633
attribute rank { "0" },
1634
attribute name { "SedimentFluxTemplate" },
1636
element diagnostic {
1637
## Surface ids over which to calculate the flux:
1638
element surface_ids {
1641
velocity_mesh_choice,
1642
diagnostic_scalar_field
1645
element sediment_class {
1646
attribute name { xsd:string },
1647
initial_condition_scalar*,
1648
scalar_boundary_conditions*,
1649
## Diffusivity for sediment class
1650
element tensor_field {
1651
attribute name { "Diffusivity" },
1652
attribute rank { "2" },
1901
1654
element prescribed {
1902
prescribed_scalar_field
1656
prescribed_tensor_field_no_adapt
1658
element diagnostic {
1659
tensor_python_diagnostic_algorithm,
1660
diagnostic_tensor_field
1905
## This is the submerged specific gravity, R, of this sediment.
1906
## It will be used with the sediment concentration in the equation
1907
## of state, as well as in erosion algorithms.
1909
## R = (rho_s - rho_a)/(rho_a)
1911
## Where: rho_s is the sediment density and rho_a is the ambient fluid density
1912
element submerged_specific_gravity {
1915
## This is the diameter of the grain.
1916
## Diameter must be specified here or under each sediment class.
1920
## Set porosity to use. Default is 0.3. 1.0 is a sold material.
1921
element bed_porosity {
1924
## Erodability of the sediment grain. A value of one means that only the
1925
## critical shear stress is used to determine if a grain can be put into
1926
## suspension. A value of zero means these grains can never be resuspended.
1928
element erodability {
1931
## Critical shear stress of a grain. If not switched on a value
1932
## will be computed according to the particle Reynolds number and Shield's
1934
element critical_shear_stress {
1939
## The median sediment diameter in the active layer of the bed.
1940
## Required for some reentrainment algorithms.
1941
element scalar_field {
1942
attribute rank { "0" },
1943
attribute name { "SedimentBedActiveLayerD50" },
1945
element diagnostic {
1946
## Surface ids over which to calculate the bedload:
1947
element surface_ids {
1951
velocity_mesh_choice,
1952
diagnostic_scalar_field
1956
## The standard deviation of sediment in the active layer of the
1957
## bed. Required for some reentrainment algorithms
1958
element scalar_field {
1959
attribute rank { "0" },
1960
attribute name { "SedimentBedActiveLayerSigma" },
1962
element diagnostic {
1963
## Surface ids over which to calculate the bedload:
1964
element surface_ids {
1968
velocity_mesh_choice,
1969
diagnostic_scalar_field
1973
## ZeroSedimentConcentrationViscosity field:
1975
## Field for the viscosity of this a fluid with zero
1976
## concentration of sediment.
1977
## Required if using a diagnostic viscosity
1978
## in a sediment problem where sediment concentration
1979
## dependent viscosity is required.
1980
element tensor_field {
1981
attribute rank { "2" },
1982
attribute name { "ZeroSedimentConcentrationViscosity" },
1664
## Velocity at which this sediment sinks through the water column.
1666
## This velocity is in the direction of gravity so if the substance
1667
## floats upwards, this field should be negative.
1668
element scalar_field {
1669
attribute name { "SinkingVelocity" },
1670
attribute rank { "0" },
1984
1671
element prescribed {
1985
velocity_mesh_choice,
1986
prescribed_tensor_field
1989
generic_aliased_field
1672
prescribed_scalar_field_no_adapt
1675
## This is the density of this sediment. It will be used
1676
## with the sediment concentration in the equation of state.
1680
## This is the diamter of the grain in mm
1684
## Erodability of the sediment grain. A value of one means that only the
1685
## critical shear stress is used to determine if a grain can be put into
1686
## suspension. A value of zero means these grains can never be resuspended.
1688
element erodability {
1691
## Critical shear stress of a grain. If not switched on a value
1692
## will be computed according to the particle Reynolds number and Shield's
1693
## criterion. Otherwise inoput a value in Nm-1
1694
element critical_shear_stress {