Input filesΒΆ

The basic input files for DG-SWEM are similar, and meant to coincide with those of the ADCIRC project. The majority of the information about these input files can be found on the adcirc pages.

The basic difference in the input files for DG-SWEM can be found in the fort.dg file in the work directory. An example of this file (the one that ships with the repo) is:

1 ! DGSWE
0,2 ! padapt(1=on,0=off),pflag(1=smooth,2=shocks)
1,8 ! gflag(0=fixed,1=dioristic), dioristic tolerance (0-100)
1,1,1 ! pl(low p), ph(high p), px(fixed p)
0.00005 ! slimit (epsilon tolerance in pflag=1 p_enrichment)
10 ! plimit (integer timestep counter for p_enrichment)
1,0.5,2 ! k,ks,L for pflag=2 tolerance:log((k*p)**(-L*2))-ks
1 ! FLUXTYPE
2,2 ! RK_STAGE,RK_ORDER
1 ! DG_TO_CG (ignore)
0 ! MODAL_IC
0,86400 ! DGHOT,DGHOTSPOOL
5 1 ! SLOPEFLAG(only 1,4-10 work; 5 is best/fast!),weight(default 1!)
0,0.0001000,0.00001,1 ! SEDFLAG, porosity, SEVDM, and # of layers
1 ! Reaction rate when chemistry is on in (litres/(mol*days))
23556 ! Number of total elements in mesh
0,-1.0,0.0,2.5e-6,0 !artdif,kappa, s0, uniform_dif, tune_by_hand
(ZE_ROE+bed_ROE)**-1 *QX_ROE
(ZE_ROE+bed_ROE)**-1 *QY_ROE

Here is an outline of what these parameters are:

  • DGSWE: This parameter describes the input type for flow edges, or usually river types. For most intents and purposes it is almost always set to 1.
  • padapt: The first flag determines whether p-adaptivity or p-enrichement is turned on, on = 1, 0 = off. The second flag dtermines what type of p-enrichement scheme will be used to determined where to enrich. 1 = smooth enriches in areas that are very smooth, and 2 = shocks enriches in areas where the solutions has large gradients.
  • gflag: This is another flag having to do with p-enrichement. gflag = 0 means fixed form p-enrichment, which means that p-enrichement occurs relative to a global tolerance, while gflag = 1 means that p-enrichment is only performed on some percentage of the total number of cells, given by the diorsitic tolerance (which is the second number).
  • pl,ph,px: These are the polynomial basis degrees for the top degree polynomial ph, the bottom degree polynomial pl, and the fixed degree polynomial px. To run at third order, for example, ph=pl=px=2. To run p-enrichment from first degree to fifth degree, starting at initial projection order 4, would be pl=1,ph=5,px=4.
  • slimit: is epsilon tolerance when pflag=1 when smooth type enrichment is being used.
  • plimit: is the counter that determined how many timesteps are taken between each p-enrichement/de-enrichment event.
  • k,ks,L: These are the tolerances for the type 2 p-enrichement scheme, that go into the formula: \log{(kp)^{-2L}}-ks.
  • Fluxtype: The fluxtype indicated which numerical flux is used. Available fluxes are 1 = local Lax Friedrich’s, 2 = Roe Flux, 3 = Harten-Lax-van Leer Contact flux, 4 = Nonconservative product flux. It should be noted that not all fluxtypes are supported by sediment transport.
  • RK_STAGE: The RK stage is the stage information for stage exceeding order Runge Kutta method. Note that this setting is related to the type of RK scheme used, see Compiler directives.
  • RK_ORDER: This is the time integration order for the Runge-Kutta method.
  • DG_to_CG: This flag can be ignored for now.
  • Modal_IC: This determines the initial state of the system. Modal_IC=0 is a standard cold start configuration. Modal_IC = 1 reads in modal initial conditions. Modal_IC = 2 reads in hot start files. Modal_IC = 3 reads in nodal initial conditions.
  • DGHOT: This flag indicates whether hotstart files will be produced (1) or not (0), in order to hotstart the code.
  • DGHOTSPOOL: This is the spooling number for the hostart, which indicates what timestep frequency the hotstart output will be written at.
  • SLOPEFLAG: The slopeflag determines which slopelimiter will be used in the code. Twelve different slopelimiters are supported, though the most common setting is slopeflag = 5, which is the Bell-Dawson-Shubin (BDS) limiter.
  • Weight: The weight is a free parameter used by some slopelimiters, that determines specific tolerances. See the slopelimiter paper for more detail.
  • SEDFLAG: The sediment flag determines whether or not sediment will be tranported or not in the domain. If it is, then sedflag = 1 and DG-SWEM solves the Exner equation. simultaneously for sediment transport. If sedflag = 0, then the bathymetry is stationary.
  • Porosity: The porosity is a parameter determined by the sediment law in the discharge equation. See the Exner equation for more details.
  • SEVDM: This is the sediment diffusion coefficient value.
  • Layers: This determines how many layers of sediment are running. Not all functions support more than a single layer of sediment.
  • Reaction Rate: This is the rate of the reaction in litres/(mol*day) when chemical reactions are turned on. See Compiler directives for more details.
  • Total elements: This is the total number of element in the mesh.
  • Artdif,,kappa,s0,uniform_dif,tune_by_hand: These are the flags that determines whether artificial diffison is turned on or not. Artdif = 1 is on, Artdif = 0 is off. the kappa and s0 are tolerances that determine how sharp the cutoff for the artificial diffusion is. The uniform diffusion flag sets all types of diffusion to the same value. The tune_by_hand parameter means that each diffusion type will be set in the prep routine.
  • Last two lines: The last two lines determine the algebraic form of the sediment discharge equation. These are tokenized using a fortran parser to support any form for the sediment discharge.

Previous topic

Running DG-SWEM basics

Next topic

Compiler directives